SlideShare a Scribd company logo
УМЕНЬШЕНИЕ КОЛИЧЕСТВА ЗАПРОСОВ В API
С ПОМОЩЬЮ PUSH-УВЕДОМЛЕНИЙ
Дмитрий Самиров
Iskander
23.09.2016
Синхронизация с myTarget
• Запрос к user.json
• Запрос к campaigns.json/banners.json
• Запрос к remarketing_*.json (все ремаркетинговые списки)
• Запрос к remarketings.json
• Запрос к sharing_keys
PUSH-уведомления. Документация
PUSH-уведомления. Документация
PUSH-уведомления. «Секретная» документация
Новая синхронизация с myTarget
• Запрос к user.json
• Запрос к campaigns.json/banners.json
• Запрос к remarketing_*.json (все ремаркетинговые списки)
• Запрос к remarketings.json
• Запрос к sharing_keys
• Подписка на PUSH-уведомления на изменения кампаний и баннеров
Работа с PUSH-подписками
Создание
POST /api/v2/subscriptions.json
BODY EXAMPLE: {"callback_url": "https://mysuperhost.com/callback", "resource": "CAMPAIGN"}
BODY EXAMPLE: {"callback_url": "https://mysuperhost.com/callback", "resource": "BANNER"}
Текущие подписки
GET /api/v2/subscriptions.json
RESPONSE EXAMPLE: [{"resource": "BANNER", "resource_id": null, "created": "2016-09-20 13:41:34", "user": {"agency": null,
"id": 1111111}, "callback_url": "https://mysuperhost.com/callback", "id": 11111}, {"resource": "CAMPAIGN", "resource_id": null,
"created": "2016-09-20 13:41:35", "user": {"agency": null, "id": 2222222}, "callback_url": " https://mysuperhost.com/callback ",
"id": 22222}]
Удаление подписки
DELETE /api/v2/subscriptions/ID.json
Примеры «простых» PUSH-уведомлений
Выбор города «Санкт-Петербург»
{
"resource":"CAMPAIGN",
"created":"2016-09-20 19:43:40.848699",
"resource_id":6752541,
"diff":{
"updated":{"---":"2016-09-20 19:43:19","+++":"2016-09-20 19:43:40"},
"last_updated":{"---":"2016-09-20 19:43:19","+++":"2016-09-20 19:43:40"},
"targetings":{
"user_geo":{"107":{"+++":["u0421u0430u043du043au0442-
u041fu0435u0442u0435u0440u0431u0443u0440u0433"]}}
}
},
"id":"fd651bf142cc4195b0f723ddd8101509"
}
Примеры «простых» PUSH-уведомлений
Остановка кампании
{
"resource":"CAMPAIGN",
"created":"2016-09-20 19:46:26.028813",
"resource_id":6752541,
"diff":{
"status":{"---":"active","+++":"blocked"},
"updated":{"---":"2016-09-20 19:43:40","+++":"2016-09-20 19:46:26"},
"last_updated":{"---":"2016-09-20 19:43:40","+++":"2016-09-20 19:46:26"}
},
"id":"a41b689cdbb2471295e23b28482a6cca"
}
Применение PUSH-уведомлений
• Получение подробной информации об изменениях в кампаниях и баннерах в течение нескольких
секунд (например, можно настроить мгновенные оповещения о результатах модерации)
• Полный лог создания/изменения по всем кампаниям и баннерам
• Использование информации из PUSH-уведомлений для отладки проблем с МТ
• Снижение количества GET-запросов к /api/v1/campaigns.json и /api/v1/banners.json практически
до нуля (снижение нагрузки на свои сервера и сервера МТ)
PULL-модель. 1000 аккаунтов MT
При синхронизации каждые 5 минут в час будет генерироваться примерно 24000 GET-запросов
в /api/v1/campaigns.json и /api/v1/banners.json.
PUSH-модель. 1000 аккаунтов MT
Все изменения приходят по мере их возникновения. Ничего лишнего.
Количество GET-запросов можно сократить до 2000 в час (если синхронизировать каждый час).
Как меняются кампании
0
5
10
15
20
25
30
Ставка Статус Таргетинги Общий бюджет Название Дневной бюджет
Количество изменений, %
Количество изменений, %
Итого
При наличии 1000 активных аккаунтов количество GET-запросов можно сократить примерно в 10 раз.
Более 40% изменений – это ставка статус.
Подводные камни
• Доходит не 100% PUSH-уведомлений, а всего лишь (sarcasm) 99.7%. Приходится иногда
использовать /api/v1/campaigns.json и /api/v1/banners.json
• Применение изменений из диффа не всегда является тривиальной задачей (например, в случае
изменений в regions и user_geo)
• В случае поломки PUSH-уведомлений надо включать «старый» способ синхронизации
• Надо настроить демон, который готов к некоторому количеству входящего трафика PUSH-
уведомлений
ПожеланияМечты
• Более подробная документация
• 100% доставка PUSH-уведомлений
• PUSH-уведомления об изменениях в аудиториях, ремаркетинговых группах, приложениях,
списках, …
• PUSH-уведомления об изменениях баланса аккаунта
• Информация об источнике изменения (интерфейс МТ, боты МТ, API)
Спасибо за внимание!
https://www.facebook.com/dmitri.samirov
dsamirov@gmail.com

More Related Content

Similar to Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дмитрий Самиров (Iskander)

Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)
Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)
Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)Егор Тютюников
 
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"Моризо
 
