Поделиться
Webhooks - одна из самых полезных функций нашей платформы. Это позволяет разработчикам и владельцам сайтов прослушать события с устройств или сервера WhatsApp, что полезно для создания автоматизированных задач. Эта функция специально разработана только для получения событий, таких как SMS, чат WhatsApp, ответ USSD и уведомления Android.
Опубликовано: фев 10, 2023 - 1,673 Просмотры
Случаи использования
- Создайте бота автоответчика для SMS и WhatsApp.
- Сохраняйте сообщения и чаты в своей собственной базе данных при получении.
- Сохраняйте уведомления в своей собственной базе данных при получении.
- Сохраняйте ответы USSD в собственной базе данных при получении.
- Отправьте полезную нагрузку на указанные адреса электронной почты.
- Отправьте SMS / чат, когда вы получите уведомление от Facebook.
- Сделайте что-нибудь, когда вы получите уведомление от приложения.
Как это работает
Система получает событие получения из обоих источников, затем вызывается URL-адрес веб-перехватчика и отправляются данные полезной нагрузки. Когда ваш сервер веб-перехватчиков получает его, вы можете самостоятельно делать с полезной нагрузкой все, что угодно. Полезные нагрузки отправляются методом POST для обеспечения эффективной доставки.
Структура полезной нагрузки
Структура полезной нагрузки проста; вам просто нужно проверить тип полезной нагрузки, а затем обработать содержимое тела данных.
# sms
[
"type" => "sms", // type of payload: received sms
"data" => [
"id" => 2, // unique id from the system
"rid" => 10593, // unique id from the device
"sim" => 1, // sim card slot
"device" => "00000000-0000-0000-d57d-f30cb6a89289", // device unique id
"phone" => "+639760713666", // sender phone number
"message" => "Hello World!", // message
"timestamp" => 1645684231 // receive timestamp
]
]
[
"type" => "whatsapp", // type of payload: received whatsapp chat
"data" => [
"id" => 2, // unique id from the system
"wid" => "+639760713666", // whatsapp account phone number
"phone" => "+639760666713", // sender phone number
"message" => "Hello World!", // message
"timestamp" => 1645684231 // receive timestamp
]
]
# ussd
[
"type" => "ussd", // type of payload: received ussd response
"data" => [
"id" => 98, // unique id from the system
"sim" => 1, // sim card slot
"device" => "00000000-0000-0000-d57d-f30cb6a89289", // device unique id
"code" => "*143#", // ussd code
"response" => "Sorry! You are not allowed to use this service.", // ussd response
"timestamp" => 1645684231 // receive timestamp
]
]
# notification
[
"type" => "notification", // type of payload: received notification
"data" => [
"id" => 77, // unique id from the system
"device" => "00000000-0000-0000-d57d-f30cb6a89289", // device unique id
"package" => "com.facebook.katana", // application package name
"title" => "Someone commented on your post!", // notification title
"content" => "Someone commented on your post!", // notification content
"timestamp" => 1645684231 // receive timestamp
]
]
Code Example
Webhooks)
/**
* Validate webhook secret
*/
if(isset($request["secret"]) && $request["secret"] == $secret):
// Valid webhook secret
$payloadType = $request["type"];
$payloadData = $request["data"];
// do something with the payload
print_r($payloadType);
print_r($payloadData);
else:
// Invalid webhook secret
endif;