Ограничения 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:
{ "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 профиля в этом заголовке — задокументированная причина неудачных вызовов.
Источники
- Amazon Ads API v1 — спецификация OpenAPI (операции запроса,
*AdProductFilter.include:minItems: 1,maxItems: 1) - Amazon Ads API v1 — обзор
- Amazon Ads API v1 — начало работы (обязательные заголовки)
- Руководство по миграции — отчёты DSP («only use one of these headers, not both, per request»)
- База знаний Amazon Ads — воркшоп Events API, устранение неполадок (id профиля в
Amazon-Ads-AccountId)