rest-projects REST API: список проектов и создание нового
Проекты пользователя, вошедшего через user/auth, и создание нового проекта в три шага: подобрать поисковые системы и регионы для домена, подобрать запросы, создать проект. Это тот же «быстрый старт», что при добавлении проекта в интерфейсе. Все методы синхронные; данные одного проекта — в rest-project.
- Адрес
/api-rest/projects/<метод>- Авторизация
- JWT в заголовке
token - Лимиты
- не тратят; лимиты пойдут на проверки созданного проекта
Список проектов
/api-rest/projects/list
Свои проекты и проекты с выданным доступом. По каждому — карточка, даты всех завершённых проверок позиций и счётчик ошибок технического аудита.
Параметры query и тело формы
-
tokenstring обязательный заголовокAccess token из user/auth.
Ответ
-
data[].projectobjectКарточка проекта:id,user_id(владелец),domain,main_mirror,aliases,status(1— активен),name,date,date_updateи настройки съёма. Значения — строки. -
data[].updatearrayДаты завершённых проверок позиций,ГГГГ-ММ-ДД, от старых к новым — вся история. -
data[].errorsobject|falseТехнический аудит:total_count— проверок,errors_count— ошибок.false, если аудит не запускался.
Поисковые системы и регионы для домена
/api-rest/projects/ss-list
Шаг 1 создания проекта. Предлагает поисковые системы и регион по умолчанию — регион из настроек пользователя (для доменов .ua, .by, .kz — регион страны) — и отдаёт справочник систем с регионами, чтобы пользователь мог выбрать свои. Пары search_sestem.id + ключ региона идут в projects/add как search_engine и search_region.
Параметры query и JSON-тело
-
tokenstring обязательный заголовокAccess token из user/auth. -
domainstring обязательныйДомен сайта без протокола.
Ответ
-
data.prepared_search_systems[]arrayПредложение по умолчанию:lbl— ID пары «система + регион»,name— система,region— название региона. -
data.search_systems_with_regions[]arrayЧетыре системы: Яндекс, Google, Яндекс мобильный, Google мобильный.Вложенные поля
-
search_sestemobjectПоисковая система:id(1, 2, 7, 8),name,domain,slug. Опечатка в имени ключа сохранена ради совместимости. -
regionobjectДоступные регионы: ключ — ID региона (lr), значение — название.
-
Подбор запросов для домена
/api-rest/projects/get-words
Шаг 2 создания проекта. Запросы, по которым домен уже виден в органике Яндекса, — до 500 штук, самые частотные первыми. Берётся первый регион, где у домена набралось хотя бы 200 запросов; если такого нет, придёт пустой список — тогда запросы придётся задать самим.
Параметры query и JSON-тело
-
tokenstring обязательный заголовокAccess token из user/auth. -
domainstring обязательныйДомен сайта без протокола.
Ответ
В data — массив строк-запросов.
Создание проекта
/api-rest/projects/add
Шаг 3. Создаёт проект с настройками быстрого старта: главное зеркало определяется по Яндексу (если не найдено — https://<домен>), домен проекта берётся из зеркала, запросы добавляются в группу «Общая». Проект принадлежит владельцу токена.
Массивы передавайте массивами — JSON-телом или как search-systems[0][search_engine]=1 в форме. Строку с JSON внутри поля формы метод не разбирает: запросы превратятся в одну строку, а поисковые системы не добавятся.
Параметры query и JSON-тело
-
tokenstring обязательный заголовокAccess token из user/auth. -
domainstring обязательныйДомен сайта без протокола. -
search-systemsarrayПоисковые системы проекта: массив объектов{"search_engine": ID системы, "search_region": ID региона}из projects/ss-list. Первая становится приоритетной. Без них — Яндекс и Google, Москва. -
key-wordsarrayЗапросы: массив строк (например, отредактированный ответ projects/get-words) или одна строка, где запросы разделены переводом строки. Без них проект создаётся пустым. -
debugintПроверка без создания: с1метод вернёт, как он понял входные данные, и проект не создаст.
Ответ
-
data.project_idintID созданного проекта — для методов rest-project.
Запросы при создании проходят ту же проверку, что и при добавлении в интерфейсе. Проверка позиций созданного проекта идёт по расписанию быстрого старта и тратит лимиты владельца; запустить её сразу — project/positions/schedule.