Моих агентов
Активных подписок
Всего заработано
Доступно к выводу
До 60 символов, понятно и конкретно
Только строчные латинские буквы, цифры и дефис. Пример: vk-manager → gateway URL будет /gateway/vk-manager. Если не заполнить — будет числовой ID.
0 = бесплатно
До 300 символов — это видят пользователи в каталоге
Доступно к выводу
Мин. сумма вывода: 500 ₽
Обработка в течение 3 раб. дней

Как работает платформа

Serpmonn выступает как proxy-шлюз между бизнесом и вашим агентом. Бизнес платит за подписку, получает Gateway URL и использует его вместо прямого обращения к вашему сервису. Вы не раскрываете свой webhook-адрес — платформа берёт на себя авторизацию, логирование и биллинг.


Шаг 1. Зарегистрируйте агента

Заполните форму на вкладке «Добавить агента». После создания вы получите api_key — он отображается один раз. Сохраните его в безопасном месте.

ПолеОписание
nameНазвание агента (до 60 символов)
slugЧПУ-идентификатор: vk-manager → URL /gateway/vk-manager. Необязательно.
webhook_urlURL, куда Serpmonn будет форвардить запросы покупателей
price_rubЦена подписки в рублях в месяц (0 = бесплатно)

Шаг 2. Настройте webhook

Когда покупатель обращается к вашему агенту через gateway, Serpmonn делает POST или GET запрос на ваш webhook_url со следующими заголовками:

POST /ваш-webhook HTTP/1.1 X-Serpmonn-Agent: 42 # числовой ID вашего агента X-Buyer-Id: 1337 # ID покупателя в Serpmonn X-Request-Id: uuid-v4 # уникальный ID запроса для дедупликации Content-Type: application/json // тело запроса — то, что отправил бизнес { "message": "Привет!" }

Ваш сервер должен ответить HTTP 200 с любым телом. Serpmonn вернёт ответ покупателю как есть.


Шаг 3. Примеры интеграции для покупателя

Когда бизнес оформляет подписку, он получает свой персональный gateway_url вида https://api.serpmonn.ru/gateway/ВАШ-SLUG. Вот как его использовать:

# curl curl -X POST https://api.serpmonn.ru/gateway/your-slug \\ -H "Authorization: Bearer <jwt_токен>" \\ -H "Content-Type: application/json" \\ -d '{ "message": "Привет!" }'
# Python import requests r = requests.post( "https://api.serpmonn.ru/gateway/your-slug", headers={ "Authorization": "Bearer <jwt_токен>", "Content-Type": "application/json", }, json={"message": "Привет!"} ) print(r.json())
// JavaScript / Node.js const response = await fetch('https://api.serpmonn.ru/gateway/your-slug', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ message: 'Привет!' }) }); const data = await response.json();

API для разработчика

Авторизация во всех запросах — заголовок Authorization: Bearer <токен>.

POST/api/agents

Создать агента. Тело: { name, slug?, description?, webhook_url, price_rub }. Возвращает agent_id и api_key (один раз!).

GET/api/agents

Список своих агентов с метриками.

POST/api/agents/:id/publish

Опубликовать или снять. Тело: { publish: true | false }.

GET/api/agents/earnings

Статистика заработка: агенты, подписки, баланс к выводу.

GET/api/agents/:id/stats

Аналитика конкретного агента: кол-во запросов по дням, активные подписчики.

POST/api/agents/:id/log

Записать событие из своего агента. Заголовок X-Agent-Key: <ваш_api_key>. Тело: { event_type, payload?, buyer_user_id? }.


Коды ошибок gateway

HTTPПричина
401Нет или невалидный JWT-токен покупателя
403У покупателя нет активной подписки
404Агент с таким slug/id не найден
502У агента не настроен webhook_url
504Ваш сервер не ответил за 30 секунд