Отправка сообщения с шаблоном
POST/v1/wa/apps/{appId}/messages
Данный эндпоинт API предназначен для отправки сообщения с шаблоном.
Авторизация
Для доступа к методу необходим токен системного пользователя. Передайте его в заголовке HTTP-запроса.
Authorization: Bearer <ACCESS_TOKEN>Параметры
| Параметр | Расположение | Тип | Описание | Ограничения |
|---|---|---|---|---|
appId | Path | string | Уникальный идентификатор приложения. | |
phone | Body | string | Номер телефона получателя сообщения в международном формате. | Формат: код страны + номер без пробелов (например, 79991234567). |
type | Body | string | Тип сообщения. | Возможные значения: TEMPLATE |
is_mm_lite | Body | booleanНеобязательный | Флаг для отправки шаблонного сообщения через MM Lite. | По умолчанию: false |
template | Body | Object | Объект данных сообщения с шаблоном. | |
template.name | Body | string | Название утверждённого шаблона. | Должен существовать в системе. |
template.url | Body | stringНеобязательный. Обязателен для шаблонов типов: IMAGE, VIDEO, DOCUMENT | URL медиафайла для шаблона. | Ссылка на файл. Должна использовать протокол HTTPS. Требования к файлу:
|
template.components | Body | ObjectНеобязательный | Компоненты шаблона с параметрами для подстановки. | |
components.header | Body | Object | nullНеобязательный | Параметры для заголовка шаблона. | |
header.values | Body | Array<string | number> | Массив значений для подстановки в заголовок. | Количество должно соответствовать переменным в шаблоне. |
components.body | Body | Object | nullНеобязательный | Параметры для основного текста шаблона. | |
body.values | Body | Array<string | number> | Массив значений для подстановки в тело сообщения. | Количество должно соответствовать переменным в шаблоне. |
components.buttons | Body | Array | nullНеобязательный | Параметры для кнопок шаблона. | Количество должно соответствовать переменным в шаблоне.
|
Пример запроса
bash
curl -X POST \
https://space.getloo.ru/api/v1/wa/apps/{appId}/messages \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "phone": "79991234567", "type": "TEMPLATE", "template": { "name": "my_template_name", "components": { "header": { "values": ["John Doe"]},"body": {"values": ["$100", "31/12/2025"]},"buttons": [{"type": "URL","values": ["abouts-us"]}]}}}'json
{
"phone": "79991234567",
"type": "TEMPLATE",
"template": {
"name": "my_template_name",
"components": {
"header": {
"values": ["John Doe"]
},
"body": {
"values": ["$100", "31/12/2025"]
},
"buttons": [
{
"type": "URL",
"values": ["abouts-us"]
}
]
}
}
}Пример ответа
json
{
"message": {
"id": "697a1a6c73a3af4a0c9a1c81"
}
}Коды состояния
| Код состояния | Описание |
|---|---|
201 | Запрос успешно выполнен |
400 | Некорректный запрос (ошибка при валидации) |
401 | Неавторизованный запрос |
403 | Доступ запрещён |
404 | Не найдено |
429 | Превышен лимит запросов |
Примечания
Важно
- Шаблон должен быть предварительно создан и утверждён через API или интерфейс управления.
- Количество значений в массиве
valuesдолжно точно соответствовать количеству переменных в соответствующем компоненте шаблона. - При использовании
is_mm_lite: trueупрощается процесс передачи параметров, но функциональность может быть ограничена.
Ограничения и лимиты
- Формат номера телефона: Только международный формат без знака "+" (например, 79991234567)
- Длина параметров: Каждое значение в
valuesне должно превышать 30 символов - Количество параметров: Максимум 10 параметров в одном компоненте