REST-Schnittstelle
Geprüft
Kurz gesagt
Abschnitt betitelt „Kurz gesagt“Die REST-Schnittstelle liegt unter /api/v1 und beantwortet nur GET. Alles andere erhält 405, noch bevor der Server den Schlüssel überhaupt ansieht.
Der Zugriff wird mit einem Header nachgewiesen, siehe Übersicht.
Aufrufe
Abschnitt betitelt „Aufrufe“| Endpunkt | Berechtigungsumfang | Was es liefert |
|---|---|---|
GET /account/connection |
stores:read |
Diagnose dieser Verbindung: die App, wer den Zugriff wann erteilt hat, erteilte und fehlende Berechtigungen nach Bereich, E-Shops und der Schreibmodus über KI. |
GET /account/entitlements |
account:read |
Tarif des Mandanten, Funktionen und Limits mit aktueller Nutzung. |
GET /affiliate/articles/:key |
affiliate:read |
Ein Hilfeartikel mit seinem Wortlaut (HTML) in allen oder in einer Sprache; Variablen nicht ersetzt. |
GET /affiliate/articles |
affiliate:read |
Hilfeartikel des Partnerportals: Schlüssel, Standard/eigener, aktiviert, Reihenfolge, Status je Sprache. |
GET /affiliate/campaigns/:campaignId |
affiliate:read |
Eine Kampagne des Partnerprogramms. |
GET /affiliate/campaigns |
affiliate:read |
Kampagnen des Partnerprogramms eines Shops mit Vergütung, Verfügbarkeit und Anzahlen. |
GET /affiliate/code-requests |
affiliate:read |
Anfragen von Partnern nach einem eigenen Rabattcode mit Status und Grund; offene zuerst. |
GET /affiliate/conversions/:conversionId |
affiliate:read |
Detail einer Conversion: Beträge, Provision, Provisionsstatus mit Grund, Bestellstatus im Shop, Gutschrift, Auszahlung. |
GET /affiliate/conversions |
affiliate:read |
Conversions des Partnerprogramms eines Shops: Provisionsbasis und Bestellsumme inkl. MwSt., Provision, Provisionsstatus mit Grund, Bestellstatus im Shop, Verknüpfung zur Auszahlung. |
GET /affiliate/discount-codes |
affiliate:read |
Rabattcodes der Partner in einem Shop mit Anzahl der Verwendungen und Umsatz. |
GET /affiliate/documents/:key/content |
affiliate:read |
Ein Rechtsdokument des Programms mit Wortlaut je Sprache (gespeicherter Text, öffentlicher Wortlaut, Version, Hashes, Quelle, PDF-Metadaten) und offenen Entwürfen. |
GET /affiliate/documents |
affiliate:read |
Dokumente des Programms (Bedingungen, Vereinbarungen): Bestätigungsrichtlinie, unterschriebene Kopie, E-Mail-Anhang, Versionen je Sprache, Bereitschaft und Anzahl der Bestätigungen. |
GET /affiliate/email-templates |
affiliate:read |
Vorlagen der E-Mails an Partner je Sprache (Betreff, aktiviert, mit Ereignis auch der Text) und automatische Anhänge der E-Mail „Konto freigegeben“. |
GET /affiliate/links/generate |
affiliate:read |
Nachverfolgter Partnerlink auf die Startseite, ein Produkt oder eine Kategorie des Kampagnen-Shops; erhält nach dem Klick die Zuordnung zum Partner. |
GET /affiliate/partners/:partnerId |
affiliate:read |
Ein Partner des Programms mit den Kampagnen, die ihm zur Verfügung stehen. |
GET /affiliate/partners |
affiliate:read |
Partner des Programms mit Status, Leistung und Provisionen; Kontaktdaten nur mit personenbezogenen Daten. |
GET /affiliate/payouts |
affiliate:read |
Auszahlungen von Provisionen an Partner mit Status; ohne Bank- und Rechnungsdaten. |
GET /affiliate/portal |
affiliate:read |
Öffentliches Partnerportal: Adressen je Shop, Offenheit der Registrierung mit Grund, eigene Domains, Kontaktperson, Erscheinungsbild und Status der Texte je Sprache. |
GET /affiliate/settings |
affiliate:read |
Einstellungen des Partnerprogramms: Provisionen, Klicks, Mindestauszahlung, Empfehlungen. |
GET /affiliate/signatures/:signatureId |
affiliate:read |
Eine elektronische Unterschrift mit dem unterschriebenen Wortlaut und einer Momentaufnahme der Werte; ein unveränderlicher Eintrag, das PDF wird in der Anwendung erstellt. |
GET /affiliate/signatures |
affiliate:read |
Elektronisch unterschriebene Dokumente der Partner (wer, Dokument, Version, Sprache, Shop, Zeit, Art, Prüfung, Hashes, Status) und Partner, denen eine Unterschrift fehlt; nur Lesen, eine Unterschrift entsteht ausschließlich im Portal. |
GET /affiliate/statistics |
affiliate:read |
Statistik des Partnerprogramms: Verlauf nach Tagen, Zuordnungsquellen, Rangliste der Partner. |
GET /affiliate/summary |
affiliate:read |
Übersicht des Partnerprogramms eines Shops für einen Zeitraum: Klicks, Conversions, Provisionen, Partner. |
GET /affiliate/variables |
affiliate:read |
Register der Inhalts- und E-Mail-Variablen des Partnerprogramms: kanonische Namen, Aliasse, Typ, Einsatzorte, Beispiel; optionale Prüfung eines Textes auf unbekannte Variablen. |
GET /analytics/advertising |
reports:read |
Werbung: Ausgaben, Budget, ROAS, Werbekostenanteil, CPA, durchschnittlicher Bestellwert und MER mit Vergleich; Google Ads und Meta Ads, Klicks aus GA4, 6 Monate. |
GET /analytics/channels |
analytics:read |
Besucherkanäle einschließlich ChatGPT und anderer KI-Quellen. |
GET /analytics/comparison |
reports:read |
Umsatz im Vergleich: Umsatz, Bestellungen, AOV, Besuche, CR und KI/LLM gegenüber dem Vorzeitraum oder Vorjahr. |
GET /analytics/monthly |
reports:read |
Umsatz, Bestellungen und Besuche nach Monaten (höchstens 24), zum Beispiel im Jahresvergleich. |
GET /analytics/order-coverage |
analytics:read |
Abdeckung der Bestellungen durch das Tracking. |
GET /analytics/order-heatmap |
reports:read |
Wann Bestellungen eingehen: Wochentag × Stunde, stärkster Tag und stärkste Stunde. |
GET /analytics/overview |
analytics:read |
Besuche, Bestellungen, Umsatz, Konversionsrate, AOV, Anteil der KI-Quellen. |
GET /analytics/revenue-sources |
reports:read |
Woher der Umsatz kam: Kanäle, Summen für KI/LLM, MitoOps und Affiliate, Akquise laut GA4. |
GET /analytics/seo |
analytics:read |
Search Console nach Suchanfrage oder Seite. |
GET /automations/catalog |
automations:read |
Katalog der Automatisierungen: Auslöser, Bedingungsfelder, Operatoren, Aktionen, Vorlagen und catalogVersion. |
GET /automations/:workflowId |
automations:read |
Eine Automatisierung mit DSL und Validierungsergebnis. |
GET /automations |
automations:read |
Automatisierungen des Mandanten mit Status und Shop-Umfang. |
GET /automations/options |
automations:read |
Optionsliste für ein Feld einer Automatisierung (Status, Versandarten, Zahlungen, Vorlagen, Reklamationen…): der Wert für die DSL und ein Name. |
GET /automations/:workflowId/runs |
automations:read |
Verlauf der Ausführungen einer Automatisierung. |
GET /automations/templates |
automations:read |
Fertige Automatisierungsvorlagen mit DSL. |
GET /chatbot/conversations/:sessionId |
chatbot-conversations:read |
Transkript einer Unterhaltung mit dem Web-Chatbot einschließlich der Quellen der Bot-Antworten. |
GET /chatbot/conversations |
chatbot-conversations:read |
Unterhaltungen von Kunden mit dem Web-Chatbot, beginnend mit der zuletzt aktiven, mit der ersten Frage; Cursor. |
GET /chatbot/outcomes |
chatbot:read |
How web chatbot conversations ended: since when the outcome is measured, measured and unmeasured conversations, known and unknown outcome, resolved, unresolved, bot error and resolution rate with its denominator; N/A with a reason when the denominator is zero. Totals only. |
GET /chatbot/stats |
chatbot:read |
Statistik des Web-Chatbots für einen Zeitraum: Trichter der Sprechblase aus einer einzigen Messung (ältere Zahlen kommen als historische mit), Öffnungsrate des Chats, Unterhaltungen, Ergebnis auf Ebene der Unterhaltung, Bewertungen. |
GET /chatbot/topics |
chatbot:read |
Worum es in den Unterhaltungen ging: Anteile der Themen aus einer geschlossenen Taxonomie, Lösungsrate und Kandidaten für Wissenslücken je Thema, die häufigsten Produkte, der Typ der Startseite und der Verlauf nach Tagen. Die Anteile werden aus den ausgewerteten Unterhaltungen berechnet, deren Anzahl ebenfalls geliefert wird. Nur Summen. |
GET /claims/config-drafts/:draftId |
claims-settings:read |
Status eines Änderungsvorschlags für die Reklamationseinstellungen (wartend, geschrieben, abgelehnt). |
GET /claims/configuration |
claims-settings:read |
Reklamationseinstellungen: Tags, Felder, Rückversand, das Formular im Shop und Formulartypen. |
GET /claims/:code |
claims:read |
Eine Reklamation mit Positionen, Erstattungen, Rücksendungen, Tags, Zeitachse und versendeten E-Mails. |
GET /claims |
claims:read |
Reklamationen und Retouren eines Shops mit Verknüpfung zur Bestellung. |
GET /claims/refund-options |
claims-settings:read |
Refunds: variable symbol source, refund coupon validity, coupon in the form, when the form asks for an account number. |
GET /claims/:code/refund-readiness |
claims:read |
Claim before a refund: what the customer requests, masked account, variable symbol, mode and whether the claim can be deleted. |
GET /claims/refund-settings |
claims-settings:read |
Erstattungen von Reklamationen: Modus, Bankkonten mit Eignung für Zahlungsaufträge (maskiert), Standard- und manuelles Konto. |
GET /claims/routes |
claims-settings:read |
Rückversand für Reklamationen: Routen, Adressen, Versandprofile mit IDs und Retourenunterstützung, Falltypen. |
GET /claims/settings |
claims:read |
Reklamationsprozesse mit IDs und Namen (Typen, Schritte, Status, Fristen), Tags; Moduleinstellungen mit dem Berechtigungsbereich claims-settings:read. |
GET /claims/statistics |
claims:read |
Statistik der Reklamationen und Retouren für einen Zeitraum: Anzahlen, Bearbeitungszeiten, Typen, Bewertungen, Gründe. |
GET /claims/templates |
claims-settings:read |
E-Mail-Vorlagen der Reklamationen (Betreff, Text, wann und ob sie automatisch versendet werden) und Dokumentvorlagen. |
GET /content/articles |
products:read |
Blogartikel und Shop-Inhalte aus dem kanonischen Spiegel nach Titel oder Text. |
GET /coupons/activation-link |
coupons:read |
Ein Link, der einen VORHANDENEN Gutschein im Warenkorb des Kunden anwendet. Erstellt keine Gutscheine. |
GET /coupons/activation-status |
coupons:read |
Ob sich ein Gutschein im Shop über den Aktivierungslink verwenden lässt: Spiegel des Gutscheins + Status des Codes auf der Website. |
GET /coupons/capabilities |
coupons:read |
Was die Plattform des Shops mit Gutscheinen kann. Vor dem Anlegen lesen. |
GET /coupons/:code |
coupons:read |
Ein Gutschein nach Code. |
GET /coupons |
coupons:read |
Rabattgutscheine des Shops mit Rabattart und -höhe, Gültigkeit und abgeleitetem Status. |
GET /customers/:customerKey |
customers:read |
Ein Kunde aus dem Verzeichnis: Identität, Shops, Beträge über die gesamte Kundenbeziehung und optional für einen Zeitraum, aufgeschlüsselt nach Shop. |
GET /customers |
customers:read |
Kundenverzeichnis: Identität (mit Maskierung personenbezogener Daten), Shops, Sprache, Anzahlen über die gesamte Kundenbeziehung und Umsatz je Währung; optionaler Filter nach Kaufaktivität in einem Zeitraum. |
GET /customers/performance |
reports:read |
Kunden als Pseudonyme: Bestellungen, Umsatz, LTV, neue und wiederkehrende. |
GET /credit-notes |
invoices:read |
Suche in Gutschriften. |
GET /documents |
invoices:read |
Buchhaltungsbelege einer Art (Rechnungen, Proformarechnungen, Gutschriften) seitenweise mit Lebenszyklus, Status in der Quelle, Gültigkeitsfilter und PDF-Verfügbarkeit. |
GET /documents/:documentType/:code/pdf |
invoices:read |
PDF einer Rechnung, Proformarechnung oder Gutschrift (Base64 und SHA-256), dieselben Bytes wie auf dem Bildschirm. |
GET /invoices/:invoiceCode |
invoices:read |
Eine Rechnung mit Belegpositionen, Gutschriften, Proformarechnungen und der Bestellnummer. |
GET /invoices |
invoices:read |
Suche in Rechnungen. |
GET /inventory/movements |
inventory:read |
Verlauf der Lagerbewegungen: wann, was, wie viel, Art, Herkunft, Bestellung. |
GET /inventory/availability |
inventory:read |
Lagerbestand mehrerer Positionen auf einmal. |
GET /inventory/stock |
inventory:read |
Lagerbestand einer Position einschließlich der Quelle des Wertes. |
GET /orders/:orderCode |
orders:read |
Eine gespeicherte Bestellung einschließlich Positionen. |
GET /orders |
orders:read |
Gespeicherte Bestellungen eines Shops, die neueste zuerst. |
GET /availabilities/drafts/:draftId |
products:read |
Status eines Änderungsvorschlags für die Verfügbarkeitsliste: wartet auf Freigabe, mit Ergebnis geschrieben, abgelehnt, abgelaufen. |
GET /availabilities |
products:read |
Verfügbarkeitsliste des Shops: Name, Beschreibung, Einlagerungs- und Lieferzeit, Bedeutung für Google, Farbe, Standardrolle. |
GET /catalog/category-content-drafts/:draftId |
category-content:read |
Status eines Kategorietext-Vorschlags: wartet auf Freigabe, geschrieben, abgelehnt, abgelaufen. |
GET /categories/:guid/content |
category-content:read |
Texte einer Kategorie (obere und untere Beschreibung, SEO-Titel und -Beschreibung) mit Hash und Schreibbarkeit. |
GET /categories |
products:read |
Kategorien des Shops mit Anzahl der Produkte. |
GET /catalog/product-content-drafts/:draftId |
product-content:read |
Status eines Produkttext-Vorschlags: wartet auf Freigabe, geschrieben mit Shop-Hinweisen, abgelehnt, abgelaufen. |
GET /products/:code/content |
product-content:read |
Texte eines Produkts aus dem Shop (Beschreibung, Kurzbeschreibung, SEO-Titel und -Beschreibung) mit Hash und Schreibbarkeit. |
GET /product-content/policy |
product-content:read |
Inhaltsrichtlinie des Shops ohne Aufruf des Shops: was dieser Zugang lesen und vorschlagen darf, welche Felder die Plattform schreibt, Freigabemodus und autonomes Schreiben, Limits und Hashes. |
GET /products/:code |
products:read |
Ein Produkt nach Code einschließlich Kategorie und Preis aus der Produktkarte. |
GET /products |
products:read |
Produktsuche nach Name, Code, EAN oder PLU. |
GET /reports/financial-summary |
reports:read |
Finanzübersicht eines Zeitraums; mit purchase-prices:read auch Wareneinsatz, Rohgewinn und Marge. |
GET /sales/order-performance |
reports:read |
Umsatz je Bestellung mit Summen für den gesamten Zeitraum; mit purchase-prices:read auch Einkauf, Gewinn und Marge. |
GET /sales/product-performance |
reports:read |
Verkäufe je Produkt mit Summen für den gesamten Zeitraum. |
GET /search-console/query |
search-console:read |
Search Console nach Tag, Suchanfrage, Seite, Land und Gerät, mit Paginierung und Inhalts-Hash. |
GET /search-console/status |
search-console:read |
Search-Console-Status eines Shops: Verbindung, Property, Berechtigung, Synchronisierung und Umfang des Archivs. |
GET /shipping/carriers |
shipping:read |
Verbundene Versanddienstleister und Profile, ohne Zugangsdaten. |
GET /shipping/shipments/:shipmentId |
shipping:read |
Eine Sendung mit allen Sendungsverfolgungsereignissen. |
GET /shipping/shipments |
shipping:read |
Sendungen mit Versanddienstleister, Land, Übergabe- und Zustellzeit, seitenweise. |
GET /shipping/stats |
shipping:read |
Zustellstatistik je Versanddienstleister: Anzahlen, Erfolgsquote, Median und p90 der Zustellzeit, Länder. |
GET /stores/integration-status |
stores:read |
Status des MitoOps-Codes auf der Website je Shop: installiert, Version, Module, Bereitschaft des Gutscheins per Link. |
GET /stores |
stores:read |
Shops des Mandanten mit ihrem Code. |
GET /suppliers/:supplierId |
purchasing:read |
Ein Lieferant mit Angeboten und Kostenbestandteilen. |
GET /suppliers |
purchasing:read |
Lieferanten mit Angeboten und Kostenbestandteilen. |
GET /webhooks/endpoints/:endpointId/deliveries |
webhooks:read |
Zustellungsprotokoll eines Endpoints ohne Inhalte. |
GET /webhooks/endpoints/:endpointId |
webhooks:read |
Ein Webhook-Endpoint mit der Anzahl ausstehender Zustellungen. |
GET /webhooks/endpoints |
webhooks:read |
Webhook-Endpoints des Mandanten ohne Secrets und der Zustand der Warteschlange. |
GET /webhooks/events |
webhooks:read |
Katalog der Ereignisse ausgehender Webhooks, Umschlag und Signatur. |
| Route | Berechtigungsbereich | Was es liefert |
|---|---|---|
GET /capabilities |
— | was dieser Schlüssel aufrufen darf |
GET /openapi.json |
— | die maschinenlesbare Beschreibung der Schnittstelle |
GET /capabilities ist der schnellste Weg herauszufinden, was ein Schlüssel öffnet: Es liefert genau das, was seine Berechtigungsbereiche erlauben, nicht den ganzen Katalog. Die genauen Parameter und Antwortfelder jedes Aufrufs stehen in openapi.json.
Antwortform
Abschnitt betitelt „Antwortform“Jede Antwort hat zwei Teile: data und meta.
{ "data": [ { "market": "sk", "name": "Mein Shop" } ], "meta": { "requestId": "…", "count": 1, "hasMore": false, "nextCursor": null }}meta.requestId kennzeichnet den Aufruf. Wenn etwas schiefgeht, ist das der Wert, an dem der Support erkennt, welchen Aufruf Sie meinen.
Paginierung
Abschnitt betitelt „Paginierung“Die nächste Seite fordern Sie an, indem Sie den nextCursor aus der Antwort im Parameter cursor zurücksenden. Alle anderen Parameter müssen gleich bleiben: Ein Cursor gehört zu der Abfrage, aus der er stammt, und bei einem anderen Shop oder Zeitraum lehnt die Schnittstelle ihn ab (400). Das Ende erkennen Sie an hasMore, nicht an der Anzahl der gelieferten Datensätze. Ein ungültiger Cursor ist ein Fehler, kein leeres Ergebnis: Eine leere Antwort sähe wie das Ende der Daten aus, und ein Export würde still unvollständig.
Seitenzahlen gibt es bewusst nicht: Kommt zwischen zwei Aufrufen ein Datensatz hinzu, zeigt „Seite 2“ nicht mehr dorthin, wohin sie eben noch gezeigt hat.
Auflisten und Suchen
Abschnitt betitelt „Auflisten und Suchen“Bei Produkten, Rechnungen und Gutschriften sind das zwei Modi einer Adresse: Ohne query erhalten Sie eine seitenweise Auflistung, die neuesten zuerst (paginiert und auf einen Zeitraum einschränkbar); mit query erhalten Sie eine nach Relevanz sortierte Suche (höchstens limit Datensätze). Die Suche wird weder paginiert noch auf einen Zeitraum eingeschränkt: Die Kombination von query mit cursor, from oder to ergibt 400, statt den Filter still zu ignorieren. Um den gesamten Datenbestand auszulesen, verwenden Sie die Auflistung ohne query.
Zeitraum
Abschnitt betitelt „Zeitraum“Bestellungen, Belege, Sendungen, Statistiken, Analytik und Berichte lassen sich mit from und to in der Form YYYY-MM-DD einschränken.
- Beide Grenzen sind inklusive.
to=2026-08-05umfasst den ganzen 5. August, nicht die Mitternacht an seinem Beginn. - Der Tag wird so genommen, wie der Shop ihn gesendet hat: in seiner eigenen Zeitzone, so wie ihn auch die Mitarbeitenden in der Anwendung sehen.
- Bestellungen werden nach dem Datum der Bestellung sortiert, Sendungen nach dem Datum, an dem die Sendung angelegt wurde.
- Rechnungen und Gutschriften nach dem Steuerdatum; wenn ein Beleg keines hat, nach dem Ausstellungsdatum. Das ist dieselbe Semantik, mit der die Anwendung Belege Zeiträumen zuordnet. Welcher Wert den Beleg eingeordnet hat, sehen Sie im Feld
businessDate. - Verkäufe je Produkt nach dem Belegdatum; hier ist der Zeitraum Pflicht.
- Der längste Zeitraum beträgt 366 Tage. Alles Längere wird abgelehnt.
- Ohne Zeitraum liefern Sendungen und Statistiken die letzten 30 Tage, Analytik und Finanzübersicht den laufenden Monat. Die Antwort nennt den Zeitraum immer.
- Ein umgekehrter Zeitraum ist ein Fehler, kein leeres Ergebnis: Sonst sähe ein Tippfehler wie ein Zeitraum ohne Belege aus.
Bestellungen akzeptieren weiterhin todayOnly. Es lässt sich nicht mit from/to kombinieren: Das sind zwei Antworten auf dieselbe Frage.
Was die Finanzfelder bedeuten
Abschnitt betitelt „Was die Finanzfelder bedeuten“purchasePriceWithoutVatbei einer Bestellposition ist der Einkaufspreis zum Zeitpunkt der Bestellung, so wie ihn der Shop gespeichert hat. Es ist nicht der Preis aus der heutigen Produktkarte; dieser istpurchasePriceinproducts/{code}.cogsin der Finanzübersicht ist der Wareneinsatz des Zeitraums aus allen Bestellungen;nullbedeutet, dass die Einkaufspreise für zu wenige Zeilen bekannt sind (cogsCoverage). Dann wird auch der Rohgewinn nicht angezeigt: lieber nichts als eine falsche Zahl.grossProfitist der Umsatz ohne MwSt. abzüglich des Wareneinsatzes,grossMargindasselbe in Prozent.resultAfterCostsist der Rohgewinn abzüglich Versand und abzüglich der Kosten des Unternehmens: eine Kennzahl für die Unternehmensführung, kein buchhalterischer Gewinn.- Bei den Verkäufen je Produkt ist
purchaseCostWithoutVatder Einkaufspreis zum Belegzeitpunkt aus dem Abgleich mit dem Katalog;unmappedLinesgibt an, wie viele Zeilen nicht zugeordnet werden konnten. - Alle Beträge in Berichten und Analytik sind in EUR (Feld
currency), umgerechnet zum Kurs zum Zeitpunkt der Synchronisierung. Bestellungen und Belege tragen ihre eigene Währung.
Ohne den Berechtigungsbereich purchase-prices:read fehlen diese Felder in der Antwort: nicht null, sondern nicht vorhanden.
Zustellzeit
Abschnitt betitelt „Zustellzeit“Die Zustellstatistik (shipping/stats) misst die Zeit von der Übergabe an den Versanddienstleister bis zum ersten Zustellereignis in den Sendungsverfolgungsereignissen. Aus dem Bestelldatum wird nichts berechnet. Eine Sendung, der einer der beiden Punkte fehlt, fließt nicht in den Median ein; wie viele eingeflossen sind, gibt delivery.measured an. Jede Sendung trägt dieselben zwei Zeitpunkte in handedOverAt und deliveredAt.
deliveryRate ist der Anteil zugestellter Sendungen unter denen, deren Schicksal entschieden ist (zugestellt, zurückgesendet, fehlgeschlagen). Eine Sendung unterwegs ist noch weder Erfolg noch Misserfolg; eine stornierte Sendung ist Ihre Handlung, kein Versagen des Versanddienstleisters, und wird gar nicht gezählt.
Lagerbestand
Abschnitt betitelt „Lagerbestand“inventory/stock liefert quantity und source: aus welchem Bestandsmodell der Wert stammt (Varianten, Bilanz des Shops, Produktkarte). Wenn der Shop eine Bilanz führt, stehen auch physical, available (verfügbar für den Verkauf) und reserved (in Bestellungen reserviert) zur Verfügung; andernfalls sind sie null. Die Schnittstelle erfindet keinen „Bestand am Lager“, den die Anwendung nicht führt.
Der Lagerbestand (inventory/stock und inventory/availability, Berechtigungsbereich inventory:read) sagt, wie viel von einem Produkt vorhanden ist; die Verfügbarkeitsliste (/availabilities, Berechtigungsbereich products:read) enthält die benannten Zustände, die ein Shop Kunden neben einem Produkt anzeigt, zum Beispiel Auf Lager oder Auf Bestellung.
Verfügbarkeitsliste
Abschnitt betitelt „Verfügbarkeitsliste“GET /availabilities?market=sk liefert in data die Einträge der Liste eines Shops: id, name, description, onStockHours, deliveryHours, meaning (die Bedeutung für Google Shopping: in_stock, backorder, preorder, out_of_stock), color, system, defaultRoles (die Standardrolle im Shop) und pairingRows (in wie vielen Zeilen der Verfügbarkeitszuordnung der Eintrag vorkommt). meta trägt market, manageable und reason: ob sich die Liste aus MitoOps ändern lässt und, falls nicht, warum (PLATFORMA, BEZ_ROZSIRENIA, PROSTREDIE).
Über REST lässt sich die Liste nicht ändern. Eine Änderung vorbereiten kann nur ein Assistent über MCP, und zwar als Vorschlag mit dem sensiblen Berechtigungsbereich availabilities:draft; in den Shop schreibt ihn ein Mensch, indem er ihn in der Anwendung freigibt. Den Status eines solchen Vorschlags können Sie über REST lesen: GET /availabilities/drafts/:draftId liefert den status (pending, writing, executed, partial, failed, rejected, expired), die Vorschau und nach der Freigabe das Ergebnis je Position. Einzelheiten in der MCP-Schnittstelle.
Kundenverzeichnis
Abschnitt betitelt „Kundenverzeichnis“Für Kunden gibt es zwei verschiedene Lesezugriffe, und wer sie verwechselt, liest eine andere Zahl als erwartet:
/customersund/customers/{customerKey}(Berechtigungsbereichcustomers:read) sind das Verzeichnis: dieselbe Projektion, die die Mitarbeitenden in der Ansicht Kunden sehen und die in den Export geht, also Identität, Shops, Land, Sprache, Anzahlen und Daten./customers/performance(Berechtigungsbereichreports:read) ist die Analytik über den Rohbestellungen: Der Kunde ist nur ein Pseudonym, Name und Kontaktdaten sind darin überhaupt nicht enthalten.
Von außen ist market bei beiden Pflicht. Ohne ihn würde über alle Shops des Mandanten gelesen, auch über diejenigen, die dieser Zugriff nicht abdeckt.
Wer was sieht
Abschnitt betitelt „Wer was sieht“customers:read allein liefert das Pseudonym (customerKey), Shops, Land, Sprache, die Anzahl der Bestellungen und die Daten der ersten und der letzten Bestellung. Darüber hinaus:
- Name, Firma, E-Mail, Telefon und Marketing-Geschlecht nur mit
personal-data:read, - Umsatz, durchschnittliche Bestellung und LTV nur mit
reports:read.
Felder, für die Sie keinen Berechtigungsbereich haben, werden entfernt, nicht auf null gesetzt. Ein null an der Stelle der E-Mail würde bedeuten „dieser Kunde hat keine E-Mail“, was nicht stimmt; ein fehlender Schlüssel bedeutet „Sie haben kein Recht darauf“.
customerKey ist der SHA-256-Hash der normalisierten E-Mail-Adresse. Es ist dasselbe Pseudonym, das Belege tragen (customerEmailHash) und das /customers/performance verwendet, sodass sich die drei Sichten verknüpfen lassen, ohne irgendwohin eine E-Mail-Adresse zu senden.
Gesamte Kundenbeziehung und Zeitraum
Abschnitt betitelt „Gesamte Kundenbeziehung und Zeitraum“Das Verzeichnis hat einen optionalen Filter purchaseFrom / purchaseTo (YYYY-MM-DD, beide Grenzen inklusive). Er bedeutet Kaufaktivität im Zeitraum: Der Kunde hat in diesem Intervall mindestens eine Bestellung. Er ist kein Filter auf das Datum des ersten oder letzten Kaufs.
Mit einem Zeitraum erscheinen die Felder periodFrom, periodTo, periodOrdersCount und periodRevenueByCurrency neben den Werten über die gesamte Kundenbeziehung (ordersCount, revenue, lifetimeRevenue, firstOrderAt, lastOrderAt), nie an ihrer Stelle. Die Werte über die gesamte Kundenbeziehung ändern sich mit dem Zeitraum nicht.
Geld immer je Währung
Abschnitt betitelt „Geld immer je Währung“Umsatz, durchschnittliche Bestellung und LTV sind ein Array je Währung, nie eine einzelne Zahl. Ein Kunde mit Bestellungen in EUR und in CZK hat zwei Einträge; sie zu einem einzigen Skalar zu addieren hieße, Kronen zu Euro zu addieren. Dasselbe gilt für /customers/performance: Eine Zeile ist ein Paar (Kunde, Währung), und die Summen des Filters stehen in totals.revenueByCurrency.
Sprache und Marketing-Geschlecht
Abschnitt betitelt „Sprache und Marketing-Geschlecht“languageist die Sprache des Shops, in dem der Kunde bestellt hat (source: "store_locale"), nicht seine eigene Wahl. Eine ausdrückliche Sprachpräferenz des Kunden erfasst die Anwendung derzeit nicht.marketingGender(male/female/unknown) ist eine Schätzung aus dem Vornamen, keine Angabe des Kunden. Die Herkunft steht immer ingenderSource(derzeit ausschließlichname_inferenceoderunknown), die Zuverlässigkeit ingenderConfidence. Ein Firmenkunde hat das Feld nicht. Wer es weiter anzeigt, sollte „aus dem Namen geschätzt“ sagen, nie „vom Kunden angegeben“. Es liegt wie der Name selbst hinterpersonal-data:read.
Aufrufe über die Daten eines einzelnen Shops erfordern dessen Code im Parameter market. GET /stores liefert die Liste der Codes.
Hat der Schlüssel für diesen Shop keinen Berechtigungsbereich, lautet die Antwort 403, keine leere Liste. Eine leere Liste ließe sich nicht von einem Shop ohne Bestellungen unterscheiden. Ein Datensatz eines anderen Shops (zum Beispiel eine Sendung) ergibt 404.
Eine Fehlerantwort hat immer dieselbe Form und trägt einen Code. Die Liste der Status steht in der Übersicht.
Beispiele
Abschnitt betitelt „Beispiele“# Bestellungen eines Zeitraums, seitenweisecurl -H "Authorization: Bearer <Ihr Schlüssel>" \ "https://<Ihre Adresse>/api/v1/orders?market=sk&from=2026-08-01&to=2026-08-31&limit=50"
# Zustellstatistik für Augustcurl -H "Authorization: Bearer <Ihr Schlüssel>" \ "https://<Ihre Adresse>/api/v1/shipping/stats?market=sk&from=2026-08-01&to=2026-08-31"
# Finanzübersicht für August (mit dem Recht auf Einkaufspreise auch der Rohgewinn)curl -H "Authorization: Bearer <Ihr Schlüssel>" \ "https://<Ihre Adresse>/api/v1/reports/financial-summary?market=sk&from=2026-08-01&to=2026-08-31"
# Lagerbestand von drei Positionencurl -H "Authorization: Bearer <Ihr Schlüssel>" \ "https://<Ihre Adresse>/api/v1/inventory/availability?market=sk&codes=A100,A101,A102"
# Die Verfügbarkeitsliste des Shopscurl -H "Authorization: Bearer <Ihr Schlüssel>" \ "https://<Ihre Adresse>/api/v1/availabilities?market=sk"