SEO-проекты · token

reports Отчёты: список, статус и файлы

Группа работает с отчётами, которые заказаны в разделе «Отчёты» проекта: отдаёт их список и статус, ссылки на готовые файлы Word и PDF и ставит файл Word на формирование. Сами отчёты через API не заказываются. Список и статус — синхронно, файл Word — асинхронно: повторяйте report/file/get, пока не появится ссылка.

Адрес
/projects/api/v1/reports/get, /projects/api/v1/report/<метод>
Режим
синхронный; файл Word — асинхронный, опросом
Лимиты
не тратит

Список отчётов

GET /projects/api/v1/reports/get

Отчёты проекта от новых к старым.

Параметры query

  • token string обязательный
    Ключ API из настроек аккаунта — тот же, что key у методов инструментов.
  • project_id int обязательный
    ID проекта. Виден в адресе страницы проекта и в ответе projects/get.
  • limit int
    Сколько последних отчётов отдать. 0 или без параметра — все.
    По умолчанию 0

Ответ

  • result[].id string
    ID отчёта — его передают в report_id.
  • result[].status string
    done — отчёт сформирован, in progress — ещё нет.
  • result[].date date
    Когда отчёт заказан.
  • result[].domain string
    Домен проекта.
  • result[].from, result[].to date
    Период отчёта.
  • result[].compare_from, result[].compare_to date
    Период для сравнения — только у отчётов со сравнением.

Отчёт и ссылки на файлы

GET /projects/api/v1/report/get

Статус одного отчёта и ссылки на его файлы, если они уже сформированы. Файл PDF формируется из интерфейса; файл Word можно заказать через report/file/get.

Параметры query

  • token string обязательный
    Ключ API из настроек аккаунта — тот же, что key у методов инструментов.
  • project_id int обязательный
    ID проекта. Виден в адресе страницы проекта и в ответе projects/get.
  • report_id string обязательный
    ID отчёта — поле id из reports/get.

Ответ

  • result.status string
    done — отчёт сформирован, in progress — ещё нет.
  • result.date date
    Когда отчёт заказан.
  • result.domain string
    Домен проекта.
  • result.from, result.to date
    Период отчёта.
  • result.compare_from, result.compare_to date
    Период для сравнения — только у отчётов со сравнением.
  • result.files.docx, result.files.pdf object
    status — true, если файл есть; link — ссылка на скачивание или пустая строка.

Файл отчёта в Word

GET /projects/api/v1/report/file/get

Если файл Word уже есть — отдаёт ссылку. Если нет — ставит его на формирование и отвечает in progress; повторный вызов, пока файл готовится, второй задачи не создаёт. Опрашивайте метод раз в несколько секунд, пока status не станет done. Метод отдаёт ссылку, а не сам файл.

Параметры query

  • token string обязательный
    Ключ API из настроек аккаунта — тот же, что key у методов инструментов.
  • project_id int обязательный
    ID проекта. Виден в адресе страницы проекта и в ответе projects/get.
  • report_id string обязательный
    ID отчёта — поле id из reports/get.

Ответ

  • result.files.docx.status string
    done или in progress. Обратите внимание: здесь строка, а в report/get — true/false.
  • result.files.docx.link string
    Ссылка на скачивание; пустая, пока файл не готов.

Ошибки

КодСообщениеКогда
50 access error Токен не передан, не найден, или у его владельца нет доступа к проекту.
51 wrong project id Проекта с таким project_id нет.
52 wrong request data report/get, report/file/get: не передан report_id или у проекта нет такого отчёта. Причина — в result.error.

Ссылки на файлы ведут на общую ссылку отчёта (/projects/shared/…) и открываются без авторизации — не публикуйте их там, где их могут увидеть посторонние.

Статус in progress в списке означает любое состояние, кроме «готов», — в том числе отчёт, сформировать который не удалось. Если статус не меняется долго, проверьте отчёт в интерфейсе.

Методы принимают GET и POST, но параметры читаются из query-строки. HTTP-код всегда 200: успех и ошибка различаются полями status и code.

Обратная связь и помощь
Если у вас есть идеи, как улучшить данный инструмент или остались вопросы по работе с ним, напишите в нашу службу поддержки, мы обязательно вам поможем.