К50: Генератор
К50: ГенераторК50: Генератор
К50: Генераторssuser56d5d8
 
Мультиканальные последовательности, автор Антон Липский
Мультиканальные последовательности, автор Антон ЛипскийМультиканальные последовательности, автор Антон Липский
Мультиканальные последовательности, автор Антон ЛипскийTanya Mikhalchenko
 
«Мультиканальные последовательности». Антон Липский
«Мультиканальные последовательности». Антон Липский«Мультиканальные последовательности». Антон Липский
«Мультиканальные последовательности». Антон ЛипскийКлуб Интернет-Маркетологов
 
Презентация с Ukrainian Digitals
Презентация с Ukrainian DigitalsПрезентация с Ukrainian Digitals
Презентация с Ukrainian Digitalsquenta
 
Эффективность поисковой рекламы: измерение конверсии в звонки
Эффективность поисковой рекламы: измерение конверсии в звонкиЭффективность поисковой рекламы: измерение конверсии в звонки
Эффективность поисковой рекламы: измерение конверсии в звонкиАлександр Алаев
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиМедведев Маркетинг
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиJulia Yakovleva
 
4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера
4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера
4. Контекст. Как продвигать клинику в условиях жестких ограничений. МедиасфераГруппа компаний Медиасфера
 
Api update rundown (russian)
Api update rundown (russian)Api update rundown (russian)
Api update rundown (russian)marcwan
 
Комплексный интернет-маркетинг
Комплексный интернет-маркетингКомплексный интернет-маркетинг
Комплексный интернет-маркетингАндрей Брагин
 
AdRiver для агентств и рекламодателей 2015
AdRiver для агентств и рекламодателей 2015AdRiver для агентств и рекламодателей 2015
AdRiver для агентств и рекламодателей 2015AdRiver
 
Предложение по контекстной рекламе
Предложение по контекстной рекламеПредложение по контекстной рекламе
Предложение по контекстной рекламеAleksei Melnikov
 
Таргетированная реклама в соцсетях
Таргетированная реклама в соцсетяхТаргетированная реклама в соцсетях
Таргетированная реклама в соцсетяхFeedback Media Agency
 
Социальная пилюля
Социальная пилюляСоциальная пилюля
Социальная пилюляRegistratura.ru
 
AdRiver для агентств и рекламодателей (2016)
AdRiver для агентств и рекламодателей (2016)AdRiver для агентств и рекламодателей (2016)
AdRiver для агентств и рекламодателей (2016)AdRiver
 
OnlineSEM.ru #5 PPC Automatization
OnlineSEM.ru #5 PPC AutomatizationOnlineSEM.ru #5 PPC Automatization
OnlineSEM.ru #5 PPC AutomatizationGooVape
 
208 morizo e_retailforum2014
208 morizo e_retailforum2014208 morizo e_retailforum2014
208 morizo e_retailforum2014InSales
 
