Skip to main content
Une fermeture exceptionnelle est une période ponctuelle pendant laquelle un établissement est fermé, en complément de ses horaires d’ouverture habituels : jours fériés, événements privés, travaux ou fermeture imprévue, par exemple. Chaque fermeture appartient à un seul établissement et est délimitée par un instant de début et un instant de fin. Les fermetures exceptionnelles appartiennent à leur établissement parent. Le chemin complet est /v1/locations/{location_id}/special_closings, et chaque fermeture est accessible à l’adresse /v1/locations/{location_id}/special_closings/{special_closing_id}.

L’objet special_closing

string
Identifiant opaque unique, préfixé par scl_. Traitez-le comme une chaîne sensible à la casse.
string
Toujours "special_closing".
string
L’établissement parent (loc_…) auquel cette fermeture s’applique.
string
Instant UTC au format ISO 8601 auquel la fermeture commence.
string
Instant UTC au format ISO 8601 auquel la fermeture prend fin.
string | null
Motif lisible de la fermeture (par exemple "Jour férié"). Ce motif donne au commis IA le contexte nécessaire pour expliquer la fermeture aux clients. Peut valoir null.
string
Horodatage UTC de création au format ISO 8601.
string
Horodatage UTC de dernière mise à jour au format ISO 8601.

Fuseaux horaires

starts_at et ends_at sont des instants UTC absolus : le Z final fait partie du contrat. Il ne s’agit pas d’heures locales. Pour présenter une fermeture à un exploitant de restaurant, convertissez chaque instant dans le timezone de l’établissement (un identifiant IANA tel que Europe/Zurich, disponible dans l’objet établissement).
Envoyez toujours starts_at et ends_at en UTC. Si vous recueillez une date et une heure locales auprès d’un utilisateur, convertissez-les en UTC avant d’appeler l’API, en tenant compte de l’heure d’été dans le fuseau de l’établissement. Une fermeture prévue pour couvrir « toute la journée du 25 décembre à Zurich » s’étend de 23:00 UTC le 24 décembre à 23:00 UTC le 25 décembre, et non de minuit à minuit UTC.
L’exemple ci-dessous convertit une plage horaire locale dans Europe/Zurich en instants UTC attendus par l’API.

Lister les fermetures exceptionnelles

Renvoie une liste paginée des fermetures d’un établissement, triées par created_at.
Point de terminaison

Paramètres de requête

integer
défaut:"10"
Nombre de résultats par page, compris entre 1 et 100.
string
Curseur de la page suivante : l’id du dernier objet de la page précédente. Mutuellement exclusif avec ending_before.
string
Curseur de la page précédente : l’id du premier objet de la page actuelle. Mutuellement exclusif avec starting_after.
string
Renvoie les fermetures créées après cet horodatage ISO 8601.
string
Renvoie les fermetures créées avant cet horodatage ISO 8601.
string
Renvoie les fermetures mises à jour après cet horodatage ISO 8601.
string
Renvoie les fermetures mises à jour avant cet horodatage ISO 8601.
Réponse

Créer une fermeture exceptionnelle

Crée une fermeture pour un établissement. Comme ce POST crée une ressource, l’en-tête Idempotency-Key est obligatoire.
Point de terminaison

Paramètres du corps

string
requis
Instant UTC au format ISO 8601 auquel la fermeture commence.
string
requis
Instant UTC au format ISO 8601 auquel la fermeture prend fin.
string
Motif lisible facultatif de la fermeture. Il est transmis au commis IA afin qu’il puisse expliquer la fermeture aux clients. Omettez-le ou envoyez null pour ne pas le définir.
Réponse
Rejouer la même Idempotency-Key avec le même corps renvoie la fermeture d’origine, avec l’en-tête Idempotent-Replayed: true. Réutiliser la clé avec un corps différent renvoie 409 idempotency_error, tandis qu’une requête identique exécutée simultanément renvoie 409 conflict_error. Les clés sont conservées pendant 24 heures. Consultez Idempotence.

Récupérer une fermeture exceptionnelle

Récupère une fermeture à partir de son identifiant.
Point de terminaison
Réponse
Une requête portant sur un identifiant qui n’existe pas pour l’établissement renvoie 404 not_found_error.

Mettre à jour une fermeture exceptionnelle

Met à jour un ou plusieurs champs d’une fermeture. Seuls les champs envoyés sont modifiés ; les champs omis conservent leur valeur actuelle.
Point de terminaison

Paramètres du corps

string
Nouvel instant de début, au format ISO 8601 UTC.
string
Nouvel instant de fin, au format ISO 8601 UTC.
string | null
Nouveau motif transmis au commis IA afin qu’il puisse expliquer la fermeture aux clients. Envoyez null pour effacer un motif existant.
Réponse

Supprimer une fermeture exceptionnelle

Supprime définitivement une fermeture. L’établissement revient à ses horaires d’ouverture habituels pendant cette période.
Point de terminaison
Supprimer une fermeture qui n’existe pas renvoie 404 not_found_error.

Erreurs

Les points de terminaison des fermetures exceptionnelles utilisent le modèle d’erreur standard. Cas les plus courants :
Exemple d’erreur

Étapes suivantes

Horaires d’ouverture

Les fermetures exceptionnelles s’ajoutent au planning hebdomadaire habituel de livraison et de retrait d’un établissement.

Établissements

Consultez le timezone d’un établissement pour afficher starts_at et ends_at en heure locale.

Idempotence

La création d’une fermeture nécessite une Idempotency-Key. Découvrez le fonctionnement des nouvelles tentatives sécurisées.