53 ошибка яндекс директ 53 ошибка авторизации

This section lists codes and descriptions of errors and warnings in response messages from the Yandex Direct API version 5.

  1. Errors
  2. Warnings
Error code Message Comments and possible reasons
Server errors
52 Authorization server temporarily unavailable The Yandex.Direct API server is temporarily unable to get information from the Yandex.OAuth service. Try calling the method again later.
1000 Server temporarily unavailable Internal error on the Yandex.Direct API server. Try calling the method again later. If the error persists, contact the support service.
1001 Service initialization error
1002 Operation error
1003 Couldn’t create a Yandex user account An error occurred when creating the account. Try calling the method again later.
1004 Couldn’t create client An error occurred when creating a client in Yandex.Direct. Try calling the method again later. Use a different username to repeat the request.
1020 Internal server error The list of available currencies isn’t defined. Contact the support service.
Authentication error
53 Authorization error

Invalid OAuth token. The reasons why a token becomes invalid are listed in the Revoking tokens section in the Yandex OAuth guide.

Incomplete app registration
58 Incomplete registration You must submit a request for API access and wait for it to be approved.
Permission errors
54 No rights
  • The username specified in the request belongs to an advertiser that is not a client of the agency performing the request.

  • The user who a write/edit request is being made on behalf of only has read rights.

  • The advertiser’s account must be switched to a currency.

  • The request to the AgencyClients service specifies an access token that was obtained for an advertiser’s representative.

513 Your username is not enabled in Yandex Direct The request is on behalf of a user who doesn’t have a Yandex.Direct account. To register an account, create an advertising campaign in this user’s name in the web interface. See also Access and authorization.
3000 No API access
  • The request is on behalf of a user who doesn’t have API access.

  • API access is closed when campaigns are being converted to a currency.

  • The user didn’t allow API access from this IP address. See the section Restricting access by IP address.

3001 No access to the method

Access to the AgencyClients.add method is granted on request.

Restrictions, points
152 Not enough Yandex units
506 Exceeded limit on number of connections You have reached the maximum number of simultaneous connections to the Yandex.Direct server.
Unsupported fields, objects, and operations
3500 Not supported Attempt to add bid adjustment is not compatible with the campaign type.
3600 Limited functionality Attempt to use the PAY_FOR_CONVERSION or PAY_FOR_CONVERSION_PER_CAMPAIGN strategy.
Invalid request parameters
4000 Invalid request parameters
  • The passed parameters for a campaign, group, or ad aren’t appropriate for the type of the campaign, group, or ad.

  • Display strategy parameters are set incorrectly: the structure with parameters for the selected strategy is omitted, or the structure specified has parameters for a different strategy.

  • Invalid date format (for example, in the Timestamp parameter).

  • Invalid time zone.

  • To optimize conversions for priority goals, specify at least one priority goal other than engaged sessions.

  • To use product categories, you must specify the feed ID.

4001 Invalid SelectionCriteria filter parameters
  • Exceeded the number of IDs in the array.

  • SelectionCriteria must have at least one parameter from the set (for example, Ids, AdGroupIds and CampaignIds).

4002 Invalid page settings Invalid value for the Limit or Offset parameter.
4003 All required parameters were omitted The request must contain at least one parameter from the set, but none of them were specified.
4004 More than one parameter was passed Mutually exclusive parameters were specified. Only one of them can be present in the request.
4005 A single type of Id must be used within a request Bids are set with IDs of heterogeneous objects (for example, one Bids structure has CampaignId, but the other structure has AdGroupId).
4006 Incompatible operations are entered in the same request To edit ad callouts, either use the ADD and REMOVE operations, or use the SET operation.
Invalid field value
5000 Required field A required field is empty, or the value consists of spaces.
5001 Exceeded allowed length
  • Exceeded the maximum length for the field value.

  • Exceeded total length of sitelink texts.

5002 Forbidden symbols used
  • There is an unallowed character in a keyword, negative keyword, or sitelink.

  • Invalid use of operators in a keyword, such as the “!” character separated from other characters.

5003 Empty value specified There is an empty string, for example, in the Href parameter in an ad.
5004 Invalid format

Incorrect value for an object field, such as:

  • In the VCards.add method:

    • Invalid instant messaging ID in the MessengerLogin parameter.

    • Invalid email address in the ContactEmail parameter.

    • Invalid business hours in the WorkTime parameter.

    • Invalid phone number in the Phone structure.

  • In the AdGroups service: empty group name.

  • In the AdImages service: the type or size of the image file doesn’t meet the requirements.

5005 Field set incorrectly

