Terima mesej WhatsApp menggunakan PHP dan webhook

pengenalan

Dalam tutorial ini, kami akan membuat halaman untuk mengendalikan mesej WhatsApp masuk menggunakan PHP.

Kebergantungan

untuk tujuan pembangunan tempatan, perkhidmatan terowong diperlukan. Contoh ini menggunakan ngrok , Anda boleh memuat turun ngrok dari sini .

Contoh

Ini adalah contoh yang sangat mudah, dengan pelayan mengelog badan daripada permintaan ke fail log.txt.

Badan tersebut mengandungi maklumat webhook lengkap yang dihantar daripada tika Ultramsg API WhatsApp.

$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);
}

Mengenai Penggunaan Pelayan

Simpan fail contoh di atas sebagai test.php dan muat naik ke pelayan anda URL Webhook ialah :

http://your-server/test.php

Mengenai Penggunaan Tempatan dengan ngrok

Simpan fail contoh di atas sebagai test.php dalam localhost anda dan URLnya ialah :

http://localhost/test.php

Mula ngrok :

ngrok http 80

Selepas ini, anda harus melihat a
*.ngrok.io URL.
sebagai contoh :
https://7647-115-83-121-164.ngrok.io
gantikan localhost dengan
URL ngrok.io
URLnya ialah:
https://7647-115-83-121-164.ngrok.io/webhook.php

Apa yang akan datang?

tampal URL anda dalam tetapan Instance.
Anda sepatutnya boleh menerima webhooks sekarang dan anda boleh melihatnya dalam fail log.txt.

CONTOH JSON RESPONS

{
  "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
  }
}