REST Resource: inventory.partners.merchants

Ressource : Merchant

Informations sur un marchand figurant sur la plate-forme de l'agrégateur.

Représentation JSON
{
  "name": string,
  "merchantName": string,
  "telephone": string,
  "url": string,
  "geo": {
    object (GeoCoordinates)
  },
  "category": string,
  "numBookings30d": string,
  "taxRateBasisPoints": integer,
  "taxRate": {
    object (TaxRate)
  },
  "paymentRestrictions": {
    object (PaymentRestrictions)
  },
  "paymentOption": [
    {
      object (PaymentOption)
    }
  ],
  "paymentProcessorConfig": {
    object (PaymentProcessorConfig)
  },
  "tokenizationConfig": {
    object (TokenizationConfig)
  },
  "terms": {
    object (Terms)
  },
  "brandId": string,
  "matchingHints": {
    object (MerchantMatchingHints)
  },
  "serviceAttribute": [
    {
      object (ServiceAttribute)
    }
  ],
  "actionLink": [
    {
      object (ActionLink)
    }
  ],
  "waitlistAdvisement": {
    object (Advisement)
  }
}
Champs
name

string

Nom de la ressource marchand, au format partners/{partner_id}/merchants/{merchantId}.

merchantName

string

Les champs "merchantName", "telephone", "url" et "geo" permettent de faire correspondre l'inventaire du partenaire avec les marchands déjà présents sur Google Maps. Ces informations ne sont pas affichées.

Nom du marchand.

telephone

string

Numéro de téléphone public du marchand, avec l'indicatif du pays et de la zone (par exemple, +14567891234).

url

string

URL du site Web public du marchand.

geo

object (GeoCoordinates)

Données géographiques du marchand, y compris la latitude, la longitude et l'adresse.

category

string

Catégorie de l'entreprise sur la plate-forme de l'agrégateur.

numBookings30d
(deprecated)

string (int64 format)

Ce champ a été abandonné.

taxRateBasisPoints
(deprecated)

integer (uint32 format)

Taux de taxe du marchand en points de base (un centième de 1 %). Par exemple, si le taux de taxe est de 7,5 %, ce champ doit être défini sur 750.

Si ce champ n'est pas défini ou est défini sur 0, le prix total facturé à un utilisateur pour tout service fourni par ce marchand correspond au prix exact spécifié dans le champ Service.price. Le prix du service est considéré comme étant exonéré de taxes applicables ou comme incluant déjà ces taxes. Les taxes ne sont donc pas présentées à l'utilisateur sur une ligne distincte.

Si ce champ est défini sur une valeur supérieure à 0, le prix total facturé à un utilisateur pour tout service fourni par ce marchand inclut le prix du service, ainsi que la taxe calculée à l'aide du taux fourni dans ce champ. Les fractions de la plus petite unité monétaire (par exemple, les fractions d'un centime) sont arrondies au pair le plus proche. Les taxes sont présentées à l'utilisateur sur une ligne distincte.

Ce champ a été abandonné. Veuillez plutôt utiliser taxRate.

taxRate

object (TaxRate)

Taux de taxe du marchand. S'il est défini, ce champ remplace le champ taxRateBasisPoints qui a été abandonné. Lorsque le message est vide (par exemple, taxRate {}), le taux de taxe appliqué se réinitialise à zéro.

paymentRestrictions

object (PaymentRestrictions)

Restrictions concernant les modes de paiement que ce marchand accepte. Si le champ n'est pas défini, le système en déduit qu'il n'y a aucune restriction.

paymentOption[]

object (PaymentOption)

Options de paiement disponibles pour ce marchand. Les services de ce marchand pourront limiter individuellement les options de paiement autorisées.

paymentProcessorConfig
(deprecated)

object (PaymentProcessorConfig)

Configuration d'une société de traitement des paiements tokenisée, si le marchand accepte cette option.

tokenizationConfig

object (TokenizationConfig)

Configuration d'une société de traitement des paiements tokenisée, si le marchand accepte cette option.

terms

object (Terms)

Conditions d'utilisation spécifiques au marchand présentées à l'utilisateur lors de la réservation d'un service via Réserver avec Google. En outre, les conditions d'utilisation du partenaire de l'agrégateur sont toujours présentées à l'utilisateur. Elles ne doivent donc pas être fournies ici.

brandId

string

Chaîne opaque qui identifie la marque à présenter aux utilisateurs lors de l'affichage de l'attribution du partenaire. Ce champ permet à un partenaire de fournir des marchands pour toutes les marques qu'il gère au sein d'un même flux.

