Асинхронные отчёты Meta Ads
Для работы с большими объёмами данных LightLead использует механизм асинхронных отчётов Meta Ads API. Это позволяет получать статистику за длительные периоды с детальными разбивками без превышения лимитов времени выполнения запроса.
Когда используются асинхронные отчёты
Асинхронный режим автоматически активируется в следующих случаях:
- Большой период: запрос данных более чем за 30 дней с дневной детализацией
- Много разбивок: одновременное использование 2+ breakdowns
- Большое количество полей: запрос включает 15+ полей и метрик
- Множество сущностей: запрос охватывает сотни кампаний или объявлений
Признак: если синхронный запрос может превысить таймаут API (обычно 60 секунд), LightLead автоматически переключается на асинхронный режим.
Процесс асинхронного отчёта
Шаг 1. Создание отчёта
LightLead отправляет POST-запрос к /act_{ad_account_id}/insights с параметром async=true. API возвращает report_run_id — уникальный идентификатор отчёта.
Шаг 2. Проверка статуса
LightLead периодически проверяет статус отчёта через GET-запрос к /{report_run_id}. Возможные статусы:
| Статус | Описание |
|---|---|
Job Not Started | Отчёт ещё не начал формироваться |
Job Started | Отчёт формируется |
Job Completed | Отчёт готов к получению |
Job Failed | Ошибка при формировании отчёта |
Job Timeout | Превышено время формирования |
Шаг 3. Получение результатов
После перехода в статус Job Completed LightLead загружает данные через GET-запрос к /{report_run_id}/insights.
Параметры асинхронных отчётов
Уровень детализации
Такой же, как и в синхронных запросах: account, campaign, adset, ad.
Период
date_preset: предустановленные периоды (last_7d, last_30d, etc.)time_range: произвольный диапазон дат
Разбивки (breakdowns)
Поддерживаются все стандартные разбивки. Рекомендуется ограничиваться 2-3 разбивками.
Ограничения асинхронных отчётов
- Время жизни отчёта: результаты доступны в течение 24 часов после создания
- Максимальный период: 37 месяцев
- Параллельные запросы: не более 5 одновременных асинхронных отчётов на аккаунт
- Лимит запросов: асинхронные отчёты учитываются в общем rate limit
Оптимизация асинхронных отчётов
Уменьшение объёма данных
- Фильтруйте перед запросом: используйте фильтры по кампаниям и объявлениям для сужения выборки
- Ограничивайте поля: запрашивайте только необходимые метрики
- Сокращайте период: не запрашивайте данные за год, если нужен только месяц
Кеширование результатов
LightLead кеширует результаты асинхронных отчётов для повторного использования — см. Повторное использование данных.
Обработка ошибок
| Ошибка | Причина | Решение |
|---|---|---|
Job Failed | Некорректные параметры запроса | Проверьте параметры и повторите |
Job Timeout | Слишком большой объём данных | Уменьшите период или количество разбивок |
Rate limit | Превышен лимит запросов | Дождитесь сброса лимита |