оценки эффективности
оценки эффективностиоценки эффективности
оценки эффективностиNataliya Shaidurova
 

Similar to Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дмитрий Самиров (Iskander) (20)

Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)
Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)
Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)
 
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"
Доклад на Riw 2014 Антон Черноталов "Из оффлайна в онлайн"
 
К50: Генератор
К50: ГенераторК50: Генератор
К50: Генератор
 
Мультиканальные последовательности, автор Антон Липский
Мультиканальные последовательности, автор Антон ЛипскийМультиканальные последовательности, автор Антон Липский
Мультиканальные последовательности, автор Антон Липский
 
«Мультиканальные последовательности». Антон Липский
«Мультиканальные последовательности». Антон Липский«Мультиканальные последовательности». Антон Липский
«Мультиканальные последовательности». Антон Липский
 
Презентация с Ukrainian Digitals
Презентация с Ukrainian DigitalsПрезентация с Ukrainian Digitals
Презентация с Ukrainian Digitals
 
Эффективность поисковой рекламы: измерение конверсии в звонки
Эффективность поисковой рекламы: измерение конверсии в звонкиЭффективность поисковой рекламы: измерение конверсии в звонки
Эффективность поисковой рекламы: измерение конверсии в звонки
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органики
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органики
 
4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера
4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера
4. Контекст. Как продвигать клинику в условиях жестких ограничений. Медиасфера
 
Api update rundown (russian)
Api update rundown (russian)Api update rundown (russian)
Api update rundown (russian)
 
Комплексный интернет-маркетинг
Комплексный интернет-маркетингКомплексный интернет-маркетинг
Комплексный интернет-маркетинг
 
AdRiver для агентств и рекламодателей 2015
AdRiver для агентств и рекламодателей 2015AdRiver для агентств и рекламодателей 2015
AdRiver для агентств и рекламодателей 2015
 
Предложение по контекстной рекламе
Предложение по контекстной рекламеПредложение по контекстной рекламе
Предложение по контекстной рекламе
 
Таргетированная реклама в соцсетях
Таргетированная реклама в соцсетяхТаргетированная реклама в соцсетях
Таргетированная реклама в соцсетях
 
Социальная пилюля
Социальная пилюляСоциальная пилюля
Социальная пилюля
 
AdRiver для агентств и рекламодателей (2016)
AdRiver для агентств и рекламодателей (2016)AdRiver для агентств и рекламодателей (2016)
AdRiver для агентств и рекламодателей (2016)
 
OnlineSEM.ru #5 PPC Automatization
OnlineSEM.ru #5 PPC AutomatizationOnlineSEM.ru #5 PPC Automatization
OnlineSEM.ru #5 PPC Automatization
 
208 morizo e_retailforum2014
208 morizo e_retailforum2014208 morizo e_retailforum2014
208 morizo e_retailforum2014
 
оценки эффективности
оценки эффективностиоценки эффективности
оценки эффективности
 

More from Егор Тютюников

Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Егор Тютюников
 
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Егор Тютюников
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Егор Тютюников
 
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Егор Тютюников
 
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Егор Тютюников
 
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Егор Тютюников
 

