Tradotta dall'inglese. In caso di differenze fa fede la pagina in inglese. Leggi in inglese
Webhook
Ricevi sul tuo server gli eventi di ordini, inventario e inserzioni, firmati e con retry automatici.
Invece di fare polling, registra un endpoint HTTPS e Nembol ti invia in POST un evento ogni volta che succede qualcosa: arriva un nuovo ordine da qualsiasi canale, cambiano le scorte, un'inserzione va online o finisce in errore.
Crea gli endpoint dalla dashboard (Impostazioni → Sviluppatori → Webhook) o tramite l'API. Ogni endpoint ha un signing secret, mostrato una sola volta alla creazione.
La consegna
POST /your/endpoint HTTP/1.1
Content-Type: application/json
User-Agent: Nembol-Webhooks/1.0 (+https://developers.nembol.com/docs/webhooks)
X-Nembol-Event-Id: evt_2c91…
X-Nembol-Signature: t=1784900412,v1=5257a869e7…
{
"id": "evt_2c91…",
"type": "order.created",
"api_version": "2026-07-24",
"store_id": "5f2a…",
"account_id": "acct_66f0a1",
"created_at": "2026-07-24T16:03:12Z",
"data": {
"object": { "id": "ord_…", "channel": "etsy", "total": "49.90", "currency": "USD" }
}
}account_id è presente solo per i partner, su ogni evento di una delle loro
aziende (sia nelle consegne sia in GET /events, operation.completed
incluso): indica a quale azienda appartiene l'evento (lo stesso id di
GET /accounts). Gli eventi del tuo negozio non lo hanno. Usalo per lo smistamento.
Ogni consegna contiene User-Agent: Nembol-Webhooks/1.0 e l'id dell'evento in
X-Nembol-Event-Id. Fidati della firma, non di questi header: servono per
i tuoi log e le regole del firewall. Una consegna viene inviata una volta per endpoint (si ripete
solo nei retry dopo una risposta non 2xx, con lo stesso id evento).
data.object è la risorsa completa così com'è al momento della consegna
(o della lettura da GET /events), non una copia congelata al momento della modifica.
Cosa è cambiato si trova in data stesso: es. data.status e
data.previous_status su listing.status_changed. Se nel frattempo la risorsa è cambiata
di nuovo, data.object mostra già lo stato più recente e seguirà un evento più recente;
ordina i tuoi aggiornamenti in base al created_at dell'evento.
Il contratto (leggilo due volte)
- Almeno una volta (at-least-once): lo stesso evento può essere consegnato più di una volta.
Deduplica in base a
event.id. - Nessuna garanzia di ordine: gli eventi possono arrivare fuori ordine. Usa
created_at(o rileggi la risorsa) invece di presumere una sequenza. - Ogni evento viene consegnato, qualunque parte di Nembol lo abbia prodotto (chiamata
API, dashboard, sincronizzazione ordini, webhook del canale). Se la consegna di un evento
non è stata accodata al momento della sua creazione, Nembol la accoda entro pochi
minuti (per eventi fino a 24 ore prima): arriva in ritardo, ma arriva sempre. Un
endpoint riceve solo gli eventi creati dopo di esso.
GET /eventsresta la via per la riconciliazione. - Tipi sconosciuti: nuovi tipi di evento vengono aggiunti nel tempo. Ignora i tipi che non gestisci, e rispondi comunque 2xx.
- Rispondi in fretta con 2xx: entro 10 secondi, altrimenti la consegna è considerata
fallita. Fai il lavoro vero in modo asincrono: metti in coda, poi rispondi
200. - Verifica la firma prima di fidarti di qualsiasi cosa: verifica le firme.
Retry
Le consegne fallite (risposta non 2xx, timeout, errore di connessione) vengono ritentate con backoff esponenziale: 1m → 5m → 30m → 2h → 12h (circa 15 ore), poi la consegna viene segnata come fallita. Se un endpoint continua a fallire, viene disattivato automaticamente e il proprietario del negozio riceve una notifica nella dashboard e via email. Ogni tentativo è visibile nel registro delle consegne della dashboard, con la riconsegna manuale.
Ti sei perso un intero intervallo? Riconcilia con
l'API del registro eventi: GET /events?created_after=…
restituisce gli eventi degli ultimi 30 giorni.
Ultimo aggiornamento il 20 ottobre 2026
Annullamento e conferme
Ogni modifica fatta dalla tua app o dal tuo agente viene registrata con i valori prima e dopo e può essere annullata per 30 giorni; le azioni irreversibili chiedono prima una conferma in due passaggi.
Catalogo eventi
Ogni tipo di evento, quando viene emesso e cosa contiene data.object.