Utilisez les promotions pour présenter des offres spéciales pour les produits que vous vendez sur Google. Ces promotions s'affichent sur plusieurs propriétés Google, dont la recherche Google, Shopping et Chrome. Pour être approuvées, les promotions doivent répondre à certains critères. Pour en savoir plus, consultez Critères des promotions.
Lorsque vous ajoutez une promotion à vos produits, un lien "offre spéciale" s'affiche. Par exemple, "15 % de remise" ou "Livraison gratuite". Ce type de lien peut accroître l'attractivité de vos produits et inciter les clients à les acheter. Toutes les promotions sont appliquées lors du règlement en ligne ou dans votre point de vente.
Pour en savoir plus, consultez Promotion basics.
Prérequis
Vous devez nous fournir certaines informations concernant votre entreprise et vos produits pour que nous puissions diffuser vos promotions. Vous devez disposer des éléments suivants :
- Un flux de produits actif dans Google Merchant Center.
- Un flux de promotions actif dans le Google Merchant Center.
- Un compte Google Ads pour les campagnes Shopping.
Vous devez également inscrire votre compte Merchant Center au programme des promotions. Si vous ne savez pas si vous êtes déjà inscrit, consultez le Merchant Center.
Si ce n'est pas le cas, remplissez le formulaire de demande. L'équipe chargée des promotions vous contactera dès que vous serez prêt à commencer l'implémentation.
Pour en savoir plus, consultez Règles et critères de participation.
Créer une source de données
Vous pouvez utiliser la
accounts.dataSources.create
pour créer une source de données de promotion. Si une source de données de promotion existante
est disponible, utilisez la
accounts.dataSources.list
méthode pour récupérer toutes les sources de données. Vous pouvez ensuite utiliser le name champ de
la source de données de promotion pour créer des promotions.
La requête suivante montre comment créer une source de données pour ajouter des promotions :
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
Remplacez les éléments suivants :
- {ACCOUNT_ID} : identifiant unique de votre compte tel qu'il apparaît dans l'interface utilisateur de Merchant Center.
- {DISPLAY_NAME} : nom à afficher pour la source de données.
- {CONTENT_LANGUAGE} : code de langue ISO 639-1 à deux lettres des produits dans la source de données.
- {TARGET_COUNTRY} : code de territoire CLDR du pays cible dans lequel vous souhaitez que les promotions soient visibles.
Une fois la requête exécutée, la réponse suivante s'affiche et contient des informations sur la source de données de promotions que vous venez de créer :
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
Créer des promotions
Vous pouvez utiliser la
accounts.promotions.insert
méthode pour créer ou modifier une promotion. La méthode accounts.promotions.insert prend en entrée une ressource promotions et un nom de source de données. Si elle aboutit, elle renvoie la promotion (nouvelle ou modifiée).
Pour créer une promotion, vous devez indiquer le nom de la source de données. Vous devez également fournir des valeurs pour les champs suivants dans votre requête :
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
Google examine et approuve vos promotions avant de les diffuser. Pour en savoir plus, consultez Processus d'approbation des promotions.
Nous vous recommandons de consulter les règles relatives aux promotions pour vous assurer que les promotions que vous créez apportent une valeur ajoutée et respectent les règles des annonces Shopping.
La requête suivante montre comment créer une promotion en ligne :
HTTP
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert
{
"promotion": {
"name": "{PROMOTION_NAME}",
"promotionId": "{PROMOTION_ID}",
"targetCountry": "{TARGET_COUNTRY}",
"redemptionChannel": [
"ONLINE"
],
"contentLanguage": "{CONTENT_LANGUAGE}",
"attributes": {
"promotionDisplayTimePeriod": {
"endTime": "{PROMOTION_END_TIME}",
"startTime": "{PROMOTION_START_TIME}"
},
"offerType": "{OFFER_TYPE}",
"longTitle": "{LONG_TITLE}"
}
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
cURL
curl --request POST \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"dataSource":"{DATASOURCE_ID}","promotion":{"name":"accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}y","promotionId":"abc","contentLanguage":"en","targetCountry":"US","redemptionChannel":["ONLINE"]}}' \
--compressed
Pour en savoir plus sur les règles applicables à la définition de votre ID de promotion, consultez Conditions minimales requises pour l'attribut ID de promotion.
Les valeurs valides pour le champ obligatoire offerType sont NO_CODE et GENERIC_CODE. Si vous ne fournissez pas l'une de ces valeurs, la requête API échoue
avec la réponse HTTP 400 [offer_type] validation/missing_required: Invalid or
missing required attribute: offer_type. Un message d'erreur semblable est renvoyé si vous ne fournissez aucun des champs obligatoires.
Si vous ne fournissez pas de valeur pour le champ attributes.genericRedemptionCode,
la requête échoue avec la réponse HTTP 400 [genericRedemptionCode] No
redemption code provided.
Les valeurs des champs promotion.attributes.promotionDisplayTimePeriod.startTime et promotion.attributes.promotionDisplayTimePeriod.endTime doivent être au format yyyy-mm-ddThh:mm:ssZ. Veillez à remplacer les valeurs de ces champs par des dates ultérieures.
Pour en savoir plus, consultez Spécifications des données de promotions.
Pour connaître les bonnes pratiques concernant la création d'une promotion, consultez Bonnes pratiques en termes de promotions.
Pour obtenir la liste des attributs liés aux promotions, consultez Ajouter des attributs pour les données structurées.
Une fois la requête de création de promotion exécutée, il peut s'écouler quelques minutes avant que la promotion puisse être récupérée à l'aide de l'API ou qu'elle s'affiche dans Merchant Center.
Voici un exemple que vous pouvez utiliser pour insérer plusieurs promotions de manière asynchrone :
Java
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutureCallback;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1.Attributes;
import com.google.shopping.merchant.promotions.v1.CouponValueType;
import com.google.shopping.merchant.promotions.v1.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1.OfferType;
import com.google.shopping.merchant.promotions.v1.ProductApplicability;
import com.google.shopping.merchant.promotions.v1.Promotion;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1.RedemptionChannel;
import com.google.shopping.type.CustomAttribute;
import com.google.shopping.type.Destination.DestinationEnum;
import com.google.type.Interval;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to insert multiple promotions asynchronously. */
public class InsertPromotionsAsyncSample {
private static String generateRandomString() {
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuilder sb = new StringBuilder(8);
for (int i = 0; i < 8; i++) {
sb.append(characters.charAt(random.nextInt(characters.length())));
}
return sb.toString();
}
private static Promotion createPromotion(String accountId) {
String merchantPromotionId = generateRandomString();
Attributes attributes =
Attributes.newBuilder()
.setProductApplicability(ProductApplicability.ALL_PRODUCTS)
.setOfferType(OfferType.GENERIC_CODE)
.setGenericRedemptionCode("ABCD1234")
.setLongTitle("My promotion")
.setCouponValueType(CouponValueType.PERCENT_OFF)
.addPromotionDestinations(DestinationEnum.SHOPPING_ADS)
.setPercentOff(10)
// Note that promotions have a 6-month limit.
// For more information, read here: https://support.google.com/merchants/answer/2906014
// Also note that only promotions valid within the past 365 days are shown in the UI.
.setPromotionEffectiveTimePeriod(
Interval.newBuilder()
.setStartTime(Timestamp.newBuilder().setSeconds(1726842472))
.setEndTime(Timestamp.newBuilder().setSeconds(1726842473))
.build())
.build();
return Promotion.newBuilder()
.setName(String.format("accounts/%s/merchantPromotions/%s", accountId, merchantPromotionId))
.setPromotionId(merchantPromotionId)
.setContentLanguage("fr")
.setTargetCountry("CH")
.addRedemptionChannel(RedemptionChannel.ONLINE)
.setAttributes(attributes)
// Custom attributes allow you to add additional information which is not available in
// Attributes. For example, you might want to pilot experimental functionality.
.addCustomAttributes(
CustomAttribute.newBuilder()
.setName("another example name")
.setValue("another example value")
.build())
.build();
}
public static void asyncInsertPromotions(String accountId, String dataSourceId) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
// Creates a channel provider. This provider manages a pool of gRPC channels
// to enhance throughput for bulk operations. Each individual channel in the pool
// can handle up to approximately 100 concurrent requests.
//
// Channel: A single connection pathway to the service.
// Pool: A collection of multiple channels managed by this provider.
// Requests are distributed across the channels in the pool.
//
// We recommend estimating the number of concurrent requests you'll make, divide by 50 (50%
// utilization of channel capacity), and set the pool size to that number.
InstantiatingGrpcChannelProvider channelProvider =
InstantiatingGrpcChannelProvider.newBuilder().setPoolSize(30).build();
PromotionsServiceSettings merchantPromotionsServiceSettings =
PromotionsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.setTransportChannelProvider(channelProvider)
.build();
try (PromotionsServiceClient merchantPromotionsServiceClient =
PromotionsServiceClient.create(merchantPromotionsServiceSettings)) {
// Arbitrarily creates five merchant promotions with random IDs.
List<InsertPromotionRequest> requests = new ArrayList<>();
for (int i = 0; i < 5; i++) {
InsertPromotionRequest request =
InsertPromotionRequest.newBuilder()
.setParent(String.format("accounts/%s", accountId))
.setPromotion(createPromotion(accountId))
.setDataSource(String.format("accounts/%s/dataSources/%s", accountId, dataSourceId))
.build();
requests.add(request);
}
// Inserts the merchant promotions.
List<ApiFuture<Promotion>> futures =
requests.stream()
.map(
request ->
merchantPromotionsServiceClient.insertPromotionCallable().futureCall(request))
.collect(Collectors.toList());
// Creates callback to handle the responses when all are ready.
ApiFuture<List<Promotion>> responses = ApiFutures.allAsList(futures);
ApiFutures.addCallback(
responses,
new ApiFutureCallback<List<Promotion>>() {
@Override
public void onSuccess(List<Promotion> results) {
System.out.println("Inserted merchant promotions below:");
System.out.println(results);
}
@Override
public void onFailure(Throwable throwable) {
System.out.println(throwable);
}
},
MoreExecutors.directExecutor());
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
asyncInsertPromotions(config.getAccountId().toString(), "<YOUR_DATA_SOURCE_ID>");
}
}
Voici quelques exemples de promotions que vous pouvez utiliser pour commencer.
Une promotion en magasin applicable à tous les produits et tous les magasins
L'exemple de requête suivant montre comment créer une promotion en magasin qui est applicable à tous les produits de votre compte Merchant Center et à tous les magasins ajoutés dans votre compte Fiche d'établissement associé.
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert
{
"promotion": {
"promotionId": "buy_2_get_10_off",
"contentLanguage": "en",
"targetCountry": "US",
"redemptionChannel": [
"IN_STORE"
],
"attributes": {
"longTitle": "Buy 2 and get 10$ OFF purchase",
"productApplicability": "ALL_PRODUCTS",
"offerType": "NO_CODE",
"couponValueType": "BUY_M_GET_MONEY_OFF",
"promotionDisplayTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"promotionEffectiveTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"moneyOffAmount": {
"amountMicros": "1000000",
"currencyCode": "USD"
},
"minimumPurchaseQuantity": 2,
"storeApplicability": "ALL_STORES",
"promotionUrl": "http://promotionnew4url.com/",
"promotionDestinations": [
"LOCAL_INVENTORY_ADS"
],
}
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
Le champ productApplicability est obligatoire. Il indique si la promotion s'applique à tous les produits ou seulement à certains. Les valeurs acceptées sont ALL_PRODUCTS et SPECIFIC_PRODUCTS. Pour en savoir plus, consultez Choisir
des produits pour votre promotion.
Le champ couponValueType est obligatoire. Il indique le type de promotion que vous diffusez. Pour obtenir la liste des valeurs acceptées, consultez Type de valeur du coupon. Selon le type de
valeur de coupon que vous avez sélectionné, certains attributs sont
obligatoires.
Le champ minimumPurchaseQuantity vous permet de définir la valeur du nombre minimal d'articles à acheter pour bénéficier de l'offre promotionnelle. Pour en savoir plus, consultez Nombre minimal d'articles à acheter pour la promotion.
De même, vous pouvez utiliser le champ minimumPurchaseAmount pour définir le montant minimal d'achat requis pour bénéficier de la promotion. Pour en savoir plus,
consultez Montant minimal d'achat.
Pour en savoir plus sur les valeurs que vous devez fournir pour créer une promotion en magasin, consultez Spécifications de la source de données pour les promotions en magasin.
Une promotion en ligne s'appliquant à certains produits avec un code de réduction
L'exemple de requête suivant montre comment créer une promotion en ligne qui s'applique à certains produits avec un code de réduction.
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert
{
"promotion": {
"promotionId": "25_pct_off",
"contentLanguage": "en",
"targetCountry": "US",
"redemptionChannel": [
"ONLINE"
],
"attributes": {
"longTitle": "10% off on selected items",
"productApplicability": "SPECIFIC_PRODUCTS",
"offerType": "GENERIC_CODE",
"genericRedemptionCode": "SPRINGSALE",
"couponValueType": "PERCENT_OFF",
"promotionDisplayTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"promotionEffectiveTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"percentOff": 25,
"promotionDestinations": [
"FREE_LISTINGS"
],
"itemIdInclusion": [
"1499860100",
"1499860101",
"1499860102",
"1499860103",
"1499860104"
],
}
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/1000000573361824"
}
Afficher les promotions
Pour afficher une promotion, utilisez
accounts.promotions.get.
Cette requête GET est en lecture seule. Elle nécessite votre merchantId ainsi que l'identifiant de la promotion. La méthode GET renvoie la ressource de promotions correspondante.
Exemple :
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
Remplacez les éléments suivants :
- {ACCOUNT_ID} : identifiant unique de votre compte Merchant Center.
- {PROMOTION_ID} : identifiant unique de la promotion que vous souhaitez récupérer. Le format est le suivant : {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} .
Notez qu'il faut quelques minutes pour qu'une promotion nouvellement créée puisse être récupérée à l'aide de l'API.
Afficher une promotion en magasin
L'exemple de requête suivant récupère une promotion en magasin dont l'ID est in_store~en~US~buy_2_get_10_off.
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off
Une fois la requête exécutée, la réponse suivante s'affiche :
{
"name": "accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off",
"promotionId": "buy_2_get_10_off",
"contentLanguage": "en",
"targetCountry": "US",
"redemptionChannel": [
"IN_STORE"
],
"attributes": {
"longTitle": "Buy 2 and get 10$ OFF purchase",
"productApplicability": "ALL_PRODUCTS",
"offerType": "NO_CODE",
"couponValueType": "BUY_M_GET_MONEY_OFF",
"promotionDisplayTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"promotionEffectiveTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"moneyOffAmount": {
"amountMicros": "1000000",
"currencyCode": "USD"
},
"minimumPurchaseQuantity": 2,
"storeApplicability": "ALL_STORES",
"promotionUrl": "http://promotionnew4url.com/",
"promotionDestinations": [
"LOCAL_INVENTORY_ADS"
],
}
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/1000000573361824"
}
Le champ moneyOffAmount de cet exemple indique la remise sans frais dans la promotion. Pour en savoir plus, consultez Montant de la remise monétaire d'une
promotion.
Le champ promotionUrl de cet exemple fournit le lien vers le site Web du magasin où les clients peuvent trouver plus d'informations sur la promotion. Les promotions des annonces pour les produits en magasin renvoient une erreur si vous n'incluez pas le champ promotionUrl.
Afficher une promotion en ligne
L'exemple de requête suivant récupère une promotion en ligne dont l'ID est online~en~US~25_pct_off.
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off
{
"name": "accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off",
"promotionId": "25_pct_off",
"contentLanguage": "en",
"targetCountry": "US",
"redemptionChannel": [
"ONLINE"
],
"attributes": {
"longTitle": "10% off on selected items",
"productApplicability": "SPECIFIC_PRODUCTS",
"offerType": "GENERIC_CODE",
"genericRedemptionCode": "WINTERGIFT",
"couponValueType": "PERCENT_OFF",
"promotionDisplayTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"promotionEffectiveTimePeriod": {
"startTime": "2024-2-06T00:47:44Z",
"endTime": "2024-5-06T00:47:44Z"
},
"percentOff": 25,
"promotionDestinations": [
"FREE_LISTINGS"
],
"itemIdInclusion": [
"1499860100",
"1499860101",
"1499860102",
"1499860103",
"1499860104"
],
}
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{dataSource}"
}
Le champ itemIdInclusion utilisé dans cet exemple mentionne les produits éligibles à la promotion. Pour en savoir plus, consultez ID de produit pour
la promotion.
Lister les promotions
Vous pouvez utiliser la
promotions.list
méthode pour afficher toutes les promotions créées.
Voici un exemple de requête :
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/{ACCOUNT_ID}/promotions
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
La réponse contient la liste de toutes les promotions de votre compte. Pour chaque promotion, vous pouvez voir des détails tels que promotionId, redemptionChannel, dataSource, promotionStatus, etc.
Afficher l'état d'une promotion
Pour afficher l'état d'une promotion, consultez l'attribut promotionStatus renvoyé par la
promotions.get
ou
promotions.list
méthode.
Le champ promotionStatus peut présenter les valeurs suivantes :
IN_REVIEW: la promotion est toujours en cours d'examen.REJECTED: la promotion est refusée.LIVE: la promotion est approuvée et active.STOPPED: la promotion est arrêtée par le compte.EXPIRED: la promotion n'est plus active.PENDING: la promotion n'est pas arrêtée, et tous les examens sont approuvés, mais la date d'activation est ultérieure.STATE_UNSPECIFIED: état de la promotion inconnu.
Pour comprendre le processus d'approbation d'une promotion que vous avez créée, consultez Processus d'approbation des promotions.
Exemple d'état de promotion
Les exemples suivants montrent la différence entre les requêtes réussies et celles qui échouent.
Mise en correspondance de produits manquante
Le corps de réponse suivant montre une promotion en ligne qui est refusée en raison d'une mise en correspondance de produits manquante.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "REJECTED"
}
],
"itemLevelIssues": [
{
"code": "promotion_sku_unmapped",
"severity": "DISAPPROVED",
"resolution": "merchant_action",
"reportingContext": "FREE_LISTINGS",
"description": "Unmapped",
"detail": "This promotion couldn't be tested during review because it doesn't apply to any products that are currently in your Products feed",
"documentation": "https://support.google.com/merchants/answer/2906014",
"applicableCountries": [
"US"
]
},
{
"code": "promotion_sku_additional_requirements",
"severity": "DISAPPROVED",
"resolution": "merchant_action",
"reportingContext": "FREE_LISTINGS",
"description": "Promotion conditions not allowed",
"detail": "This promotion has additional requirements that are not allowed such as requiring customers to verify additional details like phone number or ID before showing the promotion details",
"documentation": "https://support.google.com/merchants/answer/2906014",
"applicableCountries": [
"US"
]
}
]
}
Pour résoudre les problèmes liés aux promotions refusées et découvrir comment éviter les refus à l'avenir, consultez Résoudre les problèmes liés aux promotions refusées.
Si une promotion que vous avez créée n'est pas approuvée, vous recevez un e-mail indiquant le motif du refus et des instructions pour résoudre les problèmes.
Promotion en cours d'évaluation
Le corps de réponse suivant montre une promotion qui est toujours en cours d'évaluation.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Une promotion approuvée et active
Le corps de réponse suivant montre une promotion visible par les clients.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Pour en savoir plus, consultez Questions fréquentes sur l'état des promotions.
Supprimer les promotions
Il n'est pas possible de supprimer une promotion à l'aide de l'API. Pour supprimer une promotion, vous devez accéder à l'interface utilisateur de Merchant Center. Pour en savoir plus, consultez Modifier une promotion ou modifier son état.
Pour mettre fin à une promotion existante, vous pouvez utiliser la
accounts.promotions.insert
pour modifier le champ attributes.promotionEffectiveTimePeriod.endTime et indiquer
une date antérieure.
En savoir plus
- Pour en savoir plus, consultez le Centre d'aide sur les promotions.
- Pour résoudre les problèmes courants, consultez Résoudre les problèmes liés à la sous-API Promotions.
- Pour savoir comment migrer depuis Content API for Shopping, consultez Migrer la gestion des promotions.