Ressource d’inventaire

Remarque

L’API Inventory est disponible uniquement pour les participants pilotes fermés. L’API et la documentation sont susceptibles d’être modifiées.

La ressource Inventaire vous permet de mettre à jour la tarification et la disponibilité des produits dans votre magasin Microsoft Merchant Center (MMC). Pour plus d’informations sur l’utilisation des ressources d’inventaire, consultez Mise à jour des tarifs des produits. Pour obtenir des exemples qui montrent comment mettre à jour la tarification et la disponibilité, consultez Exemples de code.

Base URI

Voici l’URI de base auquel vous ajoutez les modèles.

https://content.api.bingads.microsoft.com/shopping/v9.1

Modèles

Pour créer les points de terminaison utilisés pour mettre à jour vos offres de produits, ajoutez le modèle approprié à l’URI de base.

Modèle Verbe HTTP Description
/bmc/{mmcMerchantId}/inventory/batch POST Utilisez pour effectuer plusieurs mises à jour des prix des produits dans une seule requête.

Définissez {mmcMerchantId} sur l’ID du magasin MMC.

Objet de requête : Batch
Objet de réponse : Batch
/bmc/{mmcMerchantId}/inventory/{storeCode}/products/{productUniqueId} POST Utilisez pour mettre à jour la tarification et la disponibilité d’un seul produit.

Définissez {mmcMerchantId} sur l’ID du magasin MMC.

Définissez sur {storeCode} en ligne.

Définissez {productUniqueId} sur l’ID de produit complet (par exemple, Online :en :US :Sku123).

Objet de demande : Product
Objet de réponse : Product

Paramètres de requête

Les points de terminaison peuvent inclure les paramètres de requête suivants.

Paramètre Description
dry-run Facultatif. Utilisez lors du débogage de votre application pour tester les appels. Les appels qui incluent ce paramètre n’affectent pas les données de production. Si une erreur se produit, la réponse contient toutes les erreurs que l’appel génère normalement, à l’exception des messages d’erreur secondaires tels que la qualité des données, les problèmes éditoriaux et les validations liées à la base de données. Pour plus d’informations sur le test de votre application, consultez Bac à sable.

En-têtes

Voici les en-têtes de demande et de réponse.

En-tête Description
AuthenticationToken En-tête de la demande.

Définissez cet en-tête sur un jeton d’accès OAuth. Pour plus d’informations sur l’obtention d’un jeton d’accès, consultez Authentification de vos informations d’identification.
Content-Type En-tête de la demande et de la réponse.

Type de contenu dans le corps de la demande ou de la réponse. Définissez sur application/json.
CustomerAccountId En-tête de la demande.

ID de compte de tout compte que vous gérez pour le compte du client spécifié dans l’en-tête CustomerId . Le compte que vous spécifiez n’a pas d’importance. Spécifiez cet en-tête uniquement si vous gérez un compte pour le compte du client.
Customerid En-tête de la demande.

ID client du client dont vous gérez le magasin. Spécifiez cet en-tête uniquement si vous gérez le magasin pour le compte du client. Si vous définissez cet en-tête, vous devez également définir l’en-tête CustomerAccountId .
DeveloperToken En-tête de la demande.

Jeton de développeur de l’application cliente. Chaque demande doit inclure cet en-tête. Pour plus d’informations sur l’obtention d’un jeton, consultez Avez-vous vos informations d’identification Microsoft Advertising et votre jeton de développeur ?
Emplacement En-tête de réponse.

URL du produit qui a été mis à jour.
WebRequestActivityId En-tête de réponse.

ID de l’entrée de journal qui contient les détails de la demande. Vous devez toujours capturer cet ID si une erreur se produit. Si vous n’êtes pas en mesure de déterminer et de résoudre le problème, incluez cet ID avec les autres informations que vous fournissez à l’équipe de support technique.

Objets de requête et de réponse

Voici les objets de requête et de réponse utilisés par l’API.

