Ajout de la disponibilité pour les intégrations Retail Ordering v1

Ce tutoriel vous guide:

  1. Une description générale de la façon dont l'utilisateur peut voir la disponibilité et du type de données requis
  2. Instructions spécifiques pour encoder les données de disponibilité dans les action_link de vos flux
  3. Instructions pour mettre à jour cette disponibilité si elle change au cours de la journée
  4. Prévision de la précision de la disponibilité

Outre les métadonnées de disponibilité, vous devez également fournir des métadonnées sur les frais associés à la livraison ou au retrait, ainsi que le montant minimal de commande. Pour obtenir un exemple complet de flux montrant l'utilisation de la disponibilité, ainsi que les frais et le nombre minimal de commandes, consultez l'exemple de flux Commande v1 v1.

Quelles sont les informations de disponibilité requises ?

La disponibilité des commandes Retail pour cette expérience est calculée par jour. Ces données de disponibilité sont présentées aux utilisateurs avec les frais et le montant minimal de commande, ainsi qu'un message tel que "Disponible aujourd'hui", "Disponible demain" ou "JJ/MM disponible" en fonction de la première date disponible.

Lorsque vous envoyez ces données dans les flux, vous envoyez les dates futures de disponibilité, ainsi que la date la plus récente à laquelle un utilisateur peut passer commande, et planifier son retrait ou sa livraison pour chaque date. Ces deux informations correspondent respectivement à la date de traitement et à la dernière heure de commande.

Par exemple, si la date d'aujourd'hui est le 23 mars 2021 et que la livraison est prévue demain à partir du moment où l'utilisateur passe commande aujourd'hui à 16h, les données que vous fournissez pour représenter cette disponibilité sont les suivantes :

  • Date d'exécution: 24/03/2021
  • Dernière commande: 23/03/2021 16:00

Étant donné que la dernière heure de commande est incluse, une fois le délai écoulé, l'interface Google est automatiquement mise à jour vers la prochaine date disponible, une fois la dernière commande passée.

Chaque jour, lorsque vous importez un nouveau flux de marchands, vous devez inclure de nouvelles données de disponibilité. Comme le frontal n'affiche que la disponibilité actuelle, il suffit de fournir les trois à cinq prochaines dates de disponibilité pour un emplacement donné. Cela permet au frontal d'afficher la disponibilité actuelle ainsi que la prochaine disponibilité à afficher après le dernier moment de commande.

Spécifier la disponibilité via des flux

La disponibilité des liens d'action est incluse dans le message action_link du flux marchand, dans le champ order_online_metadata. Pour chaque marchand et chaque option de traitement, une liste de messages AvailableDay est associée au chemin.

Merchant.action_link.order_online_metadata.fulfillment_option.available_day

Ces messages doivent être au format suivant:

{
  "fulfillment_date": {
    "year": "2020",
    "month": "10",
    "day": "1"
  },
  "last_ordering_time":  {
    "seconds": "1601614800"  // 2020/10/1, 10pm
  }
}

Dans ce format, fulfillment_date correspond à l'année, au mois et au jour disponibles. Cette date doit faire référence au lieu spécifié par ce marchand.

last_ordering_time est un horodatage unix en secondes. Il est indépendant du fuseau horaire et marque le dernier moment où le marchand peut prendre des commandes à la date indiquée dans fulfillment_date. La date de dernière commande peut être antérieure ou antérieure à la date de traitement. Une fois la dernière date de commande passée, Google cesse automatiquement d'afficher la disponibilité pour la date de traitement donnée et commence à afficher la disponibilité en fonction de la date de traitement suivante.

Pour connaître la définition de la référence order_online_metadata, consultez la documentation de référence sur le flux Merchant Center. Pour obtenir un exemple de flux incluant la disponibilité au format JSON, consultez Exemples de flux : Commandes pour les marchands et métadonnées.

Mise à jour en temps réel de la disponibilité

Si la disponibilité d'un établissement pour la livraison ou le retrait varie entre le moment où vous envoyez un flux quotidien et l'option mise à jour en temps réel, vous pouvez utiliser l'API REST en temps réel pour mettre à jour la disponibilité présentée aux utilisateurs.

Les mises à jour ne concernent qu'un seul marchand à la fois. Lorsque vous effectuez une mise à jour, vous spécifiez le marchand à mettre à jour et les champs qui doivent être mis à jour dans le cadre du point de terminaison de l'API. Vous devrez ensuite inclure les nouvelles données dans ces champs dans le corps de la requête. Tous les champs mis à jour seront remplacés par les informations fournies.

Pour mettre à jour la disponibilité, vous devez envoyer une requête "patch" au point de terminaison suivant:

PATCH https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}?updateMask=action_link

Le corps de la requête serait alors un objet Merchant avec uniquement le action_link (car nous avons défini le updateMask de façon à n'inclure que le action_link):

{
  "action_link": [
    ..., // all required action_link fields here
    "order_online_metadata": {
      "fulfillment_option": [
        "fulfillment_type": "FULFILLMENT_TYPE_DELIVERY",
        "available_day": [ // Include the updated availability here
          {
            "fulfillment_date": {
              "year": "2020",
              "month": "10",
              "day": "1"
            }
            "last_ordering_time": {
              "seconds": "1601614800"  // 2020/10/1, 10pm
            }
          },
          ... // Other updated availability_days
        ]
      ]
    }
  ]
}

Si la requête API aboutit, la réponse inclura l'objet Merchant Center avec les données mises à jour.

Pour en savoir plus sur la méthode de mise à jour des marchands, consultez Méthode : inventory.partners.merchants.patch.

Précision de la disponibilité

Réserver avec Google comprend que les spécificités de la disponibilité varient en fonction de différents facteurs. y compris les suivants :

  • Modifications de la disponibilité en fonction de la taille de la commande
  • Modification de la disponibilité en fonction du délai avant la commande et le règlement
  • Latence entre la mise à jour des modifications de disponibilité, via des flux ou des mises à jour en temps réel

Chacun de ces facteurs peut conduire à des situations où la disponibilité affichée à l'utilisateur ne correspond pas initialement à la disponibilité finale qu'il verra lors du règlement. L'implémentation de la disponibilité n'a pas pour objectif de les éliminer complètement, mais de fournir des informations claires aux utilisateurs aussi souvent que possible.

Les partenaires doivent fournir une mise en œuvre qui offre aux utilisateurs une disponibilité précise aussi souvent que possible, dans la mesure du possible. En outre, si la disponibilité change en raison des détails de la commande, cela doit être clairement indiqué aux utilisateurs. Si vous ne savez pas précisément quelles informations sont requises dans votre cas, contactez votre contact Réserver avec Google.