More from Егор Тютюников (6)

Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
 
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
 
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
 
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
 
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
 

Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дмитрий Самиров (Iskander)

  • 1. УМЕНЬШЕНИЕ КОЛИЧЕСТВА ЗАПРОСОВ В API С ПОМОЩЬЮ PUSH-УВЕДОМЛЕНИЙ Дмитрий Самиров Iskander 23.09.2016
  • 2. Синхронизация с myTarget • Запрос к user.json • Запрос к campaigns.json/banners.json • Запрос к remarketing_*.json (все ремаркетинговые списки) • Запрос к remarketings.json • Запрос к sharing_keys
  • 6. Новая синхронизация с myTarget • Запрос к user.json • Запрос к campaigns.json/banners.json • Запрос к remarketing_*.json (все ремаркетинговые списки) • Запрос к remarketings.json • Запрос к sharing_keys • Подписка на PUSH-уведомления на изменения кампаний и баннеров
  • 7. Работа с PUSH-подписками Создание POST /api/v2/subscriptions.json BODY EXAMPLE: {"callback_url": "https://mysuperhost.com/callback", "resource": "CAMPAIGN"} BODY EXAMPLE: {"callback_url": "https://mysuperhost.com/callback", "resource": "BANNER"} Текущие подписки GET /api/v2/subscriptions.json RESPONSE EXAMPLE: [{"resource": "BANNER", "resource_id": null, "created": "2016-09-20 13:41:34", "user": {"agency": null, "id": 1111111}, "callback_url": "https://mysuperhost.com/callback", "id": 11111}, {"resource": "CAMPAIGN", "resource_id": null, "created": "2016-09-20 13:41:35", "user": {"agency": null, "id": 2222222}, "callback_url": " https://mysuperhost.com/callback ", "id": 22222}] Удаление подписки DELETE /api/v2/subscriptions/ID.json
  • 8. Примеры «простых» PUSH-уведомлений Выбор города «Санкт-Петербург» { "resource":"CAMPAIGN", "created":"2016-09-20 19:43:40.848699", "resource_id":6752541, "diff":{ "updated":{"---":"2016-09-20 19:43:19","+++":"2016-09-20 19:43:40"}, "last_updated":{"---":"2016-09-20 19:43:19","+++":"2016-09-20 19:43:40"}, "targetings":{ "user_geo":{"107":{"+++":["u0421u0430u043du043au0442- u041fu0435u0442u0435u0440u0431u0443u0440u0433"]}} } }, "id":"fd651bf142cc4195b0f723ddd8101509" }
  • 9. Примеры «простых» PUSH-уведомлений Остановка кампании { "resource":"CAMPAIGN", "created":"2016-09-20 19:46:26.028813", "resource_id":6752541, "diff":{ "status":{"---":"active","+++":"blocked"}, "updated":{"---":"2016-09-20 19:43:40","+++":"2016-09-20 19:46:26"}, "last_updated":{"---":"2016-09-20 19:43:40","+++":"2016-09-20 19:46:26"} }, "id":"a41b689cdbb2471295e23b28482a6cca" }
  • 10. Применение PUSH-уведомлений • Получение подробной информации об изменениях в кампаниях и баннерах в течение нескольких секунд (например, можно настроить мгновенные оповещения о результатах модерации) • Полный лог создания/изменения по всем кампаниям и баннерам • Использование информации из PUSH-уведомлений для отладки проблем с МТ • Снижение количества GET-запросов к /api/v1/campaigns.json и /api/v1/banners.json практически до нуля (снижение нагрузки на свои сервера и сервера МТ)
  • 11. PULL-модель. 1000 аккаунтов MT При синхронизации каждые 5 минут в час будет генерироваться примерно 24000 GET-запросов в /api/v1/campaigns.json и /api/v1/banners.json.
  • 12. PUSH-модель. 1000 аккаунтов MT Все изменения приходят по мере их возникновения. Ничего лишнего. Количество GET-запросов можно сократить до 2000 в час (если синхронизировать каждый час).
  • 13. Как меняются кампании 0 5 10 15 20 25 30 Ставка Статус Таргетинги Общий бюджет Название Дневной бюджет Количество изменений, % Количество изменений, %
  • 14. Итого При наличии 1000 активных аккаунтов количество GET-запросов можно сократить примерно в 10 раз. Более 40% изменений – это ставка статус.
  • 15. Подводные камни • Доходит не 100% PUSH-уведомлений, а всего лишь (sarcasm) 99.7%. Приходится иногда использовать /api/v1/campaigns.json и /api/v1/banners.json • Применение изменений из диффа не всегда является тривиальной задачей (например, в случае изменений в regions и user_geo) • В случае поломки PUSH-уведомлений надо включать «старый» способ синхронизации • Надо настроить демон, который готов к некоторому количеству входящего трафика PUSH- уведомлений
  • 16. ПожеланияМечты • Более подробная документация • 100% доставка PUSH-уведомлений • PUSH-уведомления об изменениях в аудиториях, ремаркетинговых группах, приложениях, списках, … • PUSH-уведомления об изменениях баланса аккаунта • Информация об источнике изменения (интерфейс МТ, боты МТ, API)