Événements clients et format d’événement v1
Rétrocompatible, aucune action requise : les endpoints existants conservent leur format actuel jusqu’à leur migration.Ajouts- Format d’événement
v1:id,type,api_version,created,restaurant_idetdata.object, qui reprend la représentation de la réservation ou du client dans l’API partenaire. data.previous_attributessur les événements*.updated.- En-tête de signature
EatNow-Signature(t=…,v1=…) ; secrets préfixéswhsec_. - Événements
customer.created,customer.updated,customer.deletedetcustomer.merged(formatv1uniquement). - Endpoints
/webhook-endpoints(scopeWEBHOOKS_WRITE) : création, lecture, liste, modification, suppression,rotate-secretettest. Un endpoint ne reçoit que les événements que sa clé API peut lire.
- Les endpoints créés depuis le tableau de bord utilisent le format
v1. Un endpoint existant peut migrer depuis Paramètres › Intégrations › Webhooks ; la migration est définitive.
Ressource clients
Rétrocompatible, aucune action requise.Ajouts- Scopes
CUSTOMERS_READetCUSTOMERS_WRITE(CUSTOMERS_WRITEnécessite aussiCUSTOMERS_READ). GET /customers: pagination par curseur, paramètreupdated_since, et filtresemail,phone,external_idettag.GET /customers/{id}.POST /customers: rapprochement d’un client existant parexternal_id, puis téléphone, puis email ;on_matchdéfinit le comportement en cas de correspondance (return_existing,update,create_new).PATCH /customers/{id}.GET /customer-fields: champs personnalisés du restaurant.POST /reservations:customer.idpour lier un client existant, etcustomer.on_match.GET /reservations: filtrecustomer_id.
Livraison et nouveaux essais des webhooks
Rétrocompatible : format, signature et noms d’événements inchangés.Ajouts- En-têtes
X-EatNow-Attempt,X-EatNow-Delivery-Log-Id, etX-EatNow-Test: truesur les livraisons de test. - Historique des livraisons des 30 derniers jours, avec renvoi, dans Paramètres › Intégrations › Webhooks.
RESERVATION_UPDATEDest désormais publié pour les modifications faites depuis la caisse (NowOS, Lightspeed), par l’API partenaire, par une annulation du staff et par les changements de statut automatiques (terminée, no-show).- Les livraisons sont réessayées pendant 3 à 5 heures après une réponse
5xx, 408 ou 429, une erreur réseau ou un délai dépassé.
X-EatNow-Deliveryest identique d’un essai à l’autre ;X-EatNow-Timestampest l’heure de l’événement. - Toute autre réponse 4xx est définitive et n’est pas réessayée.
- Le préfixe d’en-tête
X-EatNow-*est réservé : les en-têtes personnalisés qui l’utilisent ne sont plus envoyés.