Incorrect value for an object field, such as:

  • The object ID isn’t a positive integer.

  • In the VCards.add method:

    • Unsupported instant messaging system in the MessengerClient parameter.

    • Omitted the country code, city code, or phone number in the Phone structure.

    • Subway station in the MetroStationId parameter is invalid or incompatible with the city.

  • In the AgencyClients.add method:

    • An invalid currency is specified for the client. Currencies available to the agency for registering clients are listed in the output parameter for the GetClientInfo (Live) method of the API version Live 4.

    • A prohibited site or an invalid campaign type is specified for the client.

  • In the Clients.add method, a prohibited site or an invalid campaign type is specified.

  • In the Sitelinks service, the protocol in the link is not HTTP or HTTPS.

  • In the Ads service, the AdImageHash field has an invalid image link, or links to a non-existant image.

  • In the AdGroups service, the RegionIds array is empty.

  • In the Bids service, the bid value or ContextCoverage is outside of the allowed range.

  • In the Keywords.update method, an attempt to disable all the autotargeting categories.

5006 Invalid use of field
  • In the Campaigns service:

    • The selected strategy isn’t appropriate for the campaign type. See Display strategies.

    • Invalid domain or IP address.

  • In the Ads service:

    • The ad title or text has a word that is too long.

    • Punctuation is used incorrectly in the title or text (a space before a comma).

    • The main link duplicates a sitelink.

  • In the Sitelinks service: a sitelink duplicates the main ad link.

