ApiBorne
Sommaire du guide

RDV par code (QR)

Le second point d'entrée du parcours : le patient scanne le QR de sa convocation (ou tape un identifiant lisible), la borne vous transmet le code tel quel.

GET/appointments/by-code/{code}
Base : {editorBaseUrl}/api/apiborneIntegrationService/v1Auth : X-Kiosk-Auth-Key + X-Kiosk-Device-IdRoute obligatoire

Pourquoi cette route existe

Le chemin rapide du parcours : plutôt que de décliner son identité critère par critère, le patient scanne le QR de sa convocation — un seul appel retrouve le RDV et son patient. C'est vous qui générez ces codes (convocation papier, SMS, portail patient) : la borne ne fait que les transmettre tels quels, ce qui vous laisse libre du format. Pas de codes de convocation chez vous ? La route reste obligatoire — répondez systématiquement 404 UNKNOWN_APPOINTMENT.

Sémantique

  • Vous décidez des formats de code acceptés (contenu du QR de convocation, identifiant court remis au patient…) ; la borne transmet le code URL-encodé tel quel.
  • Introuvable → 404 UNKNOWN_APPOINTMENT.
  • appointment = le RDV ciblé par le code ; otherAppointments = les autres RDV du jour du même patient (vide sinon) — c'est ce qui alimente le parcours multi-RDV.

Requête et réponse

bash
curl -sS "$BASE/appointments/by-code/QR-8f3a2b" "${AUTH[@]}"
200
{
  "patient": { "id": "pat-77", "firstName": "Marie", "lastName": "Durand", "birthDate": "1980-05-12" },
  "appointment": { "id": "apt-1001", "examLabel": "IRM lombaire", "status": "scheduled", "startDate": "2026-07-19T10:30:00+02:00" },
  "otherAppointments": []
}

Points d'attention

Collision de route : un appointment.id ne doit jamais valoir littéralement by-code — c'est un point de la check-list de conformité.

Implémentation de référence

src/app/api/apiborneIntegrationService/v1/appointments/by-code/[code]/route.ts — la démo utilise le visibleId du RDV comme contenu de QR.