Как повысить эффективность управления рекламой при...
-
Upload
mailrugroup -
Category
Internet
-
view
602 -
download
0
description
Transcript of Как повысить эффективность управления рекламой при...
КАК ПОВЫСИТЬ ЭФФЕКТИВНОСТЬ УПРАВЛЕНИЯ РЕКЛАМОЙ ПРИ ПОМОЩИ API V.2
Дмитрий Школьников
Работа с лимитами
• Лимиты на RPS• Часовые лимиты• Суточные лимиты• Лимиты на количество активных объектов• Лимиты в интерфейсе
2 из 20
Что совсем нового?
• Авторизация OAuth2• Асинхронный API• Новые фичи недоступны при старой
авторизации ;-)
3 из 20
Авторизация OAuth2
• Разделение на пользователей и приложения
• Возможность давать разным приложениям разные права на управление аккаунтом
4 из 20
Авторизация OAuth2
Для пользователей:
GET /api/v2/campaigns.json HTTP/1.1 Host: target.mail.ru Authorization: Bearer {access_token}
5 из 20
Авторизация 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
Авторизация OAuth2
7 из 20
Пользователь на странице соглашается дать доступ и сервис перенаправляет его по адресу, заданному параметром redirect_uri при регистрации клиента, передавая параметры `code` (специальный токен со сроком жизни в один час) и `state` (переданный в первоначальном запросе):
GET {redirect_uri:path}?code={code}&state={state} HTTP/1.1 Hosts: <redirect_uri:host>
Авторизация 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}
Авторизация OAuth2
9 из 20
Ответ:
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8
{ "access_token": "{access_token}", "token_type": "bearer", "scope": "{scope}" }
Асинхронный API
• На асинхронные запросы нет жёстких лимитов троттлинга. Все корректные запросы будут выполнены.
• Возможность узнать о выполнении запроса при помощи PUSH-уведомления.
10 из 20
Асинхронный 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
Асинхронный API
12 из 20
Ответ будет таким:
HTTP/1.1 202 Accepted Location: /async_api/v2/requests/{id}.json
Асинхронный 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 — все такие случаи необходимо разбирать в ручном режиме.
Нет никакой магии!
14 из 20
Медиапланирование в API
Теперь ползун и прогнозатор обсчитываются на бэкэнде.
/api/v2/projection.json
POST-запрос с солянкой из пакета и таргетингов для создания новой РК или же просто с id кампании для контроля за работающей РК.
15 из 20
Медиапланирование в API
• В ответе гистограмма охвата по ставкам.• Вы можете реализовать стратегию
«удержание охвата».• И ещё кое-что, о чём расскажу чуть-чуть
попозже ;-)
16 из 20
Статистики
• Быстрая статистика (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
Что дальше?
• batch-задачи в формате Odata – лето 2014• PUSH на все изменения объектов – лето
2014• PUSH на появление статистики• Закрытие старой авторизации – осень 2014.
18 из 20
2009 — 2010
Дмитрий Школьников,руководитель проектов сервиса
Таргет@Mail.RuМою презентацию вы сможете найти в нашем
блоге http://corp.mail.ru/blog уже сегодня!
Спасибо за внимание!Вопросы?
Контактная информация
• Служба поддержки и модерации: [email protected]
• Финансовые вопросы (заключение договоров, оплата счетов и т.п.): [email protected]