Darstellung
Online Marktplätze – Vollständige API-Referenz
Fach-API für Marktplatz- und Shop-Kanäle: Kanal anlegen, Verbindung prüfen, Artikel und Bestand übertragen, Bestellungen importieren und Kategorien zuordnen. Basis ist https://core-backend.reybex.com/api (Staging: https://io-staging-partner.reybex.com/api). Authentifizierung wie im API: --header "authorization: Basic $TOKEN".
Artikel und Marktplatzfelder am Artikel stehen unter Artikelstamm-Verwaltung. Importierte Aufträge unter Auftragsverwaltung. Versandrückmeldung unter Versand / Pick & Pack.
Der schreibende Weg des Kanals ist POST /api/marketplace/. Der Körper ist der Kanal selbst, ohne Umschlag. Leere Objekte werden zu null.
1. Grundlagen
| Objekt | Rolle |
|---|---|
Marktplace | Ein Shop- oder Marktplatzkanal |
SupportedMarktplace | Kanaltyp, zum Beispiel Amazon oder Shopify |
MarketplaceWarehouse | Lager des Kanals |
MarketplaceCategory | Kategorie des Kanals |
CategoryMarketplaceMapping | Zuordnung reybex-Kategorie zu Kanal-Kategorie |
Die Zahlen in den Beispielen sind Beispiel-Ids eines Mandanten. 9401 ist der Kanal. 7001 ist das Lager HAUPT. 4202 ist die Auftrags-Belegart. 501 ist der Benutzer.
isActive schaltet den Kanal. isSandbox true nutzt die Testumgebung des Kanals. isGetOnly liest nur, isGetOnlyOrder liest nur Bestellungen, isGetOnlyMaterial nur Artikel.
1.1 Suchschlüssel
| Ziel | Suchschlüssel |
|---|---|
| Lager | code, sonst name |
| Belegart, Versandart, Zahlungsstatus | code, sonst name |
| Artikel am Transfer | matCode, sonst sku |
Bekannte id hat Vorrang. Ein Suchschlüssel in einer Positionsliste legt keinen bestehenden Transfer an.
1.2 Antwort- und Fehlerformat
Speichern liefert den Kanal. Lesen eines Kanals kapselt den Datensatz. Ein unbekannter Kanal ist nicht gefunden.
| Situation | Körper |
|---|---|
| Kanal nicht gefunden | nicht gefunden |
| Bestellimport ohne Zeitraum, wenn der Aufruf die Tage verlangt | period fehlt |
| Fehlende Anmeldung | HTTP 401 |
2. Kanal anlegen
POST /api/marketplace/ legt an, wenn keine id im Körper steht. Beim Ändern werden Zahlarten, Versandarten und Importlager neu aus dem Körper gesetzt.
Response enthält die gespeicherte id.
2.1 Felder
| Feld | Bedeutung |
|---|---|
name | Name des Kanals |
supportedMarketplace | Kanaltyp |
salesDocType | Belegart der importierten Aufträge |
fallbackDocType | Ersatz-Belegart |
numberRanges | Nummernkreis |
profitCenter | Profitcenter |
isActive | Kanal ist aktiv. Standard false |
isSandbox | Testumgebung |
isPaidOrders | Nur bezahlte Bestellungen. Standard true |
pastDays | Rückblick in Tagen. Standard 7 |
maxStock | Obergrenze des Bestands |
createMissingMaterials | Fehlende Artikel beim Import anlegen |
importMissingArticleAsTextPosition | Fehlenden Artikel als Textposition. Standard true |
doNotUploadNewMaterial | Neue Artikel nicht hochladen |
inlandShipping, foreignCountryShipping | Versand Inland und Ausland |
isDelete | Logisch gelöscht |
2.2 Pflichtfelder
Ohne Namen und Kanaltyp entsteht kein nutzbarer Kanal. Die API setzt den Kanaltyp nicht von selbst.
Auflösung, wenn ein Pflichtfeld fehlt
Die API setzt Pflicht-Referenzen nicht von selbst. Fehlt ein Feld, in dieser Reihenfolge füllen. Der erste Treffer gilt.
- Angabe – Wert aus dem Auftrag für dieses Feld.
- Vorlage – dasselbe Feld aus
GET /api/marketplace/{id}.idnicht übernehmen. Ist eine Vorlage genannt, diese lesen. Ist keine genannt, keine raten, mit Schritt 3 weiter. - Standard – Wert aus der Tabelle.
- Domäne –
GET /api/domains/supportedMarktplace?take=1&sort=codeundGET /api/domains/salesDocType?isOrder=true&take=1. Den Treffer per Suchschlüssel setzen. - Stopp – die Domäne ist leer. Kanal nicht anlegen. Den fehlenden Kanaltyp oder die fehlende Belegart nennen.
| Feld | Pflicht | Vorlage | Standard | Domäne |
|---|---|---|---|---|
name | ja | name | — | — |
supportedMarketplace | ja | supportedMarketplace | — | supportedMarktplace |
salesDocType | ja | salesDocType | Auftragsart | salesDocType |
isActive | nein | isActive | false, bis die Verbindung steht | — |
pastDays | nein | pastDays | 7 | — |
2.3 Kanal mit Auftrag
json
{
"name": "Shop Nord",
"supportedMarketplace": { "id": 31 },
"salesDocType": { "id": 4202 },
"isActive": false,
"isSandbox": true,
"isPaidOrders": true,
"pastDays": 7,
"importMissingArticleAsTextPosition": true
}31 ist der Kanaltyp, 4202 eine Auftrags-Belegart.
Verbindung prüfen: POST /api/marketplace/checkConnection mit der Kanal-id. Alle Kanäle: GET /api/marketplace/checkConnectionForAll. Aktive Kanäle: GET /api/marketplace/activeMarketplace.
2.4 Lesen und löschen
GET /api/marketplace/9401 liest einen Kanal. Ohne Id die Liste. Alle Kanäle: GET /api/marketplace/getAllMarketplaces.
Löschen: DELETE /api/marketplace/9401.
3. Artikel, Bestand, Bestellung
Artikel an den Kanal: POST /api/marketplace/marketplaceUpdateMaterial. Transfer anstoßen: GET /api/marketplace/sendMaterialTransfer.
Bestellungen eines Zeitraums: POST /api/marketplace/importOrders
json
{
"marktplaceId": 9401,
"orderImportStartDate": "2026-10-01",
"orderImportEndDate": "2026-10-16"
}9401 ist der Kanal. Die Daten sind yyyy-MM-dd. Die API formatiert sie intern nach dd.MM.yyyy. Fehlt der Kanal, bricht das Lesen ab.
Letzte Tage: POST /api/marketplace/orderImportWithPeriod
json
{ "period": 7 }Response: { "success": true }
Einfacher Abruf: GET /api/marketplace/performSimpleOrderImport und GET /api/marketplace/performSimpleMaterialImport.
Status zurückmelden: POST /api/marketplace/updateOrderStatusInMarketplace. Rechnungen hochladen: POST /api/marketplace/uploadInvoices.
Übertragungsprotokoll Artikel: GET /api/marketplaceMaterialTransfer/{id}. Bestellungen: GET /api/marketplaceOrderTransfer/{id}. Fehler des Imports: GET /api/marketplaceOrderTransfer/orderImportErrors.
Bestand als CSV: GET /api/marketplace/downloadStockCsv. Amazon FBA: POST /api/marketplace/amazonFbaStock.
4. Kategorien und Lager
Kategorien importieren: GET /api/marketplace/importCategories. Liste: GET /api/marketplaceCategory/listCategories.
Zuordnung speichern: POST /api/categoryMarketplaceMapping/
json
{
"marketplace": { "id": 9401 },
"materialCategory": { "id": 2101 },
"marketplaceCategory": { "id": 6101 }
}2101 ist die reybex-Kategorie, 6101 die Kanal-Kategorie. Mehrere: POST /api/categoryMarketplaceMapping/bulkSave.
Merkmale einer Kategorie: POST /api/marketplaceCategory/categorySpecsForMarketplace. Speichern: POST /api/marketplaceCategory/saveCategorySpecs. Der Schlüssel des Kanals heißt marktplaceId.
json
{
"marktplaceId": 9401,
"materialIds": [100200],
"marketplaceCategories": [6101],
"shopCategories": [2101]
}Lager des Kanals: POST /api/marketplaceWarehouse/
json
{
"marketplace": { "id": 9401 },
"warehouse": { "code": "HAUPT" }
}Token des Lager-Zugangs: GET /api/marketplaceWarehouse/token.
5. Zugang
Amazon: GET /api/marketplace/amazonAuthUrl/9401. eBay-Sitzung: GET /api/marketplace/getSessionIdForEbay, Token: GET /api/marketplace/getTokenForEbay. Token löschen: DELETE /api/marketplace/ebayAuthToken. Shopify-Lagerorte: GET /api/marketplace/getLocationsForShopify. Etsy: GET /api/marketplace/etsyAuthUrl/9401. Shopware: GET /api/marketplace/getStoreInformationForShopware.
FBA-Bestand: POST /api/marketplace/amazonFbaStock. FBA-Bericht: POST /api/marketplace/amazonFbaInventoryReport. Berichte einlesen: POST /api/marketplace/importAmazonFbaInventoryReports. Belegarten dazu: GET /api/marketplace/getFbaSalesDocTypesForAmazon.
Massenänderung: GET /api/marketplace/massUpdate liest die Auswahl, POST /api/marketplace/massUpdate schreibt sie.
Externer Kanal: GET /api/marketplaceExternal/register. Bestätigen: POST /api/marketplaceExternal/confirm. Konfiguration lesen und schreiben: GET /api/marketplaceExternal/configuration und POST /api/marketplaceExternal/configuration. Daten einlesen: POST /api/marketplaceExternal/importData.
6. Weitere Beispiele
6.1 Kanal bis Auftrag
- Kanal inaktiv und mit
isSandboxtrue anlegen, Abschnitt Kanal. POST /api/marketplace/checkConnection.- Lager
HAUPTzuordnen. - Kanal mit
isActivetrue speichern. - Bestellungen der letzten sieben Tage importieren.
- Den Auftrag in der Auftragsverwaltung lesen.
7. Shop-Client, Mollie, OAuth
/api/wsClient/ spricht den angebundenen Shop. Bestellungen anlegen: POST /api/wsClient/createOrders und POST /api/wsClient/orders. JSON-Import: POST /api/wsClient/importJsonOrders. Status: POST /api/wsClient/updateOrders. Storno mehrerer Aufträge: DELETE /api/wsClient/cancelOrders. Der Körper braucht marketplace und orders. Fehlt der Kanal: marketplace.not.found. Fehlt die Storno-Belegart: cancelDocType.not.found. Unbekannte Auftrags-Id: order.not.found. Ein Auftrag: POST /api/wsClient/cancelOrder.
Artikel finden: GET /api/wsClient/materialFinding. marktplaceName und sku sind Pflicht. Zahlart: GET /api/wsClient/paymentTypeFinding mit paymentType und provider. Alle Kanäle: GET /api/wsClient/importOrdersForAllMarketplaces. Tradebyte-Retouren: POST /api/wsClient/importTradebyteReturnedOrders. Ohne file: file.import.error.message. Das Trennzeichen ist ; oder ,.
Mollie: GET /api/mollie/, anmelden POST /api/mollie/auth, verbinden GET /api/mollie/connect.
OAuth-Link: GET /api/oauth2/authorize/{oauthType}. Rückkehr: GET /api/oauth2/callback/{oauthType}. oauthType ist der Anbieter im Pfad.
8. Endpoint-Katalog
| Methode | Pfad | Bedeutung |
|---|---|---|
GET | /api/marketplace/{id} | Ein Kanal oder die Liste |
POST | /api/marketplace/ | Anlegen und ändern |
DELETE | /api/marketplace/{id} | Löschen |
POST | /api/marketplace/checkConnection | Verbindung prüfen |
GET | /api/marketplace/activeMarketplace | Aktive Kanäle |
POST | /api/marketplace/marketplaceUpdateMaterial | Artikel übertragen |
POST | /api/marketplace/importOrders | Bestellungen im Zeitraum |
POST | /api/marketplace/orderImportWithPeriod | Bestellungen der letzten Tage, Body period |
POST | /api/marketplace/updateOrderStatusInMarketplace | Status zurückmelden |
POST | /api/marketplace/uploadInvoices | Rechnungen hochladen |
GET | /api/marketplaceOrderTransfer/orderImportErrors | Importfehler |
GET | /api/marketplaceCategory/listCategories | Kategorien |
POST | /api/categoryMarketplaceMapping/ | Kategorie zuordnen |
POST | /api/marketplaceWarehouse/ | Lager zuordnen |
GET | /api/marketplace/amazonAuthUrl/{id} | Amazon-Anmeldung |
GET | /api/marketplace/getTokenForEbay | eBay-Token |
GET | /api/marketplace/etsyAuthUrl/{id} | Etsy-Anmeldung |
GET | /api/marketplace/getLocationsForShopify | Shopify-Lagerorte |
POST | /api/marketplace/massUpdate | Massenänderung |
POST | /api/marketplace/amazonFbaStock | FBA-Bestand |
POST | /api/marketplace/importAmazonFbaInventoryReports | FBA-Berichte einlesen |
POST | /api/marketplaceCategory/saveCategorySpecs | Kategoriemerkmale, Feld marktplaceId |
GET | /api/marketplaceExternal/register | Externen Kanal registrieren |
POST | /api/marketplaceExternal/confirm | Registrierung bestätigen |
POST | /api/marketplaceExternal/configuration | Konfiguration speichern |
POST | /api/marketplaceExternal/importData | Daten einlesen |
POST | /api/wsClient/orders | Bestellungen |
POST | /api/wsClient/createOrders | Bestellungen anlegen |
POST | /api/wsClient/importJsonOrders | JSON-Bestellungen |
POST | /api/wsClient/updateOrders | Status aktualisieren |
POST | /api/wsClient/updateOrdersToProcess | Offene Aufträge nachziehen |
DELETE | /api/wsClient/cancelOrders | Mehrere stornieren |
POST | /api/wsClient/cancelOrder | Einen stornieren |
GET | /api/wsClient/importOrdersForAllMarketplaces | Alle Kanäle einlesen |
GET | /api/wsClient/materialFinding | Artikel, marktplaceName und sku |
GET | /api/wsClient/paymentTypeFinding | Zahlart, paymentType und provider |
POST | /api/wsClient/stockplaceFinding | Lagerplatz |
POST | /api/wsClient/ebayCategories | eBay-Kategorien |
POST | /api/wsClient/invoiceUpload | Rechnungen hochladen |
POST | /api/wsClient/invoices | Rechnungen |
POST | /api/wsClient/materialExportJson | Artikel als JSON |
GET | /api/wsClient/wsResponseLog | Antwortprotokoll |
GET | /api/wsClient/fetchEbayGrantAccessUrl | eBay-Freigabe |
POST | /api/wsClient/importTradebyteReturnedOrders | Tradebyte-Retouren, file |
POST | /api/wsClient/testSetStockPlacesWithPriorityOnOneWarehouse | Test der Lagerplatz-Priorität |
GET | /api/mollie/ | Mollie lesen |
POST | /api/mollie/auth | Mollie anmelden |
GET | /api/mollie/connect | Mollie verbinden |
GET | /api/oauth2/authorize/{oauthType} | OAuth-Link |
GET | /api/oauth2/callback/{oauthType} | OAuth-Rückkehr |
9. Häufige Fehler
| Situation | Ursache |
|---|---|
| Kanal nicht gefunden | id unbekannt |
| Import bleibt leer | isActive ist false oder isGetOnly sperrt das Schreiben |
| Artikel fehlt im Auftrag | createMissingMaterials ist false und importMissingArticleAsTextPosition ist false |
| Bestand kommt nicht an | Am Kanal ist kein Lager zugeordnet |
| Verbindung schlägt fehl | isSandbox passt nicht zum Token, oder der Token fehlt |
marketplace.not.found | cancelOrders ohne Kanal |
cancelDocType.not.found | Keine Storno-Belegart |
order.not.found | Auftrags-Id im Storno unbekannt |
file.import.error.message | Tradebyte-Import ohne file |