smarty-ext-messengerДата актуальности: 2026-06-18. Read-only документация.
Справочник REST-эндпоинтов, экспонируемых роутамиsmarty-backend-stable/smarty-ext-messenger/routes/.
Все маршруты подключены под префиксом /api/v2 (значение config.rest.api). Внутренние роуты монтируются через Router('/ws/:_wsId'), итого полный путь:
/api/v2/ws/:_wsId + basePath роутера + path createRoute
| Класс запроса | Описание |
|---|---|
InstanceRequest |
Проверяет доступ к конкретному объекту (instance). |
ListRequest |
Запрос списка объектов. |
ObjectsListRequest |
Запрос с фильтрацией по объектам. |
BotHookRequest |
NoAuth + валидация токена бота (webhook). |
NoAuthRequest |
Без авторизации (webhook-хуки). |
WsApiRequest |
Авторизация через workspace API. |
| Роутер | Файл | basePath (внутри /ws/:_wsId) |
Описание |
|---|---|---|---|
bot |
bot.js |
по модели ExtChatBot |
Управление ботами |
flow |
flow.js |
по модели ExtFlow |
Управление алгоритмами |
chat |
chat.js |
по модели ExtChat |
Управление чатами |
extusers |
extusers.js |
по модели ExtChatUser |
Управление пользователями ботов |
senderList |
massSend.js |
по модели ExtSenderList |
Списки рассылки |
senderListGroup |
massSend.js |
по модели ExtSenderListGroup |
Группы списков рассылки |
senderSeries |
massSend.js |
по модели ExtSenderSeries |
Серии рассылки |
hooks |
hooks.js |
/extchat-hook |
Webhook-точки входа для ботов |
popUpNotif |
popUpNotification.js |
по модели PopUpNotification |
Всплывающие уведомления |
prmuRouterNoWsId |
custom/prmu/index.js |
/prmu (глобальный) |
Специальные запросы для ПИМУ |
prmuRouter |
custom/prmu/index.js |
/ws/:_wsId/prmu |
Специальные запросы для ПИМУ (scoped) |
bot.js)Модель: ExtChatBot
Базовый путь: /api/v2/ws/:_wsId/extbot/... (WorkspaceObject)
WorkspaceObject автоматически генерирует GET (list), GET (instance), POST, PATCH, DELETE.
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
GET |
/messengers |
ListRequest | Список доступных мессенджеров | -- |
GET |
/all |
ListRequest | Список всех ботов (включая удалённые) | -- |
GET |
/:id/commands |
InstanceRequest | Список глобальных команд бота | -- |
GET |
/:id/flowtexts |
InstanceRequest | Список текстов алгоритма | -- |
PATCH |
/:id/flowtexts |
InstanceRequest | Массовое обновление текстов | body: flowtexts[] |
POST |
/:id/groups/copy |
InstanceRequest | Копирование быстрых ответов из другого бота | body: _botId |
GET |
/:id/flowfields |
InstanceRequest | Список полей, использованных в алгоритме | -- |
GET |
/:id/extseries_messages |
InstanceRequest | Сообщения из массовых рассылок бота | -- |
GET |
/series |
ListRequest | Серии рассылок для списка ботов | query: relatedBotIds[] |
PATCH |
/:id/block |
InstanceRequest | Восстановление заблокированного бота | -- |
DELETE |
/:id/block |
InstanceRequest | Блокировка бота | -- |
Через addInstanceRouter к каждому боту подключены:
extusers -- управление пользователями бота.senderList -- списки рассылки.senderSeries -- серии рассылки.fastReply -- быстрые ответы.flow.js)Модель: ExtFlow
Базовый путь: /api/v2/ws/:_wsId/extflow/... (WorkspaceObject)
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
GET |
/:id/blocks |
InstanceRequest | Все блоки алгоритма | -- |
POST |
/:id/blocks |
InstanceRequest | Добавить блок | body: { name, reply, ... } |
GET |
/:id/blocks/:blockId |
InstanceRequest | Получить блок | -- |
PATCH |
/:id/blocks/:blockId |
InstanceRequest | Редактировать блок | body: поля блока |
DELETE |
/:id/blocks/:blockId |
InstanceRequest | Удалить блок | -- |
GET |
/default-list |
ListRequest | Список шаблонов алгоритмов | -- |
POST |
/default/copy |
ListRequest | Копирование шаблона | body: title, _id |
POST |
/import |
ListRequest (multipart) | Импорт алгоритма из JSON-файла | file upload |
GET |
/:id/export |
InstanceRequest | Экспорт алгоритма в JSON | -- |
GET |
/series-all |
ListRequest | Все метки алгоритмов в РП | -- |
texts -- CRUD текстов алгоритма.extStorageFields -- поля хранения.commands -- команды алгоритма.extLists -- метки (списки) алгоритма.extGroupLists -- группы меток.chat.js)Модель: ExtChat
Базовый путь: /api/v2/ws/:_wsId/extchat/... (WorkspaceObject, create/delete отключены)
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
GET |
/:id/attaches |
InstanceRequest | Все прикреплённые объекты в чате | -- |
POST |
/:id/mark/read |
InstanceRequest | Пометить чат прочитанным | body: msg (ObjectId, optional) |
GET |
/unread |
ListRequest | Чаты с непрочитанными сообщениями | -- |
GET |
/init |
ListRequest | Инициализационный список чатов | -- |
GET |
/:id/admins |
InstanceRequest | Список администраторов чата | -- |
POST |
/:id/admins |
InstanceRequest | Добавить администраторов | body: ExtChatParticipant[] |
DELETE |
/:id/admins |
InstanceRequest | Удалить администраторов | query: ids[] |
POST |
/:id/manageFlow |
InstanceRequest | Остановить/возобновить алгоритм | body: action (enum: stop, start) |
GET |
/:id/fastreplies |
InstanceRequest | Быстрые ответы для групп чата | query: фильтры + пагинация |
GET |
/:id/fastreplies/groups |
InstanceRequest | Группы быстрых ответов | -- |
GET |
/findByPhone |
ListRequest | Ссылка на чат по телефону | query: phone, onlyId |
PATCH |
/:id/block |
InstanceRequest | Восстановление пользователя чата | -- |
DELETE |
/:id/block |
InstanceRequest | Блокировка пользователя чата | -- |
chatMessages -- сообщения чата (редактирование, удаление).chatParticipants -- участники чата (CRUD).chatMessages.js)Модель: ExtChatMessage
Базовый путь: /api/v2/ws/:_wsId/extchat/:chatId/extmessage/... (WorkspaceObject, update/delete отключены)
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
POST |
/:id/update-content |
InstanceRequest | Редактирование текста сообщения | body: content (max 12000 символов) |
POST |
/:id/delete |
InstanceRequest | Мягкое удаление сообщения | -- |
Примечание: автор или администратор РП. При редактировании/удалении -- синхронизация с Telegram (best-effort).
chatParticipants.js)Модель: ExtChatParticipant
Базовый путь: /api/v2/ws/:_wsId/extchat/:chatId/extchatparticipant/... (WorkspaceObject)
POST (добавление) с валидацией IdsValidator по модели Employee.
extusers.js)Модель: ExtChatUser
Базовый путь: /api/v2/ws/:_wsId/extuser/... (WorkspaceObject, create/update/delete отключены)
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
PATCH |
/:id/phone |
InstanceRequest | Обновить номер телефона | body: phone |
POST |
/filter |
ObjectsListRequest | Список ID пользователей по фильтру сегментации | body: messengers[], languages[], targetLists[], targetUnlistedUsersGroups[] |
POST |
/list |
ObjectsListRequest | Профили пользователей по ID | body: ids[] |
POST |
/group |
ObjectsListRequest | Пользователи, сгруппированные по сегментации | body: targetLists[] |
GET |
/:id/extlists |
InstanceRequest | Все доступные метки пользователя | -- |
PATCH |
/:id/extlists |
InstanceRequest | Привязка/отвязка меток | body: extListsIds[], type (enum: push, pull) |
GET |
/:id/extlists/active |
InstanceRequest | Активные метки пользователя | -- |
GET |
/:id/extlists/active/count |
InstanceRequest | Количество активных меток | -- |
massSend.js)senderList)Модель: ExtSenderList
Базовый путь: /api/v2/ws/:_wsId/extsenderlist/... (WorkspaceObject)
Стандартные CRUD-эндпоинты.
senderListGroup)Модель: ExtSenderListGroup
Базовый путь: /api/v2/ws/:_wsId/extsenderlistgroup/... (WorkspaceObject)
Стандартные CRUD-эндпоинты.
senderSeries)Модель: ExtSenderSeries
Базовый путь: /api/v2/ws/:_wsId/extseries/... (WorkspaceObject, baseObject: object)
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
POST |
/:id/start |
InstanceRequest | Немедленный запуск рассылки | -- |
POST |
/:id/schedule |
InstanceRequest | Отложенный запуск рассылки | body: delay (Number, required) |
hooks.js)Базовый путь: /api/v2/extchat-hook
Описание: "Интеграция ботов"
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
GET |
/extchat-hook/postback/phone-number/:phone |
NoAuth | Телефонный postback (redirect) | path: phone |
POST |
/extchat-hook/postback/:hookId |
NoAuth | Webhook-хук алгоритма | path: hookId (ObjectId); body: данные хука |
POST |
/extchat-hook/pay/:payId |
NoAuth | Webhook оплаты | path: payId |
GET |
/extchat-hook/ |
BotHook (deprecated) | WhatsApp/Facebook verify (deprecated) | query: hub.mode, hub.verify_token, hub.challenge |
POST |
/extchat-hook/ |
BotHook (deprecated) | Входящее сообщение (deprecated) | body: message payload |
GET |
/extchat-hook/:token |
BotHook | WhatsApp/Facebook verify | query: hub.mode, hub.verify_token, hub.challenge |
POST |
/extchat-hook/:token |
BotHook | Входящее сообщение от мессенджера | body: message payload |
GET |
/extchat-hook/:token/me |
BotHook (smarty) | Информация о боте | -- |
POST |
/extchat-hook/:token/webhook |
BotHook (smarty) | Установить postback URL | body: webhook data |
DELETE |
/extchat-hook/:token/webhook |
BotHook (smarty) | Очистить postback URL | -- |
POST |
/extchat-hook/:token/msg |
BotHook (smarty) | Отправка сообщения от лица бота | body: { content, _dialogId, file? } |
GET |
/extchat-hook/:token/employee/:_employeeId |
BotHook (smarty) | Информация об участнике | path: _employeeId (ObjectId) |
popUpNotification.js)Модель: PopUpNotification
Описание: "Всплывающие окна с уведомлениями"
WorkspaceObject с отключёнными create/update. Стандартные GET (list), GET (instance), DELETE.
custom/prmu/index.js)_wsId)Базовый путь: /api/v2/prmu
| Метод | Путь | Auth | Назначение | Параметры |
|---|---|---|---|---|
GET |
/prmu/extchat/findByPhone |
WsApi | ПИМУ: ссылки на чаты по номеру телефона | query: phone, onlyId |
Примечание: доступно только для workspace 6388628bacb764166e812749 и 638da00f109d32b39860b7e1. Возвращает { students, medicals }.
/ws/:_wsId)| Метод | Путь | Auth | Назначение |
|---|---|---|---|
POST |
/prmu/extchat/:id/call |
InstanceRequest | ПИМУ: инициация звонка пользователю |