Перейти к содержанию

SendTemplateButtons#

Внимание! Метод временно не работает. При вызове метода вернется 403 ошибка.

Метод предназначен для отправки сообщения с интерактивными кнопками из перечня шаблонов в личный или групповой чат. Сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.

Запрос#

Для отправки требуется выполнить запрос по адресу:

POST {{APIUrl}}/waInstance{{idInstance}}/sendTemplateButtons/{{apiTokenInstance}}

Для получения параметров запроса APIUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Особенности при работе с кнопками#

  • кнопки-ссылки совместимы с кнопками номерами, но не совместимы с кнопками-ответами;
  • кнопки с телефонным номером совместимы с кнопками ссылками, но не совместимы с кнопками-ответами;
  • кнопки с быстрыми ответами не совместимы с кнопками номерами и кнопками ссылками.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
message string Да Текст сообщения. Поддерживаются символы emoji 😃
footer string Нет Подвал сообщения. Удобен для визуального выделения текста, который относится к кнопкам
templateButtons array Да Интерактивные кнопки сообщения
quotedMessageId string Нет Идентификатор цитируемого сообщения,если указан то сообщение отправится с цитированием указанного сообщения чата

Поля массива templateButtons

Параметр Тип Описание
index integer Идентификатор кнопки
urlButton object кнопка с ссылкой
callButton object кнопка вызова
quickReplyButton object обычная кнопка

Поля объекта urlButton

Параметр Тип Описание
displayText string Текст ссылки
url string веб ссылка

Поля объекта callButton

Параметр Тип Описание
displayText string Текст ссылки
phoneNumber string номер телефона

Поля объекта quickReplyButton

Параметр Тип Описание
displayText string Текст на кнопке
id string идентификатор кнопки

Максимальная длина текстового сообщения составляет 4096 символов

Пример тела запроса#

Отправка сообщения в личный чат:

{
    "chatId": "11001234567@c.us",
    "message": "Hello",
    "footer": "What kind of action will you choose?",
    "templateButtons": [
            {"index": 1, "urlButton": {"displayText": "⭐ Star us on GitHub!", "url": "https://github.com/green-api"}},
            {"index": 2, "callButton": {"displayText": "Call us", "phoneNumber": "+1 (234) 5678-901"}},
            {"index": 3, "quickReplyButton": {"displayText": "Plain button", "id": "plainButtonId"}}
        ]
}

Ответ#

Поля ответа#

Поле Тип Описание
idMessage string Идентификатор отправленного сообщения

Пример тела ответа#

{
    "idMessage": "3EB0C767D097B7C7C030"
}

Пример отображения у получателя#

Кнопка с обратным звонком Пример отображения кнопок

Кнопка со ссылкой Пример отображения кнопок

Кнопка с быстрым ответом Пример отображения кнопок

Ошибки SendTemplateButtons#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Возможные ошибки

При использовании метода SendTemplateButtons сообщения могут не отображаться в веб, десктоп и мобильной версиях приложения. Возможность отправки сообщений с кнопками реализована нами низкоуровневым способом. Официальный клиент WhatsApp-Web не предоставляет функции отправки кнопок. В большей степени, стабильность работы метода SendTemplateButtons не зависит от нас, WhatsApp постоянно вносит изменения в их работу.

Рекомендуем всегда дублировать кнопки обычными сообщениями.

Например использовать цифры для определения выбора.

Выберете действие:

1 - действие 1

2 - действие 2

3 - действие 3

Пример curl#

```
curl --location --request POST '{{APIUrl}}/waInstance{{idInstance}}/sendTemplateButtons/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "11001234567@c.us",
    "message": "Hello",
    "footer": "What kind of action will you choose?",
    "templateButtons": [
            {"index": 1, "urlButton": {"displayText": "⭐ Star us on GitHub!", "url": "https://github.com/green-api"}},
            {"index": 2, "callButton": {"displayText": "Call us", "phoneNumber": "+1 (234) 5678-901"}},
            {"index": 3, "quickReplyButton": {"displayText": "Plain button", "id": "plainButtonId"}}
        ]
}'
```