5007 Duplicated element Sitelink texts are duplicates, or they link to the same webpage.
5008 All required fields were omitted The object must have at least one field specified from the set, but none of them are specified.
5009 More than one field was passed The object has mutually exclusive fields specified.
5100 Incorrect template use Incorrect use of templates (##) in the ad title and text.
5120 Geotargeting set incorrectly
  • The specified region ID does not exist.

  • A region is repeated multiple times.

  • Only negative regions are specified.

  • A negative region was specified that matches a display region.

  • A negative region was specified that is not contained in any of the display regions.

5140 Keyword contains too many words Exceeded the number of words in a keyword.
5141 Incorrect use of stop words A keyword consists exclusively of stop words.
5142 Exceeded the maximum word length in a keyword
5160 Negative keyword can’t be a phrase Attempt to use a negative keyword with a space in it.
5161 Incorrect use of negative keywords
  • A keyword consists exclusively of negative keywords.

  • A negative keyword contains a dot (and is not a decimal number).

  • A negative keyword begins with an apostrophe or ends in an apostrophe.

  • Invalid combination of special symbols in a keyword.

  • A phrase in quotation marks can’t consist of negative keywords.

  • You may not specify a negative keyword contained in the original keyword.

  • The total length of keywords exceeds the maximum allowed value.

5162 Exceed the maximum length of a negative keyword
5181 You cannot change the advertised application
5200 Login already in use Attempt to create a client with a login name that is already used by another Yandex account.
Inconsistent object
6000 Inconsistent object state
  • The type of ad group doesn’t correspond to the type of campaign, or the type of ad doesn’t correspond to the type of group.

  • Attempt to delete a vCard that is used in an ad.

  • Attempt to delete a set of sitelinks that are used in an ad.

  • An ad specifies a set of sitelinks, but does not specify the main link.

  • An ad doesn’t specify a vCard or a main link.

  • Attempt to change the age label when there isn’t an age label assigned, or an attempt to set an age label that doesn’t correspond to the ad category.

  • Attempt to grant an agency client permission to manage campaigns using files but this client doesn’t have permission to edit campaigns.

  • Attempt to create a group of display ads with a target based on a user profile that also has negative keywords.

6001 Wrong object type specified
  • Attempt to add a keyword to a group of dynamic ads.

  • Attempt to add autotargeting categories to an unsupported ad group.

6100 The display region doesn’t match the ad text (title, text, sitelinks) When trying to change the display region in a group, the ad language was not appropriate for the new region (for example, the ad has Kazakh letters, but geotargeting is being changed to Russia)
6101 Language doesn’t match geotargeting When adding or modifying ads, display region compatibility was violated (for example, an ad was created in Ukrainian but geotargeting is set to Russia)
Object restrictions
7000 Number of allowed elements exceeded or equal to zero
  • Number of sitelinks less than 1 or more than 4

  • Attempt to add more than one audience target to a group of display ads.

7001 Reached the maximum number of objects
  • Reached the maximum number of ad groups in a campaign

  • Reached the maximum number of ads in a group

  • Reached the maximum number of keywords in an ad group

7002 This tracking system domain isn’t supported
Request parsing errors
55 Operation not found Invalid value specified for the method key in a JSON request.
8000 Invalid request
  • OAuth token omitted.

  • The OAuth token has an invalid format (for example, it contains forbidden characters).

  • The advertiser’s username was not specified in a request from an agency.

  • Required parameter omitted.

  • Unknown parameter included.

  • Incorrect parameter type, for example:

    • String instead of number.

    • Single value instead of array.

    • If the parameter has a fixed set of values (an example is FieldNames), a value outside of this set generates an error.

  • Invalid JSON.

  • Omitted the method key in a JSON request.

  • Omitted the SOAPAction header or the body of a SOAP request.

Can’t perform operation
8300 Invalid object status
  • Attempt to perform an operation with an ad, ad group, or vCard in an archived or deleted campaign.

  • Attempt to submit an ad for review that is not a draft, or is in a group that does not contain display conditions, or is archived.

  • Attempt to delete an ad that is forbidden to delete (for example, the ad has been displayed).

  • Attempt to suspend or resume a draft ad or an archived ad.

  • Attempt to archive an active ad or a draft ad.

8301 Can’t delete object
  • Attempt to delete an ad group containing ads or targeting criteria (keywords, audience targets, or dynamic text ad targets).

  • Attempt to delete the only active keyword in a group (if there are no audience targets).

  • Attempt to delete a campaign that can’t be deleted (for example, the campaign has funds on it or has an unpaid invoice).

8302 Displays can’t be suspended Attempt to suspend the only active keyword in a group (if there are no audience targets).
8303 Object can’t be archived
  • Attempt to archive a campaign that has funds.

  • Attempt to archive a campaign that hasn’t been suspended.

  • Attempt to archive a campaign when the shared account has insufficient funds.

8304 Object can’t be unarchived
  • Attempt to unarchive a campaign from the special archive (the CONVERTED state)

  • Attempt to unarchive a campaign that exceeds the limit on the number of active campaigns

8305 Can’t perform action Attempt to change the daily budget amount more than 3 times during the same day.
8312 Can’t build a report in online mode A report with the specified parameters can only be generated in offline mode. Change processingMode in the HTTP request header. See the section Online and offline reports.
8600 Error enabling the shared account
Object not found
8800 Object not found
  • The Client-Login header specifies a non-existing username or a username for an advertiser that doesn’t belong to this agency.

  • Specified the ID of an object that is non-existing, deleted, or does not belong to the user (a campaign, group, ad, vCard, or keyword).

Limits on the number of objects in operations in a single request
9300 Exceeded the limit on the number of objects in operations in a single request Exceeded the maximum number of objects in the method’s input array
9301 Selection condition is too broad Exceeded the maximum number of selected adjustments. The total of the Limit and Offset values must not exceed 120,000.
Dependency of bids on strategies
9600 The field does not correspond to the set strategy The request does not have a field that is required in certain conditions (for example, Bid in the Bids.Set method for manual display strategies).
9601 Bid can’t be changed
  • An automatic strategy is set in the campaign.

  • Changing bids in ad networks is not allowed, because displays in ad networks are disabled.

  • Changing bids in ad networks is not allowed, because the bid in ad networks depends on the bid in search results for the selected strategy.

  • Changing bids for the search is not allowed, because displays are disabled in search results.

Duplicated objects
9800 An object can’t be in the request more than once A single call of the update, set, or delete method contains multiple objects with the same ID
9801 An object with the specified characteristics already exists Attempt to add an adjustment that already exists (for example, repeatedly adding a mobile adjustment or an adjustment for the same target audience).
9802 An item can’t be in the list more than once
  • In the Campaigns service: a duplicate value in the BlockedIps, CounterIds, or NegativeKeywords array, or repeated days in the Schedule array.

  • In the AdGroups service: a duplicate value in the TargetDeviceType array.

  • In the Ads service: a duplicate value in the callouts array.

Warning code Message
10000 The object is in the request more than once
10020 The object is already suspended.
10021 The object is not suspended.
10022 The object is already archived.
10025 The object is already marked as deleted
10100 The specified vCard duplicates a previously created vCard
10120 The specified set of sitelinks duplicates a previously created set
10140 Keyword already exists
10141 New keyword created as the result of updating
10160 Bid won’t be applied
10161 Priority won’t be applied
10163 Setting won’t be changed
10165 Parameter won’t be applied
10200 Ad already paused
10201 Ad not paused
10202 Ad already archived
10203 Ad not archived
10240 Keyword already stopped
10241 Keyword not stopped
10242 Dynamic text ad target is already stopped
10243 Dynamic text ad target is not stopped

API Яндекс.Директа – это интерфейс рекламной системы для разработчиков программ. Он позволяет автоматизировать работу с Яндекс.Директ и использовать все его функции – от получения статистики до создания рекламных кампаний с нуля. И всё абсолютно бесплатно.

Результат работы с API – ваше приложение по управлению контекстной рекламой в Яндекс.Директ с собственными настройками и алгоритмами. Кстати, для этого совсем не обязательно быть профи в программировании – достаточно базовых знаний PHP или Python.

Как всё это применять и что нужно, чтобы начать работу – смотрите в этой статье.

Для чего нужен API Яндекс.Директ

API Директа дает возможность разрабатывать и внедрять алгоритмы для управления рекламными кампаниями под ваши нужды. Это пригодится как агентствам, так и крупным рекламодателям, которые запускают и ведут масштабные кампании. Их деятельность предполагает множество рутинных действий, например:

  • Массовое создание и редактирование кампаний, объявлений и ключевых фраз;
  • Управление ставками;
  • Получение статистики по показам и кликам;
  • Прогноз бюджета.

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

Вы разрабатываете что-то наподобие Директ Коммандера. Эта программа – готовое решение Яндекса на основе API Яндекс.Директа. Как её применять, смотрите руководство по старой и новой версиям.

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

Структура API

По сути API Директа – это набор сервисов, каждый из которых привязан к конкретному классу объектов и имеет отдельный URL. Объекты API взаимосвязаны между собой, как показано на скриншоте:

API Яндекс.Директ – структура API

Изображение из руководства Яндекса для разработчиков

Сервисы верхнего уровня – Campaign и AdGroup. Первый содержит настройки рекламной кампании, второй нужен для работы с группами объявлений.

На следующем уровне – сервисы Ad (параметры объявления), Keyword (ключевые фразы), Audience Target (условия нацеливания на аудиторию) и DynamicTextAdTarget (условия нацеливания для динамических объявлений).

Далее идут сервисы для работы с элементами объявления: AdImage (изображениями), VCard (виртуальной визиткой), SitelinksSet (блоком быстрых ссылок), AdExtension (расширением к объявлению).

Для управления условиями ретаргетинга и подбора аудитории есть специальный сервис – RetargetingList.

У каждого сервиса свой набор методов для выполнения операций с его объектами. Основные методы, которые доступны для всех объектов – это добавление (add), изменение параметров (update), удаление (delete) и получение параметров (get).

Есть также специфические методы, которые поддерживают определенные объекты. Например, отправление объявлений на модерацию (moderate) – метод для сервиса Ads. Весь список доступных методов по областям применения смотрите в документации API.

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

Шаг 1: создание и регистрация приложения на Яндекс.OAuth

Авторизуйтесь в Яндекс.Директе. Используйте для этого аккаунт разработчика – именно от этого имени ваше приложение будет выполнять запросы и управлять данными.

Перейдите по ссылке oauth.yandex.ru. Нажмите кнопку «Зарегистрировать новое приложение»:

API Яндекс.Директ – переход к регистрации нового приложения

В правой части страницы – ссылки на справочные материалы для разработчиков.

Далее вы попадаете на форму «Создание приложения», где нужно указать все его необходимые параметры:

API Яндекс.Директ – форма создания приложения

Обязательные опции помечены звездочкой, это «Название» и «Доступы». Но чем больше информации о приложении вы укажете, тем более прозрачно оно будет для пользователей. Они будут знать, какой именно программе разрешают доступ к своему аккаунту.

В блоке «Платформы» отметьте галочкой «Веб-сервисы»:

API Яндекс.Директ – платформы для приложения

Появится поле адреса. В нем вы указываете, куда направлять пользователя после того, как он разрешил или отказал приложению в доступе. Адресов Callback URI может быть несколько, например, для тестового и боевого режима.

На этапе создания приложения нажмите ссылку «Подставить URL для разработки».

API Яндекс.Директ – адрес перенаправления пользователя

В поле появится тестовый адрес, который позволит получать отладочные токены вручную. Они нужны для проверки работы приложения, подробнее об этом далее в статье.

В блоке «Доступы» выберите «Яндекс.Директ» и отметьте «Использование API Яндекс.Директа»:

API Яндекс.Директ – выбор доступа

Завершите создание приложения:

API Яндекс.Директ – завершение регистрации

На этом регистрация закончена. При этом OAuth-сервер Яндекса сразу же генерирует и показывает на странице идентификатор и пароль приложения.

API Яндекс.Директ – идентификатор и пароль приложения

Они понадобятся вам далее.

Шаг 2: создание заявки на доступ

В аккаунте Яндекс.Директа долистайте до нижнего меню и перейдите по ссылке «API»:

API Яндекс.Директ – переход к настройкам API

Далее нажмите «Получить доступ к API»:

API Яндекс.Директ – ссылка на получение доступа к API

Вы попадете на страницу настроек API. Чтобы она была доступна, нужно выполнить формальное требование: в интерфейсе Яндекс.Директа должна быть минимум одна рекламная кампания с одним объявлением и одной ключевой фразой.

При первом входе нужно принять пользовательское соглашение:

API Яндекс.Директ – пользовательское соглашение

На странице «Настройки API» перейдите на вкладку «Мои заявки», чтобы создать и отправить заявку на доступ к API. Нажмите кнопку «Новая заявка» и выберите её тип.

API Яндекс.Директ – кнопка для создания заявки

Тестовый доступ – это ограниченный доступ к API, то есть только к Песочнице – тестовой среде для отладки приложений. Она имитирует работающие рекламные кампании, их достаточно для того, чтобы протестировать и отладить приложение. Полный доступ (боевой) дает возможность управлять реальными рекламными кампаниями клиентов.

Так как приложение еще не разработано, создайте заявку на тестовый доступ. Для этого:

1) Из выпадающего списка выберите идентификатор, который получили после регистрации приложения на OAuth-сервере:

