API-Referenz Statistiken

API-Referenz Statistiken

 

Der Endpunkt statistics/ ermöglicht es Ihnen, verschiedene Statistiken Ihres Onlineshops in unserem Shop-System abzurufen. Mit der Schnittstelle ist es möglich, Statistiken zu Formularanfragen, Transaktionen und Zahlungsarten, Produktbewertungen, Bestellungen und Verkäufen und Zugriffsstatistiken abzufragen.

Inhaltsverzeichnis:


1. Unterstützte Methoden

Angabe aller unterstützten Methoden.

Befehl/Info

Endpunkte

GET

POST

PUT

DELETE

Befehl/Info

Endpunkte

GET

POST

PUT

DELETE

Anfragen

statistics/inquiries

Bestellungen

statistics/orders

Verkäufe

statistics/sales

Newsletter

statistics/newsletter

Produktbewertungen

statistics/productrating

Transaktionen

statistics/transactions

Zugriffe

statistics/access

 

2. Datenpersistenz bei Statistiken

Die Statistikdaten des Shop-Systems werden in drei verschiedenen Aggregationsstufen gespeichert:

  • Stündliche Daten (pro Stunde)
    Diese Daten liefern die feinste Detailtiefe und ermöglichen eine präzise Analyse von kurzfristigen Ereignissen, z. B. Peaks im Bestellverhalten während einer Werbeaktion.
    Speicherdauer: 3 Wochen
    Danach werden die Daten automatisch gelöscht, um die Datenmenge zu begrenzen.

  • Tägliche Daten (pro Tag)
    Diese Aggregation eignet sich für mittel- bis langfristige Auswertungen, etwa zur Beobachtung von Wochentrends oder Kampagnenverläufen.
    Speicherdauer: 3 Monate

  • Monatliche Daten (pro Monat)
    Diese Daten sind auf langfristige Analysen ausgerichtet, z. B. zur Bewertung saisonaler Schwankungen oder jährlicher Umsatzentwicklung.
    Speicherdauer: 3 Jahre

Diese gestaffelte Speicherung sorgt dafür, dass kurzfristig viele Details zur Verfügung stehen, während langfristig nur aggregierte Informationen erhalten bleiben.

 

3. Ressourcen

3.1 Datentabelle für Anfragen

Name

Typ

Bedeutung

Name

Typ

Bedeutung

contact (Bezeichnung des Formulars)

Objekt

Enthält Informationen zu dem Formular.

timestamp

String

Zeitpunkt der Aggregation (z.B. der Anfang eines Monats oder eines Tages. ISO 8601-Format, UTC)

value

Integer

Anzahl der Anfragen in dem jeweiligen Zeitintervall.

Beispiel:

{ "contact": [ { "timestamp": "2025-05-16T00:00:00.000Z", "value": 2 } ] }

 

3.2 Datentabelle für Bestellungen

Name

Typ

Bedeutung

Name

Typ

Bedeutung

accountTypeGuest

Integer

Anzahl der Bestellungen, die von Gastkunden (ohne Kundenkonto) getätigt wurden.

accountTypeNew

Integer

Anzahl der Bestellungen, die von neu registrierten Kunden getätigt wurden.

accountTypeRegistered

Integer

Anzahl der Bestellungen von bestehenden registrierten Kunden.

amount

Float

Gesamter Umsatz der Bestellungen ohne Gutscheine und Versandkosten.

amountTotal

Float

Gesamter Umsatz inklusive aller Gutscheine und Versandkosten – der tatsächlich gezahlte Gesamtbetrag.

country

String

Ländercode (z. B. „DE“, „AT“) der Bestellung, gemäß ISO 3166-1 Alpha-2.

currency

String

Verwendete Währung der Bestellung, gemäß ISO 4217 (z. B. „EUR“, „USD“).

deviceTypeDesktop

Integer

Anzahl der Bestellungen, die über ein Desktop-Gerät ausgelöst wurden.

deviceTypeMobile

Integer

Anzahl der Bestellungen, die über ein mobiles Endgerät (Smartphone) getätigt wurden.

deviceTypeTablet

