Download OpenAPI specification:
API для интеграции с ASSISTBOT содержит две группы методов:
Для обращений и к первой и ко второй группе методов требуется авторизация. Т.е. передача уникального hash-ключа.
Авторизация запросов к API производится в соответствии с RFC 6749 "Resource Owner Password Credentials Grant". При запросах к API в HTTP заголовок Authorization должен быть включен ключ доступа в следущем формате:
Authorization: Bearer <токен>
| Content-Type required | string application/json |
| Authorization required | string Bearer account_token |
| date_start required | string |
| date_end required | string |
| delivery_callback_url required | string |
| phone | string |
{- "date_start": "2024-10-01",
- "date_end": "2024-10-31",
- "phone": "+77054521514"
}{- "success": true,
- "data": {
- "report_id": 436,
- "branches": [ ],
- "date_start": "2024-10-01",
- "date_end": "2024-10-31",
- "phone": "+77054521514",
}, - "meta": { }
}| token required | string Токен пользователя |
| Content-Type required | string application/json |
| Authorization required | string Вписываем 'Bearer partner_token' |
{- "status": true,
- "errors": "",
- "account_id": 12345,
- "title": "My Account",
- "messenger_id": "WhatsApp"
}Данные для создания аккаунта
| login required | string Логин |
| password required | string Пароль |
| title required | string Название аккаунта |
| top_manager_name required | string Имя управляющего |
| top_manager_phone required | string Телефон управляющего |
| phone required | string Основной телефон, привязанный к аккаунту |
| test_period required | boolean Указывает, предоставляется ли тестовый период. Если |
| messenger_id required | string Enum: "WhatsApp" "Telegram" Идентификатор мессенджера |
{- "login": "MyLogin",
- "password": "MyLogin",
- "title": "My Account",
- "top_manager_name": "Иванов Иван",
- "top_manager_phone": "79011234567",
- "phone": "79019876543",
- "test_period": true,
- "messenger_id": "WhatsApp"
}{- "status": true,
- "errors": "",
- "account_id": 12345,
- "title": "My Account",
- "messenger_id": "WhatsApp"
}| Content-Type required | string application/json |
| Authorization required | string Вписываем 'Bearer partner_token' |
| account_id required | integer ID аккаунта ASSISTBOT |
| chat_id required | string Идентификатор чата Провайдера |
| phone required | string Номер телефона для отправки сообщения |
| body required | string Тело сообщения, если тип сообщения media содержит ссылку на файл |
| type required | string Enum: "text" "media" Тип сообщения |
| caption | string Подпись под картинкой или файлом, только при type = media |
{- "account_id": 17,
- "chat_id": "79019876543@c.us",
- "phone": "79019876543",
- "body": "Тело сообщения",
- "type": "text",
- "caption": "Подпись под картинкой"
}{- "chat_id": "77054521514@c.us",
- "phone": "77054521514",
- "body": "5555",
- "user_id": 17,
- "message_id": "BAE5E3103D05346E",
- "type": "chat",
- "time": 1734490159,
- "from_me": true,
- "group": false,
- "status": null,
- "author": "Сервисный бот",
- "chat_name": "+77054521514",
- "sender_name": "Сервисный бот",
- "error_text": null,
- "quoted_msg_id": null,
- "caption": null,
- "sender_name_user": null,
- "quoted_message_type": null,
- "quoted_message_body": "",
- "user_name": null,
- "category_message": 6
}| Content-Type required | string application/json |
| Authorization required | string Вписываем 'Bearer partner_token' |
| login required | string Логин для создания аккаунта |
| name required | string Имя для обращения |
| phone_connect required | string Телефон для подключения WhatsApp |
| phone required | string Телефон управляющего |
string |
{- "login": "string",
- "name": "string",
- "phone_connect": "string",
- "phone": "string",
- "email": "string"
}{- "success": true,
- "data": {
- "order_id": 12345
}, - "meta": {
- "message": "Order accepted"
}
}| TOKEN required | string TOKEN аккаунта |
| Content-Type required | string application/json |
| Authorization required | string Bearer partner_token |
| url_redirect_message | string URL перенаправления |
| trigger_redirect_message | integer [object Object] |
{- "trigger_redirect_message": 0
}{- "id": 1,
- "trigger_redirect_message": "0 = Выключен\n1 = Все сообщения с полным телом хука\n5 = Все сообщения\n10 - Сообщения подпадающие под фильтр\n"
}| TOKEN required | string TOKEN аккаунта |
| Content-Type required | string application/json |
| Authorization required | string Вписываем 'Bearer partner_token' |
{- "id": 1,
- "trigger_redirect_message": "0 = Выключен\n1 = Все сообщения с полным телом хука\n5 = Все сообщения\n10 - Сообщения подпадающие под фильтр\n"
}Сообщение может содержать файлы и специальные символы:
#sms# — отправка через СМС-шлюз без попытки отправки в мессенджер.%%Текст смс%% — экранирование сообщения для отправки через СМС-шлюз.##Название шаблона рассылки## — экранирование названия шаблона рассылки.[[Кнопка1;Кнопка2]] - добавляет кнопки (опрос) к сообщению.| Content-Type required | string application/json |
| Authorization required | string Bearer account_token |
required | Array of objects |
| text | string |
| link | string |
| filename | string |
| salon | string |
| type | string |
| delivery_callback_url required | string |
{- "destination_params": [
- {
- "id": "11111",
- "phone": "+77054521514"
}
], - "text": "Test API",
- "filename": "Test_API.png",
- "salon": "214607",
- "type": "sms",
- "delivery_callback_url": "Test API"
}{- "status": "0 = Не отправлено"
}| Content-Type required | string application/json |
| Authorization required | string Bearer account_token |
| name required | string Название шаблона в WABA |
| phone required | string Телефон получателя |
| params | Array of arrays Передаваемые переменные в шаблон, в последовательности как указано в шаблоне |
| sms_text | string Текст для каскадной отправки смс, через подключенный смс агрегатор. Обязателен при sms_only = true |
| sms_only | boolean флаг отправки только смс, через подключенный смс агрегатор |
{- "name": "rewiev_request",
- "phone": "+77054521514",
- "params": [
- "Иван",
- "30.01.2025"
], - "sms_text": "Текст смс",
- "sms_only": true
}{- "error_code": "1 = partner_token отсутствует или невалиден",
- "error_message": "string"
}Отправка шаблонного сообщения, созданного в личном кабинете https://lk.assistbot.ru/message-templates/personal-area. Доступны следующие типы шаблонов:
Новая запись,
Новая запись для услуг,
Предложение дополнительной услуги,
Предложение новой услуги,
Напоминание за час,
Напоминание за сутки,
Напоминание за сутки с подтверждением,
Запрос оценки (отзыв на внешнем ресурсе),
Запрос оценки (отзыв в Yclients),
Перенос записи,
Удаление записи,
Продвинутый
| Content-Type required | string application/json |
| Authorization required | any Bearer partner_token |
| account_token required | string Токен аккаунта |
| client_name required | string Имя клиента |
| client_phone required | string Содержит номер телефона в международном формате на который отправляются сообщения |
| template_id required | integer Идентификатор шаблона, можно увидеть в адресной строке, при открытии/создании шаблона |
| client_id required | integer ID клиента в системе партнера |
| record_id required | integer ID записи в системе партнера, должно быть уникальным для запроса |
| staff_id required | integer ID сотрудника в системе партнера |
| staff_name | string Имя сотрудника в системе партнера |
| visit_time required | integer Время посещения в секундах |
| services | Array of arrays Список услуг |
| visits_count | integer Количество посещений |
{- "account_token": "5f47badseecxz2a3z",
- "client_name": "Иван Иванов",
- "client_phone": "+79999999999",
- "template_id": 1,
- "client_id": 1,
- "record_id": 1,
- "staff_id": 1,
- "staff_name": "Мария",
- "visit_time": 1717571189,
- "services": [
- {
- "id": 555,
- "title": "Мужская стрижка",
- "amount": 400
}
], - "visits_count": 1
}trueЭтот хук отправляется на сторонний сервис после выполнения определённых действий. Он содержит информацию о сообщении и метаданные.
| id | string Уникальный идентификатор сообщения. |
| body | string Текст сообщения (type = chat) или ссылка на файл (type = image или type = document). |
| time | integer <int64> Временная метка отправки сообщения (Unix timestamp). |
| type | string Enum: "chat" "image" "document" Тип сообщения. |
| author | string Имя автора сообщения. |
| chatId | string Идентификатор чата. |
| fromMe | boolean Флаг, указывающий, отправлено ли сообщение самим пользователем. |
| caption | string Подпись к отправленному файлу или медиа-сообщению (type = image или type = document). |
| chatName | string Имя чата. |
| senderName | string Имя отправителя. |
| quotedMsgId | string Идентификатор цитируемого сообщения. |
object Данные цитируемого сообщения. | |
| account_id | integer Идентификатор аккаунта. |
| category | integer Enum: 0 1 2 3 4 5 6 7 8 9 Категория сообщения. Возможные значения:
|
{- "id": "BAE590092CBA2E00",
- "body": "Этот бот работает только на уведомления.\r\nПо вопросам, если они возникли, обратитесь на WhatsApp +79261790339",
- "time": 1734583678,
- "type": "chat",
- "author": "Сервисный бот",
- "chatId": "79011111514@c.us",
- "fromMe": true,
- "caption": "",
- "chatName": "Иванов Иван",
- "senderName": "Иванов Иван",
- "quotedMsgId": "",
- "quotedMessage": {
- "body": "",
- "type": null
}, - "account_id": 17,
- "category": 0
}