Передо мной и моими знакомыми не раз вставала задача ежедневно обновлять даты в объявлениях Яндекс.Директа. В объявлении пишется «Успей до 21 мая», если сегодня 20 мая. И так каждый день выставляется следующий день. Почему-то все они делали это вручную, хотя задача прекрасно и удобно автоматизируется с помощью предоставленного этим сервисом API.
Я эту задачу автоматизировал и хочу поделиться с уже готовым скриптом. К тому же, он послужит примером для работы в подобных ситуациях, его несложно адаптировать под другие подобные задачи.
Скрипт был написан под кампании моего партнера, для других возможно потребуются какие-нибудь изменения. Для меня было важно упростить работу с скриптом, поэтому вариант «залью шаблоны всех объявлений на сервер и буду обновлять каждый день» не подошел — так при изменении или добавлении объявлений их нужно было настраивать и на сервере.
В итоге, я пришел к тому, что лучше автоматически искать дедлайн в объявлении и исправлять его на правильный.
Принцип работы скрипта следующий:
- Скачиваются все объявления из заданных кампаний.
- В фразах вида «до 11.22», числа заменяются на нужную дату.
Например, «до 01.05» заменится на «до 21.05», если сегодня 20 мая.
Текущие даты в объявлении могут быть любые, лишь бы цифры было по две и для дня, и для месяца (правильно:
09.05, неправильно: 9.05, 9.5, 09.5) - В фразах вида «до 2 мая», число и месяц заменяются на нужные.
Фразы вроде «до 20 процентов» игнорируются, в качестве последнего слова может быть только название месяца.
Чтобы начать работать с API, нужно:
- В интерфейсе Яндекс.Директ включить использование API, прочитав и согласившись с правилами.
- Создать сертификат и скачать его.
Далее, закачать все файлы из архива с сертификатом в директорию с скриптом на сервере.
В скрипт нужно внести следующие параметры (в первых двух строках):
- Список идентификаторов рекламных кампаний (по аналогии с тем, что написано в строке).
- Количество дней, которые прибавить к текущему (по умолчанию — 1 день).
Далее, добавить вызов этого скрипта в cron ночью, с 0 до 9 часов (9:00 — время начала работы модерации). Осталось только получать утром уведомления о прошедших модерациях.
Документация по Яндекс.Директ API: http://api.yandex.ru/direct/
Сам скрипт: https://github.com/gepo/ecommerce-tools
Автор: gepo