WhatsApp इमेज मैसेज
इमेज मैसेज एक पब्लिक URL ले जाता है जिसे WhatsApp भेजते समय फ़ेच करता है, और उसके नीचे एक वैकल्पिक कैप्शन होता है।
इमेज भेजें
image.url सेट करें:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13124495648",
image: { url: "https://cdn.example.com/receipt.png" },
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
image={"url": "https://cdn.example.com/receipt.png"},
)
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",
Image: &bird.WhatsAppImageSend{Url: "https://cdn.example.com/receipt.png"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$image = (new WhatsAppMessageSendRequestImage())
->setUrl('https://cdn.example.com/receipt.png');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
image: $image,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--image https://cdn.example.com/receipt.png \
--to +16505551234curl -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",
"image": {
"url": "https://cdn.example.com/receipt.png"
}
}'पूरी संरचना में एक वैकल्पिक caption जुड़ता है:
{
"to": "+16505551234",
"from": "+13124495648",
"image": {
"url": "https://cdn.example.com/receipts/a1b2c3.png",
"caption": "Your receipt for order A1B2C3"
}
}image में कोई filename फ़ील्ड नहीं है। from हर सर्विस मैसेज पर आवश्यक है: आपके वर्कस्पेस का अपना नंबर, Bird-प्रबंधित नंबर नहीं।
सीमाएँ
| फ़ील्ड | सीमा | लागू करने वाला |
|---|---|---|
| फ़ाइल साइज़ | 5 MB | केवल WhatsApp, फ़ेच पर (async) |
| फ़ाइल प्रकार | JPEG या PNG | केवल WhatsApp, फ़ेच पर (async) |
caption | अधिकतम 1,024 अक्षर | Bird, स्वीकृति पर (422) |
url | absolute, https, होस्ट हो, कोई रॉ स्पेस नहीं | Bird, स्वीकृति पर (422) |
Bird कुछ भी क्यू होने से पहले URL की संरचना और कैप्शन की लंबाई जाँचता है। यह फ़ाइल की वास्तविक साइज़ या प्रकार नहीं जाँचता; केवल WhatsApp का अपना फ़ेच भेजते समय ऐसा कर सकता है। हब का URL द्वारा मीडिया भेजना देखें कि वह संरचना जाँच क्या कवर करती है, और जब मीडिया विफल होता है देखें कि WhatsApp का फ़ेच फ़ाइल अस्वीकार करे तो क्या होता है।
इनबाउंड इमेज पढ़ना
इनबाउंड इमेज में वही image ऑब्जेक्ट होता है, साथ ही एक id और mime_type जो Bird ने फ़ाइल फ़ेच करके सीखा। आउटबाउंड रीड-बैक में दोनों अनुपस्थित रहते हैं, क्योंकि Bird ने भेजी गई फ़ाइल कभी फ़ेच नहीं की। पूरी इनबाउंड रीड, whatsapp.received पेलोड, और ध्यान देने योग्य बातों के लिए WhatsApp इमेज प्राप्त करना देखें।
सीमाएँ और विफलता मोड
- कस्टमर सर्विस विंडो खुली होनी चाहिए। इमेज सर्विस मैसेज हैं, जो केवल खुली विंडो के अंदर डिलीवर होते हैं; हब की कस्टमर सर्विस विंडो देखें।
- Bird
httpको अस्वीकार करता है; WhatsApp स्वयं इसे फ़ेच करता। यह अंतर, और बाकी URL संरचना जाँच, हब के URL द्वारा मीडिया भेजना पर हैं। - ओवरसाइज़ फ़ाइल, गलत MIME प्रकार, या अप्राप्य URL, तीनों एक ही तरह विफल होते हैं, और चार्ज होने के बाद।
media_rejectedऔर चार्ज-ऑन-फ़ेलियर तथ्य के लिए हब का जब मीडिया विफल होता है देखें। - WhatsApp फ़ेच किए गए URL को लगभग 10 मिनट के लिए कैश करता है। उस अवधि में वही URL दोबारा भेजने पर नया फ़ेच नहीं होता, बल्कि पहले वाला फ़ेच दिया जाता है; नया फ़ेच ज़बरदस्ती कराने के लिए URL बदलें (उदाहरण के लिए, एक क्वेरी पैरामीटर जोड़ें)।
अगले कदम
- WhatsApp सर्विस मैसेज: कस्टमर सर्विस विंडो और वह मॉडल जो हर सर्विस मैसेज साझा करता है
- Video: वीडियो क्लिप के लिए वही संरचना
- Documents: PDF, स्प्रेडशीट, या अन्य फ़ाइल के लिए
- WhatsApp मैसेज भेजना: रिक्वेस्ट एन्वेलप,
202मॉडल, और सुरक्षित फिर से प्रयास करना
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।