cURL
केवल curl से अपना पहला ईमेल भेजें: एक API key एक्सपोर्ट करें, मैसेज POST करें, और डिलीवर होते देखने के लिए उसे GET करें। यह रॉ HTTP फ़्लो है; SDKs जो कुछ भी करते हैं वह यहीं से शुरू होता है।
1. अपनी API key एक्सपोर्ट करें
डैशबोर्ड में Developers > API keys के अंतर्गत एक key बनाएँ (अपना पहला ईमेल भेजें में इसका विवरण है), फिर उसे एक्सपोर्ट करें:
कोड उदाहरण
export BIRD_API_KEY="bk_us1_..."रीजन प्रीफ़िक्स आपका API होस्ट चुनता है: bk_us1_ keys https://us1.platform.bird.com को कॉल करती हैं, और bk_eu1_ keys https://eu1.platform.bird.com को कॉल करती हैं। भेजने के उदाहरण us1 का उपयोग करते हैं; यदि आपकी key का रीजन अलग है तो होस्ट बदलें।
2. एक ईमेल भेजें
/v1/email/messages पर POST करें, हमारे शेयर्ड ऑनबोर्डिंग डोमेन से delivered@messagebird.dev sandbox पते पर भेजें। आपको डोमेन सत्यापन या किसी असली मेलबॉक्स की ज़रूरत नहीं है। इस क्विकस्टार्ट के लिए 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"
}Raw HTTP में कोई SDK नहीं है जो आपके लिए idempotency key जनरेट करे। फिर से प्रयास करने की सुरक्षा के लिए, पहले प्रयास पर एक key दें और फिर से प्रयास करते समय उसी key का उपयोग करें। उदाहरण और replay सीमाओं के लिए Idempotency देखें।
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;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 https://us1.platform.bird.com/v1/email/messages/em_01ky7ma8y2es1s2akzk53tmjn0 \
-H "Authorization: Bearer $BIRD_API_KEY"चूँकि प्राप्तकर्ता delivered@messagebird.dev sandbox पता है, डिलीवरी सुनिश्चित है: मैसेज Bird की असली पाइपलाइन से गुज़रता है लेकिन किसी असली मेलबॉक्स तक नहीं पहुँचता।
अगले कदम
- Email API संदर्भ: पूर्ण रिक्वेस्ट और रिस्पॉन्स स्कीमा।
- Authentication: keys, scopes, और Authorization हेडर।
- अपना पहला ईमेल भेजें: डैशबोर्ड और SDKs के साथ यही फ़्लो।
- Sending domains: प्रोडक्शन भेजने के लिए अपना खुद का डोमेन सत्यापित करें।
संबंधित संसाधन
इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।
गाइड देखेंGetting started with emailकॉन्सेप्ट समझेंShould I use a Bird SDK or call the API directly?क्षमता जानेंEmailलर्निंग पाथ फ़ॉलो करेंBuild your first integration
अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