Compartilhar
Webhooks são um dos recursos mais úteis da nossa plataforma. Ele permite que desenvolvedores e proprietários de sites escutem eventos dos dispositivos ou do servidor WhatsApp, o que é útil para criar tarefas automatizadas. Esta função é projetada especificamente para receber eventos apenas, como sms, bate-papo do WhatsApp, resposta ussd e notificações do Android.
Postado em: fev 10, 2023 - 1,675 Modos de exibição
Casos de uso
- Crie um bot de resposta automática para SMS e WhatsApp.
- Salve mensagens e bate-papos em seu próprio banco de dados ao receber.
- Salve as notificações em seu próprio banco de dados ao receber.
- Salve as respostas USSD em seu próprio banco de dados ao receber.
- Envie a carga para os endereços de e-mail especificados.
- Envie um SMS/Chat quando receber uma notificação do Facebook.
- Faça algo quando receber uma notificação de um aplicativo.
Como funciona
O sistema obtém um evento recebido de ambas as fontes, então a url do webhook será invocada e os dados de carga útil serão enviados. Quando seu servidor webhook o recebe, você mesmo pode fazer qualquer coisa com a carga útil. As cargas úteis são enviadas com o método POST para garantir uma entrega eficiente.
Estrutura de Carga Útil
A estrutura de carga útil é simples; Você só precisa verificar o tipo de carga útil e, em seguida, processar o conteúdo do corpo de dados.
# 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
]
]
# notificação
[
"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
]
]
Exemplo de código
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;