Перейти к основному контенту
Finance & Reselling

44. API Smmplan: Подробное руководство для реселлеров

Михаил👁️ 29 просмотров
М
Михаил
Системный архитектор прокси-сетей Smmplan

API Smmplan: Подробное руководство для реселлеров

Программный интерфейс (API) Smmplan предоставляет B2B-клиентам и реселлерам мощные инструменты для автоматизации процессов заказа SMM-услуг. Интеграция по API позволяет вашей платформе, интернет-магазину или Telegram-боту напрямую взаимодействовать с нашим каталогом, отправлять задания в работу, получать актуальные статусы и контролировать баланс без ручного участия администратора.

Данное руководство детально описывает ключевые методы, механизмы безопасности, логику работы со статусами и строгие рекомендации по архитектуре интеграции для обеспечения отказоустойчивой работы вашей инфраструктуры.

1. Авторизация и безопасность

Все запросы к API Smmplan требуют аутентификации. Для получения доступа перейдите в раздел «Настройки API» в личном кабинете и сгенерируйте уникальный API-ключ.

Для выполнения запроса необходимо передавать два основных параметра в теле запроса (POST) или в качестве query-параметров (GET):

  • `key`: ваш секретный API-ключ.
  • `action`: название вызываемого метода (например, `services`, `add`, `status`, `balance`).

Требование безопасности: API-ключ жестко привязан к вашему аккаунту и финансовому балансу. Храните его исключительно в защищенном хранилище переменных окружения (например, `.env`) на стороне вашего бэкенд-сервера. Прямая передача ключа через фронтенд-приложения (React, Vue) или мобильные клиенты приведет к его немедленной компрометации и финансовым потерям.

2. Получение списка услуг и архитектура Shadow Catalog

Для синхронизации вашей витрины с ассортиментом Smmplan используйте метод получения каталога.

Запрос:

```http

POST /api/v1

Content-Type: application/json

{

"key": "ВАШ_API_КЛЮЧ",

"action": "services"

}

```

Ответ: Возвращает JSON-массив объектов. Каждый объект содержит `service` (внутренний идентификатор услуги в Smmplan), `name` (наименование), `type` (тип: Default, Custom Comments и т.д.), `rate` (цена за 1000 единиц), `min` и `max` (лимиты), `category` (категориальная принадлежность).

Рекомендуемая архитектура интеграции каталога

Крайне не рекомендуется реализовывать прямую запись всего объема получаемых услуг (Mass Sync) в вашу реляционную базу данных (например, PostgreSQL). Рекомендуется применять паттерн Shadow Catalog (Теневой буфер):

1. Буферизация: Сохраняйте ответ метода `services` во временное In-Memory хранилище (например, Redis по ключу `provider:smmplan:catalog`).

2. Cherry-Pick Импорт: Администратор вашей панели должен вручную выбирать нужные услуги из буфера и переносить их в боевую базу данных (Cherry-Pick).

3. Auto-Pricing Engine: Цены у провайдера могут меняться. Ваша система должна автоматически сопоставлять `rate` из буфера с текущими ценами и динамически обновлять розничные цены на вашей витрине для сохранения маржинальности (с учетом курсовых разниц, если вы работаете в другой валюте).

4. Zombie Eraser: Если услуга исчезла из ответа API, ваш ночной воркер обязан пометить связанную услугу в вашей БД как неактивную (`isActive = false`), предотвращая заказы в пустоту.

3. Оформление заказов: Одиночные и Mass Order

API поддерживает как одиночные транзакции, так и механизмы для обработки больших массивов данных.

Одиночный заказ (action: add)

Стандартный метод передачи одного целевого линка.

Параметры:

  • `action`: `add`
  • `service`: ID услуги из каталога.
  • `link`: целевая ссылка. Тип ссылки жестко зависит от категории (`targetType`). Для подписчиков — ссылка на канал/профиль (`CHANNEL`), для лайков и просмотров — ссылка на конкретный пост (`POST`).
  • `quantity`: требуемый объем. Должен строго входить в диапазон `min` и `max`.

Ответ при успехе:

```json

{

"order": 123456

}

```

Обязательно сохраняйте полученный идентификатор (`order`) в своей базе для дальнейшего трекинга.

Использование Mass Order (Массовый заказ)

Для снижения сетевой нагрузки при отправке сотен заказов в минуту, Smmplan предлагает функционал Mass Order. В рамках API это реализуется либо специализированным эндпоинтом для пакетной передачи данных (Batching), либо использованием параметра `runs` для Drip-feed заказов (постепенная накрутка). Всегда агрегируйте множественные однотипные задачи в минимальное количество сетевых вызовов, чтобы избежать блокировок по Rate Limit.

