Order

Une commande représente le contenu d'une commande en cours ou terminée d'un utilisateur.

Représentation JSON
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string
}
Champs
items[]

object (OrderItem)

Facultatif. Articles de la commande.

metadata

object (OrderMetadata)

Facultatif. Autres métadonnées collectées ou déduites lors de la commande.

fulfillment

object (OrderFulfillment)

Facultatif. Informations sur le traitement de la commande.

priceInfo

object (OrderPriceInfo)

Facultatif. Informations sur le prix de la commande.

externalOrderId

string

Uniquement en sortie. Identifiant externe de cette commande. Renseigné uniquement si une intégration de point de vente est activée.

OrderItem

OrderItem spécifie l'état d'un élément faisant partie d'une commande.

Représentation JSON
{
  "uid": string,
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "quantity": integer,
  "totalPrice": {
    object (Money)
  },
  "categoryIds": [
    string
  ]
}
Champs
uid

string

Facultatif. Identifiant unique attribué par le système pour cet élément.

itemId

string

Obligatoire. Identifiant d'un élément du menu, unique dans son menu.

displayName

string

Uniquement en sortie. Nom intelligible de cet élément de campagne à afficher dans les interfaces utilisateur.

image

object (Image)

Uniquement en sortie. Image à afficher pour cet élément dans l'UI.

basePrice

object (Money)

Uniquement en sortie. Prix de base de l'article. Cela peut être affecté par les modificateurs sélectionnés. Il s'agit du prix unitaire de l'article.

integrationAttributes

object (ItemIntegrationAttributes)

Uniquement en sortie. Métadonnées associées à cette entité et utilisées pour les intégrations en aval.

modifierGroups[]

object (OrderModifierGroup)

Facultatif. ModifierGroups applied to this item.

quantity

integer

Facultatif. Quantité de cet article dans la commande.

totalPrice

object (Money)

Uniquement en sortie. Prix total de cette ligne, y compris les modificateurs sélectionnés et reflétant la quantité d'articles, avant taxes. Utilisé pour afficher les sacs par article.

categoryIds[]

string

Uniquement en sortie. ID des catégories auxquelles appartient l'élément de menu sous-jacent. Reflète les Item.category_ids du menu afin que les clients puissent regrouper les articles commandés par catégorie de menu.

OrderModifierGroup

OrderModifierGroup spécifie l'état d'un ModifierGroup qui fait partie d'un OrderItem.

Représentation JSON
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
Champs
modifierGroupId

string

Obligatoire. Identifiant de ce groupe de modificateurs, unique dans son menu.

displayName

string

Uniquement en sortie. Nom du groupe de modificateurs (par exemple, "Garnitures (sandwich)" ou "Accompagnement pour le menu moyen").

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Uniquement en sortie. Métadonnées associées à cette entité et utilisées pour les intégrations en aval.

modifiers[]

object (OrderModifier)

Facultatif. Modificateurs appliqués à ce groupe de modificateurs.

OrderModifier

OrderModifier spécifie l'état d'un modificateur qui fait partie d'un OrderModifierGroup.

