Привет!
Решил для API Экзо 2.0 написать простенький автоблеклистинг рекламных зон (до этого именно в Экзо обходился как-то вручную). Столкнулся с некоторыми сложностями и решил, что, возможно, кому-то пригодится этот опыт, собранный в готовом виде.
Будьте в курсе последних новостей партнерского маркетинга, статей, руководств и тематических исследований. Подпишитесь на наш Telegram канал сегодня!
В текущем состоянии API Экзо часть задокументированных функций не работает и они «работают над исправлением ситуации»: что-то высылает саппорт в виде воркэраундов, эти воркэраунды не документированы и приходится что-то додумывать самому и так далее. Поэтому, помучившись, решил попробовать избавить кого-то от аналогичного пути.
Также есть ряд зон, которые выдают ошибку 400 при добавлении в блеклист. Экзо проблему знает и опять-таки в поте лица «работает над исправлением». Такие зоны, замеченные мной, сразу добавил тут в исключения в скрипте. Их, имхо, лучше блочить вручную через домены (в разделе «дополнительные установки — таргетинг доменов» добавлять со знаком минус в начале).
Пишу в первую очередь:
Что делает скрипт? Парсит кампанию в трекере, находит зоны, соответствующие нашим критериям отсева, блокирует их в кампании в Экзоклике и отправляет в Телеграм отчет в случае успешного прохождения сценария, либо в случае ошибки. Успешный отчет он разбивает на критерии, по которым произошел блеклистинг, и перечисляет там заблокированные зоны.
Опытные товарищи, конечно, могут заметить, что скрипт весьма примитивен и было бы правильно его модернизировать (добавить ошибки в репорты, добавить попытку второго запроса в случае ошибки и т. д.) — но и в текущем виде скрипт вполне можно повесить на крон и использовать.
Для примера в качестве критериев для отбора паблишеров в блек взяты два наиболее элементарных — отсутствие конверсий на стоимости в 3 лида и отсутствие CTR на 100 кликах.
Хочу обратить внимание новичков, что эти критерии будут варьироваться в зависимости от гео, вертикали, типа флоу, сегментов и типов трафика, ваших эмпирических находок. На старте я бы не советовал увлекаться автоматизацией, а подобные скрипты предлагал бы использовать только для отсева самого очевидного шлака, чтобы не было страшно на ночь оставлять кампанию, например.
Помимо собственно скрипта, постарался изложить некое пошаговое руководство, как его собрать и настроить.
Для стабильной работы скрипта, cron‑задач и безопасного управления API‑ключами выберите надежный VDS/VPS сервер из каталога Партнеркина – качественный хостинг обеспечит бесперебойный доступ к API и быструю обработку данных. А для тестирования скрипта и работы с несколькими аккаунтами рекламных сетей без риска блокировок используйте антидетект-браузеры: они создают чистые цифровые отпечатки и позволяют безопасно управлять кампаниями из разных кабинетов.
1. Итак, какие нам понадобятся данные
— API-токен Экзоклика
Идем в интерфейсе в раздел API и создаем New Token.

— API-токен Бинома
Идем в интерфейсе трекера в раздел Settings — API и копируем его оттуда.

— Ваш урл Бинома, по которому открывается интерфейс.
— ID вашей кампании Экзоклика в Биноме, в списке кампаний в интерфейсе первый столбец.
— ID вашей кампании, где надо блочить зоны, в Экзоклике — точно так же, как и в Биноме, первый столбец на этой странице.
— ID вашего бота Телеграм. Чтобы его получить, пишем в Телеграме пользователю @BotFather /start, далее следуем его подсказкам, чтобы создать бота. Он выдаст этот самый ID c текстом Use this token to access the HTTP API.
— ID вашего чата в Телеграм. Чтобы его получить, открываем ссылку (https://api.telegram.org/botYOURBOTID/getUpdates), где вместо YOURBOTID подставляем токен из пункта выше, несколько раз пишем сообщение своему боту, обновляем страницу и записываем номер id, который появился среди всех данных. Если написать несколько сообщений, то можно увидеть, что это константное число, в отличие от message_id, которое меняется.
Для сбора данных через API и построения автоматических блеклистов критически важно использовать надежные трекеры – в разделе «Трекеры» на Партнеркине вы найдете инструменты с гибкими API, которые легко интегрируются с ExoClick и другими сетями. А чтобы точно определить критерии отсева (конверсии на лид, порог кликов), подключите сервисы аналитики рекламы: они собирают детальную статистику по кампаниям и помогают находить пороговые значения для автоматизации.
2. Последовательность действий
— Берем код, который содержит Экзокликовский класс по работе с API и сохраняем в файл с именем request.php — мы уже сделали это за вас. Далее загружаем файл на свой веб-сервер в любую папку — неважно, стоит у вас на сервере панель или нет, действуем просто по аналогии с работой с лендами.
— Вот код самого скрипта. Данные из пункта 1 нужно прописать в тех местах в верхней части скрипта, где есть соответствующие пояснения (между одинарными кавычками; в случае домена трекера заменяем https://example.com/ на свой домен.
После этого загружаем (ВАЖНО) в ту же папку, где лежит request.php.
Примечание: в коде есть строчка $CPL = 1, тут задается стоимость лида. Можно ее менять.
— Ставим его на крон с нужным расписанием — все зависит от того, как часто вы хотите запускать процедуру. Постановка на крон отличается в разных панелях управления и на разных серверных OS, лучше отдельно погуглить это, это несложно.
Если вам нужна доработка кода под свои критерии отсева (гео, вертикали, типы флоу), найдите программистов из раздела Партнеркина – специалисты помогут усовершенствовать скрипт и настроить cron под ваши задачи. А если работаете самостоятельно, можно облегчить путь с помощью нейросетей для работы с кодом.