Integer

Anzahl der Bestellungen, die über ein Tablet aufgegeben wurden.

itemsCount

Integer

Gesamtanzahl der Artikel (Positionen) in den erfassten Bestellungen.

logDate

String

Zeitpunkt der Datenaggregation (z.B. der Anfang eines Monats oder eines Tages. ISO 8601-Format, UTC).

ordersCount

Integer

Gesamtanzahl der erfassten Bestellungen innerhalb des Zeitraums.

platformTypeApp

Integer

Anzahl der Bestellungen, die über eine mobile App-Plattform getätigt wurden.

platformTypeWeb

Integer

Anzahl der Bestellungen, die über die Webplattform (Browser) abgeschlossen wurden.

subshopId

String

ID des Subshops, in dem die Bestellungen erfolgten.

totalDiscount

Float

Gesamtsumme aller gewährten Rabatte über alle Bestellungen im Zeitraum.

voucherCount

Integer

Anzahl der eingesetzten Gutscheine in allen Bestellungen.

voucherValue

Float

Gesamter eingelöster Gutscheinwert über alle Bestellungen.

Beispiel:

{ "accountTypeGuest": 0, "accountTypeNew": 0, "accountTypeRegistered": 3, "amount": 15, "amountTotal": 17.9, "country": "DE", "currency": "€", "deviceTypeDesktop": 3, "deviceTypeMobile": 0, "deviceTypeTablet": 0, "itemsCount": 4, "logDate": "2025-05-20T14:00:00Z", "ordersCount": 3, "platformTypeApp": 0, "platformTypeWeb": 3, "subshopId": "deutsch", "totalDiscount": 0, "voucherCount": 1, "voucherValue": 8.95 }

 

3.3 Datentabelle für Verkäufe

Für POST statistics/sales

Name

Typ

Bedeutung

Name

Typ

Bedeutung

timestamp

String

Zeitpunkt der Datenaggregation (z.B. der Anfang eines Monats oder eines Tages. ISO 8601-Format, UTC)

value.deutsch (beliebige Subshop-ID)

Float

Umsatz im Subshop

Beispiel:

{ "timestamp": "2025-04-22T22:00:00.000Z", "value": { "deutsch": 1150.64 } }

 

Für POST statistics/sales/product

Name

Typ

Bedeutung

Name

Typ

Bedeutung

logDate

String

Zeitpunkt der Datenaggregation

productId

String

Eindeutige ID des Produkts, das gekauft wurde

sales

Integer

Anzahl an Verkäufen

subshopId

String

Subshop, in dem das Produkt gekauft wurde

Beispiel:

{ "logDate": "2025-05-13 00:00:00", "productId": "143-68071", "sales": 1, "subshopId": "deutsch" }

 

3.4 Datentabelle für Newsletter

Name

Typ

Bedeutung

Name

Typ

Bedeutung

timestamp

String

Zeitpunkt der Datenaggregation (z.B. der Anfang eines Monats oder eines Tages. ISO 8601-Format, UTC)

value

Integer

Wert, der dem Zeitpunkt zugeordnet ist

Beispiel:

{ "timestamp": "2025-04-25T00:00:00.000Z", "value": 3 }

 

3.5 Statistiken für Transaktionen und Zahlungsarten

Name

Typ

Bedeutung

Name

Typ

Bedeutung

country

String

Ländercode aus der Bestellung (ISO 3166-1 Alpha-2, z. B. "DE")

id

Integer

Eindeutige ID des Statistikdatensatzes

orderData

Objekt

Enthält Bestelldaten

paymentMethod

String

Bezeichnung der verwendeten Zahlungsart

paymentStatus

Integer

Status der Zahlung. Mögliche Werte:

0 = Pending
1 = Finished
2 = Error
3 = Redirected
4 = Canceled
5 = Rejected
6 = CanceledByAdmin
7 = Refunded
8 = RefundedPartially

subshopId

String

Technische ID des betroffenen Subshops

total

Float

Gesamtumsatz für diesen Datensatz (in der jeweiligen Währung)

Beispiel:

