Erreurs
Les codes que la plateforme peut renvoyer, et quoi faire.
Une erreur a toujours la forme { "code", "message", "requestId" }. Basez votre logique sur code, jamais sur message.
| Statut | code | Cas |
|---|---|---|
| 400 | VALIDATION_FAILED | corps ou paramètres invalides |
| 400 | SITE_REQUIRED | plusieurs sites actifs et aucun siteId |
| 400 | INVALID_CURSOR | curseur d'instantané invalide |
| 400 | INVALID_UID | UID non hexadécimal, ou hors de 4 à 10 octets |
| 400 | INVALID_READ | bloc hors du secteur authentifié, bloc de clés, doublon |
| 401 | INVALID_CLIENT | identifiant ou secret faux, client révoqué (route du jeton) |
| 401 | UNAUTHENTICATED | jeton absent, expiré ou invalide |
| 403 | INVALID_SCOPE | droit demandé non accordé à votre client (route du jeton) |
| 403 | FORBIDDEN | droit absent du jeton pour cette route |
| 403 | GATE_PROVIDER_INACTIVE | prestataire désactivé |
| 404 | NOT_FOUND | site inconnu ou d'un autre prestataire |
| 409 | SITE_INACTIVE | site désactivé |
| 409 | DECISION_ID_TAKEN | requestId déjà utilisé pour un autre bracelet |
| 409 | PASSAGE_ALREADY_REPORTED | passage déjà confirmé dans l'autre sens |
| 409 | DECISION_NOT_GRANTED | confirmation d'un passage refusé |
| 422 | VERSION_AHEAD_OF_LOG | since ou appliedVersion au-delà de la dernière version |
| 422 | READ_TOO_OLD | lecture arrivée plus de 30 secondes après |
| 422 | UNKNOWN_ZONE | zone inconnue dans l'événement : configuration à revoir |
| 429 | trop de demandes de jeton : attendre avant de recommencer | |
| 503 | WRISTBAND_KEYS_UNAVAILABLE | clés momentanément indisponibles : réessayer, prévenir WeLovEya |
En cas d'erreur 5xx ou de délai dépassé sur une décision, renvoyez la même demande, avec le même requestId, puis passez en décision locale si la plateforme reste injoignable.