Ограничения при работе с API Яндекс Директа

API Яндекс Директа предоставляется бесплатно, но количество и характер доступных операций, которые вы можете выполнить, зависят от различных ограничений.

В API действуют несколько типов ограничений:

Ограничения доступа
Клиенты рекламных агентств могут получить доступ к API:
  • Если агентство предоставило клиенту доступ в веб-интерфейс только на чтение, то и через API клиент сможет только получать данные.
  • Если агентство предоставило клиенту право на редактирование кампаний, то клиент сможет управлять своими кампаниями как в веб-интерфейсе, так и через API.

Агентство настраивает права доступа своих клиентов с помощью метода UpdateClientInfo, а также в веб-интерфейсе (флажок редактировать кампанию на странице редактирования настроек клиента).

Доступ к API можно ограничить по IP-адресу, что повышает информационную безопасность. Список разрешенных IP-адресов можно указать на странице Управление доступом к API Директа на вкладке Параметры.

Технические ограничения
  1. Допускается не более пяти одновременных запросов к API от лица одного пользователя.

  2. Для следующих методов накладывается ограничение на количество вызовов в течение суток:

    • CreateOrUpdateCampaign ― 100 вызовов для редактирования одной кампании и 100 вызовов для создания кампаний.
    • CreateOrUpdateBanners — 1000 вызовов на кампанию.
    • SetAutoPrice ― 100 вызовов на кампанию.
    • UpdatePrices ― 3000 вызовов на кампанию. За один вызов можно установить цены не более чем для 1000 фраз.
    • CreateNewReport и GetBannersStat ― 300 вызовов на кампанию.
    • GetSummaryStat ― 100 вызовов на кампанию.
    • GetKeywordsSuggestion ― 3000 вызовов от лица одного пользователя.
    • CreateInvoice, GetCreditLimits, PayCampaigns, TransferMoney ― 1000 вызовов от лица одного пользователя.
    • Остальные методы ― 50 000 вызовов от лица одного пользователя.
    Важно. Если достигнуто ограничение, до начала следующих суток метод доступен не чаще одного раза в 10 минут.
  3. Для следующих методов накладывается ограничение на количество входных данных:

  4. С помощью метода CreateNewSubclient рекламное агентство может зарегистрировать не более 100 клиентов в сутки.

  5. Для финансовых операций накладываются следующие ограничения:

    • До 30 финансовых операций в сутки для одной кампании, включая вызовы методов CreateInvoice, PayCampaigns и зачисление средств с помощью метода TransferMoney (списание средств с помощью метода TransferMoney не учитывается).
    • До 30 финансовых операций в сутки для одного общего счета, суммарно по операциям Deposit и Invoice метода AccountManagement (Live).
    • До 3 операций TransferMoney метода AccountManagement (Live) в сутки для одного общего счета (учитывается как зачисление, так и списание средств).
  6. Для следующих методов накладывается ограничение на количество отчетов, одновременно хранящихся на сервере:
    • CreateNewReport — не более 5 отчетов для одного пользователя.
    • CreateNewForecast ― не более 5 отчетов для одного пользователя.
    • CreateNewWordstatReport ― не более 5 отчетов для одного пользователя.
Балльные ограничения

Раз в сутки каждому пользователю API начисляются баллы. Они не накапливаются и каждый день начисляются заново. Баллы используются как средство оплаты за некоторые операции в API (см. ниже). Нехватка баллов не позволяет выполнять эти операции. Метод GetClientsUnits возвращает количество баллов, доступных пользователю.

Баллы списываются при вызове следующих методов:

  1. CreateOrUpdateBanners:

    • добавление объявления ― 12 баллов;
    • редактирование объявления ― 4 балла;
    • добавление фразы ― 2 балла;
    • редактирование фразы ― 1 балл.
  2. GetKeywordsSuggestion — 3 балла за фразу.

  3. CreateNewWordstatReport — 10 баллов за фразу.

  4. AdImage (Live) — 2 балла за загрузку изображения.
  5. AdImageAssociation (Live):
    • добавление привязки изображения к объявлению — 2 балла;

    • удаление привязки — 1 балл.

    Примечание. При добавлении/удалении привязки изображения к объявлению со статусом «Черновик» баллы не списываются.

