REST API · JWT

rest-projects REST API: список проектов и создание нового

Проекты пользователя, вошедшего через user/auth, и создание нового проекта в три шага: подобрать поисковые системы и регионы для домена, подобрать запросы, создать проект. Это тот же «быстрый старт», что при добавлении проекта в интерфейсе. Все методы синхронные; данные одного проекта — в rest-project.

Адрес
/api-rest/projects/<метод>
Авторизация
JWT в заголовке token
Лимиты
не тратят; лимиты пойдут на проверки созданного проекта

Список проектов

POST /api-rest/projects/list

Свои проекты и проекты с выданным доступом. По каждому — карточка, даты всех завершённых проверок позиций и счётчик ошибок технического аудита.

Параметры query и тело формы

  • token string обязательный заголовок
    Access token из user/auth.

Ответ

  • data[].project object
    Карточка проекта: id, user_id (владелец), domain, main_mirror, aliases, status (1 — активен), name, date, date_update и настройки съёма. Значения — строки.
  • data[].update array
    Даты завершённых проверок позиций, ГГГГ-ММ-ДД, от старых к новым — вся история.
  • data[].errors object|false
    Технический аудит: total_count — проверок, errors_count — ошибок. false, если аудит не запускался.

Поисковые системы и регионы для домена

POST /api-rest/projects/ss-list

Шаг 1 создания проекта. Предлагает поисковые системы и регион по умолчанию — регион из настроек пользователя (для доменов .ua, .by, .kz — регион страны) — и отдаёт справочник систем с регионами, чтобы пользователь мог выбрать свои. Пары search_sestem.id + ключ региона идут в projects/add как search_engine и search_region.

Параметры query и JSON-тело

  • token string обязательный заголовок
    Access token из user/auth.
  • domain string обязательный
    Домен сайта без протокола.

Ответ

  • data.prepared_search_systems[] array
    Предложение по умолчанию: lbl — ID пары «система + регион», name — система, region — название региона.
  • data.search_systems_with_regions[] array
    Четыре системы: Яндекс, Google, Яндекс мобильный, Google мобильный.
    Вложенные поля
    • search_sestem object
      Поисковая система: id (1, 2, 7, 8), name, domain, slug. Опечатка в имени ключа сохранена ради совместимости.
    • region object
      Доступные регионы: ключ — ID региона (lr), значение — название.

Подбор запросов для домена

POST /api-rest/projects/get-words

Шаг 2 создания проекта. Запросы, по которым домен уже виден в органике Яндекса, — до 500 штук, самые частотные первыми. Берётся первый регион, где у домена набралось хотя бы 200 запросов; если такого нет, придёт пустой список — тогда запросы придётся задать самим.

Параметры query и JSON-тело

  • token string обязательный заголовок
    Access token из user/auth.
  • domain string обязательный
    Домен сайта без протокола.

Ответ

В data — массив строк-запросов.

Создание проекта

POST /api-rest/projects/add

Шаг 3. Создаёт проект с настройками быстрого старта: главное зеркало определяется по Яндексу (если не найдено — https://<домен>), домен проекта берётся из зеркала, запросы добавляются в группу «Общая». Проект принадлежит владельцу токена.

Массивы передавайте массивами — JSON-телом или как search-systems[0][search_engine]=1 в форме. Строку с JSON внутри поля формы метод не разбирает: запросы превратятся в одну строку, а поисковые системы не добавятся.

Параметры query и JSON-тело

  • token string обязательный заголовок
    Access token из user/auth.
  • domain string обязательный
    Домен сайта без протокола.
  • search-systems array
    Поисковые системы проекта: массив объектов {"search_engine": ID системы, "search_region": ID региона} из projects/ss-list. Первая становится приоритетной. Без них — Яндекс и Google, Москва.
  • key-words array
    Запросы: массив строк (например, отредактированный ответ projects/get-words) или одна строка, где запросы разделены переводом строки. Без них проект создаётся пустым.
  • debug int
    Проверка без создания: с 1 метод вернёт, как он понял входные данные, и проект не создаст.
    1
    только показать разобранные данные

Ответ

  • data.project_id int
    ID созданного проекта — для методов rest-project.

Ошибки

КодСообщениеКогда
404 Domain not found ss-list, get-words, add: не передан domain.
401 Token is not authorized Нет заголовка token или токен недействителен — см. rest-auth.

Запросы при создании проходят ту же проверку, что и при добавлении в интерфейсе. Проверка позиций созданного проекта идёт по расписанию быстрого старта и тратит лимиты владельца; запустить её сразу — project/positions/schedule.

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