API Яндекс.Директ – создание заявки на доступ

2) Укажите email для связи со службой поддержки;

3) Заполните остальные данные о приложении по максимуму – укажите, для чего оно предназначено, его основные функции и возможности и т.д.:

API Яндекс.Директ – параметры приложения в заявке

4) Подтвердите согласие с пользовательским соглашением и отправьте заявку.

API Яндекс.Директ – согласие с правилами разработки

Статус заявки отслеживайте здесь же – на вкладке «Мои заявки» в настройках. Дождитесь её одобрения – это может занять до 7 дней. Только после этого можно начинать разрабатывать приложение. В случае отклонения – узнайте причины и исправьте ошибки.

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

На вкладке «Мои приложения» можно увидеть, какие приложения уже имеют доступ к аккаунту Яндекс.Директ через API. В том числе, если вы использовали Директ.Коммандер, он появится в этом списке:

API Яндекс.Директ – список приложений, у которых есть доступ к аккаунту

Шаг 3: создание тестового пользователя и тестовых данных для него

1) Зарегистрируйте аккаунт тестового пользователя в Яндекс.Директе;

2) Создайте от его имени рекламную кампанию в интерфейсе Яндекс.Директа – достаточно одного объявления с одним ключевиком, чтобы получить доступ к API;

3) В разделе API интерфейса Директа нажмите ссылку «Получить доступ к API» и примите пользовательское соглашение;

