Aus dem Englischen übersetzt. Bei Abweichungen gilt die englische Seite. Auf Englisch lesen
Partnerprogramm: viele Shops verwalten
Für Softwareanbieter (ERPs, Agenturen), die Nembol für ihre eigenen Kunden betreiben: je ein Unternehmen, ein Schlüssel, eine Rechnung.
Mit dem Partnerprogramm verwaltest du viele Nembol-Shops (einen pro Kundenunternehmen) mit einem einzigen Schlüssel. Deine Kunden melden sich nie bei Nembol an und erhalten keine E-Mail von uns: Du steuerst alles über die API, und wir rechnen einmal im Monat für alle zusammen zu deinen ausgehandelten Konditionen mit dir ab.
Der Partnerzugang wird von Nembol nach der Partnervereinbarung freigeschaltet: Schreib an
developer@nembol.com. Dein Schlüssel braucht dann die Berechtigung accounts:manage.
In der Sandbox starten
Dein Partnerkonto startet in der Sandbox: bis zu 3 offene Unternehmen, echte Kanäle, Webhooks und Bestellungen, und nichts wird abgerechnet. Baue und teste dort die gesamte Integration; wenn du bereit bist, klicke auf Live gehen unter Einstellungen → Partner (bei Zahlung per Karte zuerst eine Karte): Die Abrechnung beginnt an diesem Tag, und derselbe Schlüssel und dieselben Unternehmen gehen live. Siehe Teste deine Integration.
Dein Schlüssel und das Dashboard
Zwei Dashboard-Seiten sind wichtig, im eigenen Nembol-Login des Partnerkontos:
- Einstellungen → Entwickler: Erstelle den API-Schlüssel. Wähle Live (in der Sandbox
führt ein Live-Schlüssel alles echt aus und nichts wird abgerechnet; ein Test-Schlüssel
simuliert Aufrufe nur und kann keine echten Unternehmen anlegen). Die Vorgabe Lesen & Schreiben
enthält
accounts:manage, das für jeden Partner-Endpoint nötig ist; das Formular listet jede Berechtigung auf, die der Schlüssel erhält. - Einstellungen → Partner: deine Unternehmen (mit einem Umschalter Unternehmen / Abrechnung),
die Monatsabrechnung pro Plan, deine Zahlungsmethode und ein Sandbox-Hinweis,
solange das Konto in der Sandbox ist. Die Seite zeigt dieselben Daten wie
GET /accounts,GET /partner/statementundGET /partner/billing.
Deine Händler nutzen das Dashboard nie: Alles für ihre Unternehmen läuft über die API.
1. Ein Unternehmen anlegen
curl -X POST https://api.nembol.com/rest/v1/accounts \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Srl", "plan": "pro", "country": "IT", "reference": "ERP-123"}'{ "id": "acct_66f0a1", "object": "account", "name": "Acme Srl", "plan": "pro",
"status": "active", "product_limit": 2000, "channel_accounts": 0, "products": 0 }plan:basic,pro,enterpriseoderenterprise_plus. Das Unternehmen erhält die Limits dieses Plans (Produkte, Kanalkonten, Funktionen).- Abrechnung ab heute, anteilig. Keine Testphase. Wechsle den Plan jederzeit mit
PATCH /accounts/{id}(ebenfalls anteilig).
2. Innerhalb eines Unternehmens arbeiten
Füge jeder Anfrage Nembol-Account hinzu. Der Rest der API funktioniert genau so, als
hätte das Unternehmen seinen eigenen Schlüssel:
curl https://api.nembol.com/rest/v1/products \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1"Rate-Limits und Idempotency-Keys werden pro Unternehmen gezählt, sodass ein ausgelastetes
Unternehmen die anderen nie ausbremst.
3. Die Kanäle des Unternehmens verbinden
Erstelle einen Verbindungslink und schick ihn dem Verkäufer. Er meldet sich nur bei seinem Kanalkonto an:
curl -X POST https://api.nembol.com/rest/v1/channel_connections \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1" \
-H "Content-Type: application/json" \
-d '{"channel": "amazon", "params": {"country": "US"}, "return_url": "https://erp.example.com/nembol/done"}'Manche Kanäle fragen nach dem Login des Verkäufers, welches Konto verbunden werden soll
(Amazon mit mehreren Marktplätzen, Google Merchant Center, Facebook Catalog
mit mehreren Unternehmen). Die Verbindung wird dann needs_choice mit
choices: Zeig sie in deiner App an (oder lass einen Agenten wählen) und sende die Auswahl:
curl -X POST https://api.nembol.com/rest/v1/channel_connections/conn_8a12/choose \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1" \
-H "Content-Type: application/json" \
-d '{"value": "A2EUQ1WTGCTBG2"}'Registriere deine return_url einmal in deinem eigenen Shop (POST /redirect_urls):
Jedes Unternehmen verwendet sie (GET /redirect_urls innerhalb eines Unternehmens listet sie mit
inherited: true auf).
Nach dem Login landet der Browser des Verkäufers auf deiner return_url, mit diesen
Parametern im Query-String (deine eigenen bleiben erhalten, setz also deine eigene Unternehmens-ID dort ein):
| Parameter | Wert |
|---|---|
connection_id | conn_…; lies sie mit GET /channel_connections/{id} |
status | connected, failed, needs_choice oder expired |
channel_account_id | chac_…, wenn verbunden |
error | der Grund bei einem Fehlschlag: channel_login_failed, link_expired, link_already_used, plan_not_eligible, subscription_inactive, slot_no_longer_available, different_channel_account |
account_id | das Unternehmen (acct_…) |
https://erp.example.com/nembol/done?company=42&connection_id=conn_8a12&status=connected&channel_account_id=chac_77b0&account_id=acct_66f0a1Auch Links, die nicht verwendet werden können, führen hierher zurück (abgelaufen, bereits verwendet oder abgelehnt). Der Verkäufer landet also immer in deiner App, nie auf einer Nembol-Fehlerseite.
Der Rückkehrlink enthält nur Nembol-IDs, nie die Codes oder Tokens des Kanals.
Der Marktplatz sendet seinen Autorisierungscode an Nembol, das
die Tokens austauscht, aufbewahrt und für dich mit dem Kanal kommuniziert. Du arbeitest
weiter mit deinem Schlüssel und Nembol-Account.
Der Query-String sagt nur dem Browser, was passiert ist: Jeder kann deine
return_url mit erfundenen Parametern öffnen. Bevor du den Kanal in deiner App als verbunden
markierst, bestätige von deinem Server aus mit
GET /channel_connections/{connection_id} (und Nembol-Account), dass
status gleich connected ist, oder warte auf den Webhook channel_account.connected.
Ein Verbindungslink funktioniert einmal und eine Stunde lang. Erneut oder nach Ablauf der
Stunde geöffnet, schickt er den Verkäufer mit
error=link_already_used oder error=link_expired zurück zu deiner return_url (ohne return_url
sieht der Verkäufer eine Nembol-Seite). Erstelle dann eine neue Verbindung. Kanäle, die mit API-Schlüsseln
verbunden werden (Kaufland, OnBuy, PrestaShop, Subito), brauchen keinen Link: POST /channel_connections mit
den Schlüsseln in params antwortet sofort mit connected oder mit
channel_credentials_rejected und dem Grund des Kanals.
Nach dem Verbinden
- Nichts wird importiert, außer du hast es angefordert (
import_products,import_ordersbeiPOST /channel_connections); dein ERP veröffentlicht seine eigenen Produkte. - Ein Konto getrennt und willst denselben Shop erneut verbinden? Die nächste
Verbindung dieses Kanals bringt es zurück (
reconnects_shop); für einen anderen Shop sendenew_account: true. Siehe Einen Kanal verbinden. - Jeder Sync-Schalter startet ausgeschaltet: Setze die, die der Händler möchte, mit
PATCH /channel_accounts/{id}(z. B.sync.quantity_from_orders: true, damit ein Verkauf auf dem Kanal den Bestand überall senkt).
4. Webhooks oder Polling
Registriere deine Endpoints einmal, in deinem eigenen Shop: Sie empfangen die Events
all deiner Unternehmen, jeweils mit account_id.
Lieber Polling, oder willst du ein Sicherheitsnetz? GET /events?created_after=… mit deinem
Schlüssel und ohne Nembol-Account liefert deine eigenen Events und die all deiner Unternehmen
in einem Feed (jeweils mit account_id); füge account=acct_… für ein einzelnes Unternehmen hinzu.
Events werden 30 Tage aufbewahrt.
Eine typische ERP-Integration
- Unternehmen:
POST /accounts, wenn sich ein Kunde in deinem ERP registriert; speichere dieacct_…neben deiner eigenen Kunden-ID (referenceenthält deine). - Kanäle:
POST /channel_connections→ Link senden → der Verkäufer kommt zu deinerreturn_urlzurück (siehe oben). - Produkte: Suche ein Produkt über die SKU (
GET /products?sku=…), dannPATCH /products/{id}oderPOST /products. Jede Variante braucht eine eigene SKU, und Produkte mit Optionen brauchen jede Kombination (S/M × Rot/Blau = 4). - Veröffentlichen:
POST /listings(oder/listings/batchfür viele) mit dem Kanalkonto. Ein Produkt braucht mindestens ein Bild. Verfolge den Status mit dem Webhooklisting.status_changed. - Bestand:
POST /inventory/batchmit SKU + Menge (bis zu 100 Artikel). - Bestellungen: Webhook
order.created, mitGET /ordersals Sicherheitsnetz (siehe unten). Eine Bestellung enthält alle ihre Positionen. - Versand:
POST /orders/{id}/fulfillmentmit der Sendungsverfolgung.
Regeln, die die Integration kennen sollte, sind gesammelt unter Regeln und Limits.
5. Abrechnung
- Eine Rechnung pro Monat für alle deine Unternehmen: jedes in seinem Plan, zu deiner Kondition (ein Rabatt auf unseren Listenpreis oder ein Pauschalpreis pro Plan).
GET /partner/statement?month=2026-10listet jedes Unternehmen auf, seinen Plan, die abrechenbaren Tage und den Betrag. Es entspricht der Rechnung.- Zahle per Karte (automatisch belastet) oder per Rechnung (30 Tage). Du kannst auch
Monate im Voraus zahlen (z. B. per Überweisung): Das Guthaben wird mit den nächsten
Rechnungen verrechnet,
GET /partner/billingzeigt den Rest (credit_balance). - 14 Tage nach einer unbezahlten Rechnung werden deine Unternehmen schreibgeschützt (Bestellungen und Bestand werden weiter synchronisiert, nichts wird gelöscht), bis sie bezahlt ist.
6. Ein Unternehmen schließen
POST /accounts/{id}/close beendet seine Abrechnung ab heute. Seine Angebote bleiben auf den
Kanälen und seine Daten werden aufbewahrt, wie bei jedem Nembol-Nutzer, der geht. Es kann nicht
wieder geöffnet werden.
Das Schließen lässt sich nicht rückgängig machen, daher wird zuerst eine Bestätigung verlangt:
- Die erste Anfrage antwortet mit
409 confirmation_required, einer Beschreibung der Folgen und einemconfirmation.token. - Zeig der Person die Folgen. Wenn sie zustimmt, wiederhole dieselbe
Anfrage mit dem Header
Nembol-Confirmation: <token>. Der Token funktioniert einmal und läuft nach 10 Minuten ab.
Siehe Bestätigungen und Rückgängigmachen.
Was Unternehmen nicht können
/billingbei einem Unternehmen antwortet mit409 billed_by_partner.- Schreibvorgänge bei einem gesperrten oder geschlossenen Unternehmen antworten mit
409 account_suspended/account_closed; Lesen funktioniert weiterhin, du kannst also die Produkte, Bestellungen und Kunden eines geschlossenen Unternehmens exportieren. - Der Header
Nembol-Accountfunktioniert nur mit einem Schlüssel, deraccounts:managehat. Jeder andere Schlüssel erhält403 insufficient_scopebei jeder Anfrage mit diesem Header, bevor irgendetwas gelesen wird: Gib einem Reporting- oder Einzweck-Schlüssel keinaccounts:manage, dann erreicht er kein Unternehmen. - Das Anlegen von Produkten über das Limit des Plans hinaus antwortet mit
409 product_limit_reached.
Zuletzt aktualisiert am 22. Oktober 2026
Brauchst du Hilfe?
Schreib uns, und ein Mensch antwortet, meist innerhalb eines Werktags.
Das Abonnement verwalten
Lass eine App oder einen Agenten das gesamte Nembol-Abonnement des Shops verwalten (abschließen, upgraden, downgraden, auf jährlich umstellen, Karte aktualisieren, kündigen und verlängern), während die Person immer auf der Seite des Zahlungsanbieters bestätigt.
Einen Kanal verbinden
Lass Händler eBay, Shopify, Etsy und weitere Kanäle aus deiner App oder deinem Agenten verbinden: OAuth-Links, Kanäle mit API-Schlüssel, Rückkehr-URLs und Trennen.