ProfitGuard ist da. KI-Repricing für Amazon, voll abgesichert und auf Autopilot. Kostenlos testen
Early Accessv1 · api_version 2026-11-01

Schließe jedes Lager an ProfitDesk an.

Die Prep API macht deine Software zu einem Prep Center in ProfitDesk. Ankündigungen erreichen dich als signierte Webhooks, du meldest Wareneingänge und Outbounds zurück, und jede Einheit bleibt vom Einkauf bis zur FBA-Sendung nachverfolgbar.

  • Signierte Webhooks
  • REST API
  • OpenAPI 3.1
  • Event-Replay
ProfitDesk → dusignierter Webhook
POST https://wms.example.com/webhooks/profitdesk
X-Webhook-Event-Type: inbound.announced
X-Webhook-Signature: sha256=9f2c41…

{
  "type": "inbound.announced",
  "connection_id": "pcn_812",
  "data": {
    "inbound": {
      "id": "inb_2000000123",
      "fulfillment": "FBA",
      "tracking_numbers": ["1Z999AA10123456784"],
      "lines": [{
        "id": "inl_99",
        "purchase_id": "pur_4711",
        "item": { "sku": "AB-123", "asin": "B0ABCDEFGH" },
        "quantity_expected": 6
      }]
    }
  }
}
Du → ProfitDeskREST · 200 OK
POST /v1/prep/inbounds/inb_2000000123/receipts
Authorization: Bearer ppk_3f9a…

{
  "event_id": "rcpt-8812",
  "status": "received",
  "lines": [{ "line_id": "inl_99", "quantity_received": 6 }]
}

Zwei Wege rein

Eine API, gebaut für zwei Arten von Entwicklern.

Einrichtung in deinem ProfitDesk-Account
  1. 1Software hinzufügenEinstellungen → Integrationen → Prep Center → Hinzufügen → „Eigene Software (Webhook)“. Trage deinen HTTPS-Endpunkt ein und wähle die gewünschten Events.
  2. 2Zwei Zugangsdaten speichernEin Signing Secret (whsec_…) und ein API-Key (ppk_…), die nur einmal angezeigt werden. Beide kannst du jederzeit rotieren.
  3. 3Lager verknüpfenEinkäufe in diesem Lager werden ab sofort an deine Software gemeldet.
Key sieht
Genau diese eine Verbindung
Rate Limit
2 req/s, Bursts bis 10
Testen
„Test senden“-Ping und ein Zustellprotokoll
Kombinierbar
Neben PrepBusiness oder PrepTool, pro Lager

So funktioniert es

Vom Einkauf zur FBA-Sendung,
in fünf Events.

  1. 01ProfitDesk
    Die Ware ist unterwegsinbound.announcedEin signierter Webhook mit Positionen, SKU, ASIN und Tracking. Antworte mit 2xx, optional mit deiner eigenen external_id.
  2. 02ProfitDesk
    Details folgeninbound.updatedNeue Tracking-Codes und die FNSKU, sobald Amazon sie vergibt, damit du Labels drucken kannst.
  3. 03Du
    Du zählst die WarePOST …/receiptsAbsolute Mengen pro Position, beschädigte Einheiten inklusive. ProfitDesk aktualisiert den Einkauf.
  4. 04Du
    Du versendest siePOST /v1/prep/outboundsPositionen plus FBA-Sendungs-ID verknüpfen deinen Outbound mit der Amazon-Sendung.
  5. 05Amazon
    Amazon nimmt anFBA15XYZProfitDesk bucht die weitergeleitete Menge aus den eigenen Daten von Amazon. Dein Outbound ist die Spur.
Stabile Kennungen

Jede Einheit, lückenlos nachverfolgbar.

Jedes Objekt trägt eine ID mit Typ-Präfix. Die Einkaufs-ID ändert sich nie, auch wenn Ware neu angekündigt wird oder das Lager wechselt.

  1. pur_4711EinkaufDer Einkauf des Sellers. Der Schlüssel, um eine Einheit für immer zu verfolgen.
  2. inb_2000000123InboundEine Ankündigung. Eine erneute Ankündigung bekommt einen neuen Inbound.
  3. inl_99Inbound-PositionEin Einkauf innerhalb davon. Nutze sie in Wareneingängen und Outbounds.
  4. out_55OutboundWas du versendet hast, adressiert über deine eigene external_id.
  5. FBA15XYZFBA-SendungDie Sendungs-ID von Amazon, verknüpft über deinen Outbound.

Nutze auch deine eigenen Referenzen: Jeder Pfad, der eine ID annimmt, akzeptiert auch ext:<deine ID>.

Gebaut für den Produktivbetrieb

Die lästigen Teile
sind schon gelöst.

