मैसेजिंग API
WhatsApp ग्रुप में संदेश भेजें API
किसी ऐसे WhatsApp ग्रुप में WhatsApp टेक्स्ट, इमेज या डॉक्यूमेंट भेजें जिसका आपका कनेक्टेड नंबर सदस्य है। इसका इस्तेमाल टीम अनाउंसमेंट, कम्युनिटी अपडेट और ब्रॉडकास्ट नोटिफिकेशन के लिए करें।
https://wbiztool.com/api/v1/send_msg/group/बॉडी: JSON, फॉर्म फील्ड, या फाइल अपलोड करते समय multipart/form-data
संदेश कतार में जाता है और आपके WhatsApp नंबर से ग्रुप में भेजा जाता है। रिस्पॉन्स में आपको एक msg_id मिलता है, जिससे आप उसका स्टेटस जांच सकते हैं।
छोटा उदाहरण#
curl -X POST https://wbiztool.com/api/v1/send_msg/group/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"group_name": "Sales Team Mumbai",
"msg": "Reminder: *weekly review* starts at 4 PM today."
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/send_msg/group/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"group_name": "Sales Team Mumbai",
"msg": "Reminder: *weekly review* starts at 4 PM today.",
},
timeout=60,
)
result = response.json() # read the body even when the HTTP code is 400
if result.get("status") == 1:
print("Queued with msg_id", result["msg_id"])
else:
print("Failed:", result.get("message"))// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/send_msg/group/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
whatsapp_client: 678,
msg_type: 0,
group_name: "Sales Team Mumbai",
msg: "Reminder: *weekly review* starts at 4 PM today.",
}),
});
const result = await response.json(); // read the body even when the HTTP code is 400
if (result.status === 1) {
console.log("Queued with msg_id", result.msg_id);
} else {
console.error("Failed:", result.message);
}<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 0,
'group_name' => 'Sales Team Mumbai',
'msg' => 'Reminder: *weekly review* starts at 4 PM today.',
];
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/group/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? 0) === 1) {
echo 'Queued with msg_id ' . $result['msg_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}12345, YOUR_API_KEY और 678 की जगह अपनी वैल्यू डालें। ये कहां मिलेंगी, यह जानने के लिए ऑथेंटिकेशन देखें।
रिक्वेस्ट पैरामीटर#
ऑथेंटिकेशन
client_idintegerआवश्यकसेटिंग्स → API Keys से आपका API क्लाइंट ID।
api_keystringआवश्यकउसी पेज से आपकी API की।
whatsapp_clientintegerमालिक के एक से ज़्यादा कनेक्टेड नंबर होने पर ज़रूरीजिस WhatsApp नंबर से भेजना है उसका ID, WhatsApp सेटिंग्स से। यह ऐसा नंबर होना चाहिए जो वर्कस्पेस के मालिक का हो। अगर आप इसे नहीं भेजते और मालिक का ठीक एक कनेक्टेड नंबर है, तो वही नंबर इस्तेमाल होता है।
ग्रुप और संदेश
group_namestringआवश्यकWhatsApp ग्रुप का नाम, ठीक वैसा ही जैसा WhatsApp में दिखता है। इसे string के रूप में भेजें।
2024जैसा JSON नंबर एक HTML एरर पेज (HTTP500) लौटाता है। ग्रुप कैसे ढूंढा जाता है देखें।msg_typeintegerवैकल्पिक0टेक्स्ट (डिफ़ॉल्ट),1इमेज,2फाइल या डॉक्यूमेंट।msgstringmsg_type 0 होने पर ज़रूरीसंदेश का टेक्स्ट। इमेज और फाइलों के लिए यह कैप्शन होता है और खाली भी हो सकता है। WhatsApp फॉर्मेटिंग काम करती है:
*bold*,_italic_,~strikethrough~।messageको भी इसके दूसरे नाम (alias) के रूप में स्वीकार किया जाता है।
इमेज और फाइलें
img_urlstringmsg_type 1 होने और कोई फाइल अपलोड न होने पर ज़रूरीइमेज का सार्वजनिक
httpयाhttpsURL।file_urlstringmsg_type 2 होने और कोई फाइल अपलोड न होने पर ज़रूरीसार्वजनिक
httpयाhttpsURL, जिससे फाइल सीधे डाउनलोड की जा सके।filefileवैकल्पिकURL देने के बजाय इमेज या फाइल अपलोड करें। रिक्वेस्ट को
multipart/form-dataके रूप में भेजें, और फील्ड का नामfileरखें।file_namestringवैकल्पिकग्रुप को दिखने वाला फाइल नाम, जैसे
price-list.pdf। इसके एक्सटेंशन से तय होता है कि फाइल कैसे भेजी जाएगी, इसलिए एक्सटेंशन ज़रूर लिखें। यह छोटे अक्षरों (lower case) में भेजा जाता है,& : ? * $ ;जैसे कैरेक्टर_से बदल दिए जाते हैं, और इसे 150 कैरेक्टर तक काट दिया जाता है। अगर आप इसे नहीं भेजते, तो नाम URL या अपलोड की गई फाइल से लिया जाता है।
डिलीवरी विकल्प
expire_after_secondsintegerवैकल्पिकअगर संदेश इतने सेकंड में नहीं भेजा गया, तो उसे एक्सपायर (स्टेटस
4) मार्क करें, जैसे एक घंटे के लिए3600। यह काम एक बैकग्राउंड जॉब डेडलाइन के कम से कम 30 सेकंड बाद करता है, इसलिए एक मिनट से छोटी डेडलाइन के लिए इस पर भरोसा न करें।webhookstringवैकल्पिकवह URL जिसे संदेश भेजे जाने या फेल होने पर एक
POSTमिलता है। पेलोड वही है जो संदेश भेजें में है।
इमेज और फाइलों पर वही नियम लागू होते हैं जो संदेश भेजें पर: URL API कॉल करते समय डाउनलोड किए जाते हैं (100 MB तक)। संदेश भेजते समय 16 MB से बड़ी इमेज और 64 MB से बड़े वीडियो फेल होते हैं, WAV और OGG ऑडियो सपोर्ट नहीं होते, और बिना समर्थित एक्सटेंशन वाली फाइलों (msg_type 2) में .pdf जुड़ जाता है, अपलोड की गई फाइलों में भी। फाइल के नाम छोटे अक्षरों (lower case) में भेजे जाते हैं। एक्सटेंशन और एरर की पूरी सूची के लिए इमेज और फाइलें भेजना देखें।
फाइल अपलोड करने के लिए संदेश भेजें पर दिए multipart उदाहरण इस्तेमाल करें, URL को /api/v1/send_msg/group/ से और phone/country_code को group_name से बदलकर।
curl -X POST https://wbiztool.com/api/v1/send_msg/group/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"group_name": "Sales Team Mumbai",
"img_url": "https://example.com/reports/weekly-sales.png",
"msg": "This week'\''s sales summary"
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/send_msg/group/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"group_name": "Sales Team Mumbai",
"img_url": "https://example.com/reports/weekly-sales.png",
"msg": "This week's sales summary",
},
timeout=60,
)
print(response.json())// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/send_msg/group/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: 12345,
api_key: "YOUR_API_KEY",
whatsapp_client: 678,
msg_type: 1,
group_name: "Sales Team Mumbai",
img_url: "https://example.com/reports/weekly-sales.png",
msg: "This week's sales summary",
}),
});
console.log(await response.json());<?php
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/group/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 1,
'group_name' => 'Sales Team Mumbai',
'img_url' => 'https://example.com/reports/weekly-sales.png',
'msg' => "This week's sales summary",
]),
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);
curl_close($ch);ग्रुप कैसे ढूंढा जाता है#
API कॉल करते समय Wbiztool ग्रुप का नाम नहीं जांचता। संदेश भेजते समय Wbiztool आपकी WhatsApp चैट में group_name खोजता है और पहला नतीजा खोलता है। इसलिए:
- आपका कनेक्टेड WhatsApp नंबर ग्रुप का सदस्य होना चाहिए।
- ग्रुप का पूरा नाम ठीक वैसा ही लिखें जैसा WhatsApp में दिखता है, इमोजी और विराम चिह्नों समेत। शुरुआत और आखिर के स्पेस नज़रअंदाज़ किए जाते हैं।
- नाम यूनिक रखें। छोटा या अधूरा नाम किसी दूसरी चैट से मैच हो सकता है जो खोज में पहले दिखती है।
- अगर कुछ भी मैच नहीं होता, ग्रुप में सिर्फ एडमिन संदेश भेज सकते हैं और आपका नंबर एडमिन नहीं है, या सिर्फ कम्युनिटी एडमिन पोस्ट कर सकते हैं, तो संदेश
Group not foundएरर के साथ फेल हो जाता है। - अगर आपका नंबर ग्रुप छोड़ चुका है, तो संदेश
Group member blockedएरर के साथ फेल हो जाता है।
ग्रुप से जुड़ी समस्याएं API रिस्पॉन्स में नहीं दिखतीं। संदेश भेजा गया या नहीं, यह जानने के लिए वेबहुक या संदेश स्टेटस इस्तेमाल करें।
आधिकारिक क्लाइंट का इस्तेमाल#
Python क्लाइंट आपके लिए यह एंडपॉइंट कॉल करता है।
from wbiztool_client import WbizToolClient
client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)
result = client.send_message_to_group(
group_name="Sales Team Mumbai",
msg="Reminder: weekly review starts at 4 PM today.",
whatsapp_client=678,
)
print(result)एरर होने पर requests.HTTPError रेज़ होता है। वजह e.response.json()["message"] से पढ़ें।
रिस्पॉन्स#
सफल रिक्वेस्ट HTTP 200 लौटाती है:
{
"status": 1,
"message": "Created",
"msg_id": 9817263
}
| फील्ड | टाइप | विवरण |
|---|---|---|
status | integer | संदेश कतार में चला गया हो तो 1, रिक्वेस्ट फेल हुई हो तो 0। |
message | string | सफल होने पर Created, वरना एरर। |
msg_id | integer | कतार में गए संदेश का ID। बाद में स्टेटस जांचने के लिए इसे सेव करें। केवल सफल होने पर मौजूद होता है। |
"status": 1 का मतलब है कि संदेश कतार में चला गया है, यह नहीं कि वह ग्रुप तक पहुंच गया है। संदेश भेजा गया या नहीं, यह पक्का करने के लिए वेबहुक या संदेश स्टेटस इस्तेमाल करें।
एरर#
एरर HTTP 400 लौटाते हैं और status की वैल्यू 0 होती है:
{ "status": 0, "message": "Group Name cant be null" }
| संदेश | कैसे ठीक करें |
|---|---|
Auth Error - Please send correct API key and Client id | खाली न हो ऐसा api_key भेजें। |
Invalid client id. | client_id को नंबर के रूप में भेजें। |
Auth Error: invalid api key | जांचें कि की मौजूद है, डिलीट नहीं हुई है और इसी client_id की है। |
Group Name cant be null | group_name जोड़ें। |
Msg cant be null | टेक्स्ट संदेशों (msg_type 0) के लिए msg ज़रूरी है। |
Image Url Can't be null | msg_type 1 के लिए img_url भेजें या file अपलोड करें। |
File Url Can't be null | msg_type 2 के लिए file_url भेजें या file अपलोड करें। |
Invalid file url, Can't download / Invalid file url | URL सार्वजनिक नहीं है, टाइम आउट हो गया, या फाइल 100 MB से बड़ी है। |
Invalid whatsapp client None | वह whatsapp_client ID वर्कस्पेस के मालिक का नहीं है। ऊपर दी गई चेतावनी देखें। |
Invalid whatsapp client id. | whatsapp_client भेजें। यह तब तक ज़रूरी है जब तक मालिक का ठीक एक कनेक्टेड नंबर न हो। |
Not enough credits | आपके प्लान में कोई संदेश नहीं बचा है। |
Demo Account can not access apis | सामान्य अकाउंट इस्तेमाल करें। |
Account Disabled | आपका अकाउंट डिसेबल है। सपोर्ट से संपर्क करें। |
Invalid JSON format: … | JSON बॉडी सही नहीं है, अक्सर आखिर में लगे अतिरिक्त कॉमा या msg में बिना escape किए लाइन ब्रेक की वजह से। नई लाइन के लिए \n इस्तेमाल करें। |
सुझाव#
- पहले नाम टेस्ट करें: कुछ भी ऑटोमेट करने से पहले ग्रुप में एक छोटा टेक्स्ट भेजें और संदेश स्टेटस जांचें।
- नाम बदले गए ग्रुप: अगर कोई WhatsApp में ग्रुप का नाम बदल देता है, तो अपने इंटीग्रेशन में भी
group_nameअपडेट करें। - संदेश टाइप:
msg_typeके लिए सिर्फ0,1और2मान्य वैल्यू हैं। पूर्ण संख्या के अलावा कोई भी वैल्यू JSON की जगह HTML एरर पेज (HTTP500) लौटाती है। - एक साथ कई ग्रुप: कई नंबरों पर भेजें एक ही रिक्वेस्ट में फोन नंबरों के साथ ग्रुप के नाम भी स्वीकार करता है।
