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

मैसेजिंग API

संदेश हिस्ट्री API

किसी तारीख की रेंज के लिए अपने वर्कस्पेस के संदेशों की सूची, हर संदेश के स्टेटस के साथ पाएं। इसका इस्तेमाल भेजे गए संदेशों का मिलान करने, रिपोर्ट बनाने या दोबारा भेजने के लिए फेल हुए संदेश ढूंढने में करें।

POSThttps://wbiztool.com/api/v1/report/

बॉडी: JSON (पहले पेज के बाद के पेजों के लिए ज़रूरी) या फॉर्म फील्ड

हिस्ट्री में आपकी API की वाले वर्कस्पेस का हर संदेश शामिल है, चाहे वह API, डैशबोर्ड या कैंपेन से भेजा गया हो। नतीजे हर पेज पर 200 आते हैं, सबसे पुराने पहले। यही डेटा रिपोर्ट्स पेज पर भी उपलब्ध है।

छोटा उदाहरण#

curl -X POST https://wbiztool.com/api/v1/report/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "start_date": "01-09-2026",
    "end_date": "08-09-2026",
    "page": 1
  }'

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

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

ऑथेंटिकेशन

client_idintegerआवश्यक

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

api_keystringआवश्यक

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

फिल्टर

start_datestringआवश्यक

शामिल किया जाने वाला पहला दिन, DD-MM-YYYY फॉर्मेट में, उदाहरण के लिए 01-09-2026

end_datestringआवश्यक

रेंज का अंत, DD-MM-YYYY फॉर्मेट में। यह दिन खुद शामिल नहीं होता। तारीख की रेंज देखें।

whatsapp_clientintegerवैकल्पिक

सिर्फ इस WhatsApp नंबर से भेजे गए संदेश लौटाएं, WhatsApp सेटिंग्स से उसका ID इस्तेमाल करके। अपने सभी नंबरों के संदेश पाने के लिए इसे न भेजें।

pageintegerवैकल्पिक

पेज नंबर, 1 (डिफॉल्ट) से शुरू। हर पेज में ज़्यादा से ज़्यादा 200 संदेश होते हैं। इसे JSON नंबर के रूप में भेजें। 0 या नेगेटिव नंबर भेजने पर total के साथ खाली history लौटता है।

तारीख की रेंज#

तारीखों को भारतीय मानक समय (IST, UTC+5:30) में उस दिन की शुरुआत की आधी रात माना जाता है, और संदेशों का मिलान इस आधार पर होता है कि वे कब बनाए गए (कतार में डाले गए या शेड्यूल किए गए), न कि कब भेजे गए। रेंज start_date 00:00 से end_date 00:00 तक चलती है, इसलिए:

  • "start_date": "01-09-2026", "end_date": "08-09-2026" से 1 से 7 सितंबर तक के संदेश मिलते हैं। 8 सितंबर शामिल नहीं है।
  • सिर्फ एक दिन के संदेश पाने के लिए end_date को अगला दिन रखें: "start_date": "15-09-2026", "end_date": "16-09-2026"
  • अगर दोनों तारीखें एक ही हैं, तो कोई संदेश नहीं मिलता।

पेजिनेशन#

हर रिस्पॉन्स में total होता है, यानी पूरी रेंज में संदेशों की संख्या, और history में उनमें से ज़्यादा से ज़्यादा 200 संदेश। page 2, 3 और आगे तब तक रिक्वेस्ट करें जब तक page × 200 कम से कम total के बराबर न हो जाए।

रिस्पॉन्स#

सफल रिक्वेस्ट HTTP 200 लौटाती है:

