अपना पहला WhatsApp संदेश भेजें
Bird WhatsApp से अपने फ़ोन पर एक WhatsApp संदेश भेजें, फिर डिलीवरी की पुष्टि के लिए संदेश को वापस पढ़ें। व्यवसाय की ओर से शुरू किए गए संदेशों के लिए पहले से स्वीकृत टेम्पलेट चाहिए। यह क्विकस्टार्ट Bird के प्रबंधित टेम्पलेट कैटलॉग (जैसे bird_delivery_update या bird_otp) से संदेश भेजता है, जो Bird द्वारा प्रबंधित साझा WhatsApp प्रेषक का उपयोग करता है। आपको पहले कोई WhatsApp Business Account कनेक्ट करने या नंबर पंजीकृत करने की ज़रूरत नहीं है।
शुरू करने से पहले पक्का करें कि आपके संगठन के वॉलेट में धनराशि है। WhatsApp टेम्पलेट संदेशों का शुल्क वॉलेट से कटता है, और जिस संदेश का खर्च बैलेंस से पूरा नहीं होता, उसे Bird 402 WalletInsufficientBalance के साथ अस्वीकार कर देता है। वॉलेट में धनराशि जोड़ने का तरीका भुगतान के तरीके और वॉलेट में बताया गया है।
1. एक API कुंजी बनाएँ
डैशबोर्ड में Platform tools > API keys पर जाएँ और whatsapp:write स्कोप वाली कुंजी बनाएँ, जिससे संदेश भेजे और पढ़े जा सकते हैं। कुंजियाँ किसी एक क्षेत्र तक सीमित होती हैं और bk_us1_... या bk_eu1_... जैसी दिखती हैं। प्रीफ़िक्स में दिया क्षेत्र बताता है कि आपको किस API होस्ट को कॉल करना है: https://us1.platform.bird.com या https://eu1.platform.bird.com।

