Order

"Order" 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. Les 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 article 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 lisible par l'humain pour 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é utilisées pour les intégrations en aval.

modifierGroups[]

object (OrderModifierGroup)

Facultatif. Groupes de modificateurs appliqués à cet article.

quantity

integer

Facultatif. Quantité de cet article dans la commande.

totalPrice

object (Money)

Uniquement en sortie. Prix total de cet article, y compris les modificateurs sélectionnés et reflétant la quantité d'articles, hors taxes. Utilisé pour l'affichage des sacs par article.

categoryIds[]

string

Uniquement en sortie. ID de catégorie auxquels l'élément de menu sous-jacent appartient. 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 menu moyen").

integrationAttributes

object (ModifierGroupIntegrationAttributes)

Uniquement en sortie. Métadonnées associées à cette entité 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 faisant 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é 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 une sélection par défaut pour son groupe de modificateurs. Nécessaire pour que les clients puissent calculer une différence de sélection précise.

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, "NO", "SIDE", "ADD", "EXTRA").

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, collecté lors de la prise de commande. Ce champ n'est renseigné que lorsque l'agent est configuré pour collecter le nom du client. Ces informations peuvent être collectées verbalement et contenir des fautes d'orthographe ou des erreurs de transcription. Il convient donc de faire preuve de prudence lors de leur affichage aux utilisateurs, et de ne pas les considérer 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. L'adresse de livraison, si la commande est une commande à livrer.

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. Utilisé pour vérifier si l'adresse se trouve dans la zone de livraison du magasin.

ValidationStatus

État de validation de l'adresse de livraison. Il est déterminé 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 de portée 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 cette valeur n'est pas fournie, la commande est considérée comme devant être livrée "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 une fois que toutes les taxes, tous les frais et toutes les remises ont été appliqués.

subtotalPrice

object (Money)

Facultatif. 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 à l'offre

fees

object (Money)

Facultatif. Frais totaux appliqués à la commande