Objet Description
Lot Définit la liste des produits à mettre à jour dans une demande de traitement par lots.
Erreur Définit une erreur.
ErrorResponse Définit l’objet d’erreur de niveau supérieur pour une mise à jour non batch.
BatchEntryError Définit les erreurs qui se sont produites pour un élément pendant le traitement par lots.
Entrée Définit une entrée dans une demande ou une réponse par lots.
Produit Définit un produit.
ProductPrice Définit le prix d’un produit.

Lot

Définit la liste des produits à mettre à jour dans un lot.

Nom Valeur Type
Entrées Liste des produits à mettre à jour dans un lot. Le nombre maximal de produits que vous pouvez spécifier est de 400. Entry[]

BatchEntryError

Définit les erreurs qui se sont produites pour une entrée pendant le traitement par lots.

Nom Valeur Type
erreurs Liste des erreurs qui se sont produites lors du traitement de l’entrée. Erreur[]
code Code de status HTTP de l’erreur. Chaîne
message Message associé à l’erreur. Chaîne

Error

Définit une erreur.

Nom Valeur Type
domaine À usage interne uniquement. Chaîne
message Description de l’erreur. Chaîne
reason (Raison) Raison de l’échec de la demande. Par exemple, la validation du produit a échoué. String

ErrorResponse

Définit l’objet d’erreur de niveau supérieur pour une mise à jour de produit unique.

Nom Valeur Type
error Liste des erreurs qui se sont produites lors du traitement de l’élément. Erreurs[]

Erreurs

Définit la liste des erreurs pour un produit.

Nom Valeur Type
erreurs Liste des erreurs qui se sont produites lors du traitement de l’entrée. Erreur[]
code Code de status HTTP de l’erreur. Chaîne
message Message associé à l’erreur. String

Entrée

Définit une entrée dans une demande de traitement par lots.

Nom Valeur Type
batchId ID défini par l’utilisateur qui identifie de façon unique cette entrée dans la demande de lot. Par exemple, si le lot contient 10 entrées, vous pouvez leur attribuer les ID 1 à 10. Unsigned Integer
erreurs Objet d’erreur qui contient la liste des erreurs de validation qui se sont produites. La réponse inclut ce champ uniquement lorsqu’une erreur se produit. BatchEntryError
inventory Prix et disponibilité mis à jour. Produit
merchantId ID du magasin Merchant Center. Étant donné que l’URL inclut l’ID de magasin, ce champ est ignoré. Long non signé
Productid ID de produit complet (par exemple, Online :en :US :Sku123) du produit à mettre à jour. N’incluez pas plusieurs entrées avec le même ID de produit. String
storeCode Code qui identifie le magasin à mettre à jour. Définissez sur en ligne pour mettre à jour le prix et la disponibilité des produits dans le magasin en ligne. String

Produit

Définit un produit.

Propriété Description Type Requis
Disponibilité Disponibilité du produit. Valeurs possibles :
  • en stock
  • en rupture de stock
  • Précommande
String Oui
type Type de l’objet. Définissez sur content#inventory. Chaîne Non
Prix Nouveau prix du produit. Spécifiez le prix dans la devise du pays ou de la région cible. Pour plus d’informations sur l’option d’inclure ou non la taxe dans le prix, consultez Politique fiscale du catalogue Microsoft Merchant Center.

Le prix doit correspondre au prix indiqué sur la page web du produit et doit être de la plage de 0,01 (1 cent) à 10000000,00 (10 millions). Toutefois, si les conditions suivantes sont remplies, vous pouvez définir le prix sur 0,0 (zéro).
  1. Le champ du googleProductCategory produit est défini sur l’une des catégories suivantes :
    • > Communications électroniques > Téléphonie > mobile Téléphones mobiles
    • Ordinateurs électroniques > Ordinateurs > tablettes
  2. Le champ du title produit contient l’un des mots clés suivants :
    • contract
    • Tranche
    • Bail
    • Paiement
    Les mots clés ci-dessus sont affichés en anglais ; toutefois, le titre et la mot clé doivent être dans la langue du marché spécifié.

    En règle générale, le titre contient des formulations telles que « ... avec plan d’versement » ou « ... avec contrat uniquement ». Le contrat mot clé peut être utilisé sur tous les marchés ; toutefois, les versements, paiements et baux ne peuvent être utilisés que sur le marché américain.
