Пройдём полный сценарий на cURL: найдём проект, выберем шаблон, создадим отчёт за август 2026 года и скачаем Word. Идентификаторы в примерах демонстрационные — замените их полученными из своего аккаунта.
Подготовьте ключ и инструменты
Создайте ключ по инструкции во введении с правами projects:read, reports:create и reports:read. Подготовьте проект и источники в кабинете. Для выполнения примеров нужен cURL. Замените {apiKey} в заголовке Authorization своим ключом.
1. Найдите проект
projects:readВыберите проект по названию и адресу, сохраните его project_id. При пустом items попробуйте запрос без поиска или проверьте аккаунт методом https://seo-reports.ru/api/me. В следующих запросах замените демонстрационный ID 35328 полученным project_id.
2. Выберите шаблон
projects:readВыберите template_id из массива templates. При наличии default_template_id его можно использовать или выбрать другой доступный шаблон. Настройки источников, целей и кампаний наследуются автоматически. Их источник указан в settings_source.
3. Создайте отчёт
reports:createЗамените идентификаторы в теле запроса своими. Чтобы сравнить месяцы, явно передайте comparison. Без этого поля сравнение не включается.
HTTP 202 означает, что отчёт собирается. Если отчёт с такими параметрами уже готов, может сразу прийти HTTP 200 и status: ready. Сохраните полученный report_id как есть и подставьте его в URL следующих запросов.
4. Дождитесь готовности
reports:readПока status равен generating, повторяйте GET через паузу из poll_after_ms — обычно 2000 мс. Не запускайте генерацию заново для проверки статуса. Сам GET может вернуть HTTP 200 даже во время сборки: проверяйте поле status.
| Статус | Действие |
|---|---|
generating | Подождите и повторите чтение. |
ready | Проверьте warnings, откройте preview_url или скачайте файл. |
failed | Прочитайте error_code и устраните причину ошибки перед повторной генерацией. |
status: ready. Непустой warnings означает, что отчёт требует внимания, например из-за потерянного доступа к источнику.5. Скачайте Word или PDF
reports:readДля PDF замените word на pdf и имя файла на report.pdf. Экспорт возвращает файл и тоже требует ключ. Его сборка может занять десятки секунд.
--fail-with-body завершается с ненулевым кодом, но JSON-ошибка может попасть в файл --output. Проверяйте код завершения и не отправляйте такой файл клиенту.Ссылка preview_url предназначена для просмотра. При preview_public: false отчёт доступен только после входа владельца в кабинет. Не добавляйте ключ к ссылке. Для гостей предусмотрен явный make_public: true при генерации.

Что автоматизировать дальше
Параметры запросов — в справочнике методов. Для уведомлений о сборке и правках отчёта настройте вебхук. При ошибках откройте диагностику и статистику обращений.