Skip to content

Отправка сообщения с шаблоном

POST

/v1/wa/apps/{appId}/messages

Данный эндпоинт API предназначен для отправки сообщения с шаблоном.

Авторизация

Для доступа к методу необходим токен системного пользователя. Передайте его в заголовке HTTP-запроса.

Authorization: Bearer <ACCESS_TOKEN>

Параметры

ПараметрРасположениеТипОписаниеОграничения
appIdPathstringУникальный идентификатор приложения.
phoneBodystringНомер телефона получателя сообщения в международном формате.Формат: код страны + номер без пробелов (например, 79991234567).
typeBodystringТип сообщения.Возможные значения: TEMPLATE
is_mm_liteBodyboolean
Необязательный
Флаг для отправки шаблонного сообщения через MM Lite.По умолчанию: false
templateBodyObjectОбъект данных сообщения с шаблоном.
template.nameBodystringНазвание утверждённого шаблона.Должен существовать в системе.
template.urlBodystring
Необязательный. Обязателен для шаблонов типов: IMAGE, VIDEO, DOCUMENT
URL медиафайла для шаблона.Ссылка на файл. Должна использовать протокол HTTPS. Требования к файлу:
  • Файл должен быть общедоступен для скачивания.
  • Допустимые типы: image/jpeg, image/png video/3gpp video/mp4 application/pdf.
template.componentsBodyObject
Необязательный
Компоненты шаблона с параметрами для подстановки.
components.headerBodyObject | null
Необязательный
Параметры для заголовка шаблона.
header.valuesBodyArray<string | number>Массив значений для подстановки в заголовок.Количество должно соответствовать переменным в шаблоне.
components.bodyBodyObject | null
Необязательный
Параметры для основного текста шаблона.
body.valuesBodyArray<string | number>Массив значений для подстановки в тело сообщения.Количество должно соответствовать переменным в шаблоне.
components.buttonsBodyArray | null
Необязательный
Параметры для кнопок шаблона.Количество должно соответствовать переменным в шаблоне.
  • Минимальное количество кнопок: 1.
  • Максимальное количество кнопок: 10.

Пример запроса

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 параметров в одном компоненте

См. также