ProductPrice Oui
salePrice Prix de vente du produit. Pour les articles en vente, définissez le prix de vente et la date d’effet de la vente (voir salePriceEffectiveDate). Si vous définissez le prix de vente, mais pas la date d’entrée en vigueur du prix de vente, le prix de vente continuera d’être utilisé jusqu’à l’expiration du produit ou jusqu’à ce que vous définissiez une date d’effet.

Le prix de vente doit être de 0,01 (1 cent) à 10000000,00 (10 millions). Toutefois, si les conditions suivantes sont remplies, vous pouvez définir le prix de vente sur 0,0 (zéro).
  1. Le champ googleProductCategory est défini sur l’une des catégories suivantes :
    • > Communications électroniques > Téléphonie > mobile Téléphones mobiles
    • Ordinateurs électroniques > Ordinateurs > tablettes
  2. Le champ de titre contient l’un des mots clés suivants :
    • contract
    • Tranche
    • Bail
    • Paiement
    Les mots clés ci-dessus sont affichés en anglais ; toutefois, le titre et la mot clé doivent être dans la langue du marché spécifié.

    En règle générale, le titre contient des formulations telles que « ... avec plan d’versement » ou « ... avec contrat uniquement ». Le contrat mot clé peut être utilisé sur tous les marchés ; toutefois, les versements, paiements et baux ne peuvent être utilisés que sur le marché américain.
S’il n’est pas spécifié, le prix de la vente actuelle est supprimé de l’offre. Ne passez pas la valeur Null.
ProductPrice Non
salePriceEffectiveDate Date de début et de fin UTC de la vente. Spécifiez une date uniquement si vous définissez salePrice.

Spécifiez les dates de début et de fin au format ISO 8601 . Par exemple, 2016-04-05T08 :00-08 :00/2016-04-10T19 :30-08 :00 (utilisez une barre oblique ('/') pour séparer les dates de début et de fin). Pour plus d’informations, reportez-vous à l’article salePrice.

Si elle n’est pas spécifiée, la date de la vente actuelle est supprimée de l’offre. Ne passez pas la valeur Null.
Chaîne Non

ProductPrice

Définit le prix ou le prix de vente d’un produit.

Nom Valeur Type
Monnaie Devise dans laquelle le prix est indiqué. Valeurs possibles :
  • AUD (dollar australien)
  • CAD (dollar canadien)
  • CHF (franc suisse)
  • EUR (Euro)
  • GBP (livre britannique)
  • INR (roupie indienne)
  • SEK (couronne suédoise)
  • USD (États-Unis dollar)
Chaîne
valeur Prix du produit. Double

Codes d’état HTTP

Les requêtes peuvent retourner les codes de status HTTP suivants.

Code d'état Description
200 Opération réussie.
400 Demande incorrecte Une valeur de paramètre de requête n’est pas valide ou quelque chose dans le corps de la requête n’est pas valide.

Si une erreur se produit, l’entrée de lot qui a échoué inclut les erreurs.
401 Non autorisé Les informations d’identification de l’utilisateur ne sont pas valides.
403 Interdit. L’utilisateur ne dispose pas des autorisations nécessaires pour utiliser la ressource.
404 Introuvable.
409 Conflit. L’opération n’a pas pu être terminée en raison d’un conflit avec l’état actuel de la ressource.
413 Entité de demande trop grande. La taille de la requête dépasse le maximum autorisé.
500 Erreur du serveur.