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/tokenPOST {OSS_API}/api/v1/modules/soucannabis_orders/webhooks/orders/syncToken de …/outbound/auth/token também vale no sync (mesmo par outbound).
- Token:
POST …/auth/tokencom{ client_id, client_secret }outbound →access_token(1h) - Sync:
POST …/orders/synccomAuthorization: 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_codeid= id do pedido antes (soucannabis_order_id)
- Só atualiza pedido que já existe
- Não cria nem apaga
- Campos = mesmo delta do outbound PATCH
Resposta
Seção intitulada “Resposta”{ "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.
Quando usar
Seção intitulada “Quando usar”| Automático (cada update) | Manual (job/botão) |
|---|---|
PATCH …/outbound/orders/:external_id |
POST …/webhooks/orders/sync |
Ambos usam credenciais outbound.
