WhatsApp प्लेन टेक्स्ट संदेश
प्लेन टेक्स्ट सबसे सरल फ़्री-फ़ॉर्म कंटेंट आर्म है: बिना अटैचमेंट की एक बॉडी, और उसमें मौजूद पहले लिंक के लिए एक वैकल्पिक प्रीव्यू।
टेक्स्ट संदेश भेजें
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);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
text={"body": "Your driver is 2 minutes away."},
)
print(msg.id, msg.status)package main
import (
"context"
"fmt"
"log"
"os"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+16505551234",
From: "+13124495648",
Text: &bird.WhatsAppTextSend{Body: "Your driver is 2 minutes away."},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$text = (new WhatsAppMessageSendRequestText())
->setBody('Your driver is 2 minutes away.');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
text: $text,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--text 'Your driver is 2 minutes away.' \
--to +16505551234{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"text": {
"body": "Your driver is 2 minutes away."
},
"to": "+16505551234"
}
}curl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+16505551234",
"from": "+13124495648",
"text": {
"body": "Your driver is 2 minutes away."
}
}'पूरा स्ट्रक्चर 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 उसी वार्तालाप में पहले के किसी संदेश को उद्धृत करता है; यह किसके विरुद्ध रिज़ॉल्व होता है और क्या छूट सकता है, इसके लिए किसी संदेश को उद्धृत करना देखें।
सीमाएँ
| फ़ील्ड | सीमा | लागू करने वाला |
|---|---|---|
| body | 1 से 4,096 अक्षर | Bird, स्वीकृति पर (422) |
| preview_url | boolean, डिफ़ॉल्ट false | N/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 पर भरोसा करे।
अगले कदम
- WhatsApp सर्विस संदेश: कस्टमर सर्विस विंडो और वह मॉडल जो हर सर्विस संदेश साझा करता है
- WhatsApp संदेश भेजना: रिक्वेस्ट एन्वेलप, 202 मॉडल, और सुरक्षित फिर से प्रयास
- इंटरैक्टिव संदेश: जब आप टाइप किए गए रिप्लाई की बजाय टैप चाहें
संबंधित संसाधन
इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।
गाइड देखेंConnecting WhatsApp to Bird: from buying a number to a live channelकॉन्सेप्ट समझेंWhat is the 24-hour customer service window on WhatsApp?टूल का उपयोग करेंWhatsApp message builderक्षमता जानेंWhatsApp
अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