ProfitGuard è qui. Repricing con IA per Amazon, completamente protetto e in autopilota. Provalo gratis
Accesso anticipatov1 · api_version 2026-11-01

Collega qualsiasi magazzino a ProfitDesk.

La Prep API trasforma il tuo software in un prep center dentro ProfitDesk. Gli annunci ti arrivano come webhook firmati, tu comunichi ricevimenti e outbound, e ogni unità resta tracciabile dall’acquisto alla spedizione FBA.

  • Webhook firmati
  • REST API
  • OpenAPI 3.1
  • Replay degli eventi
ProfitDesk → tuwebhook firmato
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
      }]
    }
  }
}
Tu → 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 }]
}

Due modi per iniziare

Una sola API, pensata per due tipi di sviluppatori.

Configura nel tuo account ProfitDesk
  1. 1Aggiungi il tuo softwareImpostazioni → Integrazioni → Prep center → Aggiungi → “Software proprio (Webhook)”. Inserisci il tuo endpoint HTTPS e scegli gli eventi che vuoi ricevere.
  2. 2Salva due credenzialiUn segreto di firma (whsec_…) e una chiave API (ppk_…), mostrati una sola volta. Puoi ruotarli quando vuoi.
  3. 3Collega un magazzinoDa ora gli acquisti di quel magazzino vengono annunciati al tuo software.
La chiave vede
Solo questa connessione
Rate limit
2 req/s, picchi di 10
Test
Ping “Invia test” e log delle consegne
Combina come vuoi
Accanto a PrepBusiness o PrepTool, per singolo magazzino

Come funziona

Dall’acquisto alla spedizione FBA,
in cinque eventi.

  1. 01ProfitDesk
    La merce è in arrivoinbound.announcedUn webhook firmato con righe, SKU, ASIN e tracking. Rispondi con 2xx, se vuoi con il tuo external_id.
  2. 02ProfitDesk
    Seguono i dettagliinbound.updatedNuovi codici di tracking e l’FNSKU non appena Amazon lo assegna, così puoi stampare le etichette.
  3. 03Tu
    Conti la mercePOST …/receiptsConteggi assoluti per riga, unità danneggiate incluse. ProfitDesk aggiorna l’acquisto.
  4. 04Tu
    Spedisci la mercePOST /v1/prep/outboundsRighe e ID della spedizione FBA collegano il tuo outbound alla spedizione di Amazon.
  5. 05Amazon
    Amazon riceveFBA15XYZProfitDesk registra la quantità inoltrata dai dati di Amazon. Il tuo outbound è la traccia.
Identificatori stabili

Ogni unità, tracciabile da capo a capo.

Ogni oggetto ha un id con un prefisso di tipo. L’id dell’acquisto non cambia mai, nemmeno quando la merce viene annunciata di nuovo o cambia magazzino.

  1. pur_4711AcquistoL’acquisto del seller. La chiave per seguire un’unità, per sempre.
  2. inb_2000000123InboundUn annuncio. Un nuovo annuncio ne genera uno nuovo.
  3. inl_99Riga inboundUn acquisto al suo interno. Usala in ricevimenti e outbound.
  4. out_55OutboundCiò che hai spedito, indirizzato con il tuo external_id.
  5. FBA15XYZSpedizione FBAL’ID della spedizione Amazon, collegato dal tuo outbound.

Usa anche i tuoi riferimenti: ogni percorso che accetta un id accetta anche ext:<tuo id>.

Pronta per la produzione

Le parti noiose
sono già risolte.

Webhook firmatiHMAC-SHA256 su timestamp e body grezzo. Le richieste più vecchie di cinque minuti vengono rifiutate.
Retry per 72 oreDopo 1, 5 e 15 minuti, 1, 3 e 6 ore, poi ogni 12 ore.
Idempotenza integrataStessa chiave, stessa richiesta: viene restituita la risposta salvata. Le chiavi si conservano 30 giorni.
Sicura anche fuori ordineOgni ricevimento e outbound porta occurred_at. Gli eventi più vecchi tornano come stale e non cambiano nulla.
Feed di replayGET /v1/prep/events conserva ogni evento per 90 giorni. Se preferisci, fai polling invece dei webhook.
Ordinati per inboundUn annullamento non supera mai il suo annuncio. Deduplica per id evento.
Deep link nel tuo WMSUn template di link mette “apri nel tuo software” accanto a ogni acquisto annunciato.
Rotazione senza downtimeDopo una rotazione del segreto, il vecchio segreto continua a firmare per 24 ore.
Verifica ogni richiesta

HMAC-SHA256 in una dozzina di righe.

Firma il body grezzo con il tuo segreto whsec_ e il timestamp, confronta in tempo costante, rifiuta tutto ciò che è più vecchio di cinque minuti. Durante una rotazione del segreto vengono inviate entrambe le firme per 24 ore.

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);
  });
}

Endpoint

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

GET/v1/prep/connectionsLa connessione della chiave
GET/v1/prep/inboundsElenco degli inbound
GET/v1/prep/inbounds/{id}Un inbound, anche tramite ext:
PUT/v1/prep/inbounds/{id}/external-idImposta il tuo riferimento
POST/v1/prep/inbounds/{id}/receiptsComunica la merce ricevuta
POST/v1/prep/outboundsComunica un outbound
GET/v1/prep/outbounds/{id}Un outbound
GET/v1/prep/itemsArticoli, uno per SKU
GET/v1/prep/eventsReplay degli eventi webhook

Eventi webhook

Consegnati almeno una volta, in ordine per inbound.

connection.created · updated · removedUn seller si connette, cambia i dati o se ne vaProvider
inbound.announcedLa merce è in arrivo da teAttivo
inbound.updatedTracking, FNSKU, external id o righe modificatiAttivo
inbound.cancelledAnnullato, spostato o annunciato di nuovoAttivo
inbound.restoredUn inbound annullato è di nuovo attivoAttivo
inbound.receivedEco del tuo ricevimentoOpt-in
outbound.recordedEco del tuo outboundOpt-in
ping“Invia test” da ProfitDeskSoftware proprio

FAQ

Domande degli sviluppatori

Se gestisci un tuo software di magazzino per la tua attività su Amazon, usa la connessione per software proprio nelle impostazioni di ProfitDesk. Se sviluppi software usato da molti prep center o seller, registrati come provider prep: un endpoint e una chiave coprono ogni seller.

Con il tuo software usa un magazzino di test e un acquisto di test nel tuo account, e “Invia test” per verificare la connessione. Come provider prep, chiedici una connessione di test da un account seller di test e prova l’intero flusso prima che si colleghi il tuo primo seller reale. Gli eventi si possono sempre rieseguire.

La merce viene annunciata appena esiste l’inserzione su Amazon. Amazon assegna l’FNSKU poco dopo, e arriva in inbound.updated.

ProfitDesk riprova per un massimo di 72 ore. Dopodiché puoi recuperare in qualsiasi momento con GET /v1/prep/events.

No. Gli outbound sono una traccia. Le quantità inoltrate provengono dai dati di spedizione di Amazon, collegati tramite l’ID della spedizione FBA che invii.

Sì. Fai polling su GET /v1/prep/events ogni minuto a partire dall’ultimo id evento elaborato e deduplica per id.

Sviluppi software prep
per più seller?

Fatti inserire nel selettore dei prep center di ogni seller ProfitDesk. Un endpoint e una chiave li coprono tutti.

support@profitpath.com