पूरी कुंजी केवल एक बार, बनाते समय दिखाई जाती है। इसे किसी सुरक्षित जगह कॉपी करें, फिर cURL उदाहरणों के लिए इसे एक्सपोर्ट करें:
export BIRD_API_KEY="bk_us1_..."2. टेम्पलेट संदेश भेजें
Bird के प्रबंधित कैटलॉग से पहले से स्वीकृत bird_delivery_update टेम्पलेट अपने फ़ोन पर भेजें, या एक बार इस्तेमाल होने वाला सत्यापन कोड भेजने के लिए bird_otp का उपयोग करें। प्रबंधित टेम्पलेट bird_ से शुरू होते हैं और साझा Bird नंबर से भेजे जाते हैं, इसलिए आप from नहीं देते। अपनी भाषा के लिए Bird SDK उसके SDK क्विकस्टार्ट के अनुसार इंस्टॉल करें। यदि आप Bird CLI टैब का उपयोग करते हैं, तो पहले उसे इंस्टॉल करें (curl -fsSL https://cli.bird.com/install.sh | sh) और लिखने की अनुमति के साथ प्रमाणीकरण करें (bird auth login --scope whatsapp:write)।
SDK टैब में उदाहरण वाली API कुंजी बदलें, और +15551234567 की जगह E.164 फ़ॉर्मैट में अपना मोबाइल नंबर डालें। CLI आपके लॉगिन का उपयोग करता है, और cURL टैब BIRD_API_KEY का उपयोग करता है।
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });
const msg = await bird.whatsapp.send({
to: "+15551234567",
template: {
slug: "bird_delivery_update",
parameters: { ref: "A1B2C3D4", date: "10 Jul 2026" },
},
});
console.log(msg.id, msg.status);from bird import APIError, Bird
with Bird(api_key="bk_XXXXXXXXXXXXXXXXXXXXXXXX") as client:
try:
message = client.whatsapp.send(
to="+15551234567",
template="bird_delivery_update",
parameters={"ref": "A1B2C3D4", "date": "10 Jul 2026"},
)
print(message.id, message.status)
except APIError as err:
print("send failed:", err)package main
import (
"context"
"fmt"
"log"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey("bk_XXXXXXXXXXXXXXXXXXXXXXXX"))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+15551234567",
Template: "bird_delivery_update",
Parameters: map[string]any{"ref": "A1B2C3D4", "date": "10 Jul 2026"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use MessageBird\Bird;
$bird = new Bird('bk_XXXXXXXXXXXXXXXXXXXXXXXX');
$message = $bird->whatsapp->send(
to: '+15551234567',
template: 'bird_delivery_update',
parameters: ['ref' => 'A1B2C3D4', 'date' => '10 Jul 2026'],
);
echo $message->getId(), ' ', $message->getStatus(), "\n";bird whatsapp send \
--parameters '{"date":"10 Jul 2026","ref":"A1B2C3D4"}' \
--template bird_delivery_update \
--to +15551234567curl -X POST https://us1.platform.bird.com/v1/whatsapp/messages \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"template": {
"slug": "bird_delivery_update",
"parameters": {
"ref": "A1B2C3D4",
"date": "10 Jul 2026"
}
}
}'यदि आपकी कुंजी bk_eu1_ से शुरू होती है, तो इसके बजाय https://eu1.platform.bird.com को कॉल करें।
API जवाब में 202 Accepted और बनाया गया संदेश लौटाता है। इसका id wam_ से शुरू होता है, और इसका status accepted होता है: Bird ने संदेश स्वीकार कर लिया है और उसे एसिंक्रोनस रूप से डिलीवर करता है। अगले चरण के लिए id संभालकर रखें।
3. डिलीवरी की स्थिति जाँचें
संदेश को उसकी wam_ ID से प्राप्त करें। WHATSAPP_MESSAGE_ID की जगह चरण 2 का id डालें, और SDK टैब में उदाहरण वाली API कुंजी की जगह अपनी कुंजी डालें:
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });
const msg = await bird.whatsapp.get("WHATSAPP_MESSAGE_ID");
console.log(msg.id, msg.status);from bird import APIError, Bird
with Bird(api_key="bk_XXXXXXXXXXXXXXXXXXXXXXXX") as client:
try:
message = client.whatsapp.get("WHATSAPP_MESSAGE_ID")
print(message.id, message.status)
except APIError as err:
print("read failed:", err)package main
import (
"context"
"fmt"
"log"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey("bk_XXXXXXXXXXXXXXXXXXXXXXXX"))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Get(context.Background(), "WHATSAPP_MESSAGE_ID")
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use MessageBird\Bird;
$bird = new Bird('bk_XXXXXXXXXXXXXXXXXXXXXXXX');
$message = $bird->whatsapp->get('WHATSAPP_MESSAGE_ID');
echo $message->getId(), ' ', $message->getStatus(), "\n";bird whatsapp get WHATSAPP_MESSAGE_IDcurl https://us1.platform.bird.com/v1/whatsapp/messages/WHATSAPP_MESSAGE_ID \
-H "Authorization: Bearer $BIRD_API_KEY"status फ़ील्ड बताता है कि संदेश किस स्थिति में है:
accepted: Bird ने संदेश स्वीकार कर लिया है और उसे WhatsApp को सौंपने की तैयारी कर रहा है।sent: WhatsApp ने संदेश स्वीकार कर लिया, औरsent_atमें इसका समय दर्ज होता है।delivered: WhatsApp ने प्राप्तकर्ता के डिवाइस पर डिलीवरी की पुष्टि की, औरdelivered_atमें इसका समय दर्ज होता है। जब प्राप्तकर्ता संदेश पढ़ लेता है, तोread_atसेट हो जाता है, जबकिstatusdeliveredही रहता है।failedयाrejected: संदेश फ़ोन तक नहीं पहुँचा।last_errorकारण बताता है, और संदेश स्थिति इवेंट में त्रुटि कोड की सूची है।
स्थिति के accepted और sent से आगे बढ़ने तक पोल करते रहें, या डिलीवरी और पढ़े जाने की हर स्थिति बदलाव (whatsapp.sent, whatsapp.delivered, whatsapp.read, whatsapp.failed) पाने के लिए WhatsApp वेबहुक की सदस्यता लें। Bird द्वारा प्रबंधित साझा नंबर केवल आउटबाउंड संदेश भेजते हैं और आने वाले जवाब आपके वर्कस्पेस तक नहीं पहुँचाते; जवाब पाने के लिए अपना नंबर कनेक्ट करें। हर संदेश अपनी इवेंट टाइमलाइन के साथ Messages पेज पर भी दिखता है।
विफल भेजे गए संदेश को ठीक करें
402WalletInsufficientBalance: वॉलेट में संदेश का खर्च उठाने लायक बैलेंस नहीं है। वॉलेट टॉप अप करें, फिर दोबारा भेजें।403InsufficientScope: API कुंजी मेंwhatsappस्कोप नहीं है। कुंजी के स्कोप संपादित करें याwhatsapp:writeवाली नई कुंजी बनाएँ।422WhatsAppInvalidRecipient:toनंबर मान्य E.164 फ़ोन नंबर नहीं है। शुरुआती+, देश कोड और सब्सक्राइबर अंक जाँचें।
अगले चरण
- WhatsApp संदेश भेजना: 24 घंटे की ग्राहक सेवा अवधि के भीतर टेम्पलेट और मुक्त-रूप सेवा संदेश भेजें।
- WhatsApp टेम्पलेट: प्रबंधित कैटलॉग (
bird_otp,bird_delivery_updateऔर अन्य) देखें या अपने टेम्पलेट बनाएँ। - फ़ोन नंबर कनेक्ट करें: अपना WhatsApp Business Account और प्रेषक नंबर जोड़ें, ताकि आपका वर्कस्पेस आने वाले जवाब भी प्राप्त कर सके।
- WhatsApp वेबहुक: डिलीवरी रसीदें और पढ़े जाने की रसीदें प्राप्त करें (अपना कनेक्ट किया गया नंबर इस्तेमाल करने पर आने वाले संदेश भी)।
- WhatsApp API संदर्भ: अनुरोध और प्रतिक्रिया का पूरा स्कीमा।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।