Documentation · Le standard

Brancher un outil de réservation à l'Agent IA (API)

L'Agent IA du parcours d'appel prend des rendez-vous au téléphone : une coupe chez le coiffeur, une table au restaurant. Il peut lire les créneaux libres dans l'outil du lieu et lui envoyer les réservations. Cette page décrit ce que LeBigo envoie et ce qu'il attend en retour, pour un logiciel de réservation ou un scénario Make, Zapier ou n8n.

Qui règle quoiLe bloc Agent IA se règle dans le parcours d'appel par votre partenaire LeBigo : adresses, en-têtes, secret. Cette page sert à celui qui écrit ou branche l'outil du lieu.

Les trois appels

AppelQuandCe que LeBigo attend
DisponibilitésAvant de proposer des créneaux, appelant en ligneLa liste des créneaux libres
RéservationQuand l'appelant choisit un créneau, appelant en ligne ; et quand il annuleAccepté ou refusé
ConfirmationAprès chaque réservation ou annulation, en arrière-planRien : c'est au lieu d'envoyer un SMS s'il le veut

Chacun est facultatif et se règle à part : méthode (GET, POST, PUT ou PATCH), adresse, en-têtes, corps modèle et délai. Sans méthode choisie : GET pour les disponibilités (POST si vous écrivez un corps modèle), POST pour la réservation et la confirmation. Les créneaux peuvent aussi venir des agendas LeBigo ou de son propre registre de places, et la réservation partir par e-mail ou dans le chat : ces cas-là n'appellent pas votre outil.

Les paramètres nommés

Écrits dans l'adresse, les en-têtes ou le corps modèle, ils sont remplacés au moment de l'appel :

ParamètreValeurExemple
{date}Le jour, AAAA-MM-JJ. Pour les disponibilités : le jour demandé, sinon le premier jour cherché2026-10-18
{heure}L'heure du rendez-vous, heure locale19:00
{debut}, {fin}Début et fin, RFC 33392026-10-18T19:00:00+02:00
{duree}Durée en minutes90
{prestation}Le nom de la prestationTable
{personne}La personne demandée ; vide si l'appelant n'en a nommé aucuneLéa
{personnes}Le nombre de personnes2
{nom}, {numero}, {email}L'appelant ; l'e-mail est vide s'il ne l'a pas donné+33612345678
{reponses}Les réponses aux questions en plus, en JSON{"Allergies":"aucune"}
{reference}La référence LeBigo de la réservationbk_1a2b3c4d
{statut}confirmed, requested ou cancelledrequested
{evenement}booking.created, booking.confirmation ou booking.cancelledbooking.created
{du}, {au}Disponibilités seulement : début et fin de la période cherchée, RFC 33392026-10-18T00:00:00+02:00
GET https://resa.exemple.fr/api/creneaux?date={date}&service={prestation}&couverts={personnes}

Disponibilités : la réponse attendue

Une réponse 2xx en JSON : une liste, ou un objet {"slots": [...]}. Chaque créneau est une heure, ou un objet :

["2026-10-18T14:00", "2026-10-18T14:30", "2026-10-18T16:00"]
{"slots": [
  {"start": "2026-10-18T14:00", "person": "Léa", "duration_min": 45},
  {"start": "2026-10-18T15:00:00+02:00", "person": "Marc"}
]}

Réservation : le JSON envoyé

Sans corps modèle, LeBigo envoie ce JSON (Content-Type: application/json, sauf si vous avez réglé un autre Content-Type) :

{
  "event": "booking.created",
  "reference": "bk_1a2b3c4d",
  "status": "requested",
  "service": "Table",
  "start": "2026-10-18T19:00:00+02:00",
  "end": "2026-10-18T20:30:00+02:00",
  "duration_min": 90,
  "party": 2,
  "caller": {"name": "M. Petit", "number": "+33612345678"},
  "answers": {"Allergies": "aucune"},
  "call_id": "…"
}
ChampContenu
eventbooking.created (réservation), booking.confirmation (appel de confirmation), booking.cancelled (annulation)
referenceLa référence LeBigo, la même pour la réservation, sa confirmation et son annulation
statusconfirmed, requested ou cancelled (voir plus bas)
serviceLa prestation
start, endDébut et fin, RFC 3339
duration_minDurée en minutes
personLa personne demandée ; absent si aucune
partyLe nombre de personnes
callername, number, email ; un champ vide est absent
answersLes réponses aux questions en plus ; absent s'il n'y en a pas
call_idL'identifiant de l'appel côté LeBigo

Dans booking.created, status vaut requested : c'est votre réponse qui décide. Il vaut confirmed seulement quand LeBigo a déjà pris la place lui-même (créneaux lus dans ses agendas ou son registre) : votre outil est alors prévenu, pas consulté.

Réservation : votre réponse

RéponseCe que LeBigo en fait
2xx sans refusRéservé. Le reference ou l'id de votre réponse est gardé avec la réservation. L'agent dit à l'appelant que c'est réservé.
409, 422, ou "status": "refused" ou "full"Refusé. L'agent propose un autre créneau, parmi vos alternatives s'il y en a.
Autre 4xx, 5xx, délai dépassé, redirection, erreur réseauDemande transmise : l'agent dit qu'on rappellera l'appelant pour confirmer, jamais que c'est réservé.
HTTP/1.1 409 Conflict
Content-Type: application/json

{"status": "refused", "reason": "complet",
 "alternatives": ["2026-10-18T21:00", {"start": "2026-10-19T19:00"}]}

Les alternatives se lisent comme les créneaux : des heures, ou des objets avec start. Quand LeBigo a déjà pris la place lui-même, un refus ne défait pas la réservation : il est seulement noté côté LeBigo.

Annulation et confirmation

La réponse à ces deux envois n'est pas lue. Il n'y a pas de nouvel essai : en cas d'échec, l'envoi est perdu pour votre outil, la réservation reste dans LeBigo.

Authentification

Ces appels ne portent pas de signature : c'est l'en-tête d'authentification réglé dans le bloc qui prouve qu'ils viennent de LeBigo. Votre outil doit refuser tout appel qui ne l'a pas.

MéthodeEn-tête envoyé
BearerAuthorization: Bearer <jeton>
BasicAuthorization: Basic <identifiant:mot de passe en base64>
Clé dans un en-têteX-Api-Key: <clé>, ou le nom d'en-tête qu'attend votre outil

La valeur secrète est scellée chez LeBigo : donnée une fois à votre partenaire, elle n'est plus jamais affichée, ni dans le parcours ni dans les journaux, et seul le serveur d'appel l'ouvre, au moment de l'appel. Pour la changer, on en scelle une nouvelle. Évitez de mettre un jeton dans l'adresse : elle, n'est pas secrète.

Limites

Avec Make, Zapier ou n8n

Toujours bloqué ?

Contactez votre partenaire LeBigo, le prestataire informatique qui a mis en place LeBigo dans votre entreprise : il assure l'accompagnement et le support au quotidien, et c'est lui qui règle le parcours d'appel et l'Agent IA.