POST /orders et n’importe aucune commande créée à l’extérieur.
Endpoints
La lecture exige
orders.read. La mise à jour d’un statut exige orders.write. Chaque requête reste limitée aux établissements et organisations autorisés pour la clé API.
Pagination et réconciliation
Les listes utilisent une pagination déterministe par curseur, ordonnée selon les clés immuables(created_at DESC, id DESC). Définissez limit entre 1 et 100 et utilisez soit starting_after, soit ending_before, jamais les deux. Les filtres comprennent status, service_type, location_id sur les listes d’organisation, ainsi que les bornes temporelles created_after, created_before, updated_after et updated_before.
Pour effectuer une réconciliation après l’indisponibilité d’un consommateur ou un incident webhook, capturez un horodatage de borne haute avant la première requête. Envoyez le point de reprise précédent dans updated_after et la même borne haute dans updated_before sur chaque page, puis continuez jusqu’à ce que has_more vaille false. Une fois ce parcours borné terminé, avancez le point de reprise jusqu’à la borne haute. Les bornes temporelles étant exclusives, conservez un chevauchement d’une milliseconde pour la prochaine valeur updated_after et dédupliquez avec id et status_version. Ce protocole empêche les mises à jour effectuées pendant le parcours de franchir son curseur ; elles seront renvoyées au parcours suivant. Ne supposez pas que l’ordre de livraison des webhooks correspond à l’ordre des mises à jour.
Identité de la commande
idest l’identifiant stable Chataigne utilisé dans les chemins API et la déduplication des webhooks.short_idest le numéro lisible affiché au personnel du restaurant.location_ididentifie le restaurant propriétaire de la commande.status_versionaugmente de un à chaque transition canonique.
Articles et références externes
Les produits et les formules sont réunis dans le même tableauitems. Lisez type avant les champs spécifiques à l’article :
id est sa référence SKU externe. Une formule, une ligne de formule, un groupe de modifiers et un modifier utilisent leurs références externes persistées. Chataigne ne remplace jamais une référence externe manquante par un identifiant interne de base de données.
Montants et frais
Toutes les valeurs monétaires utilisent{ "amount": nombre, "currency": chaîne }. Le tableau public charges contient uniquement les frais delivery et service, avec exactement la même forme :
total reste le montant canonique facturé pour la commande et peut donc inclure des frais fournisseur ou privés volontairement absents du tableau public charges.
Horaires de préparation et de livraison
expected_pickup_timeindique quand la commande doit quitter le restaurant ou être retirée.expected_delivery_timeindique l’heure d’arrivée promise au client pour une livraison.expected_timeest la promesse client : heure de livraison pour une livraison, heure de retrait pour une collecte.
expected_delivery_time vaut null.