Représentation JSON
{
  "uid": string,
  "modifierId": string,
  "displayName": string,
  "priceAdjustment": {
    object (Money)
  },
  "quantity": integer,
  "modifierAction": {
    object (OrderModifierAction)
  },
  "image": {
    object (Image)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "isDefault": boolean
}
Champs
uid

string

Facultatif. Identifiant unique attribué par le système pour ce modificateur.

modifierId

string

Obligatoire. Identifiant de ce modificateur, unique dans le menu.

displayName

string

Uniquement en sortie. Nom à afficher du modificateur dans les interfaces utilisateur.

priceAdjustment

object (Money)

Uniquement en sortie. Ajustement de prix associé à ce modificateur, le cas échéant. Il s'agit du prix unitaire du modificateur.

quantity

integer

Facultatif. Quantité de cette action de modification appliquée.

modifierAction

object (OrderModifierAction)

Facultatif. Action de modificateur appliquée à ce modificateur.

image

object (Image)

Uniquement en sortie. Image à afficher pour ce modificateur dans l'UI.

integrationAttributes

object (ModifierIntegrationAttributes)

Uniquement en sortie. Métadonnées associées à cette entité et utilisées pour les intégrations en aval.

modifierGroups[]

object (OrderModifierGroup)

Facultatif. Groupes de modificateurs imbriqués appliqués à ce modificateur.

isDefault

boolean

Uniquement en sortie. Indique si ce modificateur est sélectionné par défaut pour son groupe de modificateurs. Nécessaire pour que les clients puissent calculer un diff de sélection précis.

OrderModifierAction

OrderModifierAction spécifie l'action ModifierAction associée à un OrderModifier appliqué.

Représentation JSON
{
  "name": string
}
Champs
name

string

Facultatif. Nom de l'action du modificateur (par exemple, "SANS", "À CÔTÉ", "AJOUTER", "SUPPLÉMENT").

OrderMetadata

OrderMetadata contient d'autres métadonnées collectées ou déduites lors de la commande.

Représentation JSON
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string,
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
Champs
collectedCustomerName

string

Facultatif. Nom du client, recueilli lors de la prise de la commande. Renseigné uniquement lorsque l'agent est configuré pour collecter le nom du client. Ces informations peuvent être recueillies oralement et contenir des fautes d'orthographe ou des erreurs de transcription.Il convient donc d'être prudent lorsque vous les affichez aux utilisateurs. De plus, elles ne doivent pas être considérées comme des informations de paiement, par exemple.

callerPhoneNumber

string

Facultatif. Numéro de téléphone du client qui passe la commande.

deliveryAddress

object (DeliveryAddress)

Facultatif. Adresse de livraison, si la commande est une commande de livraison.

DeliveryAddress

Adresse de livraison d'une commande. Il peut s'agir d'une adresse enregistrée ou collectée existante.

Représentation JSON
{
  "address": {
    object (PostalAddress)
  },
  "validationStatus": enum (ValidationStatus),
  "coordinates": {
    object (LatLng)
  }
}
Champs
address

object (PostalAddress)

Facultatif. Adresse de livraison.

validationStatus

enum (ValidationStatus)

Facultatif. État de validation de l'adresse.

coordinates

object (LatLng)

Facultatif. Coordonnées géographiques de l'adresse. Permet de vérifier si l'adresse se trouve dans la zone de livraison du magasin.

ValidationStatus

État de validation de l'adresse de livraison. Elle est déterminée par une logique de validation spécifique au client.

Enums
VALIDATION_STATUS_UNSPECIFIED L'adresse n'a pas encore été validée.
VALIDATION_STATUS_VALID L'adresse est valide.
VALIDATION_STATUS_INVALID L'adresse n'est pas valide (elle n'existe pas, ne peut pas être analysée, etc.).
VALIDATION_STATUS_OUT_OF_RANGE L'adresse existe et est résolue, mais elle est hors zone de couverture du magasin.
VALIDATION_STATUS_INCOMPLETE_ADDRESS Il manque des champs obligatoires dans l'adresse (numéro/nom de rue, ville, État, code postal, etc.).

OrderFulfillment

OrderFulfillment contient des informations sur le traitement des commandes.

Représentation JSON
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
Champs
fulfillmentMethod

enum (FulfillmentMethod)

Facultatif. Méthode de traitement de la commande.

createTime

string (Timestamp format)

Uniquement en sortie. Heure de création de la commande.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

targetFulfillmentTime

string (Timestamp format)

Facultatif. Heure à laquelle la commande doit être traitée, utilisée pour les commandes à l'avance. Si aucune date n'est fournie, la commande est considérée comme étant à livrer "dès que possible".

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

OrderPriceInfo

OrderPriceInfo encapsule les différents composants de prix d'une commande.

Représentation JSON
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  },
  "discount": {
    object (Money)
  },
  "saving": {
    object (Money)
  },
  "fees": {
    object (Money)
  }
}
Champs
totalPrice

object (Money)

Facultatif. Prix total final après application de toutes les taxes, de tous les frais et de toutes les remises.

subtotalPrice

object (Money)

Facultatif. Prix du sous-total de tous les articles et modificateurs, avant taxes et remises.

taxPrice

object (Money)

Facultatif. Montant des taxes appliquées à la commande.

discount

object (Money)

Facultatif. Remise totale appliquée à la commande

saving

object (Money)

Facultatif. Économies appliquées à la commande grâce à une offre

fees

object (Money)

Facultatif. Frais totaux appliqués à la commande