cURL
केवल curl से अपना पहला ईमेल भेजें: एक API कुंजी एक्सपोर्ट करें, एक संदेश POST करें, और डिलीवरी देखने के लिए उसे GET से वापस प्राप्त करें। यह मूल HTTP प्रवाह है; SDK जो कुछ भी करते हैं, वह यहीं से शुरू होता है।
1. अपनी API कुंजी एक्सपोर्ट करें
डैशबोर्ड में Platform tools > API keys के अंतर्गत एक कुंजी बनाएँ (अपना पहला ईमेल भेजें में इसके चरण दिए गए हैं), फिर उसे एक्सपोर्ट करें:
export BIRD_API_KEY="bk_us1_..."क्षेत्र उपसर्ग से आपका API होस्ट तय होता है: bk_us1_ कुंजियाँ https://us1.platform.bird.com को कॉल करती हैं, और bk_eu1_ कुंजियाँ https://eu1.platform.bird.com को। भेजने के उदाहरण us1 का उपयोग करते हैं; यदि आपकी कुंजी किसी अन्य क्षेत्र की है, तो होस्ट बदलें।
2. एक ईमेल भेजें
हमारे साझा ऑनबोर्डिंग डोमेन से delivered@messagebird.dev सैंडबॉक्स पते पर भेजते हुए /v1/email/messages पर POST करें। आपको डोमेन सत्यापन या किसी वास्तविक मेलबॉक्स की आवश्यकता नहीं है। इस क्विकस्टार्ट के लिए cURL टैब चुनें।
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); // "em_…", "accepted"msg = 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(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.Email.Send(context.Background(), 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 {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$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();bird email send \
--category transactional \
--cc manager@acme.com \
--from 'Acme Support <noreply@acme.com>' \
--header X-Campaign=spring-2026 \
--html '<h1>Hi there 👋</h1>' \
--metadata '{"user_id":"usr_12345"}' \
--reply-to support@acme.com \
--subject 'Welcome aboard' \
--tag category=welcome \
--text 'Hi there' \
--to 'Jane Doe <delivered@messagebird.dev>' \
--track-clicks=falsecurl -X POST https://us1.platform.bird.com/v1/email/messages \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "onboarding@messagebird.dev",
"to": ["delivered@messagebird.dev"],
"subject": "Hello from Bird",
"html": "<p>My first Bird email.</p>"
}'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"
}मूल HTTP में कोई SDK नहीं है जो आपके लिए आइडेम्पोटेंसी कुंजी बनाए। फिर से प्रयास से सुरक्षा के लिए, पहले प्रयास में एक कुंजी दें और फिर से प्रयास करते समय उसी का दोबारा उपयोग करें। उदाहरण और रीप्ले सीमाओं के लिए आइडेम्पोटेंसी देखें।
3. डिलीवरी देखें
संदेश को उसकी em_ ID से GET करें और देखें कि स्थिति accepted से processed होते हुए delivered तक कैसे बदलती है। फिर से cURL टैब चुनें:
const msg = await bird.email.get("em_abc123");
msg.status; // "accepted" | "processed" | "delivered" | "bounced" | …
msg.delivered_count;
msg.bounced_count;
console.log(msg.subject, msg.subject_recipient_id);message = client.email.get("em_abc123")
print(message.id, message.status, message.delivered_count)
print(message.subject, message.subject_recipient_id)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)
fmt.Println(msg.Subject)
if msg.SubjectRecipientId != nil {
fmt.Println(*msg.SubjectRecipientId)
}
}$message = $bird->email->get('em_01krdgeqcxet5s7t44vh8rt9mg');
echo $message->getStatus();
echo $message->getSubject(), ' ', $message->getSubjectRecipientId();bird email get <message-id>curl https://us1.platform.bird.com/v1/email/messages/em_01ky7ma8y2es1s2akzk53tmjn0 \
-H "Authorization: Bearer $BIRD_API_KEY"प्राप्तकर्ता delivered@messagebird.dev सैंडबॉक्स पता है, इसलिए डिलीवरी निश्चित है: संदेश Bird की असली पाइपलाइन से गुज़रता है, लेकिन किसी असली मेलबॉक्स तक कभी नहीं पहुँचता।
अगले कदम
- ईमेल API संदर्भ: अनुरोध और प्रतिक्रिया का पूरा स्कीमा।
- प्रमाणीकरण: कुंजियाँ, स्कोप और
Authorizationहेडर। - अपना पहला ईमेल भेजें: डैशबोर्ड और SDK के साथ यही प्रक्रिया।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।