4) Включите песочницу – среду для отладки приложения, где можно управлять тестовыми кампаниями без реальных показов и внесения средств.

Для этого откройте вкладку «Песочница» на странице настроек API и начните ею пользоваться:

API Яндекс.Директ – использование песочницы

В следующем окне задайте параметры песочницы:

API Яндекс.Директ – настройки песочницы

Поставьте галочку «Создать тестовые кампании». Если вы выбрали роль «Клиент» создаются три кампании. Для роли «Агентство» – 3 клиента с 3 кампаниями, их логины формируются автоматически. На одну кампанию каждого клиента зачисляется некоторая сумма.

Включение флажка «Общий счет» создает клиента с подключенным общим счетом. Для агентства опция недоступна.

Нажмите «Продолжить», чтобы начать управлять песочницей.

Внимание! Если сменить параметры, все данные удаляются. Нужно создавать песочницу заново.

5) От имени тестового пользователя получите отладочный токен. С помощью него можно проверять работу приложений.

Когда пользователь авторизуется в Яндекс.Директе и нажимает кнопку «Подтвердить», то есть дает доступ к своим данным приложения, сервер Яндекса генерирует токен и передает его приложению.

Как всё происходит:

  • Приложение направляет пользователя на страницу Яндекс.OAuth;
  • На этой странице пользователь разрешает доступ к своим данным приложению;
  • Яндекс.OAuth перенаправляет пользователя на адрес, указанный в поле Callback URL. Код подтверждения или описание ошибки передается в параметре URL перенаправления;
  • Приложение получает адрес перенаправления и извлекает код подтверждения;
  • Приложение отправляет POST-запрос с этим кодом;
  • Яндекс.OAuth возвращает токен в теле ответа.

Если объяснять с технической стороны, запрос к API выполняется по протоколу HTTPS методом POST (отправление данных). В этом запросе содержится HTTP-заголовок с токеном пользователя, от имени которого осуществляется запрос. Ответ содержит заголовок RequestId – это уникальный идентификатор запроса.

Некоторые приложения (например, консольные или установленные на телевизорах Smart TV) не могут получить код подтверждения из URL. В этом случае пользователь самостоятельно его получает от Яндекс.OAuth и вводит в приложении или на странице авторизации.

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

Далее вы выполняйте запросы к песочнице. Вот пример запроса:

API Яндекс.Директ – пример запроса к песочнице

Практика использования API Яндекс.Директ

В инструменте API множество методов для разных объектов, многие из них дорабатываются и улучшаются со временем. Рассмотрим подробно, как их применять на практике.

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

Отчет содержит ту же статистику, которая доступна в сервисе Яндекс Wordstat за прошедший месяц.