{
  "message": "Success",
  "status": 0,
  "total": 3,
  "history": [
    { "id": 9817263, "msg_type": "Text", "contact": "919876543210", "message_status": "Sent" },
    { "id": 9817264, "msg_type": "File", "contact": "919812345670", "message_status": "Failed" },
    { "id": 9817265, "msg_type": "Image", "contact": "Sales Team Mumbai", "message_status": "Pending" }
  ]
}
फील्डटाइपविवरण
messagestringरिक्वेस्ट सफल होने पर Success, वरना एरर।
statusintegerहमेशा 0। सफलता पहचानने के लिए इसका इस्तेमाल न करें।
totalintegerसभी पेजों को मिलाकर तारीख की रेंज में संदेशों की संख्या। केवल सफल होने पर मौजूद होता है।
historyarrayइस पेज पर ज़्यादा से ज़्यादा 200 संदेश, सबसे पुराने पहले। एरर होने पर खाली।
history[].idintegerसंदेश ID, वही जो संदेश भेजते समय msg_id के रूप में मिला था।
history[].msg_typestringText, Image या File
history[].contactstringदेश के कोड के साथ प्राप्तकर्ता का फोन नंबर, या ग्रुप संदेशों के लिए ग्रुप का नाम।
history[].message_statusstringनीचे दी गई टेबल देखें।

संदेश स्टेटस वैल्यू#

message_statusमतलब
Pendingकतार में है या शेड्यूल है, अभी भेजा नहीं गया (स्टेटस 0)।
Sentआपके WhatsApp नंबर से भेज दिया गया (स्टेटस 1)।
Deliveredरिज़र्व्ड, फिलहाल नहीं लौटाया जाता।
Readरिज़र्व्ड, फिलहाल नहीं लौटाया जाता।
Failedनहीं भेजा जा सका, या भेजना बीच में रुक गया (स्टेटस 2)। error देखने के लिए संदेश स्टेटस इस्तेमाल करें।
Cancelledभेजे जाने से पहले कैंसल कर दिया गया (स्टेटस 3)।
Expiredअपनी expire_after_seconds समय-सीमा से पहले नहीं भेजा जा सका (स्टेटस 4)।

डिलीवरी और रीड टिक फिलहाल दर्ज नहीं किए जाते, इसलिए भेजे गए संदेश हमेशा Sent दिखते हैं। Delivered और Read रिज़र्व्ड वैल्यू हैं; अगर ये कभी दिखें, तो इन्हें Sent मानें।

एरर#

जब तक अलग से न बताया गया हो, एरर HTTP 200 के साथ आते हैं और उनमें status 0 होता है:

{ "message": "Error", "status": 0, "history": [] }
संदेशकैसे ठीक करें
Errorstart_date या end_date मौजूद नहीं है या DD-MM-YYYY फॉर्मेट में नहीं है, JSON बॉडी सही नहीं है (अक्सर आखिर में छूटे कॉमा की वजह से), या रिक्वेस्ट POST नहीं थी।
Auth Errorclient_id और api_key दोनों भेजें।
Invalid Client Idclient_id को नंबर के रूप में भेजें। HTTP 403 के साथ, बिना history के लौटता है।
Auth Error: invalid api keyजांचें कि की मौजूद है, डिलीट नहीं हुई है और इसी client_id की है। HTTP 400 के साथ, बिना history के लौटता है।
Demo Account can not access apisसामान्य अकाउंट इस्तेमाल करें।

सुझाव#

  • हिस्ट्री छोटी रेंज में लें: एक बार में एक दिन या एक हफ्ता लेने से पेजों की संख्या कम रहती है।
  • फेल हुए संदेश ढूंढें: history को Failed के लिए फिल्टर करें, फिर हर id के साथ संदेश स्टेटस कॉल करके देखें कि वह क्यों फेल हुआ। दोबारा कोशिश करने से पहले error जांचें: Sending was interrupted and may have been delivered… का मतलब है कि हो सकता है प्राप्तकर्ता को संदेश पहले ही मिल चुका हो।
  • पुराने संदेश हटा दिए जाते हैं: जो संदेश अंतिम स्टेटस पर पहुंच चुके हैं और लगभग 90 दिनों से नहीं बदले, वे हटाए जा सकते हैं और फिर यहां नहीं दिखते। यही उन संदेशों के साथ भी होता है जो बनने या शेड्यूल होने के 90 दिन बाद भी किसी डिसकनेक्ट या डिलीट हो चुके नंबर पर कतार में हैं।
  • रियल-टाइम ट्रैकिंग: संदेश भेजे जाते ही प्रतिक्रिया देने के लिए, इस एंडपॉइंट को पोल करने की जगह संदेश भेजते समय webhook पास करें।