Webhooks

Notificări outbound de la flowSCMC către sistemele dvs. (ERP, middleware).

Secțiuni
Cerințe
  • Modul webhooks activ pe companie
  • URL HTTPS accesibil public
  • Validare semnătură recomandată (HMAC)
Gestionare
Context Metodă
UI web Administrare → Webhooks
API v1 CRUD /api/webhooks
API v2 GET/POST /api/v2/webhooks
Evenimente disponibile

Articole

  • article.created
  • article.updated

Comenzi vânzare

  • sales_order.created
  • sales_order.updated
  • sales_order.status_changed

Intrări

  • purchase_order.created
  • purchase_order.updated
  • purchase_order.status_changed
  • reception.created
  • reception.updated
  • reception.partial
  • reception.status_changed

Retururi

  • return.created
  • return.updated
  • return.status_changed

Stoc

  • stock.updated
  • stock.low

Ambalaje

  • packaging.movement_recorded
Payload

{
  "event": "sales_order.status_changed",
  "timestamp": "2026-07-29T12:00:00Z",
  "data": { }
}

Structura data reflectă entitatea — câmpuri documentate în UI la creare webhook.

Headers livrare
Header Valoare
Content-Type application/json
X-Webhook-Event numele evenimentului
User-Agent 3PL-WMS-Webhook/1.0
X-Webhook-Signature sha256={hmac} (dacă HMAC activ)
X-ThreePl-Sandbox present în medii sandbox
Autentificare webhook

Tipuri suportate pe model: hmac, bearer, basic, custom.

Verificare HMAC


signature = HMAC-SHA256(secret, raw_body)
Header: X-Webhook-Signature: sha256={hex(signature)}

Calculează în Playground.

Configurare pas cu pas
  1. Modul webhooks activ pe companie
  2. URL HTTPS public (fără self-signed pe producție)
  3. Alegeți evenimentele — nu abonați * dacă nu e necesar
  4. Setați HMAC + secret lung (min. 32 caractere random)
  5. Implementați handler idempotent (event + id entitate)
  6. Testați semnătura în Playground înainte de go-live
Politică retry
Parametru Valoare tipică
Încercări 5
Backoff 30s → 2min → 8min → 32min
Timeout request 10 secunde

Endpoint-ul dvs. trebuie să răspundă 2xx rapid; procesarea grea → ack + coadă internă.

Exemplu payload sales_order.status_changed

{
  "event": "sales_order.status_changed",
  "timestamp": "2026-07-29T14:00:00Z",
  "data": {
    "id": 123,
    "code": "SO-1-00042",
    "status": "LIVRAT",
    "partner_id": 5,
    "warehouse_id": 1
  }
}
Exemplu payload stock.updated

{
  "event": "stock.updated",
  "timestamp": "2026-07-29T14:05:00Z",
  "data": {
    "article_id": 10,
    "article_code": "SKU-001",
    "warehouse_id": 1,
    "quantity": 150,
    "available": 120
  }
}
Atenție: nu procesați același eveniment de două ori fără verificare — retry-urile pot retrimite același payload.
Retry

5 încercări, backoff exponential — configurație platformă. Răspundeți 2xx rapid; procesați async.

Modul Operațiuni

Evenimentele pot fi contorizate separat (billing) chiar dacă webhook-ul nu e configurat — modul operatiuni.

Sandbox

Webhook-urile pot fi dezactivate pentru companii 3PL sandbox — verificați comportamentul în tenant de test.

flowSCMC · documentație publică · 2026-07-29