Перейти к содержимому

Типы сообщений

Девять типов сообщений, одно тело запроса

В запросе на отправку указываются канал, получатель и тип, а содержимое размещается под ключом, названным по типу. На этой странице показаны каждый тип, тело запроса, которое его создаёт, и каналы, где он поддерживается.

Матрица поддержки

Какой канал принимает какой тип

Канал сообщает, что он принимает, в поле capabilities. Отправка типа, который канал не поддерживает, возвращает 400 unsupported_message_type, и ничего не списывается.

Поддержка типов сообщений по типам каналов
ТипWhatsAppSMSSMS OTPTelegramMessengerInstagramTikTok
ТекстtextПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживается
ВложенияattachmentsПоддерживаетсяПоддерживаетсяНе поддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживается
ШаблонtemplateПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
Кнопки ответаbuttonПоддерживаетсяНе поддерживаетсяНе поддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживаетсяПоддерживается
СписокlistПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
URL-кнопкаcta_urlПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
ГеолокацияlocationПоддерживаетсяНе поддерживаетсяНе поддерживаетсяПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
КонтактыcontactsПоддерживаетсяНе поддерживаетсяНе поддерживаетсяПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
ОпросpollНе поддерживаетсяНе поддерживаетсяНе поддерживаетсяПоддерживаетсяНе поддерживаетсяНе поддерживаетсяНе поддерживается
type: "text"

Текст

Обычный текст, который принимают все типы каналов. Установите preview_url, чтобы канал показал предпросмотр ссылки.

body: от 1 до 4096 символов.

  • WhatsApp Business
  • SMS
  • SMS OTP
  • Telegram
  • Messenger
  • Instagram
  • TikTok
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "text",
  "text": {
    "body": "Ваш заказ #1042 отправлен. Отследить его можно здесь: https://example.com/t/1042",
    "preview_url": true
  },
  "reference": "order-1042"
}
type: "attachments"

Вложения

Один медиаэлемент на сообщение, заданный URL-адресом https: изображение, видео, документ, аудио, голосовое сообщение или стикер, с необязательной подписью.

Ровно один элемент. caption: до 1024 символов.

  • WhatsApp Business
  • SMS
  • Telegram
  • Messenger
  • Instagram
  • TikTok
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "attachments",
  "attachments": [
    {
      "type": "image",
      "url": "https://example.com/receipts/1042.jpg",
      "caption": "Ваш чек по заказу #1042."
    }
  ]
}
type: "template"

Шаблон

Одобренный шаблон WhatsApp с переменными. Шаблоны — единственные сообщения, которые WhatsApp принимает за пределами 24-часового окна обслуживания клиентов.

name и language должны соответствовать одобренному шаблону канала.

  • WhatsApp Business
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "template",
  "template": {
    "name": "order_out_for_delivery",
    "language": {
      "code": "en"
    },
    "components": [
      {
        "type": "body",
        "parameters": [
          {
            "type": "text",
            "text": "Елена"
          },
          {
            "type": "text",
            "text": "#1042"
          },
          {
            "type": "text",
            "text": "18:00"
          }
        ]
      }
    ]
  }
}
type: "button"

Кнопки ответа

Сообщение, содержащее до трёх быстрых ответов. Идентификатор нажатой кнопки возвращается на ваш вебхук в событии message.received.

От 1 до 3 кнопок. title: до 20 символов.

  • WhatsApp Business
  • Telegram
  • Messenger
  • Instagram
  • TikTok
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "button",
  "button": {
    "body": {
      "text": "Ваш столик на двоих забронирован на сегодня на 19:30. Вы сможете прийти?"
    },
    "action": {
      "buttons": [
        {
          "reply": {
            "id": "confirm",
            "title": "Подтвердить"
          }
        },
        {
          "reply": {
            "id": "reschedule",
            "title": "Перенести"
          }
        },
        {
          "reply": {
            "id": "cancel",
            "title": "Отменить бронь"
          }
        }
      ]
    }
  }
}
type: "list"

Список

Меню, которое открывается одной кнопкой, со строками, сгруппированными в разделы с заголовками.

action.button: до 20 символов.

  • WhatsApp Business
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "list",
  "list": {
    "body": {
      "text": "Какой отдел может вам сегодня помочь?"
    },
    "action": {
      "button": "Выбрать отдел",
      "sections": [
        {
          "title": "Отделы",
          "rows": [
            {
              "id": "orders",
              "title": "Заказы",
              "description": "Доставка, возврат товаров и средств"
            },
            {
              "id": "billing",
              "title": "Оплата",
              "description": "Счета и способы оплаты"
            },
            {
              "id": "technical",
              "title": "Техническая поддержка",
              "description": "Настройка и устранение неполадок"
            }
          ]
        }
      ]
    }
  }
}
type: "cta_url"

URL-кнопка

Сообщение с одной кнопкой, открывающей URL-адрес: для страниц отслеживания, платежей и ссылок для входа.

Одна кнопка на сообщение.

  • WhatsApp Business
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "cta_url",
  "cta_url": {
    "body": {
      "text": "Ваша посылка уже в пути. Следите за ней в реальном времени."
    },
    "action": {
      "parameters": {
        "display_text": "Отследить посылку",
        "url": "https://example.com/t/1042"
      }
    }
  }
}
type: "location"

Геолокация

Метка на карте с названием и адресом, которая открывается в картографическом приложении получателя.

latitude и longitude задаются в десятичных градусах.

  • WhatsApp Business
  • Telegram
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "location",
  "location": {
    "latitude": 25.2048,
    "longitude": 55.2708,
    "name": "Пункт выдачи",
    "address": "Шоссе шейха Зайда, Дубай"
  }
}
type: "contacts"

Контакты

Одна или несколько карточек контактов. Массив передаётся в канал без изменений, поэтому в нём используется формат контактов самого провайдера.

В примере показан формат контактов WhatsApp.

  • WhatsApp Business
  • Telegram
POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "contacts",
  "contacts": [
    {
      "name": {
        "formatted_name": "Служба поддержки",
        "first_name": "Поддержка"
      },
      "phones": [
        {
          "phone": "+971800123456",
          "type": "WORK"
        }
      ]
    }
  ]
}
type: "poll"

Опрос

Нативный опрос Telegram с вопросом и набором вариантов ответа.

Только Telegram.

  • Telegram
POST /v1/messages
{
  "channel": "ch_4Tn8rW2yK6dF9sA1mQ5v",
  "to": "584201337",
  "type": "poll",
  "poll": {
    "question": "Когда доставить ваш заказ?",
    "options": [
      "Утром, с 09:00 до 12:00",
      "Днём, с 12:00 до 17:00",
      "Вечером, с 17:00 до 21:00"
    ]
  }
}

Попробуйте все типы в песочнице

В каждом аккаунте есть канал-песочница для каждого типа канала. Отправляйте с тестовым ключом любой тип, который он поддерживает, — ничего не доставляется и не оплачивается.