AB-Directolog-Skill

Эксперт по Яндекс.Директ: управляет кампаниями через API, получает данные, строит отчёты, анализирует эффективность и предлагает оптимизацию ставок.

Audits

Warn

Install

openclaw skills install ab-directolog-skill

Яндекс.Директ агент — SKILL.md

Назначение

Этот скилл превращает OpenClaw-агента в эксперта по Яндекс.Директу. Агент умеет:

  • Работать с Direct API v5 через OAuth
  • Получать данные по кампаниям, ключевым словам, объявлениям
  • Запрашивать отчёты
  • Анализировать эффективность рекламы
  • Предлагать оптимизацию

Подключение API

1. Регистрация приложения

  1. Перейди на https://developer.tech.yandex.ru/projects
  2. Нажми Создать проект
  3. Заполни:
    • Название: OpenClaw Direct Agent
    • Описание: AI-агент для управления Яндекс.Директом
    • Платформы: Backend-приложение
  4. В разделе API добавь Yandex.Direct API
  5. Сохрани Client ID и Client Secret

2. Получение токенов

Токен получаем через OAuth:

https://oauth.yandex.com/authorize?
  response_type=code&
  client_id=<CLIENT_ID>&
  redirect_uri=<REDIRECT_URI>&
  scope=direct:api

После авторизации код обменивается на токен:

curl -X POST https://oauth.yandex.com/token \
  -d "grant_type=authorization_code" \
  -d "code=<CODE>" \
  -d "client_id=<CLIENT_ID>" \
  -d "client_secret=<CLIENT_SECRET>" \
  -d "redirect_uri=<REDIRECT_URI>"

Ответ:

{
  "access_token": "AQAAA...",
  "token_type": "bearer",
  "expires_in": 86400
}

Важно: токен живёт 24 часа. Для refresh используй grant_type=refresh_token.

3. Переменные окружения

Добавь в .env агента:

YANDEX_DIRECT_CLIENT_ID=your_client_id
YANDEX_DIRECT_CLIENT_SECRET=your_client_secret
YANDEX_DIRECT_ACCESS_TOKEN=your_access_token
YANDEX_DIRECT_REFRESH_TOKEN=your_refresh_token

4. Тест подключения

curl -X POST "https://api.direct.yandex.com/json/v5/campaigns" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "get",
    "params": {
      "SelectionCriteria": {},
      "FieldNames": ["Id", "Name", "Status"]
    }
  }'

Структура памяти агента

Агент хранит контекст в memory/direct-memory.md:

memory/
├── direct-memory.md     # Текущее состояние аккаунта
├── campaigns/          # Данные по кампаниям
├── reports/            # Отчёты и аналитика
└── templates/          # Шаблоны объявлений

Пример memory/direct-memory.md

# Yandex.Direct Memory

## Аккаунт
- Client ID: xxx
- Refresh Token: xxx (зашифрован)
- Последнее обновление: 2026-05-06

## Кампании (последние 5)
| ID | Имя | Статус | Бюджет |
|----|-----|--------|--------|
| xxx | Кампания 1 | Running | 500₽/день |

## Метрики (сегодня)
- Клики: 142
- Показы: 4820
- CTR: 2.95%
- Расход: 890₽
- Конверсии: 12
- CPA: 74₽

## Последние действия
- 2026-05-06: Создана кампания "Летняя распродажа"
- 2026-05-05: Оптимизированы ставки для группы "Кроссовки"

Ключевые endpoints API

Кампании

POST https://api.direct.yandex.com/json/v5/campaigns

{
  "method": "get",
  "params": {
    "SelectionCriteria": {
      "Statuses": ["Running"]
    },
    "FieldNames": ["Id", "Name", "Status", "DailyBudget", "AvgCpc", "Impressions", "Clicks"]
  }
}

Объявления

POST https://api.direct.yandex.com/json/v5/ads

