Skip to content

Ограничения API ​

Обновлено

Два правила Amazon Ads API v1: один рекламный продукт в фильтре запроса и один заголовок идентичности на запрос.

Как это описывает Amazon

Каждое утверждение на этой странице пересказывает публичную документацию Amazon и опубликованную спецификацию OpenAPI Amazon Ads API v1 из раздела Источники.

Коротко ​

  • adProductFilter.include принимает ровно один рекламный продукт; чтобы прочитать несколько рекламных продуктов, нужен отдельный запрос на каждый.
  • Запрос несёт Amazon-Advertising-API-Scope или Amazon-Ads-AccountId, но не оба.
  • В Amazon-Ads-AccountId передаётся account id, а не id профиля.

adProductFilter.include принимает ровно один рекламный продукт ​

Операции запроса v1 требуют adProductFilter в теле запроса:

  • POST /adsApi/v1/query/campaigns
  • /adGroups
  • /ads
  • /targets
  • /adExtensions

Его массив include объявлен в опубликованной спецификации OpenAPI с minItems: 1 и maxItems: 1:

json
{ "adProductFilter": { "include": ["SPONSORED_PRODUCTS"] } }
  • include называет одно значение перечисления AdProduct: SPONSORED_PRODUCTS, SPONSORED_BRANDS, SPONSORED_DISPLAY, SPONSORED_TELEVISION или AMAZON_DSP.
  • Лимиты размера пакета у этих операций свои для каждого рекламного продукта.

Один продукт на запрос

Запрос с двумя и более рекламными продуктами нарушает схему и отклоняется. Чтобы прочитать несколько рекламных продуктов, нужен отдельный запрос на каждый.

Один заголовок идентичности на запрос: Amazon-Advertising-API-Scope или Amazon-Ads-AccountId ​

Каждый запрос v1 несёт Amazon-Ads-ClientId и Authorization. Сверх них Amazon определяет два разных заголовка идентичности для двух разных областей:

  • Amazon-Advertising-API-Scope — несёт id профиля: один рекламодатель в одном маркетплейсе. Обязателен для большинства запросов спонсорской рекламы.
  • Amazon-Ads-AccountId — несёт id рекламного аккаунта. Обязателен для запросов Amazon DSP и межпродуктовых запросов.

Это альтернативы, а не пара:

  • Запрос спонсорской рекламы в пределах одного маркетплейса отправляется только с Amazon-Advertising-API-Scope.
  • Amazon-Ads-AccountId предназначен для запросов, которые обращаются к аккаунту поверх продуктов или маркетплейсов.

Никогда оба заголовка

Руководство Amazon по миграции отчётов говорит об этих двух заголовках прямо: «You should only use one of these headers, not both, per request» — в запросе используется только один из них, не оба.

Значение Amazon-Ads-AccountId — это account id, а не id профиля; id профиля в этом заголовке — задокументированная причина неудачных вызовов.

Источники ​