Documentation API
Centre d'aide/Documentation API/Authentification et conventions générales

Authentification et conventions générales

Dernière mise à jour 2026-10-13

URL de base, authentification Bearer JWT, en-tête x-organization-id, pagination et format de réponse.

Authentification#

Les API utilisent la session Supabase de l’utilisateur. Dans le navigateur, le cookie de session suffit ; pour les intégrations, passez le JWT Supabase de l’utilisateur en Authorization: Bearer <jwt>. Sans authentification, 401.

Exemple 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 .

Portée organisation#

Presque tous les endpoints sont isolés par tenant. Passez l’organisation via l’en-tête x-organization-id (recommandé) ou le paramètre organization_id. Un non-membre reçoit 403 ; sans organisation, 400.

Pagination#

Les endpoints de liste acceptent page et page_size (défaut 20, max 100 ; la file d’impression jusqu’à 200). Les réponses incluent meta : { total, page, page_size }.

Format de réponse#

Le succès renvoie { ok: true, data, meta? }. Les erreurs WMS renvoient { code, message, details? } avec le statut HTTP du catalogue (voir l’article des codes). Branchez sur code, jamais sur message.

Réponse succès vs erreur
// 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": "…" } }
Les permissions sont des modules en pointillés (p. ex. wms.inbound.view, wms.inventory_adjust). Depuis 2026-10-07, l’application est relâchée par défaut (login + membre uniquement) ; le point inventory_adjust exige toujours une attribution explicite.