Une marque comprend des propriétés à présenter aux utilisateurs, du type nom, logo, conditions d'utilisation et règles de confidentialité.

Si le partenaire n'a qu'une seule marque à présenter aux utilisateurs, ce champ n'a pas besoin d'être défini et peut être ignoré.

Si le partenaire...

n'a qu'une seule marque à présenter aux utilisateurs… --> Ignorez ce champ.

a plusieurs marques qui ont été configurées…

  If this field is set
    --> Associated consumer-facing brand attribution is used

  If this field is unset or the empty string
    --> Default consumer-facing brand attribution is used

Attention : La plupart des partenaires n'ont pas besoin de définir ce champ. Si un partenaire souhaite utiliser ce champ, il doit d'abord nous contacter pour configurer des marques distinctes, y compris la marque par défaut.

matchingHints

object (MerchantMatchingHints)

Conseils pour aider Google à mettre un marchand en correspondance avec une adresse sur Google Maps. Remarque : la plupart des partenaires n'ont pas besoin de définir ce champ, car Google met les marchands en correspondance avec les adresses sur Google Maps à l'aide des informations fournies ci-dessus. (facultatif)

serviceAttribute[]

object (ServiceAttribute)

Définitions des attributs de service utilisés pour décrire les services pour ce marchand. (facultatif)

waitlistAdvisement

object (Advisement)

Facultatif. Conseils généraux d'un marchand spécifique pour un utilisateur qui rejoint une liste d'attente via Réserver avec Google Les champs de texte individuels dans les conseils doivent être limités à 100 octets.

PaymentRestrictions

Restrictions concernant les modes de paiement que ce marchand accepte.

Représentation JSON
{
  "creditCardRestrictions": {
    object (CreditCardRestrictions)
  }
}
Champs
creditCardRestrictions

object (CreditCardRestrictions)

Restrictions concernant les cartes de crédit que ce marchand accepte. Nous supposons que toutes les cartes de crédit sont acceptées si ce champ n'est pas défini. Notez que la liste des cartes incluses dans CreditCardType ne fait que s'allonger au fil du temps. Par conséquent, si vous ne définissez pas ce champ, vous serez obligé d'apporter des modifications à votre configuration dans le futur.

CreditCardRestrictions

Restrictions concernant les types de cartes de crédit que ce marchand accepte.

Représentation JSON
{
  "creditCardType": [
    enum (CreditCardType)
  ]
}
Champs
creditCardType[]

enum (CreditCardType)

Liste des cartes de crédit acceptées. Aucune carte de crédit n'est acceptée si non défini.

CreditCardType

Un type de carte de crédit.

Énumérations
CREDIT_CARD_TYPE_UNSPECIFIED Non utilisé.
VISA Une carte de crédit Visa.
MASTERCARD Une carte de crédit Mastercard.
AMERICAN_EXPRESS Une carte de crédit American Express.
DISCOVER Une carte de crédit Discover.
JCB Une carte de crédit JCB.

PaymentOption

Option de paiement qui peut être utilisée pour payer les services fournis par un marchand. Les options de paiement peuvent être partagées entre plusieurs marchands (par exemple, entre marchands appartenant à une même chaîne).

Représentation JSON
{
  "paymentOptionId": string,
  "name": string,
  "description": string,
  "price": {
    object (Price)
  },
  "taxRate": {
    object (TaxRate)
  },
  "paymentOptionType": enum (PaymentOptionType),
  "sessionCount": string,
  "purchaseInterval": {
    object (TimeRange)
  },
  "validInterval": {
    object (TimeRange)
  },
  "validDuration": string,
  "activationType": enum (ActivationType),
  "userRestriction": {
    object (UserPurchaseRestriction)
  }
}
Champs
paymentOptionId

string

Cet ID permet d'identifier cette option de paiement.

Cet identifiant s'applique de manière globale du côté de l'agrégateur. Ainsi, si vous réutilisez une valeur pour plusieurs marchands, l'utilisateur pourra payer tous ces marchands avec l'option de paiement correspondante.

Lorsque vous réutilisez un identifiant pour plusieurs marchands, la mise à jour de la valeur d'une option de paiement pour un marchand entraîne la mise à jour de toute autre option de paiement associée au même identifiant utilisée par un autre marchand. Par conséquent, afin d'éviter tout risque de comportement instable, il est recommandé que toutes les options de paiement partagent le même identifiant et qu'elles soient toujours mises à jour avec des valeurs identiques.

name

string

Nom de l'option de paiement. Peut être présenté à l'utilisateur.

description

string

Description de l'option de paiement. Peut être présenté à l'utilisateur.

price

object (Price)

Prix de l'option de paiement.