Ограничения:

  • За сутки можно получить статистику для тысячи фраз;
  • На сервере хранится максимум 5 отчетов по всем кампаниям;
  • Отчеты хранятся на сервере в течение 5 часов, а затем автоматически удаляются.

Так выглядит структура входных данных в формате JSON:

{

   «method»: «CreateNewWordstatReport»,

   «param»: {

      /* NewWordstatReportInfo */

      «Phrases«: [

         (string)

         …

      ],

      «GeoID«: [

         (int)

         …

      ]

   }

}

Phrases – это массив ключевых фраз, по которым нужно получить статистику поисковых запросов (добавить можно не более 10). минус-фразы из нескольких слов пишите в скобках, например: холодильник -морозильник -(морозильная камера) -ремонт.

GeoID – идентификаторы регионов, по которым нужно получить статистику поисковых запросов. Можно исключить регион, поставив минус. Если вы не указали этот параметр, либо указали только минус-регионы, либо минус-регионы совпадают c плюс-регионами, статистика выдается по всем регионам.

Вообще в API Яндекс.Директа можно решать самые разнообразные задачи, например:

— Интегрировать функции Яндекс.Директ и данные из собственной базы.

Примеры применения: автоматическое добавление в ключевые фразы названий брендов или моделей товаров, остановка / возобновление показов объявлений в зависимости от наличия товаров на складе, обновление текстов объявлений при изменении прайс-листа. И многое другое, в зависимости от данных, которые у вас есть;

— A/B-тестирование объявлений.

Принцип тот же, что в интерфейсе: в самом начале все варианты из группы объявлений показываются равномерно. По мере накопления статистики система выбирает объявление с самым высоким CTR (самое привлекательное по мнению целевой аудитории) и показывает его чаще;

— Мониторинг и анализ эффективности рекламных кампаний.

Можно настроить автоматическое получение сводной и детальной статистики по показам, кликам, конверсиям и другим показателям и выгрузку её в сторонние программы (системы поддержки принятия решений, системы финансового учета и т.д.)

Все примеры использования API смотрите в меню «Практика использования» по ссылке.

Важное преимущество программы на основе API – при просмотре и редактировании кампаний, рекламных групп, объявлений и ключевых фраз не нужно ждать загрузки страниц, как в интерфейсе Яндекс.Директа. И конечно, это экономит время специалистов по настройке контекстной рекламы.

Хотите тоже написать статью для читателей Yagla? Если вам есть что рассказать про маркетинг, аналитику, бизнес, управление, карьеру для новичков, маркетологов и предпринимателей. Тогда заведите себе блог на Yagla прямо сейчас и пишите статьи. Это бесплатно и просто

Получаем API токен Яндекс.Директ

Сегодня мы подробно разберем процесс получения OAuth-токена для доступа к Яндекс.Директ API. Впервые сталкиваясь с процессом получения токена, будь-то API от Google или Яндекса, я по-началу терялся в заявках, регистрациях и прочей бюрократической вакханалии. Поэтому я, буквально, за руку проведу тебя к заветному апи-токену, который мы сразу и проверим.

Как следует из справки Яндекс.Директ API, вся процедура делится на два этапа:

  • Регистрация на сервисе Яндекс.OAuth
  • Создание заявки на доступ к API

Авторизуемся из под аккаунта с кабинетом Яндекс.Директ, данные которого нас интересуют. Переходим на страницу oauth.yandex.ru, и жмем на желтую кнопку «Зарегистрировать новое приложение». И заполняем поля, согласно плану:

  • Название приложения*: DirectDataDealer
  • Описание приложения: Необязательное. Но я всё таки напишу: Приложение для проброса данных в системы сквозной аналитики
  • Иконка приложения: Необязательное.
  • Ссылка на сайт приложения: Необязательное.
  • Платформы: Веб-сервисы и в поле Callback Url жмем Подставить URL для разработки.
  • Доступы*: Яндекс.Директ -> Использование API Яндекс.Директа

Отлично, приложение создано, на выходе получится что-то похожее на это:

Заявка на доступ к Яндекс.Директ API

Отлично, пол дела сделано, осталось запросить доступ к API.


Создаем заявку на доступ к Яндекс.Директ API