Signierte WebhooksHMAC-SHA256 über Zeitstempel und Raw Body. Anfragen, die älter als fünf Minuten sind, werden abgelehnt.
Wiederholungen über 72 StundenNach 1, 5 und 15 Minuten, 1, 3 und 6 Stunden, danach alle 12 Stunden.
Idempotenz eingebautGleicher Key, gleiche Anfrage: Die gespeicherte Antwort wird erneut ausgeliefert. Keys werden 30 Tage aufbewahrt.
Sicher bei falscher ReihenfolgeJeder Wareneingang und jeder Outbound trägt occurred_at. Ältere Events kommen als stale zurück und ändern nichts.
Replay-FeedGET /v1/prep/events enthält jedes Event 90 Tage lang. Frage es per Polling ab, wenn du Webhooks nicht magst.
Geordnet pro InboundEine Stornierung überholt nie ihre Ankündigung. Dedupliziere über die Event-ID.
Deep Links in dein WMSÜber ein Link-Template erscheint neben jedem angekündigten Einkauf „In deiner Software öffnen“.
Rotation ohne AusfallzeitNach einer Secret-Rotation signiert das alte Secret noch 24 Stunden weiter.
Prüfe jede Anfrage

HMAC-SHA256 in einem Dutzend Zeilen.

Signiere den Raw Body mit deinem whsec_-Secret und dem Zeitstempel, vergleiche in konstanter Zeit und lehne alles ab, was älter als fünf Minuten ist. Während einer Secret-Rotation werden 24 Stunden lang beide Signaturen gesendet.

import crypto from "node:crypto";

function verify(rawBody, headers, secret) {
  const ts = headers["x-webhook-timestamp"];
  const signature = headers["x-webhook-signature"];
  if (!ts || !signature || !/^\d+$/.test(ts)) return false;
  if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
  const expected = "sha256=" + crypto.createHmac("sha256", secret).update(`${ts}.${rawBody}`).digest("hex");
  return signature.split(",").some((sig) => {
    const a = Buffer.from(sig.trim()), b = Buffer.from(expected);
    return a.length === b.length && crypto.timingSafeEqual(a, b);
  });
}

Endpunkte

Basis-URL https://api.profitpath.app · Bearer ppk_…

GET/v1/prep/connectionsDie Verbindung des Keys
GET/v1/prep/inboundsInbounds auflisten
GET/v1/prep/inbounds/{id}Ein Inbound, auch über ext:
PUT/v1/prep/inbounds/{id}/external-idDeine Referenz setzen
POST/v1/prep/inbounds/{id}/receiptsWareneingang melden
POST/v1/prep/outboundsOutbound melden
GET/v1/prep/outbounds/{id}Ein Outbound
GET/v1/prep/itemsArtikel, einer pro SKU
GET/v1/prep/eventsWebhook-Events erneut abrufen

Webhook-Events

Mindestens einmal zugestellt, in Reihenfolge pro Inbound.

connection.created · updated · removedEin Seller verbindet sich, ändert Angaben oder gehtProvider
inbound.announcedWare ist auf dem Weg zu dirAn
inbound.updatedTracking, FNSKU, External ID oder Positionen geändertAn
inbound.cancelledStorniert, verschoben oder neu angekündigtAn
inbound.restoredEin stornierter Inbound ist wieder aktivAn
inbound.receivedEcho deines eigenen WareneingangsOpt-in
outbound.recordedEcho deines eigenen OutboundsOpt-in
ping„Test senden“ aus ProfitDeskEigene Software

FAQ

Fragen von Entwicklern

Wenn du für dein eigenes Amazon-Business eine eigene Lagersoftware betreibst, nutze die Verbindung für eigene Software in deinen ProfitDesk-Einstellungen. Wenn du Software baust, die viele Prep Center oder Seller nutzen, registriere dich als Prep-Provider: Ein Endpunkt und ein Key decken jeden Seller ab.

Mit eigener Software nutzt du ein Testlager und einen Testeinkauf in deinem eigenen Account, plus „Test senden“ für die Erreichbarkeit. Als Prep-Provider fragst du bei uns eine Testverbindung von einem Test-Seller-Account an und spielst den gesamten Ablauf durch, bevor sich dein erster echter Seller verbindet. Events lassen sich jederzeit erneut abrufen.

Ware wird angekündigt, sobald das Amazon-Listing existiert. Amazon vergibt die FNSKU etwas später, und sie folgt in inbound.updated.

ProfitDesk wiederholt die Zustellung bis zu 72 Stunden lang. Danach kannst du jederzeit mit GET /v1/prep/events aufholen.

Nein. Outbounds sind eine Spur. Weitergeleitete Mengen stammen aus den eigenen Sendungsdaten von Amazon, verknüpft über die FBA-Sendungs-ID, die du mitschickst.

Ja. Rufe GET /v1/prep/events jede Minute ab, ausgehend von der zuletzt verarbeiteten Event-ID, und dedupliziere über die ID.

Du baust Prep-Software
für viele Seller?

Lass dich in der Prep-Center-Auswahl jedes ProfitDesk-Sellers listen. Ein Endpunkt und ein Key decken alle ab.

support@profitpath.com