taxRate

object (TaxRate)

Taux de taxe associé à cette option de paiement. Si ce champ est défini, il remplace le champ taxRate inclus dans "Merchant" ou "Service". Lorsque le message est vide (par exemple, taxRate {}), le taux de taxe appliqué se réinitialise à zéro.

paymentOptionType

enum (PaymentOptionType)

Type associé à cette option de paiement. À usage unique pour les visites, à usages multiples pour les packs et à usage illimité pour les abonnements.

sessionCount

string (int64 format)

Nombre de sessions pour lesquelles cette option de paiement peut être utilisée. Valable seulement pour les séances/packs multiples, où la valeur doit être supérieure à 1.

purchaseInterval

object (TimeRange)

L'option de paiement peut être achetée au cours de cet intervalle.

validInterval

object (TimeRange)

L'option de paiement peut être utilisée au cours de cet intervalle (tarif spécial pour le mois de janvier 2017, par exemple). Si ce champ est défini, il remplace les champs "validDuration" et "activationType".

validDuration

string (Duration format)

Durée de validité de l'option de paiement (par exemple, abonnement de 30 jours).

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

activationType

enum (ActivationType)

Définit la manière dont la date de début de validité est déterminée pour cette option de paiement.

userRestriction

object (UserPurchaseRestriction)

Définit une limite concernant les utilisateurs pouvant acheter cette option de paiement. Peut être utilisé pour limiter une option de paiement promotionnelle à un sous-ensemble d'utilisateurs. Si ce champ n'est pas défini, nous en déduisons que tous les utilisateurs sont éligibles.

PaymentOptionType

Un type d'option de paiement.

Enums
PAYMENT_OPTION_TYPE_UNSPECIFIED Non utilisé.
PAYMENT_OPTION_SINGLE_USE L'option de paiement ne peut être utilisée qu'une seule fois.
PAYMENT_OPTION_MULTI_USE L'option de paiement peut être utilisée si le nombre de séances est supérieur à 0.
PAYMENT_OPTION_UNLIMITED L'option de paiement peut être utilisée pendant la plage de dates applicable. Le nombre de séances n'est pas pris en compte.

ActivationType

Définit la manière dont est déterminée la date de début de validité.

Enums
ACTIVATION_TYPE_UNSPECIFIED Non utilisé.
ACTIVATION_ON_PURCHASE La période de validité commence au moment de l'achat.
ACTIVATION_ON_FIRST_USE La période de validité commence lorsque l'option de paiement est utilisée pour la première fois.

UserPurchaseRestriction

Définit une limite concernant les utilisateurs pouvant acheter une option de paiement.

Représentation JSON
{
  "newToMerchant": boolean,
  "newToPaymentOption": boolean
}
Champs
newToMerchant

boolean

Une option de paiement réservée aux utilisateurs qui n'ont jamais effectué d'achats auprès du même marchand.

newToPaymentOption

boolean

Une option de paiement réservée aux utilisateurs qui n'ont jamais acheté la même option de paiement auparavant.

PaymentProcessorConfig

Une configuration pour une société de traitement des paiements, effectuée au niveau du marchand.

Représentation JSON
{
  "processor": enum (Processor),
  "publicKey": string,
  "version": string
}
Champs
processor

enum (Processor)

Définit le partenaire de traitement des paiements auquel cette configuration s'applique.

publicKey

string

Clé utilisée pour identifier ce marchand auprès de la société de traitement des paiements.

Pour Stripe, consultez la page https://stripe.com/docs/dashboard#api-keys. Pour Braintree, consultez la page https://articles.braintreepayments.com/control-panel/important-gateway-credentials.

version

string

Numéro de version de l'API envoyé à la société de traitement des paiements avec les demandes de paiement.

Processor

Définit une société partenaire de traitement des paiements particulière.

Enums
PROCESSOR_UNSPECIFIED Non utilisé
PROCESSOR_STRIPE Une configuration pour les paiements effectués avec Stripe.
PROCESSOR_BRAINTREE Une configuration pour les paiements effectués avec Braintree.

TokenizationConfig

Une configuration pour la tokenisation de la société de traitement des paiements, effectuée au niveau du marchand.

Représentation JSON
{
  "tokenizationParameter": {
    string: string,
    ...
  },
  "billingInformationFormat": enum (BillingInformationFormat)
}
Champs
tokenizationParameter

map (key: string, value: string)

Une configuration de tokenisation comporte généralement un paramètre tokenizationParameter dont la clé est "gateway" et dont la valeur est le nom de la société de traitement des paiements.

Les autres paramètres dépendent du processeur. Pour en savoir plus, consultez la documentation Google Pay.

