Documentação da API
Central de ajuda/Documentação da API/Autenticação e convenções gerais

Autenticação e convenções gerais

Última atualização 2026-10-13

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.

Exemplo curl — Bearer JWT
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.

Resposta de sucesso vs erro
// 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": "…" } }
Permissões são módulos pontilhados (ex. wms.inbound.view, wms.inventory_adjust). Desde 2026-10-07 a aplicação padrão está relaxada (apenas login + membro); o ponto inventory_adjust ainda exige concessão explícita.