{ "computop-hosted": {}, "dummy": {}, "freeFields": { "agb.checked": "true", "agb.merchantText": "agb text here", "comment.text": "" }, "general": { "dateTime": "2025-04-23T08:26:14Z", "orderId": "531", "sessionId": "012bb5b99f69e976d4ae297ef1dcfdc59790d0ecb3756126b6f4fd08663c5790", "shopId": "test-mgoepfrich", "shopLanguage": "Deutsch", "subshopId": "deutsch", "testMode": false }, "order": { "currencyIso": "EUR", "currencySymbol": "€", "defaultTaxRate": "0.1900000", "delivererId": "dhl", "delivererOrderText": "DHL", "deliveryCost": "0.00", "deliveryTaxRate": "0.1900000", "paymentId": "bill", "paymentOrderText": "Rechnung", "priceType": "gross", "referer": "https://test-mgoepfrich.shop.websale.net/", "subreferer": "", "subtotal": "1055.67", "tax": "168.55", "total": "1055.67", "totalCommission": "0.00", "totalDiscount": "0.00", "totalVoucher": "0.00", "totalWeight": 0 }, "orderList": { "item": [ { "basketId": "a954f8529d0a00df2f84", "discount": "0.00", "extraFields": {}, "isAutoBasket": false, "isChangeable": true, "isRemovable": true, "isVisible": true, "itemNumber": "BD-0001", "name": "Damen NOOS High-Waist Curvy Skinny Jeans", "orgPrice": "0.00", "price": "31.99", "productId": "100-69659", "quantity": "33.00", "singleTotal": "31.99", "taxId": "19", "taxRate": "0.1900000", "total": "1055.67", "variantId": "2", "variantSelection": [ { "attributeId": "Größe", "optionId": "M" } ], "weight": 0 } ] }, "paypal-checkout": { "executePayPalResponse": "", "expressCheckout": "false", "orderID": "", "paymentAction": "CAPTURE", "paymentID": "", "paymentMode": "PayPal", "paypalStatus": "" }, "paypal-plus": {}, "shippingAddress": null, "vouchers": null }

 

4. Methoden für Anfragen

4.1 GET statistics/inquiries

Diese Methode liefert statistische Auswertungen zu den im Shop genutzten Anfragefunktionen (z. B. Kontaktformular, Rückrufservice, Reklamation etc.). Die Daten werden für jeden Subshop separat zurückgegeben und können stunden-, tage- oder monatsweise aggregiert werden.

Der Zeitraum wird über die Parameter from und to im ISO-8601-Format definiert.

Um die Daten abrufen zu können, müssen entsprechende Berechtigungen zum Lesen von Statistiken vorhanden sein.

Beispiel:

Im gezeigten Beispiel werden die Anzahl der Anfragen im Zeitraum vom 29.02.2024 bis zum 28.02.2025 monatsweise ausgewertet - für die Subshops deutsch und english.

https://www.<ihr-shop>.de/admin/api/v1/statistics/inquiries/?from=2024-02-29T23:00:00.066Z&to=2025-02-28T22:59:59.066Z&aggregation=months&filter_eq[subshopId]=deutsch&filter_eq[subshopId]=english

Antwort:

{ "deutsch": { "contact": [ { "timestamp": "2024-10-01T00:38:42.000Z", "value": 4 } ] } }

Filterfelder:

subshopID

Fehlercodes:

Fehler

Typ

Grund

Fehler

Typ

Grund

401 Unauthorized

 

Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Statistiken.

400 Bad Request

"missing"

Die Parameter from, to oder aggregation fehlen.

400 Bad Request

"invalidValue"

from oder to enthalten keine validen ISO 8601 Zeitwerte.
aggregation ∉ {"hours", "days", "months"}

503 Service Unavailable

"internalError"

Statistiken konnten nicht geladen werden.

 

4.2 GET statistics/inquiries/duration

Es werden die Bearbeitungszeiten der Anfragen geliefert. value gibt an, wie viele Tage für die Bearbeitung benötigt wurden. count gibt an, wie oft der Wert vorkommt.

Der Zeitraum wird über die Parameter from und to im ISO-8601-Format definiert.