{
  "method": "get",
  "params": {
    "SelectionCriteria": {
      "CampaignIds": [123456]
    },
    "FieldNames": ["Id", "CampaignId", "Status", "AdCategories"]
  }
}

Ключевые слова

POST https://api.direct.yandex.com/json/v5/keywords

{
  "method": "get",
  "params": {
    "SelectionCriteria": {
      "CampaignIds": [123456]
    },
    "FieldNames": ["Id", "Keyword", "Bid", "Competition", "Lowctrbid"]
  }
}

Отчёты

POST https://api.direct.yandex.com/json/v5/reports

{
  "method": "get",
  "params": {
    "SelectionCriteria": {
      "DateFrom": "2026-05-01",
      "DateTo": "2026-05-06"
    },
    "FieldNames": ["CampaignName", "Clicks", "Impressions", "Cost", "ConversionRate"]
  }
}

Сценарии использования

1. Аудит кампании

Проверь кампанию "Летняя распродажа" — какие объявления показываются,
какие ключевые слова работают, где сливается бюджет.

Агент:

  1. Запрашивает данные по кампании
  2. Анализирует CTR по объявлениям
  3. Находит неэффективные ключевые слова
  4. Формирует отчёт с рекомендациями

2. Оптимизация ставок

Понизь ставки на ключевые слова с CTR ниже 1% на 20%.

Агент:

  1. Получает список keywords с CTR
  2. Фильтрует низкоэффективные
  3. Рассчитывает новые ставки
  4. Отправляет batch-изменения через API

3. Генерация отчёта

Сделай отчёт по всем кампаниям за последние 30 дней:
конверсии, расход, ROI.

Агент:

  1. Запрашивает данные через Reports API
  2. Обрабатывает и агрегирует данные
  3. Формирует таблицу и выводы

Обработка ошибок API

КодЗначениеДействие
1000Достигнут дневной лимитПодождать до следующего дня
1001Нет доступа к кампанииПроверить права токена
1002Кампания не найденаУточнить ID кампании
1003Недостаточно средствПоказать предупреждение
1004Токен истёкОбновить через refresh_token
8001Превышен лимит запросовДобавить задержку 1 сек

При ошибке 1004 агент автоматически обновляет токен и повторяет запрос.


Формулы для анализа

CTR = (Клики / Показы) × 100
CPC = Расход / Клики
CPA = Расход / Конверсии
ROI = ((Доход - Расход) / Расход) × 100

Best practices

  1. Всегда обновляй токен — токен живёт 24 часа, refresh_token — 1 год
  2. Используй batch-запросы — группируй изменения, не отправляй по одному
  3. Кэшируй данные — не запрашивай одно и то же дважды за минуту
  4. Логируй все запросы — для отладки проблем с API
  5. Проверяй лимиты — в API есть ограничения на запросы в секунду

Скилл для OpenClaw агента от AB Agents


💰 Support / Поддержать

Если оказалось полезно — задонать на пиво или кофе:

🥝 TON: UQDHLFkZo0dJzYLm7QJr6Xx8iKvrrailZa2eXdX41dvRlyfr
🥝 USDT TRC20: TE1mVDUueHmhHNF57x1PZfEkAe6qgorHZc
💳 T-BANK: https://www.tbank.ru/cf/3CfaY0mpVIt

🦀 Сделано вручную и с любовью к автоматизации. Поддержи, чтобы следующий скилл появился быстрее.

⚡ 2,847 установок. Донатят — единицы. Ты не будешь одним из них? 😏

💬 "Перестал заморачиваться с показаниями вручную. Спасибо." — реальный отзыв.

🚧 Следующий скилл в разработке: автоматический постинг в Telegram. Проголосуй за функцию на GitHub — получишь бесплатно.

🦀 Делаю соки и код. Соки — бизнесу, код — вам бесплатно. Поддержи.

💰 Каждый донат = мотивация выпустить следующий релиз быстрее. Тонко намекаю.

🔥 Скилл сэкономил тебе минимум 15 минут? Купи мне кофе — я заслужил.