How to Create a WhatsApp Web Hook: Step-by-Step Guide 2026 (Full Tutorial)
Introduction: What is a WhatsApp Web Hook?
Agar aap ek developer ya business owner hain aur chahte hain ki WhatsApp messages automatically aapke server par receive ho, toh WhatsApp Web Hook aapke liye game-changer hai।
WhatsApp Web Hook ek HTTP callback hai jo Meta (Facebook) ke WhatsApp Cloud API ke through real-time mein events (jaise nayi message aana, message deliver hona, read hona) aapke server par bhejta hai। Iska use karke aap:
- Auto-reply chatbot bana sakte hain
- Customer support automate kar sakte hain
- Order updates automatically send kar sakte hain
- Messages ko database mein save kar sakte hain
Is blog mein, main aapko step-by-step sikhaunga ki how to create a WhatsApp Web hook officially Meta Cloud API ke through, bina kisi third-party paid service ke।
Prerequisites: Setup Se Pehle Kya Chahiye?
Webhook setup karne se pehle ye cheezein ready rakhein:
| Requirement | Description |
|---|---|
| Meta Developer Account | developers.facebook.com par free account |
| WhatsApp Business Account | Meta Cloud API ke through (test number milta hai) |
| HTTPS Webhook URL | Aapka server URL (localhost nahi chalega, ngrok ya live domain chahiye) |
| Verify Token | Ek custom string jo aap khud define karenge (jaise: my_secret_token_123) |
| Access Token | Meta App se generate hoga |
⚠️ Important: WhatsApp Webhook ke liye HTTPS mandatory hai। HTTP accept nahi होगा।
Step 1: Create a Meta Developer App
- Meta for Developers par jaayein aur login karein।
- My Apps → Create App par click karein।
- App type mein Other select karein aur Next karein।
- App Name dalein (jaise:
WhatsApp Webhook Demo) aur Contact Email Dalein। - Create App button par click karein।
[image: Meta Developer App Creation Dashboard]
Step 2: Enable WhatsApp Cloud API
- Apne App Dashboard par left sidebar mein neeche scroll karein।
- WhatsApp → API par click karein।
- Aapko ek Test WhatsApp Number aur Access Token milega।
- Set Up WhatsApp Account par click karke onboarding complete karein।
- Phone Number ID aur WhatsApp Business Account ID copy kar lein।
Step 3: Create Your Webhook Endpoint (Server Code)
Sabse pehle, aapko ek webhook endpoint banana hoga jo Meta se HTTP GET aur POST requests receive karega।
Option A: Node.js (Express) Example
const express = require('express');
const app = express();
app.use(express.json());
const VERIFY_TOKEN = 'my_secret_token_123'; // Apna token yahan dalein
// GET request for webhook verification
app.get('/webhook', (req, res) => {
const mode = req.query['hub.mode'];
const token = req.query['hub.verify_token'];
const challenge = req.query['hub.challenge'];
if (mode === 'subscribe' && token === VERIFY_TOKEN) {
console.log('Webhook verified!');
res.status(200).send(challenge);
} else {
res.status(403).send('Verification failed');
}
});
// POST request for incoming messages
app.post('/webhook', (req, res) => {
const body = req.body;
if (body.object) {
if (body.entry && body.entry[0].changes && body.entry[0].changes[0].value.messages) {
const message = body.entry[0].changes[0].value.messages[0];
console.log('Received message:', message);
// Yahan aap apna logic likh sakte hain (database save, auto-reply, etc.)
}
res.status(200).send('EVENT_RECEIVED');
} else {
res.status(404).send('Not Found');
}
});
app.listen(3000, () => {
console.log('Webhook server running on port 3000');
});
Option B: PHP Example (Aapke Stack Ke Liye)
<?php
$VERIFY_TOKEN = 'my_secret_token_123';
// GET request for verification
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$mode = $_GET['hub_mode'] ?? '';
$token = $_GET['hub_verify_token'] ?? '';
$challenge = $_GET['hub_challenge'] ?? '';
if ($mode === 'subscribe' && $token === $VERIFY_TOKEN) {
echo $challenge;
exit;
}
http_response_code(403);
exit;
}
// POST request for messages
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$body = json_decode(file_get_contents('php://input'), true);
if (isset($body['object']) && isset($body['entry'][0]['changes'][0]['value']['messages'])) {
$message = $body['entry'][0]['changes'][0]['value']['messages'][0];
error_log('Received message: ' . print_r($message, true));
// Yahan apna logic likhein
}
http_response_code(200);
echo 'EVENT_RECEIVED';
}
?>
💡 Tip: Agar aap locally test kar rahe hain, toh ngrok use karein jo localhost ko public HTTPS URL bana deta hai।
Step 4: Configure Webhook in Meta Dashboard
- Meta Developer App ke dashboard par jaayein।
- Left sidebar mein WhatsApp → Configuration par click karein।
- Webhook section mein Edit button par click karein।
- Ye details bharein:
| Field | Value |
|---|---|
| Callback URL | https://your-domain.com/webhook (ya ngrok URL) |
| Verify Token | my_secret_token_123 (wahi jo code mein use kiya) |
- Verify and Save par click karein।
- Agar URL sahi hai aur endpoint GET request handle kar raha hai, toh “Webhook verified” message dikhega।
[image: Meta Webhook Configuration Screen]
Step 5: Subscribe to Webhook Fields
Webhook verify hone ke baad, aapko batana hoga ki kin events ko receive karna hai:
- Webhook section mein neeche scroll karein।
- Manage button par click karein।
- messages checkbox ko select karein (new messages receive karne ke liye)।
- messaging_postbacks, message_deliveries, message_reads bhi subscribe kar sakte hain।
- Done par click karein।
Step 6: Test Your WhatsApp Webhook
Ab asli test ka time hai:
- Meta dashboard mein WhatsApp → API → Test Number par jaayein।
- Kisi bhi phone number par test message bhejein।
- Apne server logs check karein (console ya PHP error log)।
- Agar aapko message dikhta hai, toh webhook successfully working hai! 🎉
Testing Checklist
| Test Case | Expected Result |
|---|---|
| Webhook URL verify karna | “Webhook verified” message |
| Test message bhejna | Server par message log dikhe |
| Auto-reply karna | WhatsApp par reply reach ho |
| Media message (image) | Media URL properly receive ho |
Common Errors aur Solutions
❌ Error 1: “Webhook Not Verified”
Cause: Verify token mismatch ya GET request handle nahi ho raha।
Solution:
- Code mein
VERIFY_TOKENaur Meta dashboard mein same token use karein। - Ensure karein ki GET request
hub.challengereturn kar raha ho।
❌ Error 2: “Webhook Not Receiving Events”
Cause: HTTPS nahi hai ya firewall block kar raha hai।
Solution:
- URL HTTPS hona chahiye (HTTP chalega nahi)।
- SSL certificate valid hona chahiye।
- ngrok use karein local testing ke liye।
❌ Error 3: “Access Token Expired”
Cause: Temporary token expire ho gaya।
Solution:
- Permanent Access Token generate karein Meta dashboard se।
- Environment variable mein store karein।
Best Practices for WhatsApp Webhook
🔒 Security
- Verify token ko environment variable mein store karein (
process.env.VERIFY_TOKEN) - Webhook signature verification implement karein
- Rate limiting lagayein (DDoS se bachne ke liye)
⚡ Performance
- Webhook ko asynchronously process karein (immediately
200 OKreturn karein) - Message queue use karein (Redis, RabbitMQ)
- Logs maintain karein monitoring ke liye
📈 Scalability
- Horizontal scaling ke liye design karein
- Caching use karein repeated requests ke liye
- Load testing launch se pehle karein
Use Cases: WhatsApp Webhook Kya Kar Sakta Hai?
| Use Case | Description |
|---|---|
| Chatbot | Auto-reply with Google Gemini API (jaise aapne pehle banaya) |
| Customer Support | Ticket automatically create karein CRM mein |
| Order Updates | E-commerce order status automatically send karein |
| Lead Capture | Website form se WhatsApp par lead forward karein |
| Notification System | Appointment reminders, payment alerts |
| Database Sync | Messages ko MongoDB/MySQL mein save karein |
FAQ: Frequently Asked Questions
Q1: Kya WhatsApp Webhook free hai?
A: Haan! Meta Cloud API free tier offer karata hai (pehle 1000 conversations/month free)। [1][2]
Q2: Kya main localhost par test kar sakta hoon?
A: Haan, ngrok use karke localhost ko public HTTPS URL bana sakte hain testing ke liye। [3]
Q3: Kitne events subscribe kar sakte hain?
A: Messages, deliveries, reads, postbacks, reactions, aur aur bhi bahut saare events subscribe kar sakte hain। [4]
Q4: Kya main PHP mein webhook bana sakta hoon?
A: Haan! PHP mein bhi webhook banaya ja sakta hai (jaise upar example diya gaya)। Aapke stack (HTML, CSS, JS, PHP) ke liye perfect hai।
Q5: Kya Twilio ki zaroorat hai?
A: Nahi! Meta Cloud API directly use kar sakte hain bina Twilio ke (Twilio paid hai)। [1]
Conclusion
Ab aap jaante hain ki how to create a WhatsApp Web hook step-by-step Meta Cloud API ke through। Ye official method hai, free hai, aur production-ready hai
Useful Resources
- Meta for Developers Dashboard
- WhatsApp Cloud API Documentation
- ngrok for Local HTTPS Tunneling
- GitHub: WhatsApp Webhook Example [3]
- Guide to WhatsApp Webhooks Best Practices [5]