Теперь создадим заявку, тут всё довольно просто. Идём сюда  и создаем заявку на доступ. Начинаем заполнять:

  • Введите application_id или выберите из списка*: В дропменю выбираем наше приложение в моём случае это DirectDataDealer.
  • Укажите один или несколько контактов, по которым с вами быстро сможет связаться служба поддержки*: Пишем ваш мейл.
  • Данные о компании: Скорее всего у вас или у вашего клиента уже есть сайт, в моем случае Akulshin.ru и https://akulshin.ru/
  • Выберите утверждение, которое лучше всего описывает специфику вашей работы. Вы:* Я прямой рекламодатель, а вы?
  • Технические данные о приложении: Язык программирования — Python, протокол — Json, версия библиотек — 3.8. В примерах из моих статьей используются именно эти версии.
  • Для примера успешной работы приложения, укажите один или несколько логинов в Директе, для которых оно используется*: Абсурд, если вы регистрируете своё первое приложение, то просто укажите текущий логин в Яндексе.
  • Для чего предназначено приложение*: В моем случае это — Синхронизировать рекламные материалы с данными внутренних систем (товары, деньги, отчетность)
  • Основные функции приложения*: Получение статистики и отчетов
  • Какие новые возможности работы с Директом дает ваше приложение пользователям?*: Я написал, что «Агрегирую данные в сквозной аналитике и предикторе. Получение статистики Яндекс.Директ и её дальнейшая обработка.»
  • Опишите схему взаимодействия вашего приложения с Директом*: Программа запускается автоматически 2 раза в сутки, в основном используем метод «AccountManagement» и сервис Campaign для получения статистики, далее передаем в базу, где обрабатываем.
  • Спецификации, скриншоты интерфейса*: Либо нарисуйте блок-схему обработки данных, либо как я заскриньте IDE, пусть какому-нибудь модеру из Яндекса станет за вас стыдно.
  • По возможности предоставьте нам демо-доступ к программе: Игнорируем этот пункт

Бум! Всё готово, отправляем на рассмотрение. После прохождения, в итоге получим такую картину:

Заявка на доступ к Яндекс.Директ API


Получаем OAuth-токен Яндекс.Директ:

Существует 2 способа получения API-токена: Ручной и Автоматический

Так как мы не пишем приложение, которое будут использовать десятки авторизованных пользователей, то нам хватит и ручного получения токена. Теперь дело за малым, делаем запрос на выдачу «API-ключа», который мы будем использовать в нашем приложении. Для этого:

  1. Открываем новую вкладку в браузере и вводим в адресную строку https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения> Идентификатор приложения берем отсюда:
    1. Переходим по ссылке https://oauth.yandex.ru/
    2. Жмем на наше приложение, DirectoDataDealer, в моем случае.
    3. И копируем из поля ID: 78d2c09*************efbc6a64f6e
    4. Вставляем ID вместе <идентификатор приложения>, жмем Enter
    5. О чудо, перед нами явился наш Auth-токен

Ну что, всё готово для тестового запроса, поехали?

Тестовый запрос для проверки работы Яндекс.Директ API:

Давайте запросим список текущих рекламных кампаний в кабинете?

Код примера:

import requests

def get_campaigns(login, token):

    # адрес для отправки json-запросов
    url = 'https://api.direct.yandex.com/json/v5/campaigns'

    # заголовки
    headers = {"Authorization": "Bearer " + token,  # OAuth-токен. Использование слова Bearer обязательно
               "Client-Login": login,  # Логин клиента рекламного агентства
               "Accept-Language": "ru",  # Язык ответных сообщений
               }

    # тело запроса
    body = {"method": "get",  # Используемый метод.
            "params": {"SelectionCriteria": {},
                       # Критерий отбора кампаний. Для получения всех кампаний должен быть пустым
                       "FieldNames": ["Id", "Name"]  # Имена параметров, которые требуется получить.
                       }}

    # выполнить запрос
    response = requests.post(url, json=body, headers=headers)

    # Вытаскиваем список кампаний
    campaigns = response.json()['result']['Campaigns']

    # принтим
    for campaign in campaigns:
        print(campaign)

# Вызываем функцию и получаем список кампаний, не забудьте поменять вводные
get_campaigns('ВАШ ЛОГИН', 'ТОКЕН')

Полезные материалы для изучения:

  • Регистрация приложения Яндекс.Директ API: https://yandex.ru/dev/direct/doc/dg/concepts/register.html
  • Заявка на доступ к API: https://yandex.ru/dev/direct/doc/dg/concepts/register.html#request

Мой код

url = 'https://api.direct.yandex.ru/v4/json/'


# OAuth-токен пользователя, от имени которого будут выполняться запросы
token = 'Wufdgdft1lMU-7dfdgdgfDFdsfsdfsdmkfdgdfz_5I3zgzizYk'

# Логин клиента рекламного агентства
# Обязательный параметр, если запросы выполняются от имени рекламного агентства
# clientLogin = 'ЛОГИН_КЛИЕНТА'

# --- Подготовка, выполнение и обработка запроса ---
#  Создание HTTP-заголовков запроса
headers = {"Authorization": "Bearer " + token,  # OAuth-токен. Использование слова Bearer обязательно
           "Accept-Language": "ru",  # Язык ответных сообщений
           }

# Создание тела запроса
body = {"method": "CreateNewWordstatReport",  # Используемый метод.
        "params": { 'Phrases': [u'пух -винни',u'синтепон'],
                    'GeoID': [213]
                   }}

