Pular para o conteúdo

Sync manual entrada →

Webhook para o sistema externo enviar atualizações de pedidos à instalação (sync manual / lote).

Credenciais: as mesmas de outbound (client_id / client_secret gerados no Admin → colar no External App anteriores).

URLs (Admin → Pedidos SouCannabis → Mostrar URL do webhook):

POST {OSS_API}/api/v1/modules/soucannabis_orders/webhooks/auth/token
POST {OSS_API}/api/v1/modules/soucannabis_orders/webhooks/orders/sync

Token de …/outbound/auth/token também vale no sync (mesmo par outbound).

  1. Token: POST …/auth/token com { client_id, client_secret } outbound → access_token (1h)
  2. Sync: POST …/orders/sync com Authorization: Bearer <token>

Auth alternativa no sync: HTTP Basic ou headers X-Client-Id + X-Client-Secret (outbound).

{
"orders": [{
"id": 47368,
"external_id": "uuid-order_code-oss",
"status": "Aguardando aprovação",
"tracking_code": "ABC123",
"external_delivery_type": "loggi"
}]
}
  • external_id = order_code
  • id = id do pedido antes (soucannabis_order_id)
  • Só atualiza pedido que já existe
  • Não cria nem apaga
  • Campos = mesmo delta do outbound PATCH
{ "data": { "synced": 1, "failed": 0, "results": [{ "ok": true, "local_order_id": 108, … }] } }

NOT_FOUND = pedido ainda não existe.

Cada item do lote gera uma linha em soucannabis_orders_audit (mesmo correlation_id). Export: GET …/outbound/audit.

Automático (cada update) Manual (job/botão)
PATCH …/outbound/orders/:external_id POST …/webhooks/orders/sync

Ambos usam credenciais outbound.