مقدمة
في هذا المقال ، سننشئ صفحة للتعامل مع رسائل WhatsApp الواردة باستخدام PHP.
Dependencies
لأغراض التجربة بالسيرفر المحلي سنحتاج لخدمة tunneling و في هذا الدرس سنستخدم ngrok يمكنك تحميل ngrok من هنا .
مثال
هذا مثال بسيط ، حيث يقوم السيرفر بتخزين الرسائل الواردة في ملف log.txt file .
سيحتوي الطلب على جميع معلومات الويب هوك المرسل من جهاز الواتس اب الخاص بالترامسج
$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);
}في حالة الإستخدام على السيرفر
احفظ ملف المثال أعلاه webhook.php وقم برفعه على السيرفر الخاص بك سيكون هو عنوان URL الخاص بـ Webhook :
http://your-server/test.phpفي حالة الإستخدام على سيرفر محلي
احفظ ملف المثال أعلاه webhook.php وقم بوضعه على السيرفر المحلي و سيكون هو عنوان URL الخاص بـ Webhook :
http://localhost/test.phpتشغيل ngrok
ngrok http 80بعد ذلك ، يجب أن تشاهد
*.ngrok.io URL.
مثلاً :
https://7647-115-83-121-164.ngrok.io
استبدل localhost بـ
ngrok.io URL
سيكون اربط الويب هوك:
https://7647-115-83-121-164.ngrok.io/webhook.php
ماذا بعد؟
الصق عنوان URL الخاص بـ Webhook في إعدادات الجهاز .
الأن يجب ان تكون قادر على استقبال الويب هوك و ستشاهدهم جميعاً في log.txt file .
مثال عن الرد بصيغة Json
{
  "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
  }
}روابط مفيدة
- وثائق Whatsapp API الكاملة .
- ارسال رسائل WhatsApp API بواسطة لغة PHP .