result = requests.post(CampaignsURL, jsonBody, headers=headers)

print(result.json())

Выдает ошибку

{"error_code": 53, "error_str": "Authorization error", "error_detail": ""}

Это очень странная ошибка авторизации, т.к. тот же токен отлично работает в тестовом примере https://tech.yandex.ru/direct/doc/examples-v5/python3-requests-campaigns-docpage/

Яндекс.Директ иногда может выдать предупреждение и всё. Ни сохранить, ни включить, ни выключить. И бывает это не так уж редко. Однако без опыта эту проблему не решить, а новичкам поисковик предлагает отличные завирусившиеся статьи в духе «100 и 1 способ настройки Директа».

Но что делать с таким багом?

1. Предъявите документы

Возникает техническая ошибка: Директ не пропускает объявление и требует предъявить документы. Это зависит от вида продукции. Например, модерация может решить, что услуги рекламодателя требуют медицинской лицензии.

Если можно доказать, что это не так, проблема будет решена в течение пары часов. Нужно написать/позвонить в техподдержку и сообщить, что продвигается услуга, для которой не нужны документы.

2. Сегмент Яндекс.Аудиторий не найден, и реклама остановлена

Яндекс не нашел людей и выдал техническую ошибку. Нет, это не роботы захватили мир, просто возникла проблема с аудиторией. Когда такая проблема появляется, реклама будет поставлена на стоп.

Почему так получилось? Если к аккаунту имеет доступ кто-то еще – этот кто-то мог полностью удалить аудиторию или поменять настройки так, что сегмент, по которому показывалась реклама, теперь оказался недоступен.

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

3. Появляется заглушка, и переход на вредоносный сайт заблокирован

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

1. Рекламу отключить, поскольку клики считаются, но переходов нет.

2. Проверить сайт на вирусы и как можно скорее.

4. Ваш лимит исчерпан

Когда создается объявление, в его заголовке, описании и линке должно быть ограниченное количество символов.

◆ Заголовок не должен превышать 56 символов (пробелы считаются).

◆ Одно слово не должно превышать 22 символа

◆ Дополнительный заголовок – 30 символов

◆ В тексте всего 81 знак

◆ Знаков препинания не более 15

Все нужно исправить вручную. Если ошибка уже вылезла, стоит исправить ее следующим образом: занести все в любую удобную таблицу и выставить там проверку по формуле «Длина строки» (пишем ее как =ДЛСТР и адрес ячейки).

5. Сайта просто нет?

Яндекс сообщает, что если ссылка попадет в объявление, то будет ошибка 404. Это наверняка связано с проблемой непродленного доменного имени – в большинстве случаев. Есть еще возможность, что страница, на которую ссылаются, еще не создана, ошибка в ссылке. В любом случае, следует проверить, работает ли сайт и эта конкретная ссылка.

6. Минусованные фразы не сохраняются в Директе

Куда делись фразы и слова, которые собирались отминусовать? Кросс-минусация в Директе нужна обязательна, поскольку она помогает отсортировать аудиторию точнее, позволяет убрать возможные пересечения ключей и не дает объявлениям подавлять друг друга.

Обычно минусуют через Директ.Коммандер или другие приложения. Иногда бывает так, что форматирование сбивается и фразы в Директе отсутствуют. В этом случае фразы нужно повторно перенести в Excel, а оттуда уже заново в Яндекс.Директ.

Решения технических ошибок Яндекс.Директ

Другие ошибки

Что делать, если предупреждение Директа не касается всех перечисленных случаев? Поддержка Яндекса все еще не написала FAQ по всем этим проблемам, так что придется решать самим. Что же делать, куда бежать?

1. Внимательно перечитать справку Яндекса. Возможно, ответ там уже есть.

2. Связаться с техподдержкой Директа. Опыт показывает, что позвонить будет удобнее – отвечают быстро, решают тоже.

Написать сотруднику можно в чате или в форме, которая находится в справке Яндекс. Директ, там же приведенкруглосуточный телефон поддержки – 8 800 234 24 80.

👍🏻 Инфа была полезной? Ставь лайк!

Loading

Блог партнерской программы RocketProfit – международная товарная CPA-сеть с разнообразными ГЕО (Европа, Азия, ЛАТАМ и Африка), эксклюзивными авторскими офферами (физ.товары и нутра), высокими ставками до 50$ и отзывчивыми менеджерами, которые 24/7 готовы помочь.

Понравилась статья? Поделить с друзьями:
  • 5287 ошибка мерседес 221
  • 5283 ошибка мерседес w221
  • 5283 ошибка мерседес 221
  • 5283 ошибка mercedes
  • 5276435 ошибка адаптивного освещения тигуан