मुख्य सामग्री पर जाएं
Wbiztool

मैसेजिंग API

संदेश स्टेटस API

जांचें कि API से भेजा गया संदेश अभी कतार में है, भेजा जा चुका है या फेल हो गया है। इसका इस्तेमाल यह पक्का करने के लिए करें कि ज़रूरी संदेश चले गए, और यह जानने के लिए कि कोई संदेश क्यों नहीं गया।

POSThttps://wbiztool.com/api/v1/message/status/{msg_id}/

बॉडी: JSON या फॉर्म फील्ड

संदेश ID को URL में डालें: {msg_id} की जगह वह msg_id लिखें जो संदेश भेजें, ग्रुप में भेजें, कई नंबरों पर भेजें या संदेश शेड्यूल करें से मिला था। उदाहरण के लिए: https://wbiztool.com/api/v1/message/status/9817263/

छोटा उदाहरण#

curl -X POST https://wbiztool.com/api/v1/message/status/9817263/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY"
  }'

12345 और YOUR_API_KEY की जगह अपनी वैल्यू डालें। ये कहां मिलेंगी, यह जानने के लिए ऑथेंटिकेशन देखें।

रिक्वेस्ट पैरामीटर#

URL

msg_idintegerआवश्यक

संदेश ID, URL पाथ के हिस्से के रूप में। यह पूर्ण संख्या होनी चाहिए और आपकी API की वाले वर्कस्पेस की होनी चाहिए।

बॉडी

client_idintegerआवश्यक

सेटिंग्स → API Keys से आपका API क्लाइंट ID।

api_keystringआवश्यक

उसी पेज से आपकी API की।

आधिकारिक क्लाइंट का इस्तेमाल#

Python क्लाइंट आपके लिए यह एंडपॉइंट कॉल करता है।

Python
from wbiztool_client import WbizToolClient

client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)

result = client.get_message_status(msg_id=9817263)
print(result.get("status_text"), result.get("error"))

क्लाइंट वही फील्ड लौटाता है जो API लौटाता है, इसलिए result["status"] संदेश की स्थिति है, सफलता का फ्लैग नहीं। ऑथेंटिकेशन एरर पर requests.HTTPError रेज़ होता है; वजह e.response.json()["message"] से पढ़ें।

रिस्पॉन्स#

एंडपॉइंट संदेश की मौजूदा स्थिति के साथ HTTP 200 लौटाता है:

{
  "message": "Sent",
  "status": 1,
  "status_text": "Sent",
  "error": ""
}

फेल हुआ संदेश:

{
  "message": "Failed",
  "status": 2,
  "status_text": "Failed",
  "error": "Phone number invalid"
}
फील्डटाइपविवरण
statusintegerसंदेश का स्टेटस कोड। नीचे दी गई टेबल देखें।
status_textstringस्टेटस का नाम: Created, Sent, Failed, Cancelled या Expired
messagestringstatus_text वाली ही वैल्यू।
errorstring or nullसंदेश फेल होने की वजह। हमेशा मौजूद होता है; कोई एरर न हो तो खाली ("" या null) होता है।

स्टेटस वैल्यू#

statusstatus_textमतलब
0Createdकतार में है या शेड्यूल है, भेजे जाने का इंतज़ार कर रहा है।
1Sentआपके WhatsApp नंबर से भेज दिया गया।
2Failedनहीं भेजा जा सका, या भेजना बीच में रुक गया। error में वजह होती है। अगर error Sending was interrupted and may have been delivered. Check WhatsApp before resending. है, तो हो सकता है प्राप्तकर्ता को संदेश पहले ही मिल चुका हो, इसलिए उसे अपने आप दोबारा न भेजें।
3Cancelledभेजे जाने से पहले कैंसल कर दिया गया, उदाहरण के लिए संदेश कैंसल करें से।
4Expiredअपनी expire_after_seconds समय-सीमा से पहले नहीं भेजा जा सका।

Sent सफलता की अंतिम स्थिति है। यह एंडपॉइंट यह नहीं बताता कि संदेश फोन पर डिलीवर हुआ या पढ़ा गया।

फेल हुए संदेशों के लिए error वैल्यू के उदाहरण: Phone number invalid, Group not found, Image Url Error, File Url Error, Blocked Contact, File exceeds WhatsApp size limit (…), File type not supported, Sending was interrupted and may have been delivered. Check WhatsApp before resending.

एरर#

{
  "message": "Unknown message id",
  "status": 0,
  "status_text": "pending",
  "error": "Invalid message id"
}
संदेशकैसे ठीक करें
Unknown message idआपकी API की वाले वर्कस्पेस में उस ID का कोई संदेश नहीं है। ID जांचें, और यह भी कि आप उसी वर्कस्पेस की की इस्तेमाल कर रहे हैं।
Auth Errorclient_id और api_key दोनों भेजें। अमान्य JSON बॉडी (जैसे आखिर में अतिरिक्त कॉमा) पर भी Auth Error मिलता है।
Invalid Client Idclient_id को नंबर के रूप में भेजें। HTTP 403 के साथ लौटता है।
Auth Error: invalid api keyजांचें कि की मौजूद है, डिलीट नहीं हुई है और इसी client_id की है। HTTP 400 के साथ लौटता है।

सुझाव#

  • रियल-टाइम अपडेट के लिए वेबहुक बेहतर हैं: संदेश भेजते समय webhook पास करें, Wbiztool संदेश भेजे जाने या फेल होने पर आपको सूचना देगा, ताकि आपको बार-बार पोल न करना पड़े। कैंसल और एक्सपायर हुए संदेश वेबहुक ट्रिगर नहीं करते, इसलिए उन्हें यहां जांचें।
  • पोलिंग: अगर आप पोल करते हैं, तो status के 0 न रहने पर रुक जाएं। हर जांच के बीच कुछ सेकंड का अंतर रखें।
  • एक साथ कई संदेश: पूरे दिन के संदेश जांचने के लिए, हर ID पर यह एंडपॉइंट कॉल करने की जगह संदेश हिस्ट्री इस्तेमाल करें।
  • पुराने संदेश हटा दिए जाते हैं: भेजे गए, फेल, कैंसल और एक्सपायर हुए जिन संदेशों में लगभग 90 दिनों से कोई बदलाव नहीं हुआ, वे Unknown message id लौटाते हैं। यही उन संदेशों के साथ भी होता है जो बनने या शेड्यूल होने के 90 दिन बाद भी किसी डिसकनेक्ट या डिलीट हो चुके नंबर पर कतार में हैं।
  • पुराने इंटीग्रेशन: बॉडी में msg_id के साथ POST /api/v1/msg_status/ डेप्रिकेटेड है। यह वही फील्ड लौटाता है। यह query string में client_id, api_key और msg_id के साथ GET भी स्वीकार करता है, जिससे आपकी API की URL और लॉग में दिख जाती है। इस एंडपॉइंट पर स्विच करें।