PHP ve webhook kullanarak WhatsApp mesajları alın

Tanıtım

Bu eğitimde, PHP kullanarak gelen WhatsApp mesajını işlemek için bir sayfa oluşturacağız.

bağımlılıklar

yerel kalkınma amaçları için bir tünel açma hizmeti gereklidir. Bu örnekte ngrok kullanılmıştır, ngrok’u buradan indirebilirsiniz.

Örnek vermek

Bu, sunucunun gövdeyi istekten log.txt dosyasına kaydetmesiyle çok basit bir örnektir.

Gövde, Ultramsg API WhatsApp örneğinden gönderilen tüm web kancası bilgilerini içerir.

$data = file_get_contents("php://input");
$event = json_decode($data, true);
if(isset($event)){
	//Here, you now have event and can process them how you like e.g Add to the database or generate a response
	$file = 'log.txt';  
	$data =json_encode($event)."\n";  
	file_put_contents($file, $data, FILE_APPEND | LOCK_EX);
}

Sunucu Kullanımında

Yukarıdaki örnek dosyayı test.php olarak kaydedin ve sunucunuza yükleyin, Webhook URL’si şöyle olacaktır:

http://your-server/test.php

ngrok ile Yerel Kullanımda

Yukarıdaki örnek dosyayı yerel ana makinenize test.php olarak kaydedin, URL şöyle olacaktır:

http://localhost/test.php

ngrok’u başlat:

ngrok http 80

Bundan sonra, bir görmelisiniz
*.ngrok.io URL’si.
Örneğin :
https://7647-115-83-121-164.ngrok.io
localhost ile değiştir
ngrok.io URL’si
URL şöyle olacaktır:
https://7647-115-83-121-164.ngrok.io/webhook.php

Sıradaki ne?

URL’nizi Örnek ayarlarına yapıştırın.
Web kancalarını şimdi alabilmelisiniz ve bunları log.txt dosyasında görebilirsiniz.

ÖRNEK JSON YANIT

{
  "event_type": "message_received",
  "instanceId": "90",
  "data": {
    "id": "[email protected]_7ECAED9EB68D3474BE591443134C2E3F",
    "from": "[email protected]",
    "to": "[email protected]",
    "ack": "pending",
    "type": "chat",
    "body": "I can't send a message using php code\nCan you help me",
    "fromMe": false,
    "isForwarded": false,
    "time": 1643311467
  }
}