cURL
केवल curl से अपना पहला ईमेल भेजें: एक API कुंजी export करें, एक संदेश POST करें, और उसे GET करके उसकी डिलीवरी देखें। यह कच्चा HTTP फ़्लो है; SDK जो कुछ भी करते हैं, उसकी शुरुआत यहीं से होती है।
1. अपनी API कुंजी export करें
डैशबोर्ड में Developers > API keys के अंतर्गत एक कुंजी बनाएँ (अपना पहला ईमेल भेजें में इसके चरण दिए गए हैं), फिर उसे export करें:
export BIRD_API_KEY="bk_us1_..."क्षेत्र प्रीफ़िक्स से आपका API होस्ट तय होता है: bk_us1_ कुंजियाँ https://us1.platform.bird.com को कॉल करती हैं, और bk_eu1_ कुंजियाँ https://eu1.platform.bird.com को। भेजने के उदाहरण us1 का उपयोग करते हैं; यदि आपकी कुंजी किसी अन्य क्षेत्र की है, तो होस्ट बदल दें।
2. एक ईमेल भेजें
/v1/email/messages पर POST करें, और हमारे साझा ऑनबोर्डिंग डोमेन से delivered@messagebird.dev सैंडबॉक्स पते पर भेजें। आपको डोमेन सत्यापन या असली मेलबॉक्स की ज़रूरत नहीं है। इस क्विकस्टार्ट के लिए 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 नहीं है जो आपके लिए idempotency कुंजी बनाए। फिर से प्रयास करने पर सुरक्षा के लिए, पहले प्रयास में एक कुंजी दें और फिर से प्रयास करते समय उसी का दोबारा उपयोग करें। उदाहरण और 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 सैंडबॉक्स पता है, इसलिए डिलीवरी की गारंटी है: संदेश Bird की असली पाइपलाइन से होकर गुज़रता है, लेकिन किसी असली मेलबॉक्स तक कभी नहीं पहुँचता।
अगले कदम
- ईमेल API संदर्भ: पूरा अनुरोध और प्रतिक्रिया स्कीमा।
- प्रमाणीकरण: कुंजियाँ, स्कोप और
Authorizationहेडर। - अपना पहला ईमेल भेजें: डैशबोर्ड और SDK के साथ यही प्रक्रिया।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।