Please make sure you sign up with the same account with which you would like to create and maintain the app from. Transferring apps/wallet balance from one account to another in future would not be possible
By logging in, you are agreeing to the Terms of Service and the Privacy Policy.
Want to outsource bot development? We have partners to get it done. Click here to get in touch
Сегодня более 1,5 миллиарда человек в более чем 180 странах используют WhatsApp, чтобы оставаться на связи с друзьями и семьей в любое время и в любом месте. Компании по всему миру уже используют WhatsApp для неформального общения с клиентами, будь то запросы о товарах и услугах или уведомления о финансовых транзакциях. WhatsApp Business API - это новый способ для компаний улучшить коммуникацию со своими текущими клиентами и привлечь новых, которые также оценят быстрый, удобный и приватный обмен сообщениями.
Это руководство содержит спецификацию Gupshup API для отправки и получения сообщений в WhatsApp посредством простого REST API через протоколы HTTP/HTTPS.
Это руководство предназначено для разработчиков и сотрудников ИТ отделов компаний, которые планируют интегрировать свои системы с Gupshup's Messaging API. Кроме того, данное руководство предназначено для приложений (APPs) типа Access API созданных на нашей платформе после 28 января 2020 года. Если у вас есть приложение, созданное до указанной даты, пожалуйста, произведите его миграцию на V2.
Краткий список тем, которые мы рассмотрим в этом руководстве:
Вебхуки обрабатывают входящие сообщения от людей, отвечающих вам в WhatsApp, включая текст, местоположение и мультимедийные данные, такие как изображения и документы, а также статус отправленных вами сообщений. Они очень важны, поскольку используются для доставки своевременных уведомлений и ошибок, поэтому настоятельно рекомендуется установить их в настройках приложения.
Входящие сообщения, отправленные клиентами на ваш номер телефона WhatsApp Business Phone Number, будут отправлены на ваш вебхук, то есть клиент отправляет текстовое сообщение или медиа-вложение в WhatsApp, платформа Gupshup регистрирует это событие и немедленно отправляет уведомление (HTTP POST запрос) на вебхук, указанный в настройках вашего приложения. Важная информация о вебхуке:
1. Вебхук должен вернуть HTTP_SUCCESS (код: 2xx) пустое значение. Если этого не произойдет в
течение 10 секунд, мы будем считать, что уведомление не было доставлено, и повторим попытку после небольшой
задержки.
2. Ваш вебхук должен обрабатывать входящие сообщения и события асинхронно, но подтверждать их получение
синхронно и немедленно. Лучшее время подтверждения должно быть менее 100 миллисекунд, так как некоторая
задержка в сети вполне объяснима, поэтому рекомендуется 500-1000 миллисекунд. Чем больше время отклика, тем
больше задержанных входящих сообщений и событий вы будете получать каждый раз.
3. Вебхук должен принимать HTTP-заголовок: User-Agent
4. Вебхук должен принимать пользовательское событие: sandbox-start
5. Вебхук должен иметь публичный доступ, а если по соображениям безопасности вы хотите сохранить его
конфиденциальность, вам необходимо внести IP-адреса входящих запросов Gupshup в список. Свяжитесь с нами по
адресу devsupport@gupshup.io, чтобы получить данные этих IP.
Обратитесь к изображению ниже, чтобы найти опцию установки Вебхука/Callback в настройках приложения. Если
переключатель URL обратного вызова OFF. вы можете видеть входящие сообщения в Входящие
сообщения | События поле. Эти сообщения и зарегистрированные события хранятся временно, то
есть
они удаляются, если вы обновите страницу.
Три типа входящих уведомлений, доставляемых на ваш вебхук:
Вышеперечисленные типы уведомлений делятся на - События а также Входящие сообщения, Давайте сначала познакомимся со структурой входящих
уведомлений:
Тип содержимого входящей полезной нагрузки
Content-type
|
application/json |
Параметры/свойства, общие для всех входящих уведомлений
{
"app": "DemoApp",
"timestamp": 1580227766370,
"version": 2,
"type": "user-event"|"message-event"|"message",
"payload": << Это зависит от значения свойства "тип". >>
}
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Название приложения Gupshup, в которое клиент отправил сообщение в WhatsApp. |
DemoApp |
|
string |
Время - это временная метка UNIX, когда сообщение было отправлено клиентом и получено Gupshup. |
1584898839530 |
|
string |
Версия полезной нагрузки обратного вызова |
2 |
|
string |
Inbound events |
user-event |
|
object |
Объект полезной нагрузки содержит информацию о соответствующем типе уведомления. |
Например: user-event |
В этом разделе мы разберем:
1. user-event : Эти сообщения генерируются нашей платформой, когда происходит какое-то
событие. Например, вы будете получать следующие системные события, когда:
- URL-адрес обратного вызова устанавливается для приложения или при
использовании
команды прокси для вызова вашего приложения на номер телефона бота Gupshup Proxy (+917834811114) для
тестирования приложения.
- Конечный пользователь дает согласие (Opt-in) на получение уведомления с
рабочего
номера телефона.
{
"app":"DemoApp",
"timestamp":1580142086287,
"version":2,
"type":"user-event",
"payload":{
"phone":"callbackSetPhone"|"918x98xx21x4",
"type":"sandbox-start"|"opted-in"|"opted-out"
}
}
Объект полезной нагрузки
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Это номер телефона клиента, который отправил сообщение на ваш номер WhatsApp Business API. Номер указан в формате E.164. |
918x98xx21x4 |
|
string |
Тип пользовательского события, полученного на ваш вебхук, |
Краткое описание приведено ниже |
Тип пользователь-событие:
Тип | Описание | Пример |
---|---|---|
sandbox-start | Вы получаете это уведомление, когда приложение находится в режиме тестового сервера и вы установили URL обратного вызова. |
Content type: application/json {"app":"DemoApp","timestamp":1580142086287,"version":2,"type":"user-event","payload":{"phone":"callbackSetPhone","type":"sandbox-start"}} |
sandbox-start |
Вы получаете это уведомление, когда приложение находится в режиме тестового сервера, и вы
использовали
прокси-бота Gupshup для вызова вашего приложения с помощью команды: Proxy {{App_Name}}
|
Content type: application/json {"app":"DemoApp","timestamp":1580227393386,"version":2,"type":"user-event","payload":{"phone":"918x98xx21x4","type":"sandbox-start"}} |
Подписка на уведомления оформлена | Вы получаете это уведомление, когда конечный пользователь соглашается получать информацию от компании. |
Content type: application/json {"app":"DemoApp","timestamp":1584541505908,"version":2,"type":"user-event","payload":{"phone":918x98xx21x4,"type":"opted-in"}} |
Подписка на уведомления отменена | Вы получаете это уведомление, когда конечный пользователь отказывается от получения уведомления от компании. |
Content type: application/json {"app":"DemoApp","timestamp":1584541505908,"version":2,"type":"user-event","payload":{"phone":918x98xx21x4,"type":"opted-out"}} |
2. message-event : Эти события определяют статус сообщения, отправленного с помощью API отправки сообщения API отправки сообщения клиенту WhatsApp API (которое, по сути, отправляет сообщение клиенту). Клиент WhatsApp Business API будет отправлять уведомления, чтобы информировать вас о статусе сообщений между вами и пользователями. Когда сообщение успешно отправлено, вы получите уведомление о том, когда сообщение было отправлено, доставлено и прочитано. Порядок этих уведомлений в вашем приложении может не отражать фактическое время отправки/доставки сообщения. При необходимости просмотрите метку времени, чтобы определить время. Вы можете получить следующие уведомления:
{
"app":"DemoAPI",
"timestamp":1580546677791,
"version":2,
"type":"message-event",
"payload":{
"id":"59f8db90-c37e-4408-90ab-cc54ef8246ad"(идентификатор сообщения Gupshup)|"gBEGkYaYVSEEAgnZxQ3JmKK6Wvg" (идентификатор сообщения WhatsApp)
"gsId": "ee4a68a0-1203-4c85-8dc3-49d0b3226a35" (идентификатор сообщения Gupshup - Это свойство применимо только для событий DLR.)
"type":"enqueued"|"failed"|"sent"|"delivered"|"read",
"destination":"91XX985XX10X",
"payload": << Варьируется в зависимости от значения свойства - 'тип' >>;
}
}
Объект полезной нагрузки
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
TЭто идентификатор сообщения Gupshup для типа сообщение-событие: |
59f8db90-c37e-4408-90ab-cc54ef8246ad |
|
string |
Это идентификатор сообщения Gupshup, и он присутствует только для типов сообщений-событий:
события
DLR.( |
59f8db90-c37e-4408-90ab-cc54ef8246ad |
|
string |
Типы сообщений-событий, полученных по вашему вебхук |
Краткое описание приведено ниже |
Типы сообщений-событий:
Тип | Описание | Пример | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
enqueued |
Сообщение успешно отправлено клиенту WhatsApp Business API Payload object:
|
Content type: application/json {"app":"DemoAPI","timestamp":1580546677791,"version":2,"type":"message-event","payload":{"id":"59f8db90-c37e-4408-90ab-cc54ef8246ad","type":"enqueued","destination":"91XX985XX10X","payload":{"whatsappMessageId":"gBEGkYaYVSEEAgkD7bRi9syGnBk","type":"session"}}} |
||||||||||||
failed |
Сообщение, которое не удалось отправить конечному пользователю. Обратный вызов включает причину, по
которой сообщение не было доставлено. Payload object:
|
Content type: application/json {"app":"DemoAPI","timestamp":1580311136040,"version":2,"type":"message-event","payload":{"id":"ee4a68a0-1203-4c85-8dc3-49d0b3226a35","type":"failed","destination":"918x98xx21x4","payload":{"code":1008,"reason":"User is not Opted in and Inactive"}}} |
||||||||||||
sent |
Message was sent to the end-user. Payload object:
|
Content type: application/json {"app":"DemoAPI","timestamp":1585344475993,"version":2,"type":"message-event","payload":{"id":"gBEGkYaYVSEEAgnZxQ3JmKK6Wvg","gsId": "ee4a68a0-1203-4c85-8dc3-49d0b3226a35","type":"sent","destination":"918x98xx21x4","payload":{"ts":1585344475}}} |
||||||||||||
delivered |
Отправленное сообщение доставлено конечному пользователю. Payload object:
|
Content type: application/json {"app":"DemoAPI","timestamp":1585344476683,"version":2,"type":"message-event","payload":{"id":"gBEGkYaYVSEEAgnZxQ3JmKK6Wvg","gsId": "ee4a68a0-1203-4c85-8dc3-49d0b3226a35","type":"delivered","destination":"918x98xx21x4","payload":{"ts":1585344476}}} |
||||||||||||
read |
Отправленное сообщение прочитано конечным пользователем. Уведомления 'Прочитано' будут доступны
только
для тех пользователей, у которых включено уведомление о прочтении. Для тех, у кого эта функция не
включена, вы получите только уведомление 'доставлено'. Чтобы статус был "прочитано", сообщение должно быть доставлено. В некоторых сценариях, например, когда пользователь находится в чате онлайн, и приходит сообщение, оно доставляется и читается одновременно. В этом и других подобных сценариях уведомление "доставлено" не будет отправлено, так как оно подразумевает, что сообщение было доставлено, если оно было прочитано. Payload object:
|
Content type: application/json {"app":"DemoAPI","timestamp":1585344602933,"version":2,"type":"message-event","payload":{"id":"gBEGkYaYVSEEAgnZxQ3JmKK6Wvg","gsId": "ee4a68a0-1203-4c85-8dc3-49d0b3226a35","type":"read","destination":"918x98xx21x4","payload":{"ts":1585344602}}} |
Причина почему сообщение не доставлено и код ошибки:
Code | Reason |
---|---|
1001 | Last Mapped Bot Details And Sender Details Mismatch |
1002 | Number Does Not Exists On WhatsApp |
1003 | Unable To Send Message | Check your wallet balance |
1004 | Message sending failed as user is inactive for session message and template messaging is disabled |
1005 | Message sending failed as user is inactive for session message and template did not match |
1006 | Message sending failed as user is inactive for session message and not opted in for template message |
1007 | Message sending failed as user is inactive for session message, not opted in for template message and template did not match |
1008 | User is not Opted in and Inactive |
1010 | Invalid Media Url |
1011 | Invalid Media Size |
Чтобы узнать больше о кодах ошибок клиента WhatsApp Business API, here
В этом разделе мы разберем событие: сообщения которые вы получаете на ваш URL обратного вызова. Это событие определяет тип полезной нагрузки сообщения, полученного на ваш URL обратного вызова, когда клиент отправляет сообщение на зарегистрированный номер телефона WhatsApp Business API.
Заголовки
Content-type
|
application/json |
Параметры/свойства, общие для всех входящих сообщений
{
"app": "DemoApp",
"timestamp": 1580227766370,
"version": 2,
"type": "message",
"payload": {
"id": "ABEGkYaYVSEEAhAL3SLAWwHKeKrt6s3FKB0c",
"source": "918x98xx21x4",
"type": "text"|"image"|"file"|"audio"|"video"|"contact"|"location"|"button_reply"|"list_reply",
"payload": {
//Varies according to the type of payload.
},
"sender": {
"phone": "918x98xx21x4",
"name": "Smit",
"country_code": "91",
"dial_code": "8x98xx21x4"
},
"context": {
"id": "gBEGkYaYVSEEAgnPFrOLcjkFjL8",
"gsId": "9b71295f-f7af-4c1f-b2b4-31b4a4867bad"
}
}
}
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Название приложения Gupshup, в которое клиент отправил сообщение. |
DemoAPI |
|
string |
Время - это временная метка UNIX, когда сообщение было отправлено клиентом и получено Gupshup. |
1584898839530 |
|
string |
Версия полезной нагрузки обратного вызова |
2 |
|
string |
Входящие события |
|
|
object |
Он содержит подробную информацию о входящем сообщении: |
Дополнительную информацию см. в объекте полезной нагрузки. |
|
object |
Содержит сведения об отправителе сообщения/конечном пользователе/клиенте: |
Для получения дополнительной информации см. объект отправителя. |
|
object |
Необязательно. |
Дополнительные сведения см. в разделе контекст объекта. |
The payload object
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Уникальный идентификатор сообщения WhatsApp для входящего сообщения. |
ABEGkYaYVSEEAhAt2MgAKjL1qGe88OKyMQfM |
|
string |
Это номер телефона клиента, который отправил сообщение на ваш номер WhatsApp Business API. Номер указан в формате E.164. |
918x98xx21x4 |
|
string |
Тип сообщения, полученного от конечного пользователя. В зависимости от "типа", соответствующий
объект сообщения принимается как часть полезной нагрузки. |
|
|
object |
Объект полезной нагрузки содержит текст входящего сообщения, отправленного клиентом. |
См. типы входящих сообщений в документации ниже |
Объект-отправитель
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Это номер телефона клиента, который отправил сообщение на ваш номер WhatsApp Business API. Номер указан в формате E.164. |
918x98xx21x4 |
|
string |
Имя конечного пользователя, отправившего сообщение |
Smit |
|
string |
Код страны отправителя |
91 |
|
string |
Код региона отправителя |
8x98xx21x4 |
Объект контекста
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Уникальный идентификатор сообщения WhatsApp для входящего сообщения |
gBEGkYaYVSEEAgnPFrOLcjkFjL8 |
|
string |
Уникальный идентификатор сообщения Gupshup для входящего сообщения |
9b71295f-f7af-4c1f-b2b4-31b4a4867bad |
Давайте рассмотрим один за другим типы входящих сообщений, получаемых на URL обратного вызова:
Ниже приведен пример полезной нагрузки, когда клиент отправляет текстовое сообщение в WhatsApp на ваш рабочий номер.
Заголовки | Content type: application/json |
||||||||
Входящее тело |
|
||||||||
Текстовая полезная нагрузка |
|
Пользователи могут отвечать на конкретное сообщение в WhatsApp. Чтобы компания могла понять контекст ответа
на
сообщение, мы включаем контекст объекта. Этот объект контекста содержит Gupshup message-id(property:
gsId
) сообщения, на которое ответил клиент, и WhatsApp message-id(property: id
)
исходного сообщения.
Ниже приведен пример входящего сообщения, которое является ответом на сообщение, отправленное компанией.
Заголовки |
Content type: application/json
|
||||||||
Входящее тело |
|
||||||||
Текстовая полезная нагрузка |
|
Когда клиент выбирает кнопку из сообщения быстрого ответа, получается следующий пример полезной нагрузки.
Чтобы компания могла понять контекст ответа на сообщение, мы включаем контекст объекта. Этот объект
контекста содержит Gupshup message-id(property: gsId
) сообщения, на которое ответил клиент, и
WhatsApp message-id(property: id
) исходного сообщения. В дополнение к этому объекту
payload
предоставляется текст кнопки, которую пользователь щелкнул.
Заголовки |
Content type: application/json
|
||||||||||||
Входящее тело |
|
||||||||||||
Текстовая полезная нагрузка |
|
Медиа
При получении сообщения с медиа (изображение | документ | аудио | видео | стикер) клиент WhatsApp Business API загружает медиа. После загрузки медиафайла на нашу платформу отправляется уведомление, которое попадает на ваш вебхук. Это сообщение содержит информацию, которая идентифицирует медиа-объект и позволяет вам найти и загрузить его.
Общая полезная нагрузка медиа
Ключ | Тип | Описание | Пример |
---|---|---|---|
|
string |
Необязательно. Присутствует, только если указано. |
View Account Balance |
|
string |
Имя файла на устройстве отправителя. |
152445128_APR-20.pdf |
|
string |
Ссылка на скачивание медиафайла |
https://filemanager.gupshup.io/fm/wamedia/Jeet20/68f1e51b-ac53-4dfb-b970-7b9031ed1d3c |
|
string |
Mime-тип медиафайла |
application/pdf |
|
string |
Временная метка истечения срока действия URL-адреса загрузки медиафайла |
1624957005482 |
Ниже приведен пример полезной нагрузки, получаемой, когда клиент отправляет изображение вместе с подписью на ваш бизнес-номер. Надпись присутствует только в том случае, если она предоставлена.
Заголовки |
Content type: application/json
|
Входящее тело |
|
Ниже приведен пример полезной нагрузки, полученной, когда клиент отправляет аудиофайл или голосовое
сообщение
на телефонный номер вашей компании. В случае голосовых сообщений тип содержимого всегда:
audio/ogg; codecs=opus
Заголовки |
Content type: application/json
|
Входящее тело |
|
Ниже приведен пример полезной нагрузки, полученной, когда клиент отправляет видео вместе с текстовым сообщением на ваш рабочий номер.
Заголовки |
Content type: application/json
|
Входящее тело |
|
Ниже приведен пример полезной нагрузки, получаемой, когда клиент отправляет документ вместе с текстовым сообщением на ваш рабочий номер. Сообщение присутствует только в том случае, если оно предоставлено.
Заголовки |
Content type: application/json
|
Входящее тело |
|
Ниже приведен пример полезной нагрузки, полученной при отправке клиентом наклейки на ваш рабочий номер.
Заголовки |
Content type: application/json
|
Входящее тело |
|
Ниже приведен пример полезной нагрузки, получаемой, когда клиент выбирает и отправляет элемент из списка сообщений на ваш бизнес-номер.
Заголовки |
Content type: application/json
|
||||||||||||||||||||||||
Входящее тело |
|
||||||||||||||||||||||||
Список полезной нагрузки ответа |
|
Когда клиент выбирает кнопку из сообщения быстрого ответа, получается следующий пример полезной нагрузки.
Заголовки |
Content type: application/json
|
||||||||||||||||
Входящее тело |
|
||||||||||||||||
Список полезной нагрузки ответа |
|
Ниже приведен пример полезной нагрузки, получаемой, когда клиент делится своим местоположением с вашим
бизнес-номером.
Обратите внимание, что в настоящее время Трансляция геопозиции не является поддерживаемым типом
сообщения в WhatsApp Business.
Заголовки |
Content type: application/json
|
||||||||||||
Входящее тело |
|
||||||||||||
Полезная нагрузка местоположения |
|
Ниже приведен пример полезной нагрузки, получаемой, когда клиент делится контактной картой с вашим бизнес-номером.
Заголовки |
Content type: application/json
|
||||||||||||||||||||||||||||||||||||
Входящее тело |
|
||||||||||||||||||||||||||||||||||||
Контактная полезная нагрузка |
|
Включается в уведомления, когда пользователь нажимает на объявление, которое переходит в WhatsApp и отправляет сообщение компании. Этот объект содержит информацию об объявлении.
Заголовки |
Content type: application/json
|
||||||||||||||||||||||||||||
Входящее тело |
|
||||||||||||||||||||||||||||
Реферальная полезная нагрузка |
|
Это руководство научит вас, как отправить сообщение сессии клиенту с помощью API для отправки сообщения. В
настоящее время этот тип отправки сообщений может быть осуществлен только в течение 24 часов после
последнего
сообщения, отправленного пользователем. Если вы попытаетесь отправить сообщение по истечении 24-часов, вы
получите событие сбоя на вашем вебхук. Чтобы лучше понять Пользователя нашей платформы, пожалуйста,
обратитесь
к этой статье, это поможет вам более
эффективно использовать API.
Давайте разберем спецификацию/признак API, т.е. конечную Точку API, Заголовки, Тело запроса и его Ответ
в
деталях:.
Чтобы отправить сообщение в WhatsApp, делается запрос API к конечной точке:
https://api.gupshup.io/sm/api/v1/msg
Пример запроса API
curl --location --request POST 'https://api.gupshup.io/sm/api/v1/msg' \
--header 'Cache-Control: no-cache' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--data-urlencode 'channel=whatsapp' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'message={"type": "text","text": "Hi John, how are you?"}' \
--data-urlencode 'src.name=DemoApp' \
--data-urlencode 'disablePreview=false'
Заголовки
Content-type
|
application/x-www-form-urlencoded |
apikey
|
Ваш ключ API здесь |
Тело запроса
Ключ | Тип | Описание | Пример | Обязательно |
---|---|---|---|---|
|
string |
Канал, по которому должно быть отправлено сообщение. |
|
да |
|
string |
Номер телефона получателя, которому отправляется сообщение. |
918x98xx21x4 |
да |
|
string |
Номер телефона WhatsApp Business, с которого будет отправлено сообщение. Этот номер должен быть верифицированным номером, привязанным к вашему приложению Gupshup. |
917834811114 |
да |
|
object |
Шаблон сообщения WhatsApp, которое вы хотите отправить своим клиентам. |
См. документацию по объекту сообщения ниже |
да |
|
string |
Имя вашего приложения WhatsApp |
DemoApp |
да - для приложений на тестовом сервере |
|
boolean |
По умолчанию мобильное приложение WhatsApp распознает URL-адреса и делает их кликабельными. По
умолчанию предварительный просмотр URL включен на платформе, т.е. параметр "disablePreview"
равен
|
true |
Нет |
Общие параметры объекта сообщения
Ключ | Тип | Описание | Пример | Обязательно |
---|---|---|---|---|
|
string |
Тип сообщения, которое будет отправлено клиенту. В зависимости от 'типа', соответствующие
параметры
должны быть отправлены как часть объекта сообщения.
|
|
да |
|
string |
URL-адрес размещенного файла / аудио- или видеоприложения. |
https://www.buildquickbots.com/whatsapp/media/sample/audio/sample01.mp3 |
да |
|
string |
Добавление подписи к медиа-сообщениям, применимо к типу медиа =
|
Media caption text |
Нет |
Ниже приведен пример полезной нагрузки при отправке текстового сообщения в WhatsApp.
- Текстовое сообщение может быть максимум 4096 символов.
- Чтобы включить
предварительный просмотр URL в сообщение, убедитесь, что URL начинается с http:// или https://.
- URL для
предварительного просмотра: имя хоста обязательно, IP-адреса не рассматриваются.
- Если текстовое
сообщение
имеет несколько URL, первый URL будет только предварительно просмотрен.
API URL | https://api.gupshup.io/sm/api/v1/msg | ||||||||||
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
||||||||||
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "text", "text": "Hi John, how are you?" } |
||||||||||
Описание объекта текстового сообщения |
|
WhatsApp поддерживает некоторое форматирование текстовых сообщений. Чтобы отформатировать все сообщение или его часть, используйте эти символы форматирования:
Форматирование | Символ | Пример | Как отображаются сообщения в WhatsApp |
---|---|---|---|
Bold | Asterisk (*) | Your total is *$10.50*. | Your total is $10.50. |
Italics | Underscore (_) | Welcome to _WhatsApp_! | Welcome to WhatsApp! |
|
Tilde (~) | This is ~better~ best! | This is |
Code
|
Three backticks (```) | ```print 'Hello World';``` | print 'Hello World'; |
Эмодзи также поддерживаются. Список поддерживаемых эмодзи находится по адресу https://emojipedia.org/whatsapp/. Копирование символа emoji в текстовом сообщении при отправке через API.
Медиа
Ниже приведен пример полезной нагрузки при отправке изображения в WhatsApp.
- Поддерживаемые типы контента: image/jpeg, image/png
- максимальный размер
файла:
5 MB
API URL | https://api.gupshup.io/sm/api/v1/msg | |||||||||||||||
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
|||||||||||||||
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "image", "originalUrl": "https://www.buildquickbots.com/whatsapp/media/sample/jpg/sample01.jpg", "previewUrl": "https://www.buildquickbots.com/whatsapp/media/sample/jpg/sample01.jpg", "caption":"Sample image" } |
|||||||||||||||
Описание объекта графического сообщения |
Изображения с соотношением сторон более 1,91:1 обрезаются по вертикали. Чтобы передать суть в таких
изображениях, постарайтесь представить самую важную информацию в центре изображения.
|
Ниже приведен пример полезной нагрузки при отправке документа / файла в WhatsApp.
- Поддерживаемые типы контента: Любой допустимый MIME-тип
- максимальный размер
файла: 100 MB
API URL | https://api.gupshup.io/sm/api/v1/msg | ||||||||||
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
||||||||||
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "file", "url": "https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf", "filename": "Sample funtional resume" } |
||||||||||
FОписание объекта сообщения файла |
|
Ниже приведен пример полезной нагрузки при отправке аудиофайла в WhatsApp.
- Поддерживаемые типы контента: audio/aac, audio/mp4, audio/amr, audio/mpeg,
audio/ogg; codecs=opus. Note: Базовый тип audio / ogg не поддерживается.
- максимальный размер
файла: 16 MB
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "audio", "url": "https://www.buildquickbots.com/whatsapp/media/sample/audio/sample01.mp3" } |
Ниже приведен пример полезной нагрузки при отправке видео в WhatsApp.
- Поддерживаемые типы контента: video/mp4, video/3gpp. Note: Поддерживаются
только видеокодек H.264 и аудиокодек AAC.
- максимальный размер файла: 16 MB
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "video", "url":"https://www.buildquickbots.com/whatsapp/media/sample/video/sample01.mp4", "caption":"Sample video" } |
Ниже приведен пример полезной нагрузки при отправке стикера в WhatsApp.
- Каждая наклейка имеет прозрачный фон.
- Наклейки должны быть ровно 512x512 пикселей.
- Размер каждой наклейки не должен превышать 100 КБ.
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "sticker", "url":"http://www.buildquickbots.com/whatsapp/stickers/SampleSticker01.webp" } |
Сообщения, включающие меню до 10 вариантов. Этот тип сообщений предлагает пользователям более простой и последовательный способ сделать выбор при взаимодействии с компанией. Ниже приведен образец полезной нагрузки для отправки конечным пользователям сообщений из списка.
API URL | https://api.gupshup.io/sm/api/v1/msg | ||||||||||||||||||||||||||||||
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
||||||||||||||||||||||||||||||
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "list", "title": "title text", "body": "body text", "msgid": "list1", "globalButtons": [ { "type": "text", "title": "Global button" } ], "items": [ { "title": "first Section", "subtitle": "first Subtitle", "options": [ { "type": "text", "title": "section 1 row 1", "description": "first row of first section description", "postbackText": "section 1 row 1 postback payload" }, { "type": "text", "title": "section 1 row 2", "description": "second row of first section description", "postbackText": "section 1 row 2 postback payload" }, { "type": "text", "title": "section 1 row 3", "description": "third row of first section description", "postbackText": "section 1 row 3 postback payload" } ] }, { "title": "second section", "subtitle": "second Subtitle", "options": [ { "type": "text", "title": "section 2 row 1", "description": "first row of second section description", "postbackText": "section 1 row 3 postback payload" } ] } ] } |
||||||||||||||||||||||||||||||
Описание объекта сообщения из списка |
|
||||||||||||||||||||||||||||||
Описание массива globalButtons |
|
||||||||||||||||||||||||||||||
Описание массива Items |
|
Этот тип сообщения предлагает пользователям более быстрый способ сделать выбор из меню при взаимодействии с
компанией. Кнопки ответа имеют такой же пользовательский опыт, как и интерактивные шаблоны с кнопками.
Ниже приведен пример полезной нагрузки при отправке сообщения Быстрые ответы конечным пользователям в
WhatsApp.
API URL | https://api.gupshup.io/sm/api/v1/msg | |||||||||||||||
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
|||||||||||||||
Тело запроса |
|
|||||||||||||||
Быстрые ответы content описание объекта
|
Поддерживает тело сообщения быстрых ответов - "text" | "image" | "video" | "document". Объект содержимого используется для определения полезной нагрузки тела сообщения быстрых ответов. В дополнение к этому у нас есть свойство caption , которое является общим для объекта содержимого и указывает нижний колонтитул. Заголовок является дополнением к сообщениям быстрого ответа.
- Для типа: text , заголовок является обязательным, максимальное допустимое количество символов - 20. Если заголовок не указан, тело будет отправлено как заголовок.
- Заголовок, который является нижним колонтитулом, является необязательным, максимальное количество символов - 60.
|
|||||||||||||||
Описание массива options быстрых ответов
|
Сообщение быстрого ответа, включающее до 3 вариантов
|
Ниже приведен образец полезной нагрузки для отправки статического местоположения конечному пользователю.
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "location", "longitude": 43.43, "latitude": 33.34, "name": "Name of the location", "address": "Postal address" } |
Ниже приведен пример полезной нагрузки для отправки карточки контакта конечному пользователю.
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" :{ "type": "contact", "contact": { "addresses": [ { "city": "Menlo Park", "country": "United States", "countryCode": "us", "state": "CA", "street": "1 Hacker Way", "type": "HOME", "zip": "94025" }, { "city": "Menlo Park", "country": "United States", "countryCode": "us", "state": "CA", "street": "200 Jefferson Dr", "type": "WORK", "zip": "94025" } ], "birthday": "2012-08-18", "emails": [ { "email": "test@fb.com", "type": "WORK" [ }, { "email": "test@whatsapp.com", "type": "WORK" ], "name": { "firstName": "John", "formattedName": "John Smith", "lastName": "Smith" }, "org": { "company": "WhatsApp", "department": "Design", "title": "Manager" }, "phones": [ { "phone": "+1 (940) 555-1234", "type": "HOME" }, { "phone": "+1 (650) 555-1234", "type": "WORK", "wa_id": "16505551234" } }, "urls": [ { "url": "https://www.facebook.com", "type": "WORK" } ] } } |
API-запросы на отправку сообщения, полученные нашей платформой, обрабатываются асинхронно, поэтому вы всегда
получите ответ HTTP_SUCCESS(200 to 299), если API-запрос был сделан правильно. API-ответ включает в себя объект с
идентификатором сообщения Gupshup и статусом submitted
а ваш webhook получит message-event, в котором говорится, что отправленное вами сообщение клиенту API
WhatsApp
(который фактически отправляет сообщение клиенту) зарегистрировано или не доставлено.
{"status":"submitted","messageId":"ee4a68a0-1203-4c85-8dc3-49d0b3226a35"}
Идентификатор сообщения Gupshup, т.е. messageId Id сообщения в ответе API, поможет отследить сообщения по событиям сообщения, т.е. "enqueued"|"failed"|"sent"|"delivered"|"read" полученным на webhook.
Шаблонная рассылка сообщений позволяет бизнесу рассылать уведомления своим клиентам за пределами 24-часового интервала. Согласно правилам WhatsApp, уведомления должны отправляться только тем пользователям, которые дали согласие на получение сообщений от компании. В соответствии с этим, по умолчанию, на нашей платформе шаблонные сообщения могут отправляться только тем пользователям, которые согласились получать сообщения от компании. Чтобы отметить пользователя как согласившегося получать сообщения, используйте Отметить пользователя, давшего согласие на рассылку.
Мы получали запросы от пользователей нашей платформы о том, что они сталкиваются с проблемами при отправке
шаблонных сообщений своим конечным пользователям. Проведя анализ, мы обнаружили, что эти проблемы в основном
связаны с несоответствием сообщений утвержденному шаблону. Поэтому для уменьшения количества таких ошибок
был
выпущен новый API для отправки сообщений по шаблонам.
Это не означает, что общий API для отправки сообщений сессии и шаблона устарел для обмена шаблонными
сообщениями, его все еще можно использовать. Ниже приведен традиционный API для обмена шаблонными
сообщениями:
API URL | https://api.gupshup.io/sm/api/v1/msg |
Заголовки запроса |
Content-Type: application/x-www-form-urlencoded apikey: {{Ваш ключ API}} |
Тело запроса |
"channel" : "whatsapp", "source" : "917384811114", "destination" : "918x98xx21x4" "src.name":"DemoApp" "message" : { "type": "text", "text": "Hi John, your order is confirmed and will be delivered to you by 15 Feb" } |
В отличие от вышеприведенного API, где от вас требуется отправить все тело сообщения с текстовыми маркерами. Новый API обмена шаблонными сообщениями принимает только id шаблона и значение поля.
Давайте подробнее разберем спецификацию API, т.е. конечную точку API, заголовки, тело запроса и ответ:
Чтобы отправить сообщение в WhatsApp, запрос API делается к этой конечной точке:
http://api.gupshup.io/sm/api/v1/template/msg
Пример запроса API
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}'
Заголовки запроса
Content-type
|
application/x-www-form-urlencoded |
apikey
|
Ваш ключ API |
Тело запроса
Ключ | Тип | Описание | Пример | Обязательно |
---|---|---|---|---|
|
string |
Ваш зарегистрированный бизнес-номер телефона (с кодом страны), для WhatsApp Business API. |
917834811114
|
да |
|
string |
Номер телефона получателя с кодом страны, которому должен быть отправлен шаблон сообщения. |
918x98xx21x4 |
да |
|
Object |
Этот объект имеет 2 свойства: |
Ваш утвержденный шаблон: |
да |
|
object |
Это свойство используется только в том случае, если вы хотите отправить медиа - изображение, видео, документ(.pdf) и местоположение. |
Image:
|
Нет |
API-запросы на отправку сообщения, полученные нашей платформой, обрабатываются асинхронно, поэтому вы всегда
получите ответ HTTP_SUCCESS(200 to 299), если API-запрос был сделан правильно. API-ответ включает в себя объект с
идентификатором сообщения Gupshup и статусом submitted
а ваш webhook получит message-event в котором говорится, что отправленное вами сообщение клиенту API
WhatsApp
(который фактически отправляет сообщение клиенту) зарегистрировано или не доставлено.
{
"messageId": "bf70b8c4-a5b9-4acd-b108-512ce704f4dc",
"status": "submitted"
}
Идентификатор сообщения Gupshup, т.е. messageId Id сообщения в ответе API, поможет отследить сообщения по событиям сообщения, т.е. "enqueued"|"failed"|"sent"|"delivered"|"read" полученным на webhook.
Примеры API-запросов для каждого типа сообщений. Эти примеры предназначены только для иллюстрации и не могут быть использованы. Вы должны создать свои собственные примеры и утвердить их для тестирования.
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}'
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}' \
--data-urlencode 'message={"type":"image","image":{"link":"https://images.pexels.com/photos/248797/pexels-photo-248797.jpeg"}}'
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}' \
--data-urlencode 'message={"type":"video","video":{"link": "https://www.buildquickbots.com/whatsapp/media/sample/video/sample01.mp4"}}'
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}' \
--data-urlencode 'message={"type":"document","document":{"link":"https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf","filename": "Sample funtional resume"}}'
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["Agent","Local Address","Tracking code"]}' \
--data-urlencode 'message={"type":"location","location":{"longitude":"","latitude":""}}'
Для утвержденного интерактивного шаблона мультимедиа, подобного этому:
Hi {{1}}, Please find the attached bill. For more details please visit our website. | [Visit Website,https://www.gupshup.io/developer/{{1}}]
Если в теле сообщения, а также в кнопке призыва к действию есть текст, запрос API может быть таким:
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c49ee21d-4d39-452d-a6c1-25b7615e01e4","params": ["John","docs/bot-platform/guide/whatsapp-api-documentation"]}' \
--data-urlencode 'message={"type":"document","document":{"link":"https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf","filename": "Sample funtional resume"}}'
Для утвержденного интерактивного шаблона мультимедиа, подобного этому:
You can now view your Account Balance or Mini statement for Account ending with {{1}} simply by selecting one of the options below. | [View Account Balance] | [View Mini Statement]
Если в теле сообщения, а также в кнопке призыва к действию есть текст, запрос API может быть таким:
curl --location --request POST 'http://api.gupshup.io/sm/api/v1/template/msg' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'source=917834811114' \
--data-urlencode 'destination=918x98xx21x4' \
--data-urlencode 'template={"id": "c6aecef6-bcb0-4fb1-8100-28c094e3bc6b","params": ["12323XXXX"]}'
Этот API поможет вам получить список всех пользователей, взаимодействовавших с телефонным номером вашего
бизнеса, и их статус согласия/не согласия на получение рассылки:
Curl request
curl --location --request GET 'https://api.gupshup.io/sm/api/v1/users/{{App_Name}}' \
--header 'apikey: {{Gupshup_Account_APIKey}}'
{
"status": "success",
"users": [
{
"countryCode": "91",
"lastMessageTimeStamp": 1585593959851,
"optinSource": "URL",
"optinStatus": "OPT_IN",
"optinTimeStamp": 1585504095053,
"phoneCode": "8x98xx21x4"
}
]
}
Компании обязаны получить согласие на отправку сообщений перед отправкой проактивных уведомлений клиентам. Компании могут получить согласие множеством способов, как в WhatsApp, так и за его пределами. Этот API очень полезен для получения согласия пользователя с вашего веб-сайта, потоков интерактивного голосового ответа (IVR) или в потоке WhatsApp и т.д.
curl --location --request POST 'https://api.gupshup.io/sm/api/v1/app/opt/in/{{App_Name}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: {{Gupshup_Account_APIKey}}' \
--data-urlencode 'user={{User_Mobile_Number}}'
Значение User_Mobile_Number - это действительный номер телефона с кодом страны. Пример: 918x98xx21x4
202
Если клиент хочет отписаться или отказаться от получения уведомлений. Бизнес может использовать этот API, чтобы сделать то же самое.
curl --location --request POST 'https://api.gupshup.io/sm/api/v1/app/opt/out/{{App_Name}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: {{Gupshup_Account_APIKey}}' \
--data-urlencode 'user={{User_Mobile_Number}}'
Значение User_Mobile_Number - действительный номер телефона с кодом страны. Пример: 918x98xx21x4
202
Этот API можно использовать для различных целей, например, если вы отправили шаблон на рассмотрение WhatsApp, вы можете программно отслеживать статус шаблона. Он также может быть использован для получения идентификатора шаблона, сгенерированного платформой для каждого шаблона, отправленного на рассмотрение WhatsApp - идентификатор шаблона необходим для использования API обмена сообщениями шаблона.
Давайте разберемся в этом API:
API Endpoint
https://api.gupshup.io/sm/api/v1/template/list/:AppName
Заголовки запроса
apikey
|
Ваш ключ API |
Запрос API
curl --location --request GET 'https://api.gupshup.io/sm/api/v1/template/list/:AppName' \
--header 'apikey: 2xxc4x4xx2c94xxxc2f9xx9d43xxxx8a'
API ответ
HTTP response code: 200
{
"status": "success",
"templates": [
{
"category": "ACCOUNT_UPDATE",
"createdOn": 1580978917761,
"data": "{{1}} debited with {{2}} on {{3}} for {{4}}.",
"elementName": "common_transaction_2",
"id": "05c82e91-05e5-4d35-b280-2d3d20feda38",
"languageCode": "en_US",
"languagePolicy": "deterministic",
"master": false,
"meta": "{\"example\":\"[Your Bank ac ending with 1245] debited with [Rs. 10000] on [11-Jan-2011] for [ATM cash withdrawal].\"}",
"modifiedOn": 1581966008618,
"status": "APPROVED",
"templateType": "TEXT",
"vertical": "TRANSACTIONS"
},
{
"category": "ISSUE_RESOLUTION",
"createdOn": 1593540550247,
"data": "Hola! Soy {{1}} de Ofisí, recibimos una llamada suya, ¿en qué puedo ayudarle?",
"elementName": "recibimos_llamada",
"id": "072867eb-dd12-46f5-950d-2dd03a7677e5",
"languageCode": "es_MX",
"languagePolicy": "deterministic",
"master": true,
"meta": "{\"example\":\"Hola! Soy [Leon] de Ofisí, recibimos una llamada suya, ¿en qué puedo ayudarle?\"}",
"modifiedOn": 1593627001825,
"status": "APPROVED",
"templateType": "TEXT",
"vertical": "ISSUE RESOLUTION"
}
]
}
Свойство id
- это идентификатор шаблона.
curl --location --request GET 'https://api.gupshup.io/sm/api/v2/wallet/balance' \
--header 'apikey: {{Gupshup Account apikey}}'
200
{
"balance": 1313.7675,
"status": "success"
}
This website uses the following types of cookies: strictly necessary, functional and performance cookies. To know more information regarding how these cookies may impact your experience, please click on Settings.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Name | Provider | Purpose | Expiry | Type |
---|---|---|---|---|
CookieConsent | CookieBot | Stores the user's cookie consent state for the current domain | 1 year | HTTP |
smacon | www.gupshup.io | Authenticating user to access our website | Session | HTTP |
rc::c rc::b |
This cookie is used to distinguish between humans and bots. | Session | HTTP | |
JSESSIONID | www.gupshup.io | Preserves users states across page requests. | Session | HTTP |
gipuserid | www.gupshup.io | Collect & store User ID for easy accessibility | 5 years | HTTP |
__stripe_mid | www.gupshup.io | Stripe is used to make credit card payments in our application. Stripe uses this cookie to remember who you are and process payments without storing any credit card information on our servers. Know more | 1 year | First party |
__stripe_sid | www.gupshup.io | Stripe is used to make credit card payments in our application. Stripe uses this cookie to remember who you are and process payments without storing any credit card information on our servers. Know more | 30 minutes | First party |
These cookies enable the website to provide enhanced functionality and personalisation such as the website content being provided in the preferred language for your location. They may be set by us or by third party providers whose services we have added to our pages.
Name | Provider | Purpose | Expiry | Type |
---|---|---|---|---|
gs_lang_pref | www.gupshup.io | Remember the user's selected language version of a website. This allows the website to show content most relevant to that language. | Session | HTTP |
These cookies allow us to measure visits, traffic sources and engagement so we can improve the performance of our site. They help us learn which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous.
Name | Provider | Purpose | Expiry | Type |
---|---|---|---|---|
_ga | www.gupshup.io | Registers a unique ID that is used to generate statistical data on how the visitor uses the website. Know more | 2 years | HTTP |
_ga_# | www.gupshup.io | Used by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit. Know more | 2 years | HTTP |
_gat | www.gupshup.io | Used by Google Analytics to throttle request rate. Know more | 1 day | HTTP |
_gid | www.gupshup.io | Registers a unique ID that is used to generate statistical data on how the visitor uses the website. | 1 day | HTTP |
__utmz | www.gupshup.io | Stores the traffic source or campaign that explains how the user reached your site. The cookie is created when the javascript library executes and is updated every time data is sent to Google Analytics. Know more | 6 months | HTTP |
__utma | www.gupshup.io | Used to distinguish users and sessions. The cookie is created when the javascript library executes and no existing __utma cookies exists. The cookie is updated every time data is sent to Google Analytics. Know more | 2 years | HTTP |
initialTrafficSource | www.gupshup.io | Used by Google Tag Manager to track the initial traffic source of the visitor. | 2 years | HTTP |
We may use cookies, web beacons, tracking pixels, and other tracking technologies when you visit our website gupshup.io including any other media form, media channel, mobile website, or mobile application related or connected thereto (collectively, the “Site”) to help customize the Site and improve your experience.
We reserve the right to make changes to this Cookie Policy at any time and for any reason. We will alert you about any changes by updating the “Last Updated” date of this Cookie Policy. Any changes or modifications will be effective immediately upon posting the updated Cookie Policy on the Site, and you waive the right to receive specific notice of each such change or modification.
You are encouraged to periodically review this Cookie Policy to stay informed of updates. You will be deemed to have been made aware of, will be subject to, and will be deemed to have accepted the changes in any revised Cookie Policy by your continued use of the Site after the date such revised Cookie Policy is posted.
Cookie Policy (“Policy”) provides detailed information about cookies and JavaScript libraries, how we use them, and how you can manage them when you visit Gupshup website (“website”).
Cookies make it easy and efficient for you to navigate and interact with the Gupshup website. Cookies are small text files that we place on your device (e.g. computer or smartphone) when you visit our website. We will always ask your consent to set cookies e.g., to remember your preferences that are more relevant to you.
Cookies which are necessary for the website to function cannot be switched off.
You can at any time change or withdraw your consent from the Cookie Declaration on our website. (see "Cookie Consent" below in footer).
Learn more about who we are, how you can contact us and how we process personal data in our Privacy Statement.
Your consent applies to the www.gupshup.io domain only.
Cookies are used to make the user's web experience faster, convenient and personalised. For example you can select a language to view a website the first time you visit it. When you visit the website again it will save your preference.
Session cookies: these cookies remain in your browser during your browser session only, i.e. until you leave the website.
Persistent cookies:these cookies remain in your browser for a set period of time after the browser session expires (unless you delete them in advance).
First-party cookies:these cookies are created by us, that is the domain you are visiting (i.e. the website displayed in the URL window).
Third-party cookies:these cookies are created by domains other than the one you are visiting at the time.
When you first visit our website you will see our Cookie Declaration where you can see all the cookies. You can change or withdraw your consent at any time (see "Cookie Consent" below in footer).
If you have any questions regarding this Policy, you may reach our Data Protection Officer at dpo@gupshup.io
Added below language support for WhatsApp,
Bot developers for Line: With the release of Line Messaging API, all BOT API Trial Accounts are scheduled to be deleted. Please republish your bot according to new Line implementation, mentioned under Publish tab in My Bots section.
New tool for non-developers- Our Flow Bot Builder helps users create their bot messaging flow with a graphical editor.
API.ai tool is now available for developing your NLP/AI bot.
Gupshup Enterprise APIs (SMS,Voice and Email) are now available directly in the APIs section.
New channels added for publishing bots- Smooch.io and your website as a web widget.
Now you can access our services including the bot builder tool using your Facebook login credentials.
Now you can delete the dummy bots created for testing from the My Bots Dashboard.
You can now access Bot specific data from your Dashboard itself.
Introducing a hassle free bot development experience for users to instantly create bots using our pre-defined restaurant templates. Check out our blog to know more.
We are removing few redundant parameters, that were being sent when a callback happens to your bot (i.e. inbound message comes to your bot).
Following is the list of parameters.
However, we will continue to send following parameters. If you are using any of the deprecated parameters, we request you to use these alternatives.
You are requested to make a note of this and do the necessary changes immediately to your bot code to keep it working. Should you need any help, please feel free to send an email to devsupport@gupshup.io