Урок 9. Как перейти к реальной работе

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

Как получить полный доступ к API Директа

Так как вы уже зарегистрировали приложение на Яндекс OAuth, вам осталось только подать заявку на полный доступ к API.

  1. Войдите на Яндекс под своим логином разработчика.
  2. В веб-интерфейсе Директа перейдите в раздел API на вкладку Мои заявки.
  3. Переведите заявку на тестовый доступ в заявку на полный доступ.

При заполнении заявки обратите внимание на раздел Технические данные о приложении. Укажите в нем достоверные сведения. В разделе Опишите схему взаимодействия вашего приложения с Директом приведите сценарий работы с API. Не требуется прикладывать код приложения или полное ТЗ с алгоритмами работы, которые являются коммерческой тайной вашей компании. Достаточно описать, какие сервисы и методы API Директа используются в приложении, в какой последовательности приложение вызывает методы, как часто вызывается каждый метод (раз в минуту, раз в час и т. д.) и для каких целей выбрана именно эта частота. Расскажите, как приложение учитывает ограничения API Директа, как обрабатывает ошибки. Эта информация позволит нам понять корректность работы приложения с API, а также оповещать вас об изменениях в API, затрагивающих именно ваше приложение.

Что делать, если заявка одобрена, но доступ не появился

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

Адреса для запросов​

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

  • Для JSON-запросов — https://api.direct.yandex.com/json/v5/{сервис}
  • Для SOAP-запросов — https://api.direct.yandex.com/v5/{сервис}
  • WSDL-описание находится по адресу https://api.direct.yandex.com/v5/{сервис}?wsdl

Здесь {сервис} — имя сервиса, с которым вы хотите работать.

В настоящее время доступны некоторые методы предыдущих версий API Директа. Адреса предыдущих версий отличаются от адресов версии 5.

OAuth-токены для пользователей приложения

В предыдущих уроках вы использовали в запросах к API отладочный токен, полученный вручную. Теперь необходимо реализовать удобный для реальных пользователей механизм получения токена. С точки зрения пользователя процедура получения токена должна выглядеть так:

  1. Приложение открывает для пользователя специальную страницу сервиса Яндекс OAuth — страницу запроса доступа.
  2. Пользователю необходимо войти на Яндекс под своим логином в Директе (если он еще не сделал этого).
  3. На странице запроса доступа пользователь нажимает кнопку Разрешить.
  4. В зависимости от настроек приложения, Яндекс OAuth перенаправляет пользователя на адрес, указанный в параметре Callback URL, или возвращает пользователя в приложение.

Яндекс OAuth генерирует токен и передает его приложению в автоматическом режиме. В Яндекс OAuth предусмотрено несколько способов передачи токена, которые подходят для разных типов приложений: веб-сервис, настольное приложение (программа для компьютера), мобильное приложение и др. Все способы подробно описаны в документации Яндекс OAuth.

Задание

  1. Оформите заявку на полный доступ к API Директа.
  2. Зарегистрируйте тестового пользователя Директа. Для нового пользователя создайте в веб-интерфейсе рекламную кампанию и примите пользовательское соглашение в разделе API.
  3. Получите OAuth-токен для тестового пользователя.
  4. Получите реальные кампании тестового пользователя — выполните запрос к API от его имени.

Что дальше

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