Exemple avec Braintree : tokenizationParameter { key: "gateway" value: "braintree" } tokenizationParameter { key: "braintree:apiVersion" value: "v1" } tokenizationParameter { key: "braintree:sdkVersion" value: "2.30.0" } tokenizationParameter { key: "braintree:merchantId" value: "abcdef" } tokenizationParameter { key: "braintree:clientKey" value: "production_xxx_yyy" }

Exemple avec Stripe : tokenizationParameter { key: "gateway" value: "stripe" } tokenizationParameter { key: "stripe:version" value: "2018-02-28" } tokenizationParameter { key: "stripe:publishableKey" value: "pk_1234" }

Exemple avec Adyen : tokenizationParameter { key: "gateway" value: "adyen" } tokenizationParameter { key: "gatewayMerchantId" value: "yourId" }

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

billingInformationFormat

enum (BillingInformationFormat)

Incluez les informations bancaires de l'utilisateur dans le jeton de paiement, telles que saisies dans Google Pay en même temps que leur mode de paiement (voir ci-dessus). Si vous laissez ce champ vide, le système en déduit que la valeur est MIN.

BillingInformationFormat

La partie de l'adresse de facturation à exiger de l'utilisateur et à inclure dans le jeton. Les valeurs de l'énumération correspondent aux paramètres dans l'API Google Pay (voir https://developers.google.com/pay/api/web/reference/object#BillingAddressParameters).

Enums
BILLING_INFORMATION_FORMAT_UNSPECIFIED Non spécifié. La valeur par défaut est MIN.
MIN Nom, code pays et code postal (paramètre Google Pay par défaut).
FULL Nom, adresse postale, localité, région, code pays et code postal.

Termes

Ensemble de règles et consignes présentées à l'utilisateur souhaitant effectuer une réservation via Réserver avec Google.

Représentation JSON
{
  "url": string,
  "text": string,
  "localizedText": {
    object (Text)
  }
}
Champs
url

string

URL facultative vers les conditions d'utilisation.

text

string

Texte à afficher auprès de l'utilisateur. Pour les nouvelles intégrations, utilisez localizedText ci-dessous.

localizedText

object (Text)

Texte localisé à afficher à l'utilisateur.

MerchantMatchingHints

Conseils pour aider Google à mettre un marchand en correspondance avec une adresse sur Google Maps.

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

string

ID du lieu dans la base de données Google Adresses et sur Google Maps. Pour en savoir plus sur les ID de lieu, consultez https://developers.google.com/places/web-service/place-id.

ServiceAttribute

Les attributs de service correspondent à des catégories définies par le partenaire. Elles décrivent les services d'un marchand. Par exemple, une banque pourrait définir un attribut de service "Type de compte", avec "Personnel" et "Entreprise" comme valeurs possibles, tandis qu'un salon de coiffure pourrait définir un attribut de service "Type de service", avec "Coupe de cheveux", "Couleur". et "Style" comme valeurs possibles.

Représentation JSON
{
  "attributeId": string,
  "attributeName": string,
  "value": [
    {
      object (Value)
    }
  ]
}
Champs
attributeId

string

Identifiant qui identifie de manière unique cet attribut de service parmi tous les autres attributs associés au même marchand (par exemple, "account-type").

attributeName

string

Nom de cet attribut visible par l'utilisateur (par exemple, "Type de compte").

value[]

object (Value)

Toutes les valeurs possibles pour cet attribut de service.

Valeur

Représente une valeur pouvant être utilisée pour un attribut particulier du service.

Représentation JSON
{
  "valueId": string,
  "valueName": string
}
Champs
valueId

string

Identifiant qui identifie cette valeur de manière unique parmi toutes les autres valeurs associées à cet attribut de service (par exemple, "personal").

valueName

string

Nom de la valeur visible par l'utilisateur, par exemple "Personnel".

Conseil

Recommandations présentées à l'utilisateur lorsqu'il effectue une réservation via Réserver avec Google.

Représentation JSON
{
  "text": {
    object (Text)
  }
}
Champs
text

object (Text)

Message personnalisé à afficher auprès de l'utilisateur lorsqu'il effectue une réservation via Réserver avec Google.

Méthodes

create

Créé une valeur Merchant gérée par l'agrégateur spécifié, puis renvoie cette valeur.

delete

Supprime une valeur Merchant existante gérée par l'agrégateur spécifié.

getStatus

Permet d'obtenir l'élément MerchantStatus d'un Merchant.

patch

Met à jour une valeur Merchant existante gérée par l'agrégateur spécifié, puis renvoie cette valeur.