4. Синхронизация статусов заказов

Контроль за выполнением задач — критически важный процесс для обеспечения качественного клиентского сервиса.

Мульти-запрос статусов (Multi-Status):

  • `action`: `status`
  • `orders`: строка с ID заказов, разделенными запятыми (например, `12345,12346,12347`). Ограничение — до 100 ID в одном запросе.

Ответ: Возвращает JSON-объект, где ключами выступают ID заказов, а значениями — объекты с текущим статусом (`status`), стартовым счетчиком (`start_count`) и невыполненным остатком (`remains`).

Жизненный цикл статусов и бизнес-логика:

1. Pending (В ожидании): Заказ принят в систему Smmplan, поставлен в очередь воркеров (BullMQ).

2. Processing / In progress (В обработке / Выполняется): Задача запущена в работу провайдером.

3. Completed (Выполнен): Задача успешно и в полном объеме завершена.

4. Partial (Частично выполнен): Выполнена только часть заказа. Smmplan автоматически возвращает средства за невыполненный остаток (`remains`) на ваш API-баланс. Ваша биллинговая система обязана перехватить статус Partial и инициировать аналогичный частичный возврат средств на внутренний баланс вашего конечного пользователя.

5. Canceled (Отменен): Заказ отклонен (например, приватный аккаунт, ошибочный формат `targetType`, блокировка социальной сети). Производится полный возврат средств.

Паттерн поллинга: Строго запрещено опрашивать статусы отдельных заказов ежеминутно. Настройте фоновый процесс, который собирает все ваши заказы в статусах `Pending` и `Processing`, разбивает их на батчи по 100 штук и вызывает `Multi-Status` раз в 5–10 минут.

5. Контроль баланса

Чтобы избежать даунтайма продаж из-за нехватки средств на аккаунте поставщика, регулярно проверяйте баланс.

Запрос:

  • `action`: `balance`

Интегрируйте логику алертинга: если баланс (ответ `balance`) опускается ниже заданного критического порога (например, 1000 RUB), система должна отправлять уведомление финансовому администратору или в выделенный Telegram-чат. Это позволит своевременно пополнять счет через доступные платежные шлюзы без прерывания обслуживания ваших клиентов.

6. Обработка ошибок и Rate Limits

При интеграции учитывайте стандартные коды ошибок:

  • `Incorrect request` — неверный формат POST-запроса или пропущены обязательные поля.
  • `Incorrect API key` — недействительный ключ доступа.
  • `Not enough funds on balance` — недостаток средств. Воркер заказов должен перевести ваши локальные задачи в статус удержания (Hold) до пополнения баланса.
  • `Service disabled` — услуга удалена или временно выключена. Срабатывает логика Zombie Eraser.
  • `Invalid Link` — ошибка валидации `targetType` на стороне Smmplan.

Rate Limits:

API защищено алгоритмами ограничения запросов. При превышении лимита (обычно 60 запросов в минуту с одного IP) возвращается статус `429 Too Many Requests`. Ваша архитектура должна поддерживать механизм `Exponential Backoff`: при получении кода 429 процесс приостанавливается на 2 секунды, затем повторяет попытку; при повторной неудаче ожидание увеличивается до 4 секунд, затем до 8 и так далее.

Заключение

Интеграция по API Smmplan позволяет выстроить высокопроизводительную платформу для B2B-перепродажи услуг. Строго следуя рекомендациям по архитектуре Shadow Catalog, пакетной обработке статусов, обработке частичных возвратов (Partial) и соблюдению Rate Limits, вы обеспечите своим клиентам премиальный уровень сервиса и максимальную стабильность инфраструктуры.

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

📚 Похожие статьи

SMMplan

Платформа нового поколения для B2B продвижения. Мгновенный запуск, строгая конфиденциальность и официальная работа с гарантиями.

СБП
Cryptobot

* Сервисы Instagram и Facebook принадлежат компании Meta, признанной экстремистской организацией и запрещенной на территории РФ.

Поддержка

Наша команда на связи 24/7. Среднее время ответа составляет 15 минут.

© 2026 Самозанятый Соколов Артём Андреевич. Все права защищены.

Официальный сервис продвижения. ИНН: 695006320024

Адрес: Российская Федерация, Тверская область, г. Тверь

Designed with for B2B Growth