अपना पहला ईमेल भेजें
एक API कुंजी बनाएँ, Bird के साझा ऑनबोर्डिंग डोमेन से भेजें, और परिणाम जाँचें। इस गाइड के लिए आपको कोई सेंडिंग डोमेन सत्यापित करने या DNS रिकॉर्ड प्रकाशित करने की ज़रूरत नहीं है। ग्राहकों को भेजने से पहले अपना डोमेन सत्यापित करें।
1. एक API कुंजी बनाएँ
डैशबोर्ड में Developers > API keys पर जाएँ और एक कुंजी बनाएँ। कुंजियाँ किसी एक क्षेत्र तक सीमित होती हैं और bk_us1_... या bk_eu1_... जैसी दिखती हैं; प्रीफ़िक्स में दिया क्षेत्र बताता है कि आपको किस API होस्ट को कॉल करना है: https://us1.platform.bird.com या https://eu1.platform.bird.com।

पूरी कुंजी केवल एक बार, बनाते समय दिखाई जाती है। इसे किसी सुरक्षित जगह कॉपी करें, फिर इसे एक्सपोर्ट करें ताकि चरण 2 के स्निपेट इसे पढ़ सकें:
export BIRD_API_KEY="bk_us1_..."2. एक ईमेल भेजें
onboarding@messagebird.dev से भेजें, जो Bird का साझा ऑनबोर्डिंग डोमेन है और बिना किसी सेटअप के आपके वर्कस्पेस में उपलब्ध है। इसे delivered@messagebird.dev पर भेजें, जो एक सैंडबॉक्स प्राप्तकर्ता है और हमेशा डिलीवर होता है, ताकि असली मेलबॉक्स के बिना भी परिणाम निश्चित रहे।
cURL कॉल में US होस्ट दिया गया है। अगर आपकी कुंजी bk_eu1_ से शुरू होती है, तो इसके बजाय https://eu1.platform.bird.com को कॉल करें। SDK आपकी कुंजी से क्षेत्र पढ़कर होस्ट चुनता है। TypeScript टैब के लिए npm install @messagebird/sdk ज़रूरी है।
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const msg = await bird.email.send({
from: { email: "onboarding@messagebird.dev", name: "Bird" },
to: ["delivered@messagebird.dev"],
subject: "Hello from Bird",
html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status);from bird import APIError, Bird
with Bird() as client:
try:
message = client.email.send(
from_={"email": "onboarding@messagebird.dev", "name": "Bird"},
to=["delivered@messagebird.dev"],
subject="Hello from Bird",
html="<p>My first Bird email.</p>",
)
print(message.id, message.status)
except APIError as err:
print("send failed:", err)package main
import (
"encoding/json"
"errors"
"log"
"net/http"
"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)
}
http.HandleFunc("POST /send", func(w http.ResponseWriter, r *http.Request) {
msg, err := client.Email.Send(r.Context(), bird.EmailSendParams{
From: "onboarding@messagebird.dev",
To: []string{"delivered@messagebird.dev"},
Subject: "Hello from Bird",
HTML: "<p>My first Bird email.</p>",
})
if err != nil {
var apiErr *bird.APIError
if errors.As(err, &apiErr) {
http.Error(w, apiErr.Error(), apiErr.StatusCode)
return
}
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusAccepted)
_ = json.NewEncoder(w).Encode(msg)
})
log.Fatal(http.ListenAndServe(":3000", nil))
}<?php
// Send your first email. Set BIRD_API_KEY in your environment, then run:
// php examples/quickstart-email.php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use MessageBird\Bird;
$bird = new Bird(getenv('BIRD_API_KEY') ?: '');
$message = $bird->email->send(
from: 'Bird <onboarding@messagebird.dev>',
to: ['delivered@messagebird.dev'],
subject: 'Hello from Bird',
html: '<p>My first Bird email.</p>',
);
echo $message->getId(), ' ', $message->getStatus(), "\n";bird email send \
--from 'Bird <onboarding@messagebird.dev>' \
--html '<p>My first Bird email.</p>' \
--subject 'Hello from Bird' \
--to delivered@messagebird.devcurl -X POST "https://us1.platform.bird.com/v1/email/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": { "email": "onboarding@messagebird.dev", "name": "Bird" },
"to": ["delivered@messagebird.dev"],
"subject": "Hello from Bird",
"html": "<p>My first Bird email.</p>"
}'हर भाषा या फ़्रेमवर्क में इंस्टॉल करने और चलाने के पूरे चरणों के लिए SDK क्विकस्टार्ट देखें।
3. परिणाम देखें
API 202 के साथ जवाब देता है: Bird ने भेजने के अनुरोध को एसिंक्रोनस प्रोसेसिंग के लिए स्वीकार कर लिया है। डिलीवरी की स्थिति अलग से जाँचें। *_count फ़ील्ड डिलीवरी की अवस्थाओं में प्राप्तकर्ताओं को ट्रैक करते हैं। शुरुआती जवाब में एक प्राप्तकर्ता स्वीकार किया गया है और किसी को भी डिलीवर नहीं किया गया है।
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted",
"category": "marketing",
"from": { "email": "onboarding@messagebird.dev" },
"to": [{ "email": "delivered@messagebird.dev" }],
"subject": "Hello from Bird",
"accepted_count": 1,
"processed_count": 0,
"delivered_count": 0,
"deferred_count": 0,
"bounced_count": 0,
"complained_count": 0,
"rejected_count": 0,
"open_count": 0,
"click_count": 0,
"track_opens": true,
"track_clicks": true,
"created_at": "2026-07-23T13:58:20.866Z"
}संदेश की वर्तमान अवस्था देखने के लिए उसे उसकी em_ ID से प्राप्त करें। संदेश accepted से processed होते हुए delivered तक पहुँचता है। जब तक सैंडबॉक्स संदेश delivered तक न पहुँच जाए, तब तक पोल करें:
const msg = await bird.email.get("em_abc123");
msg.status; // "accepted" | "processed" | "delivered" | "bounced" | …
msg.delivered_count;
msg.bounced_count;message = client.email.get("em_abc123")
print(message.id, message.status, message.delivered_count)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.Email.Get(context.Background(), "em_abc123")
if err != nil {
log.Fatal(err)
}
fmt.Println(*msg.Status, *msg.DeliveredCount)
}$message = $bird->email->get('em_01krdgeqcxet5s7t44vh8rt9mg');
echo $message->getStatus();bird email get <message-id>curl -X GET "https://{region}.platform.bird.com/v1/email/messages/{message_id}" \
-H "Authorization: Bearer $TOKEN"cURL टैब में {region} और {message_id} को बदलें, और $TOKEN की जगह $BIRD_API_KEY का उपयोग करें।
अब रीड में status: "delivered", delivered_count: 1 और एक delivered_at टाइमस्टैम्प दिखता है। किसी वास्तविक प्राप्तकर्ता के लिए delivered से क्या पुष्टि होती है, यह जानने के लिए इवेंट गाइड देखें।
आपने delivered@messagebird.dev पर भेजा है, इसलिए परिणाम निश्चित है: संदेश Bird की वास्तविक डिलीवरी पाइपलाइन से गुज़रता है, जिसमें प्रोडक्शन जैसे इवेंट और वेबहुक का स्वरूप भी शामिल है, लेकिन किसी वास्तविक मेलबॉक्स तक नहीं पहुँचता। बाउंस का परीक्षण करने के लिए bounce@messagebird.dev पर भेजें। टेस्टिंग सैंडबॉक्स गाइड में हर सैंडबॉक्स पता और उसका सिम्युलेटेड परिणाम दिया गया है।
ऑनबोर्डिंग डोमेन के बारे में
साझा onboarding@messagebird.dev प्रेषक ऑनबोर्डिंग के लिए उपलब्ध है और इसकी ये सीमाएँ हैं:
@messagebird.devसैंडबॉक्स पतों के अलावा, यह केवल आपके वर्कस्पेस के सत्यापित सदस्यों को डिलीवर करता है; किसी भी अन्य प्राप्तकर्ता को422के साथ अस्वीकार कर दिया जाता है।- भेजने की सीमा हर संगठन के लिए प्रति UTC दिन 50 प्राप्तकर्ता है, जिसमें हर
to,ccऔरbccपता गिना जाता है, सैंडबॉक्स प्राप्तकर्ता भी। सीमा पार होने पर API एक429लौटाता है।
जब आप वास्तविक ग्राहकों को ईमेल भेजने के लिए तैयार हों, तो अपना भेजने वाला डोमेन सत्यापित करें और from में अपना पता डालें; अनुरोध में बाकी सब कुछ वैसा ही रहता है।
अगले कदम
- प्रति-SDK क्विकस्टार्ट: आपकी भाषा और फ़्रेमवर्क में यही प्रक्रिया।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
- टेस्टिंग सैंडबॉक्स: हर सैंडबॉक्स पता और उससे ट्रिगर होने वाले इवेंट।
- ईमेल API संदर्भ: पूरा अनुरोध और प्रतिक्रिया स्कीमा।
- ईमेल के साथ शुरुआत करना: डैशबोर्ड ऑनबोर्डिंग का एक वीडियो, जो इस पेज से आगे जाता है और DNS रिकॉर्ड के साथ एक भेजने वाला डोमेन जोड़ता है
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।