Общее описание структуры пакета.#
Запрос выглядит следующий образом{
"requestId": "test-001",
"to": "77771234567",
"content": {
"whatsappContent": {
"contentType": "TEMPLATE",
"name": "myTemplate",
"bodyParameters": {
"param1": "Алекс",
"param2": "20",
"param3": "20.06.2024",
"param4": "1ERTB3",
"param5": "myLogin",
"param7": "онлайн",
"param8": "24 марта",
"param9": "7 777 123-24-1233"
},
"header": {
"type": "image",
"url": "https://kazinfoteh.kz/img/display.png"
},
"keyboard": {
"rows": {
"buttons": [
{
"type": "QUICK_REPLY",
"payload": "1"
},
{
"type": "QUICK_REPLY",
"payload": "2"
}
]
}
}
}
}
}
"requestId": - необязательный параметр. Ваше id сообщение в вашей системе, мы будем передавать его вам в отчете о статусах сообщений и других ответах. Так же после отправки запроса, мы вернем наш ID сообщения, его мы так же будем передавать вам в отчетах и других ответах"to": - Номер получателя, в международном формате, например 7XXXXXXXXXX "whatsappContent": {} - содержит всю информации о контенте сообщения"contentType": "TEMPLATE" - тип отпарвляемого сообщения, для шаблонные сообщений TEMPLATE"name": "myTemplate" - название шаблона"bodyParameters": {} - тело сообщения. Заполняется только в том случаи, если вы зарегистрировали шаблон с индивидуальными переменными для каждого абонента, например: Привет, Абай. Твоя скидка 20%. То необходимо указать текст для каждой переменной (в примере, param1=Абай, param2=20%). Необходимо соблюдать количество переменных, например если шаблон зарегистрирован с тремя переменными то в запросе необходимо указать три переменных. Максимальное количество переменных 9. Если текст статичный то структура не указывается, текст берется из шаблона."header": {} - Заголовок сообщения. Заполняется в том случаи если это медиа элемент (изображение, видео, аудио и т.п.) и необходимо передать URL на медиа элемент или текст, но с индивидуальной переменной для каждого абонента. Если заголовок статичный текст (например, Здравствуйте) или заголовок отсутствует то структура не заполняется "keyboard": {} - Структура кнопок, заполняется только в том случае если у вас в шаблоне есть кнопки быстрого ответа, то вам необходимо укзать коды этих кнопок. Коды нужны для того, что если абонент нажмет на кнопку, к вам придет код этой кноки и вы поняли, на какую кнопку нажал абонент. Название кнопок задаются на момент регистрации шаблона и менять их нельзя. Так же если у вас в шаблоне есть кнопка Копировать промо код, в данной структуре вы можете задать персональный код для каждого абонента. Если в вашем шаблоне отсутствуют кнопки, то структуру заполнять не надо. Если в вашем шаблоне есть кнопки перехода на URL или позвонить, то название кнопок, URL и номер телефона задаются на момент регистрации шаблона, изменять их нельзя и структура не заполняетсяЕсли запрос принят к исполнению, сервер возвращает ответ с кодом 200, содержащий JSON-объект с идентификатором запроса, который присвоила система. Если первичная проверка запроса окончилась ошибкой, то возвращается ответ с кодом ошибки.
Информация о результате отправки сообщения адресату придет на установленный вами вебхук.
Для отправки запросов Вам потребуется X-API-KEY выданный Вашим менеджером.
В примере рассматривается зарегистированный шаблонИмя шаблона - myTemplate. Для получаения имен шаблонов используйте метод gettemplateТекст тело - Привет {{1}}, для тебя скидка {{2}}, только до {{3}}. Твой промокод {{4}} и логин {{5}}Подпись - Ваш любимый магазинДве кнопки быстрого ответа:
Название кнопки: Интересует
Название кнопки: Хочу отписаться
Заголовок - URL изображение указывается в запросеТекст тело - Переменные {{1}}, {{2}}, {{3}}, {{4}}, {{5}} указываеются в запросе. (весь текст не указывается, только переменные)Подпись - (береться из шаблона, в запросе не указывается)Две кнопки быстрого ответа - название кнопок берется из шаблона, в запросе указывается только payload (ваш индификатор кнопок, вы его получите в входящем сообщении если абонент нажмет на кнопку)
Для получению статусов и входящих сообщений от абонента, Вам необходимо реализовать "приемущик" (webhook) на своей стороне, разместить на своем сервере и задать его методом SetWebhook
Для получаения имен шаблонов и примеров текста, которые вы подавали на регистрацию используйте метод gettemplate
"contentType": "TEMPLATE"