Autenticação e convenções gerais
URL base, autenticação Bearer JWT, cabeçalho x-organization-id, paginação e formato de resposta.
Autenticação#
As APIs usam a sessão Supabase do usuário. No navegador o cookie de sessão basta; para integrações passe o JWT Supabase do usuário como Authorization: Bearer <jwt>. Sem autenticação retorna 401.
BASE="https://saas.docklify.com/api"
TOKEN="<supabase-access-jwt>"
ORG="<organization-id>"
curl -s "$BASE/wms/inventory?page=1&page_size=20" \
-H "Authorization: Bearer $TOKEN" \
-H "x-organization-id: $ORG" | jq .Escopo da organização#
Quase todos os endpoints têm escopo de tenant. Passe a organização no cabeçalho x-organization-id (recomendado) ou no parâmetro organization_id. Não membros recebem 403; sem organização, 400.
Paginação#
Endpoints de lista aceitam page e page_size (padrão 20, máximo 100; a fila de impressão admite até 200). As respostas trazem meta: { total, page, page_size }.
Formato de resposta#
Sucesso retorna { ok: true, data, meta? }. Erros WMS retornam { code, message, details? } com o status HTTP do catálogo (ver artigo de códigos). Ramifique por code, nunca por message.
// success (HTTP 200)
{ "ok": true, "data": { "id": "…" }, "meta": { "total": 128, "page": 1, "page_size": 20 } }
// error (e.g. HTTP 409)
{ "code": "WMS_STOCK_001", "message": "库存可用量不足", "details": { "item_id": "…" } }