20
КАК ПОВЫСИТЬ ЭФФЕКТИВНОСТЬ УПРАВЛЕНИЯ РЕКЛАМОЙ ПРИ ПОМОЩИ API V.2 Дмитрий Школьников

Как повысить эффективность управления рекламой при помощи API

Embed Size (px)

DESCRIPTION

Мастер-класс Дмитрия Школьникова, руководителя проектов, Таргет Mail.Ru

Citation preview

Page 1: Как повысить эффективность управления рекламой при помощи API

КАК ПОВЫСИТЬ ЭФФЕКТИВНОСТЬ УПРАВЛЕНИЯ РЕКЛАМОЙ ПРИ ПОМОЩИ API V.2

Дмитрий Школьников

Page 2: Как повысить эффективность управления рекламой при помощи API

Работа с лимитами

• Лимиты на RPS• Часовые лимиты• Суточные лимиты• Лимиты на количество активных объектов• Лимиты в интерфейсе

2 из 20

Page 3: Как повысить эффективность управления рекламой при помощи API

Что совсем нового?

• Авторизация OAuth2• Асинхронный API• Новые фичи недоступны при старой

авторизации ;-)

3 из 20

Page 4: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

• Разделение на пользователей и приложения

• Возможность давать разным приложениям разные права на управление аккаунтом

4 из 20

Page 5: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

Для пользователей:

GET /api/v2/campaigns.json HTTP/1.1   Host: target.mail.ru   Authorization: Bearer {access_token}

5 из 20

Page 6: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

Для приложений:Клиент перенаправляет пользователя на специальную страницу https://target.mail.ru/oauth2/authorize, указав параметры `response_type` (со значением `code`), `state` (сгенерированный на стороне клиента токен, используется для предотвращения CSRF), свой `client_id` и список прав доступа `scope`:

GET /oauth2/authorize?response_type=code&client_id={client_id}&state={state}&scope={scopes} HTTP/1.1   Host: target.mail.ru

6 из 20

Page 7: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

7 из 20

Пользователь на странице соглашается дать доступ и сервис перенаправляет его по адресу, заданному параметром redirect_uri при регистрации клиента, передавая параметры `code` (специальный токен со сроком жизни в один час) и `state` (переданный в первоначальном запросе):

GET {redirect_uri:path}?code={code}&state={state} HTTP/1.1   Hosts: <redirect_uri:host>

Page 8: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

8 из 20

Получив параметр `code`, клиент может запросить `access_token` для дальнейшей работы с API от имени пользователя. Для этого нужно послать запрос на `/api/v2/oauth2/token.json`, передав параметры `grant_type` (со значением `authorization_code`), `code` (полученный при обратном редиректе на `redirect_uri` токен):

   POST /api/v2/oauth2/token.json HTTP/1.1   Host: target.mail.ru   Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code={code}&client_id={client_id}

Page 9: Как повысить эффективность управления рекламой при помощи API

Авторизация OAuth2

9 из 20

Ответ:

  HTTP/1.1 200 OK   Content-Type: application/json; charset=UTF-8

   {     "access_token": "{access_token}",     "token_type": "bearer",     "scope": "{scope}"   }

Page 10: Как повысить эффективность управления рекламой при помощи API

Асинхронный API

• На асинхронные запросы нет жёстких лимитов троттлинга. Все корректные запросы будут выполнены.

• Возможность узнать о выполнении запроса при помощи PUSH-уведомления.

10 из 20

Page 11: Как повысить эффективность управления рекламой при помощи API

Асинхронный API

11 из 20

Для того, чтобы отправить асинхронный запрос к API, достаточно всего лишь заменить в URL-адресе вызова `/api/` на `/async_api/`:

   POST /async_api/v2/campaigns.json HTTP/1.1   Host: target.mail.ru   Authorization: Bearer {oauth2_access_token}   X-Callback-Location: http://client.com/callback

Page 12: Как повысить эффективность управления рекламой при помощи API

Асинхронный API

12 из 20

Ответ будет таким:

  HTTP/1.1 202 Accepted   Location: /async_api/v2/requests/{id}.json

Page 13: Как повысить эффективность управления рекламой при помощи API

Асинхронный API

13 из 20

GET /async_api/v2/requests/{id}.json HTTP/1.1   Authorization: Bearer {oauth2_access_token}   Host: target.mail.ru

• `enqueued` — запрос поставлен в очередь;• `started` — запрос отправлен, но ответ ещё не получен;• `done` — запрос выполнен;• `unknown` — такой статус выставляется запросу в том

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

Page 14: Как повысить эффективность управления рекламой при помощи API

Нет никакой магии!

14 из 20

Page 15: Как повысить эффективность управления рекламой при помощи API

Медиапланирование в API

Теперь ползун и прогнозатор обсчитываются на бэкэнде.

/api/v2/projection.json

POST-запрос с солянкой из пакета и таргетингов для создания новой РК или же просто с id кампании для контроля за работающей РК.

15 из 20

Page 16: Как повысить эффективность управления рекламой при помощи API

Медиапланирование в API

• В ответе гистограмма охвата по ставкам.• Вы можете реализовать стратегию

«удержание охвата».• И ещё кое-что, о чём расскажу чуть-чуть

попозже ;-)

16 из 20

Page 17: Как повысить эффективность управления рекламой при помощи API

Статистики

• Быстрая статистика (GET /api/v1/statistics/faststat/{object_type}/{object_id}.json)

• Статистика по клиентам (/v2/clients.json)• Отчёт по клиентам (beta)

https://target.mail.ru/api/v2/agency/clients/statistics/?date_from=01.10.2013&date_to=23.04.2014&cid=N1&cid=N2&…&cid=NX

17 из 20

Page 18: Как повысить эффективность управления рекламой при помощи API

Что дальше?

• batch-задачи в формате Odata – лето 2014• PUSH на все изменения объектов – лето

2014• PUSH на появление статистики• Закрытие старой авторизации – осень 2014.

18 из 20

Page 19: Как повысить эффективность управления рекламой при помощи API

2009 — 2010

Дмитрий Школьников,руководитель проектов сервиса

Таргет@Mail.RuМою презентацию вы сможете найти в нашем

блоге http://corp.mail.ru/blog уже сегодня!

Спасибо за внимание!Вопросы?

Page 20: Как повысить эффективность управления рекламой при помощи API

Контактная информация

• Служба поддержки и модерации: [email protected]

• Финансовые вопросы (заключение договоров, оплата счетов и т.п.): [email protected]