Sign inGet Started

WhatsApp प्लेन टेक्स्ट संदेश

प्लेन टेक्स्ट सबसे सरल फ़्री-फ़ॉर्म कंटेंट आर्म है: बिना अटैचमेंट की एक बॉडी, और उसमें मौजूद पहले लिंक के लिए एक वैकल्पिक प्रीव्यू।

Hi Alex! Your Goldcrest order A1B2C3 is ready to collect. See you soon.

टेक्स्ट संदेश भेजें

text.body सेट करें:

const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  text: { body: "Your driver is 2 minutes away." },
});
console.log(msg.id, msg.status);

पूरा स्ट्रक्चर preview_url के साथ वे सभी फ़ील्ड जोड़ता है जो कोई भी फ़्री-फ़ॉर्म सेंड ले सकता है:

कोड उदाहरण
{
  "to": "+16505551234",
  "from": "+13124495648",
  "text": {
    "body": "Your order shipped: https://example.com/track/A1B2C3",
    "preview_url": true
  },
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "tags": [{ "name": "category", "value": "shipping" }],
  "metadata": { "order_id": "A1B2C3" }
}

from हर सर्विस संदेश पर ज़रूरी है: आपके वर्कस्पेस का अपना नंबर, Bird-प्रबंधित नहीं। in_reply_to_message_id उसी वार्तालाप में पहले के किसी संदेश को उद्धृत करता है; यह किसके विरुद्ध रिज़ॉल्व होता है और क्या छूट सकता है, इसके लिए किसी संदेश को उद्धृत करना देखें।

सीमाएँ

फ़ील्डसीमालागू करने वाला
body1 से 4,096 अक्षरBird, स्वीकृति पर (422)
preview_urlboolean, डिफ़ॉल्ट falseN/A, सूचनात्मक

केवल व्हाइटस्पेस वाला body स्कीमा की अपनी minLength: 1 पास कर जाता है, लेकिन Bird फिर भी इसे पकड़ता है: ट्रिमिंग के बाद खाली body को 422 E15015 WhatsAppContentRequired के साथ अस्वीकार कर दिया जाता है। 4,096 अक्षरों से अधिक बॉडी को एक सामान्य 422 के साथ अस्वीकार किया जाता है और कोई समर्पित कैटलॉग कोड नहीं होता।

इनबाउंड टेक्स्ट संदेश पढ़ना

इनबाउंड टेक्स्ट संदेश में वही text.body फ़ील्ड होती है, और आर्म पर कुछ और नहीं। पूरा इनबाउंड रीड, whatsapp.received पेलोड, और ध्यान देने योग्य बातों के लिए WhatsApp टेक्स्ट संदेश प्राप्त करना देखें।

सीमाएँ और एज केस

  • कस्टमर सर्विस विंडो खुली होनी चाहिए। प्लेन टेक्स्ट एक सर्विस संदेश है, जो केवल खुली विंडो के अंदर डिलीवर किया जा सकता है; हब की कस्टमर सर्विस विंडो देखें।
  • preview_url केवल पहले लिंक को प्रभावित करता है, और केवल वही जो प्राप्तकर्ता का क्लाइंट रेंडर करता है। यह डिफ़ॉल्ट रूप से false होता है। body में पहले URL का प्रीव्यू दिखाने के लिए इसे सेट करें; उसी बॉडी में बाद के किसी URL को प्रीव्यू नहीं मिलता। यदि प्राप्तकर्ता का क्लाइंट उस लिंक के लिए प्रीव्यू फ़ेच नहीं कर पाता, तो यह चुपचाप एक सादे क्लिक करने योग्य लिंक पर वापस आ जाता है। रीड पर कुछ भी आपको यह नहीं बताता कि प्रीव्यू वास्तव में रेंडर हुआ या नहीं।
  • WhatsApp markdown प्राप्तकर्ता के क्लाइंट द्वारा body की रेंडरिंग है, API कॉन्ट्रैक्ट का हिस्सा नहीं। Bird body को बिना बदले पास करता है; यह *bold*, _italic_, ~strikethrough~, या ट्रिपल-बैकटिक मोनोस्पेस को वैलिडेट, स्ट्रिप या एन्कोड नहीं करता। ये मार्कर रेंडर होंगे या नहीं, यह पूरी तरह उस क्लाइंट पर निर्भर है जो संदेश खोलता है।
  • इनबाउंड body के गैर-रिक्त होने की गारंटी नहीं है, भले ही रीड स्कीमा यही कहे। Meta इनबाउंड संदेश को "text": {} के रूप में या खाली body के साथ रिपोर्ट कर सकता है, और Bird इसे प्लेसहोल्डर बनाने के बजाय यथावत स्टोर करता है। यह एक ज्ञात, खुला गैप है: ऐसा कंज़्यूमर न लिखें जो यहाँ स्कीमा की required: body पर भरोसा करे।

अगले कदम

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