Конфигурация скрипта супер маркетинга
На этой странице описаны API-эндпоинты скрипта супер маркетинга. В отличие от других скриптов, кампании супер маркетинга не создаются через обобщённый эндпоинт POST /api/v1/task — они работают на основе многократно используемого датасета целей с собственными эндпоинтами.
Обзор
Кампания супер маркетинга объединяет несколько действий по росту (подписка, отписка, жалоба, личные сообщения, буст, массовые комментарии) в одном запуске по пулу целей. Пул целей хранится как датасет:
- Тип данных — датасет хранит либо
usernames(аккаунты TikTok/Instagram), либоpost_links(ссылки на публикации). - Стратегия — управляет распределением целей по устройствам:
shared_pool— каждое устройство/аккаунт обрабатывает все цели.consume_once— цели делятся между устройствами и каждая используется один раз.
Типичный процесс:
- Импорт целей в датасет → получение
dataset_id. - Запуск кампании, ссылающейся на
dataset_id, на одном или нескольких устройствах.
Переключатели функций (подписка / ЛС / комментарии и т.д.) и их настройки считываются из сохранённой конфигурации (super_marketing_settings.json). Вы можете переопределить любые параметры для конкретного запуска, передав script_config в запросе.
Все эндпоинты супер маркетинга требуют план Pro, Team или Business, как и остальное локальное API.
Импорт датасета
Создать новый датасет или добавить цели в существующий.
- Эндпоинт:
POST /api/v1/super-marketing/dataset
Тело запроса
| Поле | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
| dataset_id | integer | No | — | ID существующего датасета для добавления/замены. Пропустите или используйте 0 для создания нового. |
| data_type | string | Yes | — | usernames или post_links |
| strategy | string | Yes | — | shared_pool или consume_once |
| entries | string[] | Yes* | [] | Цели в виде JSON-массива. Приоритет над raw_text. |
| raw_text | string | Yes* | — | Цели в виде строки с переносами (альтернатива entries). |
| mode | string | No | append | append — добавить к существующим; replace — сначала очистить. |
| label | string | No | — | Необязательная метка для датасета. |
Передайте цели через один из вариантов: entries или raw_text. Дубликаты и пустые записи игнорируются. Один импорт ограничен 100 000 записей.
Пример
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Цели кампании A",
"entries": ["@user_one", "@user_two", "@user_three"]
}'
Добавить цели в существующий датасет:
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"dataset_id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"mode": "append",
"raw_text": "@user_four\n@user_five\n@user_six"
}'
Пример ответа
{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Цели кампании A",
"total": 3,
"consumed": 0,
"remaining": 3,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:00:00"
},
"entries": [
{ "id": 1, "value": "@user_one", "consumed": false, "consumed_by": null, "consumed_at": null, "created_at": "2026-06-22 09:00:00", "updated_at": "2026-06-22 09:00:00" }
]
},
"summary": {
"inserted": 3,
"duplicates": 0,
"skipped_empty": 0,
"removed": 0,
"truncated": 0
}
}
}
Список датасетов
Получить все датасеты со статистикой использования.
- Эндпоинт:
GET /api/v1/super-marketing/datasets
Параметры запроса
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
| data_type | string | — | Необязательный фильтр: usernames или post_links |
Пример
curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"
Пример ответа
{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Цели кампании A",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}
Получить датасет
Получить статистику датасета и страницу его записей.
- Эндпоинт:
GET /api/v1/super-marketing/dataset/{id}
Параметры запроса
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
| limit | integer | 50 | Записей на страницу (макс. 500) |
| offset | integer | 0 | Количество пропускаемых записей |
Пример
curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"
Очистить датасет
Удалить все записи из датасета. Сама запись датасета сохраняется (и dataset_id остаётся действительным для будущих импортов).
- Эндпоинт:
DELETE /api/v1/super-marketing/dataset/{id}
Пример
curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7
Пример ответа
{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}
Запуск кампании
Запустить кампанию супер маркетинга на заданных устройствах, используя цели из датасета.
- Эндпоинт:
POST /api/v1/super-marketing/run
Тело запроса
| Поле | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
| serials | string[] | Yes | [] | Серийные номера устройств |
| dataset_id | integer | Yes | — | Датасет с целями кампании |
| enable_multi_account | boolean | No | false | Создать задачу для каждого аккаунта на устройстве |
| merge_same_username_tasks | boolean | No | false | Объединить все цели устройства в одну задачу |
| platform | string | No | — | Платформа (tiktok / instagram). Применяется только в мультиплатформенных сборках |
| min_interval | integer | No | 0 | Минимальный интервал в минутах между задачами |
| max_interval | integer | No | 0 | Максимальный интервал в минутах ме жду задачами |
| start_time | string | No | — | Время начала первой задачи в формате HH:MM |
| rotate_proxy | boolean | No | false | Сменить прокси устройства перед запуском |
| switch_account_method | string | No | — | Метод переключения аккаунтов в мультиаккаунт режиме |
| official_packages | string[] | No | [] | Ограничить выполнение этими официальными пакетами |
| clone_package_prefix | string | No | — | Ограничить выполнение клонами с этим префиксом пакета |
| script_config | object | No | — | Переключатели функций / настройки, переопределяющие конфигурацию из приложения (см. ниже) |
В запросе не нужно передавать data_source_type — кампания автоматически использует data_type датасета (usernames или post_links). Датасеты с ссылками поддерживают только функции boost_posts и mass_comment.
Переопределения script_config
script_config необязателен. При отсутствии кампания использует переключатели и настройки из приложения. Передайте его для запуска полностью автономной кампании или переопределения конкретных полей. Ключи принимаются в camelCase и snake_case.
| Поле | Тип | Описание |
|---|---|---|
| access_method | string | Способ доступа к целям: search или direct |
| features.follow_users | boolean | Подписаться на каждую цель |
| features.unfollow_users | boolean | Отписаться от каждой цели |
| features.report_account | boolean | Пожаловаться на аккаунт цели |
| features.send_dm | boolean | Отправить личное сообщение каждой цели |
| features.boost_posts | boolean | Лайк / избранное / репост / поделиться публикациями цели |
| features.mass_comment | boolean | Комментировать публикации цели |
| follow_settings.boost_type | string | follow или unfollow |
| dm_settings.message_contents | string | Текст ЛС (несколько вариантов через перенос строки) |
| dm_settings.message_order | string | random или sequential |
| dm_settings.insert_emoji | boolean | Вставить случайный эмодзи в ЛС |
| dm_settings.generate_by_chatgpt | boolean | Генерировать ЛС через ChatGPT |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | Публикации для пропуска перед действиями (0–8, только username) |
| post_settings.max_posts_count | integer | Макс. публикаций для обработки на цель |
| post_settings.enable_like | boolean | Лайкнуть публикации |
| post_settings.enable_favorite | boolean | Добавить публикации в избранное |
| post_settings.enable_repost | boolean | Репостить публикации |
| post_settings.enable_share | boolean | Поделиться публикациями |
| post_settings.repeat_times | integer | Количество повторений действий |
| post_settings.view_durations | integer[] | [min, max] секунд просмотра каждой публикации |
| comment_settings.comment_content | string | Текст комментария (несколько вариантов через перенос) |
| comment_settings.comment_order | string | random или sequential |
| comment_settings.insert_emoji | boolean | Вставить случайный эмодзи в комментарий |
| comment_settings.generate_by_chatgpt | boolean | Генерировать комментарий через ChatGPT |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | Секунды ожидания перед завершением (предотвращает потерю данных) |
Примеры
Минимальный запуск (использовать настройки из приложения)
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"dataset_id": 7
}'
Автономная кампания подписки + ЛС
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 7,
"enable_multi_account": true,
"min_interval": 1,
"max_interval": 3,
"script_config": {
"access_method": "search",
"features": {
"follow_users": true,
"send_dm": true
},
"follow_settings": { "boost_type": "follow" },
"dm_settings": {
"message_contents": "Привет! Мне нравится ваш контент 🙌\nОтличные посты, продолжайте!",
"message_order": "random",
"insert_emoji": true
}
}
}'
Массовые комментарии на датасете из ссылок
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 9,
"merge_same_username_tasks": true,
"script_config": {
"features": { "mass_comment": true },
"comment_settings": {
"comment_content": "🔥🔥🔥\nОтлично!\nЛюблю это",
"comment_order": "random"
}
}
}'
Пример ответа
{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}
created_count — количество созданных задач. Затем ожидающие задачи выполняются на назначенных устройствах — отслеживайте через API управления задачами.
Ошибки
| HTTP Status | Code | Описание |
|---|---|---|
| 400 | 40001 | Неверные параметры (неверный data_type/strategy, пустой serials, невалидный dataset_id, не-объект script_config, или задачи не созданы) |
| 403 | 40301 | Запрещено — требуется план Pro+ |
| 404 | 40401 | Датасет не найден |
| 500 | 50001 | Внутренняя ошибка сервера |
Если запуск возвращает код 40001 с сообщением "No tasks created", проверьте, что у датасета ещё остались цели (для стратегии consume_once) и выбранные устройства онлайн.
См. также
- Обзор локального API - Обзор API и быстрый старт
- API управления задачами - Отслеживание и управление созданными задачами
- API статуса аккаунтов - Запрос статуса аккаунтов и устройств