Décision
Le portique envoie l’UID et ce qu’il a lu ; la plateforme accorde ou refuse. Si la réponse n’arrive pas, renvoyez la même demande avec le même requestId : la décision est rendue à l’identique. Droit gates:decisions.
bearerAuthentificationBearer <JWT>Le jeton obtenu sur la route du jeton.
application/json- body
siteId?stringVotre site : obligatoire si vous opérez plusieurs sites actifs, facultatif sinon.
uuidrequestId*stringIdentifiant unique de la présentation, choisi par le portique : renvoyé tel quel en cas de nouvel essai, il rend la même décision
uuiduid*stringUID du bracelet, 4 à 10 octets en hexadécimal ; séparateurs « : », « - » ou espace acceptés
read*zone?stringZone préconfigurée dans le portique : code d’une zone de l’événement, comparé aux zones du pass. Absente : entrée ouverte à tous les pass du jour
length <= 16readAt?stringHeure de la lecture au portique : trop ancienne, la décision est refusée (READ_TOO_OLD)
scannerLabel?stringLibellé du portique sur site
length <= 80Réussite.
application/json- response
data*curl -X POST 'https://api-preprod-weloveya.sesur.bj/partners/gates/api/v1/gates/decisions' \ -H 'Content-Type: application/json' \ -d '{ "siteId": "0199…", "requestId": "0199d0a1-7c5e-7b9a-9f00-1a2b3c4d5e6f", "uid": "6EC387C8", "read": { "authenticated": true, "sector": 1, "keyType": "A", "blocks": [ { "block": 4, "data": "3F2A9C1E7B4D4E8FA21C6D5B0E9F7A13" }, { "block": 5, "data": "574C450107EA00010000000000000000" } ] }, "zone": "PORT", "readAt": "2026-12-26T19:42:07.120Z", "scannerLabel": "Tripode 3"}'{ "data": { "id": "0199d0a1-7c5e-7b9a-9f00-1a2b3c4d5e6f", "decision": "GRANTED", "message": "Bienvenue", "checkpointId": "0199…", "sessionId": "0199…", "holder": { "kind": "TICKET", "reference": "WLE26-959WVM-T01", "category": "STANDARD" }, "decidedAt": "2026-12-26T19:42:07.180Z", "openUntil": "2026-12-26T19:42:12.180Z", "passage": "PENDING", "replayed": false }}Accusé POST
Indique la version jusqu’à laquelle votre serveur a tout appliqué. WeLovEya suit ainsi le retard de chaque site. Droit `gates:sync`.
Passage POST
Après un accord, indique si la personne est réellement passée. Un accord sans passage ne compte pas comme une entrée : le droit reste utilisable. Droit `gates:decisions`.