Используйте акции, чтобы демонстрировать специальные предложения на товары, которые вы продаёте в Google. Акции отображаются в различных сервисах Google, включая Поиск, Покупки и Chrome. Для одобрения акции должны соответствовать определённым критериям. Подробнее см. в разделе «Критерии акций» .
Когда вы добавляете акцию на свои товары, покупатели видят ссылку на специальное предложение. Например, «Скидка 15%» или «Бесплатная доставка». Ссылки на специальные предложения могут повысить привлекательность ваших товаров и побудить покупателей совершить покупку. Все акции применяются при оформлении заказа или в точке продажи.
Более подробную информацию см. в разделе Основы продвижения .
Предпосылки
Google требует от вас предоставить конкретную информацию о вашей компании и продуктах, прежде чем демонстрировать ваши рекламные акции. Необходимо следующее:
- Активный фид товаров в Google Merchant Center .
- Активная лента акций в Google Merchant Center .
- Аккаунт Google Ads для торговых кампаний .
Кроме того, вам необходимо зарегистрировать свой аккаунт Merchant Center в программе «Промоакции». Если вы не уверены, зарегистрированы ли вы уже, проверьте Merchant Center .
Если вы ещё не зарегистрированы, заполните форму заявки . Команда по продвижению сообщит вам, когда вы будете готовы начать внедрение.
Более подробную информацию см. в разделе Критерии и правила участия .
Создать источник данных
Вы можете создать источник данных по акциям с помощью метода accounts.dataSources.create . Если доступен существующий источник данных по акциям, используйте метод accounts.dataSources.list
для извлечения всех источников данных. Затем вы можете использовать поле name
источника данных по акциям для создания акций .
Следующий запрос показывает, как создать источник данных для добавления акций:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
Заменить следующее:
- {ACCOUNT_ID} : уникальный идентификатор вашей учетной записи, отображаемый в пользовательском интерфейсе Merchant Center.
- {DISPLAY_NAME} : отображаемое имя источника данных.
- {CONTENT_LANGUAGE} : двухбуквенный код языка ISO 639-1 продуктов в источнике данных.
- {TARGET_COUNTRY} : код территории CLDR целевой страны, в которой вы хотите видеть рекламные акции.
После успешного выполнения запроса вы увидите следующий ответ, содержащий сведения о недавно созданном источнике данных по акциям:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
Создавайте акции
Метод accounts.promotions.insert
используется для создания или обновления промоакции. Метод accounts.promotions.insert
принимает в качестве входных данных ресурс promotions
и имя источника данных. В случае успешного выполнения он возвращает новую или обновлённую промоакцию.
Для создания рекламной акции необходимо указать название источника данных . Также необходимо указать значения для следующих полей в запросе:
-
contentLanguage
-
redemptionChannel
-
promotionId
-
targetCountry
-
attributes.offerType
-
attributes.genericRedemptionCode
-
attributes.couponValueType
-
attributes.productApplicability
-
attributes.promotionEffectiveTimePeriod.endTime
-
attributes.promotionEffectiveTimePeriod.startTime
-
attributes.longTitle
Google проверяет и одобряет ваши рекламные акции перед их распространением. Подробнее см. в разделе «Процесс утверждения рекламных акций» .
Мы рекомендуем вам ознакомиться с политикой в отношении рекламных акций , чтобы убедиться, что создаваемые вами акции имеют ценность и соответствуют политике в отношении товарных объявлений.
Следующий запрос демонстрирует, как создать онлайн-акцию:
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
Информацию о правилах, применяемых к настройке идентификатора рекламной акции, см. в разделе Минимальные требования к атрибуту идентификатора рекламной акции .
Допустимые значения обязательного поля offerType
: NO_CODE
и GENERIC_CODE
. Если вы не укажете одно из этих значений, запрос API завершится ошибкой HTTP 400 [offer_type] validation/missing_required: Invalid or missing required attribute: offer_type
. Аналогичное сообщение об ошибке возвращается, если вы не укажете ни одно из обязательных полей.
Если вы не укажете значение для поля attributes.genericRedemptionCode
, запрос завершится ошибкой HTTP 400 с ответом [genericRedemptionCode] No redemption code provided
.
Значения полей promotion.attributes.promotionDisplayTimePeriod.startTime
и promotion.attributes.promotionDisplayTimePeriod.endTime
должны быть в формате yyyy-mm-ddThh:mm:ssZ
. Обязательно замените значения этих полей на даты в будущем.
Более подробную информацию см. в разделе «Спецификация данных по рекламным акциям» .
Лучшие практики по созданию рекламных акций см. в разделе Лучшие практики по созданию рекламных акций .
Список атрибутов, связанных с акциями, см. в разделе Добавление атрибутов структурированных данных .
После успешного выполнения запроса на создание рекламной акции может потребоваться несколько минут, чтобы ее можно было получить с помощью API или чтобы она появилась в Merchant Center.
Вот пример, который можно использовать для асинхронной вставки нескольких рекламных акций:
Ява
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.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();
PromotionsServiceSettings merchantPromotionsServiceSettings =
PromotionsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.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>");
}
}
Ниже приведены некоторые примеры акций, которые вы можете использовать для начала.
Местная акция, действующая на все товары и во всех магазинах.
В следующем примере запроса показано, как создать локальную акцию, которая будет применяться ко всем товарам в вашей учетной записи Merchant Center и ко всем магазинам, добавленным в связанную учетную запись профиля вашей компании .
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}"
}
Поле productApplicability
обязательно для заполнения. Оно указывает, применима ли акция ко всем товарам или только к определённым. Поддерживаемые значения: ALL_PRODUCTS
и SPECIFIC_PRODUCTS
. Подробнее см. в разделе «Выбор товаров для акции» .
Поле couponValueType
является обязательным. Оно указывает тип проводимой вами акции. Список поддерживаемых значений см. в разделе «Тип купона» . В зависимости от выбранного типа купона некоторые атрибуты могут быть обязательными .
Поле minimumPurchaseQuantity
позволяет установить минимальное количество покупок, необходимое для использования промоакции. Подробнее см. в разделе «Минимальное количество покупок по промоакции» .
Аналогичным образом, вы можете использовать поле minimumPurchaseAmount
, чтобы установить минимальную сумму покупки, необходимую для использования промокода. Подробнее см. в разделе «Минимальная сумма покупки» .
Дополнительную информацию о значениях, которые необходимо указать для создания локальной акции, см. в разделе Характеристики источников данных для локальных акций .
Онлайн-акция, действующая на выбранные товары с кодом погашения
В следующем примере запроса показано, как создать онлайн-акцию, которая распространяется на выбранные товары с кодом погашения.
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"
}
Посмотреть акции
Чтобы просмотреть информацию об акции, используйте accounts.promotions.get
. Этот GET
запрос доступен только для чтения. Для него требуются ваш merchantId
и идентификатор акции. Метод GET
возвращает соответствующий ресурс с акциями.
Например:
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
Заменить следующее:
- {ACCOUNT_ID} : уникальный идентификатор вашей учетной записи Merchant Center.
- {PROMOTION_ID} : уникальный идентификатор рекламной акции, которую вы хотите получить. Формат: {CHANNEL} ~ {CONTENT_LANGUAGE} ~ {TARGET_COUNTRY} ~ {PROMOTION_ID} .
Обратите внимание, что для того, чтобы вновь созданная акция стала доступной через API, потребуется несколько минут.
Посмотреть местную акцию
Следующий пример запроса извлекает локальную акцию с идентификатором акции 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
После успешного запроса вы увидите следующий ответ:
{
"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"
}
Поле moneyOffAmount
в этом примере отображает скидку, предлагаемую в рамках акции. Подробнее см. в разделе «Размер денежной скидки по акции» .
Поле promotionUrl
в этом примере содержит ссылку на сайт магазина, где покупатели могут найти дополнительную информацию об акции. Реклама местного ассортимента возвращает ошибку, если поле promotionUrl
не указано.
Посмотреть онлайн-акцию
Следующий пример запроса извлекает онлайн-акцию с идентификатором акции 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}"
}
Поле itemIdInclusion
, используемое в этом примере, содержит список товаров, участвующих в акции. Подробнее см. в разделе «ID товара для акции» .
Список акций
Для просмотра всех созданных акций можно использовать метод promotions.list
.
Вот пример запроса:
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
Ответ содержит список всех акций в вашем аккаунте. Для каждой акции вы можете увидеть такие данные, как promotionId
, redemptionChannel
, dataSource
, promotionStatus
и другие.
Просмотреть статус акции
Чтобы узнать статус рекламной акции, просмотрите атрибут promotionStatus
, возвращаемый методом promotions.get
или promotions.list
.
Поле promotionStatus
может иметь следующие значения:
-
IN_REVIEW
: Акция все еще находится на рассмотрении. -
REJECTED
: Акция отклонена. -
LIVE
: Акция одобрена и активна. -
STOPPED
: Акция остановлена аккаунтом. -
EXPIRED
: Акция больше не активна. -
PENDING
: Акция не остановлена, и все отзывы одобрены, но дата начала действия еще не наступила. -
STATE_UNSPECIFIED
: Неизвестное состояние продвижения.
Чтобы понять процесс утверждения созданной вами рекламной акции, ознакомьтесь с разделом Процесс утверждения рекламной акции .
Пример статуса продвижения
Следующие примеры демонстрируют разницу между успешными и неудачными запросами.
Отсутствует сопоставление продуктов
В тексте ответа ниже показана онлайн-реклама, которая была отклонена из-за отсутствия сопоставления продуктов.
"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"
]
}
]
}
Информацию об устранении неполадок с отклоненными акциями и о том, как избежать отклонений в будущем, см. в разделе Исправление проблем с отклоненными акциями .
Если созданная вами акция не будет одобрена, вы получите электронное письмо с указанием причины отклонения и инструкциями по устранению проблем.
Продвижение в стадии оценки
В тексте ответа ниже показано повышение, оценка которого еще не завершена.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Одобренная и действующая акция
В тексте ответа ниже показана акция, которую увидят покупатели.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Более подробную информацию см. в разделе Часто задаваемые вопросы о статусе акции .
Удалить акции
Удалить акцию через API невозможно. Для этого вам потребуется доступ к интерфейсу Merchant Center. Подробнее см. в разделе «Изменение акции или изменение статуса акции» .
Чтобы завершить существующую акцию, можно использовать метод accounts.promotions.insert для обновления поля attributes.promotionEffectiveTimePeriod.endTime
до момента в прошлом.
Узнать больше
- Более подробную информацию можно найти в Справочном центре по акциям .
- Для устранения распространенных проблем см. раздел Устранение неполадок, связанных с под-API Promotions .
- Информацию о переходе с Content API for Shopping см. в разделе Перенос управления акциями .