Запрос профиля и задачи

API для выдачи профиля и задачи софту

📘 Общая информация

Ваш серверный скрипт (API-эндпоинт) должен принимать запросы от софта и возвращать профиль с задачей, которую софт должен выполнить.

Софт обращается к вашему API методом POST и ожидает ответ в формате JSON.


⚙️ Как это работает

  1. Софт отправляет POST-запрос с параметрами окружения (группа профилей, IP-адрес, поток и т.д.).

  2. Ваш API выбирает подходящий профиль из вашей базы данных.

  3. Ваш API сам формирует задачу (task) и возвращает её вместе с параметрами профиля.

  4. Софт выполняет задачу, используя полученные данные.

📡 Метод и формат запроса

Метод: POST Формат данных: application/json


🚀 1. Как софт обращается к вашему API

Пример запроса:

Параметр
Тип
Описание

group

string

Название группы профилей.

copy_name

string

Название копии (панели управления).

thread

int

Номер потока.

comment

string

Комментарий пользователя.

server_ip

string

IP-адрес сервера, где запущен софт.


🧠 2. Что должен вернуть ваш API

Ответ от вашего API всегда должен содержать два объекта:


🔧 3. Варианты задач (task)

Ваш API должен случайным образом (или по вашей логике) возвращать один из двух типов задач:


🟢 Вариант 1: Нагул профилей

Пример ответа:

Структура параметров для Нагула профилей

Полный путь
Тип
Обязательный
Описание

task.type

string

Тип задачи. Для этого варианта всегда "Нагул профилей".

task.params

object

Основной объект параметров задачи.

task.params.methods

array

Список методов, используемых при нагреве профиля. Каждый элемент массива описывает отдельный метод.

task.params.methods[].method

string

Название метода. Возможные значения: • "Посещение сайтов""Ключевые запросы"

task.params.methods[].sites

int

Количество сайтов для посещения (актуально для метода "Посещение сайтов").

task.params.methods[].time_per_site

int

Время нахождения на каждом сайте в секундах.

task.params.methods[].keywords

int

Сколько ключевых запросов использовать (актуально для метода "Ключевые запросы").

task.params.methods[].yandex_domain

string

Домен поисковой системы Яндекс, например "yandex.ru/search"(актуально для метода "Ключевые запросы").

task.params.methods[].input_type

string

Тип ввода ключевых запросов. Например:"Ручной ввод ключевого запроса"

task.params.methods[].search_depth

int

Глубина поиска (количество страниц выдачи Яндекса).

task.params.methods[].ya_serp_idle_time

int

Время бездействия на странице поиска (в секундах).

task.params.methods[].sites_per_keyword

int

Количество сайтов, посещаемых на один поисковый запрос.


🔵 Вариант 2: Поисковая оптимизация

Пример ответа:

Структура параметров для Поисковая оптимизация

Параметр
Тип
Обязательный
Описание

task.type

string

Всегда "Поисковая оптимизация".

task.params.yandex_domain

string

Домен поисковой выдачи (например, "yandex.ru/search").

task.params.input_type

string

Тип ввода ключевого запроса. Например:"Ручной ввод ключевого запроса"

task.params.search_depth

int

Количество страниц поиска.

task.params.ya_serp_idle_time

int

Задержка на странице поиска (в секундах).

task.params.visit_site

string

Действие при переходе по сайту (например, "Нажать на сайт и сорвать загрузку").

task.params.time_per_site

int

Среднее время нахождения на сайте.


🧱 4. Параметры профиля (profile)

Независимо от типа задачи, объект profile всегда должен содержать информацию о профиле.

Параметр
Тип
Обязательный
Описание

profile.profile_id

string/int

Уникальный идентификатор профиля.

profile.cookies_data

string

Куки профиля в формате JSON.

profile.fingerprint

string

Отпечаток профиля (BAS-формат).

profile.local_storage

string

LocalStorage в формате JSON.

profile.proxy

string

Прокси, привязанный к профилю (ip:port:login:pass).

profile.tags

string

Теги профиля, разделённые запятыми.

profile.useragent

string

User-Agent браузера.

profile.ya_serp_visits

int

Количество посещений выдачи Яндекса.

profile.device_type

string

⚙️

Рекомендуется: "desktop" или "mobile".

profile.geolocation

string

Геолокация профиля.


⚙️ 5. Поведение при отсутствии params

Если поле params не передано:

  • Софт использует настройки из интерфейса, выбранные пользователем.

  • Ошибки не будет.

  • Это допустимо и корректно.

Пример минимального корректного ответа:


📡 6. Требования к ответу

Ваш скрипт обязательно должен возвращать:

  • HTTP-код 200 — при успешной обработке запроса;

  • JSON-объект с параметрами профиля.


🧰 7. Чек-лист перед запуском

✅ Возвращаете JSON с task и profile ✅ В task.type одно из: "Нагул профилей" или "Поисковая оптимизация" ✅ В profile минимум есть profile_id и cookies_data ✅ Если params нет — всё работает, софт подставит настройки из интерфейса ✅ Ответ отдаёт HTTP 200

Last updated