Пользователь получает тем больше баллов, чем рациональнее использует Яндекс Директ. Нерациональное использование связано, например, с созданием объявлений, которые отклоняются на модерации, с добавлением фраз, имеющих низкий CTR. Подобная практика напрасно расходует ресурсы Яндекс Директа и потому не поощряется.

Рациональное использование Яндекс Директа связано с поиском удачных ключевых слов и текстов объявлений, повышающих CTR. Также количество баллов зависит от масштабов кампаний и затрат на рекламу. Поэтому больше баллов получают пользователи, у которых больше баланс кампаний и выше ставки.

Ограничение на получение результатов торгов

Каждому рекламодателю предоставляется индивидуальный суточный лимит вызова торгов — ограничение на количество фраз, по которым можно получить результаты торгов. Этот лимит зависит от активности рекламных кампаний — количества показов и кликов и, соответственно, расходования средств.

Если количество показов и кликов растет незначительно или на кампаниях осталось мало средств, то частые запросы результатов торгах являются нерациональной нагрузкой на серверы Директа. Поэтому для расчета суточного лимита используется сетка бюджетных порогов, разработанная с учетом статистики кампаний разных типов и тематик.

Суточный лимит разделен на 24 часовых интервала и предоставляется по принципу скользящего окна. В текущем часовом интервале рекламодатель может потратить суточный лимит минус количество фраз, по которым были запрошены результаты торгов за предыдущие 23 интервала.

Время начала часового интервала может различаться для разных рекламодателей и не совпадать с началом астрономического часа.

Пример

Предположим, для рекламодателя суточный лимит запросов в торги составляет 1,5 млн. фраз, а интервалы начинаются в 00:18, 01:18, 02:18 и т. д.

Если с 12:18 предыдущего дня до 11:18 текущего дня рекламодатель получил результаты торгов по 1,4 млн. фраз, то с 11:18 до 12:18 он может получить результаты торгов по 100 тыс. фраз. В 12:18 остаток лимита снова перерассчитывается.

Получением результатов торгов являются следующие запросы к API:

  • вызов метода GetBanners или GetBanners (Live), если во входном параметре GetPhrases указано значение WithPrices;

  • вызов метода GetBannerPhrasesFilter, если параметр RequestPrices не задан или задано значение No;

  • вызов метода GetBannerPhrasesFilter (Live), если параметр FieldNames не задан или в массиве присутствует хотя бы одно из значений Prices, Max, Min, PremiumMax, PremiumMin, LowCTR, ContextLowCTR, Shows, Clicks, ContextShows, ContextClicks, CurrentOnSearch, LowCTRWarning, MinPrice, ContextCoverage, Coverage, AuctionBids.

  • вызов метода GetBannerPhrases или GetBannerPhrases (Live).

В перечисленных случаях ответ метода содержит HTTP-заголовок GetPhrasesLimit, в котором указано:

  • количество фраз, по которым получены результаты торгов при вызове метода;

  • доступный остаток суточного лимита;

  • суточный лимит;

  • количество секунд до начала следующего часового интервала.

Пример:
GetPhrasesLimit: 1/23553853/23553900/1922 secs

Если у вас остались вопросы, свяжитесь с нами через форму ниже. Чтобы получить исчерпывающую информацию, пожалуйста, сформулируйте ваш вопрос и опишите ситуацию максимально подробно.

Для вопросов, связанных с ограничениями по конкретным методам API Яндекс Директа, обязательно укажите следующие данные:

  • Логин пользователя, от имени которого выполняются запросы к API Яндекс Директа.
  • Полный JSON или XML-код запроса к серверу API.
  • Полный JSON или XML-код ответа от сервера API.
  • Точное время запроса (MSK).