Sign inGet Started

WhatsApp दस्तावेज़ प्राप्त करना

कोई संपर्क PDF, स्प्रेडशीट या कोई भी अन्य फ़ाइल संलग्न करता है, तो वह एक आने वाले संदेश के रूप में पहुँचती है जिसमें document होता है: साझा मीडिया संदर्भ, और साथ में वह नाम जो संपर्क के अपने डिवाइस ने फ़ाइल को दिया।

आने वाले दस्तावेज़ में क्या होता है

कोड उदाहरण
{
  "id": "wam_01kyd6s0qfxv8t4k7n1yze6rhc",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "document": {
    "id": "waf_01kyd5p6zs9yju2f0p5rtx8vgb",
    "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyd6s0qfxv8t4k7n1yze6rhc/media/waf_01kyd5p6zs9yju2f0p5rtx8vgb",
    "mime_type": "application/pdf",
    "filename": "invoice-A1B2C3.pdf"
  },
  "created_at": "2026-08-25T09:15:02Z"
}
फ़ील्डइसमें क्या होता है
idसंग्रहीत फ़ाइल, जिसे बाइट्स प्राप्त करते समय media_id के रूप में पास करना है
urlएक Bird URL, जिसे आपकी API कुंजी से प्राप्त किया जाता है
mime_typeफ़ाइल के लिए WhatsApp द्वारा बताया गया मीडिया प्रकार, जैसे application/pdf
filenameभेजने वाले द्वारा फ़ाइल को दिया गया नाम; अगर संदेश में कोई नाम नहीं था, तो यह फ़ील्ड मौजूद नहीं होता
captionवह टेक्स्ट जो संपर्क ने दस्तावेज़ के नीचे टाइप किया; अगर कुछ नहीं भेजा, तो यह फ़ील्ड मौजूद नहीं होता

filename ही वह फ़ील्ड है जिसे भेजने वाला पक्ष और प्राप्त करने वाला पक्ष अलग-अलग तरह से इस्तेमाल करते हैं। भेजते समय यह वह नाम होता है जो आप चैट में दिखाना चाहते हैं। आने वाले संदेश में यह वही होता है जो संपर्क के डिवाइस ने दिया।

बाइट्स प्राप्त करना

संदेश ID और मीडिया id को चैनल के मीडिया मेथड में पास करें। हब का आने वाला मीडिया प्राप्त करना पेज हर भाषा में यह कॉल दिखाता है, साथ ही उन रीडायरेक्ट और हेडर नियमों को भी जिनका यह पालन करता है। वही पेज उस रिटेंशन अवधि को भी बताता है जिसमें फ़ाइल उपलब्ध रहती है।

filename को जैसा आता है वैसा ही डिस्क पर न लिखें। यह एक बिना प्रमाणीकरण वाले भेजने वाले का टेक्स्ट है, जिसे हमलावर नियंत्रित कर सकता है। इसमें पाथ सेपरेटर, ट्रैवर्सल सीक्वेंस, भ्रामक दूसरा एक्सटेंशन, या ऐसा नाम हो सकता है जो आपकी किसी मौजूदा फ़ाइल से टकराए। मीडिया id से अपनी स्टोरेज कुंजी खुद बनाएँ, filename को केवल दिखाने वाले लेबल के रूप में रखें, और फ़ाइल के साथ क्या करना है, यह नाम के एक्सटेंशन से नहीं बल्कि mime_type से तय करें।

वेबहुक पेलोड

whatsapp.received इवेंट एनवेलप पर document आर्म लेकर आता है:

कोड उदाहरण
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:15:02.336Z",
  "data": {
    "whatsapp_id": "wam_01kyd6s0qfxv8t4k7n1yze6rhc",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "document": {
      "id": "waf_01kyd5p6zs9yju2f0p5rtx8vgb",
      "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyd6s0qfxv8t4k7n1yze6rhc/media/waf_01kyd5p6zs9yju2f0p5rtx8vgb",
      "mime_type": "application/pdf",
      "filename": "invoice-A1B2C3.pdf"
    }
  }
}

कागज़ात इकट्ठा करने वाला कोई क्लेम या ऑनबोर्डिंग फ़्लो यहाँ mime_type के आधार पर रूट कर सकता है और फ़ाइल प्राप्त करने का काम कतार में डाल सकता है, क्योंकि बाइट्स पूरी रिटेंशन अवधि तक उपलब्ध रहते हैं।

ध्यान रखने योग्य बातें

  • mime_type फ़ाइल के बारे में WhatsApp की रिपोर्ट है, और इससे यह पता नहीं चलता कि फ़ाइल के अंदर क्या है। किसी संपर्क से स्वीकार की गई हर फ़ाइल को स्कैन करें, और पार्स करने से पहले फ़ाइल की अपनी संरचना की जाँच करें।
  • कैप्शन और फ़ाइल का नाम अलग-अलग फ़ील्ड हैं। फ़ाइल संलग्न करते समय अगर संपर्क कोई नोट टाइप करता है, तो वह caption में जाता है; filename फिर भी उसके डिवाइस से ही आता है।

आगे के कदम

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।