ApiBorne
Sommaire du guide

cancelForAppointment

Le pendant sortant de « refaire l'accueil » : quand vous annulez le ticket d'un RDV chez vous (arrivée pointée par erreur, patient reparti…), prévenez ApiBorne pour que ses tickets disparaissent du Cockpit.

POST/api/kioskTicket/cancelForAppointment
Auth : Authorization = clé d'autorisation compte (brute)

Pourquoi ce service existe

Une arrivée pointée par erreur, un patient reparti avant son examen : chez vous, l'accueil s'annule — mais le ticket réservé côté ApiBorne resterait affiché au Cockpit, et la borne continuerait de répondre « enregistrement déjà effectué ». Ce service invalide les tickets du RDV côté ApiBorne pour que l'accueil puisse être refait proprement, à la borne comme au guichet.

Authentification : AUTH_KEY et licenceUuid

AUTH_KEY est la « Clé d'autorisation compte » : le secret partagé de l'intégration, affiché dans l'admin ApiBorne → page Connectivité (champ copiable) et remis à votre système à l'installation. C'est la même clé que celle que vous validez en X-Kiosk-Auth-Key sur les appels entrants — ici elle s'envoie dans le header Authorization, brute (sans préfixe Bearer).

Le licenceUuid vient de la même page Connectivité : c'est l'identifiant (pas un secret) qui désigne la licence cible dans le corps de chaque appel.

Provisioning : l'admin ApiBorne (page Connectivité) fournit la clé d'autorisation compte et l'UUID de licence, stockés dans la configuration de l'éditeur.Admin ApiBornepage Connectivité« Clé d'autorisation compte » 🔑« UUID de la licence »copiées UNE FOIS, à l'installationConfiguration de votre systèmeclé → header Authorization (brute)et validation de X-Kiosk-Auth-Keyuuid → corps des appels sortantsLa clé est un SECRET (authentifie) · l'UUID est un identifiant (désigne la licence)
Deux valeurs copiées une fois, à l'installation — la clé authentifie tous les flux, l'UUID désigne la licence dans les appels sortants.

Quand l'appeler

  • Les tickets du jour du RDV passent à l'état cancelled côté ApiBorne — le Cockpit ne liste que les tickets confirmés, ils disparaissent immédiatement ;
  • le prochain passage borne du patient réservera un nouveau numéro ;
  • idempotent : aucun ticket actif → { "cancelled": 0 }, pas d'erreur.
Côté système de gestion, pensez aussi à remettre le RDV dans un état ré-accueillable et à effacer votre copie du ticket : tant qu'un RDV porte un ticket, la borne répond « enregistrement déjà effectué » au patient.

Requête et réponse

bash
# AUTH_KEY = la clé d'autorisation compte (la même que X-Kiosk-Auth-Key), envoyée BRUTE
curl -sS "$APIBORNE/api/kioskTicket/cancelForAppointment" \
  -H "Authorization: $AUTH_KEY" -H 'Content-Type: application/json' -d '{
  "licenceUuid": "ecdb8b76-…",
  "contractAppointmentId": "1001~8f3a…"
}'
# → 200 { "cancelled": 1 }

Implémentation de référence

src/server/apiborne/client.ts → (cancelTicketForAppointment), déclenché par l'action « Cancel ticket » de l'agenda de démonstration (actions.ts).