Um die Daten abrufen zu können, müssen entsprechende Berechtigungen zum Lesen von Statistiken vorhanden sein.

Beispiel:

https://www.<ihr-shop>.de/admin/api/v1/statistics/inquiries/duration/?from=2024-02-29T23:00:00.353Z&to=2025-02-28T22:59:59.353Z&filter_eq[subshopId]=deutsch&filter_eq[subshopId]=english

Antwort:

{ "deutsch": { "contact": [ { "count": 2, "value": 3 } ], "productQuestion": [ { "count": 1, "value": 6 }, { "count": 1, "value": 13 } ] } }

Filterfelder:

subshopID

Fehlercodes:

Fehler

Typ

Grund

Fehler

Typ

Grund

401 Unauthorized

 

Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Statistiken.

400 Bad Request

"missing"

Die Parameter from oder to fehlen.

400 Bad Request

"invalidValue"

from oder to enthalten keine validen ISO 8601 Zeitwerte.

 

5. Methoden für Bestellstatistiken

5.1 POST statistics/orders/hours

Dieser Endpunkt liefert stundenweise aggregierte Bestellstatistiken für den angegebenen Zeitraum.

Im Request-Body können optional Subshops angegeben werden, um die Auswertung gezielt einzugrenzen. Der Zeitraum wird über die Parameter from und to im ISO-8601-Format definiert.

Für die Nutzung sind Leseberechtigungen für Statistiken erforderlich.

Beispiel:

https://www.<ihr-shop>.de/admin/api/v1/statistics/sales/product?from=2025-04-30T22:00:00.000Z&to=2025-05-13T22:00:00.000Z

Request Body:

{ "subshops": [ "deutsch", "englisch" ] }

Antwort:

[ { "accountTypeGuest": 0, "accountTypeNew": 0, "accountTypeRegistered": 1, "amount": 5, "amountTotal": 8.95, "country": "DE", "currency": "€", "deviceTypeDesktop": 1, "deviceTypeMobile": 0, "deviceTypeTablet": 0, "itemsCount": 1, "logDate": "2025-05-20T14:00:00Z", "ordersCount": 1, "platformTypeApp": 0, "platformTypeWeb": 1, "subshopId": "deutsch", "totalDiscount": 0, "voucherCount": 0, "voucherValue": 0 } ]

Fehlercodes:

Fehler

Typ

Grund

Fehler

Typ

Grund

401 Unauthorized

 

Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Statistiken.

400 Bad Request

"invalidValue"

from oder to enthalten keine validen ISO 8601 Zeitwerte.

503 Service Unavailable

"internalError"

Statistiken konnten nicht geladen werden.

 

5.2 POST statistics/orders/days

Dieser Endpunkt liefert tageweise aggregierte Bestellstatistiken für den angegebenen Zeitraum.

Im Request-Body können optional Subshops angegeben werden, um die Auswertung gezielt einzugrenzen. Der Zeitraum wird über die Parameter from und to im ISO-8601-Format definiert.

Für die Nutzung sind Leseberechtigungen für Statistiken erforderlich.

Beispiel:

https://www.<ihr-shop>.de/admin/api/v1/statistics/sales/product?from=2025-04-30T22:00:00.000Z&to=2025-05-13T22:00:00.000Z

Request Body:

{ "subshops": [ "deutsch", "englisch" ] }

Antwort:

{ "accountTypeGuest": 0, "accountTypeNew": 0, "accountTypeRegistered": 2, "amount": 66.98, "amountTotal": 66.98, "country": "DE", "currency": "€", "deviceTypeDesktop": 2, "deviceTypeMobile": 0, "deviceTypeTablet": 0, "itemsCount": 2, "logDate": "2025-05-16T00:00:00Z", "ordersCount": 2, "platformTypeApp": 0, "platformTypeWeb": 2, "subshopId": "deutsch", "totalDiscount": 0, "voucherCount": 0, "voucherValue": 0 }

Fehlercodes:

Fehler

Typ

Grund

Fehler

Typ

Grund

© 2025 WEBSALE AG | Impressum | Datenschutz