공유하다
웹훅은 우리 플랫폼의 가장 유용한 기능 중 하나입니다. 이를 통해 개발자와 사이트 소유자는 장치 또는 WhatsApp 서버에서 이벤트를 수신할 수 있으므로 자동화된 작업을 만드는 데 유용합니다. 이 기능은 SMS, WhatsApp 채팅, ussd 응답 및 Android 알림과 같은 이벤트 수신 전용으로 특별히 설계되었습니다.
게시: 2월 10, 2023 - 1,698 견해
사용 사례
- SMS 및 WhatsApp용 자동 회신 봇을 만듭니다.
- 수신 시 메시지와 채팅을 자신의 데이터베이스에 저장하십시오.
- 수신 시 자신의 데이터베이스에 알림을 저장합니다.
- 수신 시 USSD 응답을 자체 데이터베이스에 저장합니다.
- 지정된 이메일 주소로 페이로드를 보냅니다.
- Facebook에서 알림을 받으면 SMS/채팅을 보냅니다.
- 앱에서 알림을 받을 때 작업을 수행합니다.
작동 원리
시스템은 두 소스 모두에서 수신된 이벤트를 가져온 다음 웹훅 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
]
]
코드 예제
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;