Go
तीन चरणों में Go से अपना पहला ईमेल भेजें: SDK इंस्टॉल करें, एक हैंडलर लिखें जो भेजता है, और चलाएँ। यह क्विकस्टार्ट स्टैंडर्ड लाइब्रेरी के net/http का उपयोग करता है, किसी फ्रेमवर्क की ज़रूरत नहीं।
1. इंस्टॉल करें
कोड उदाहरण
go mod init example.com/bird-quickstart
go get github.com/messagebird/bird-sdk-goSDK के लिए Go 1.24+ ज़रूरी है। डैशबोर्ड में Developers > API keys से एक API key लें और उसे export करें; SDK key के bk_us1_ / bk_eu1_ प्रीफ़िक्स से रीजन का अनुमान लगाता है, इसलिए और कुछ कॉन्फ़िगर करने की ज़रूरत नहीं:
कोड उदाहरण
export BIRD_API_KEY="bk_us1_..."2. भेजें
main.go बनाएँ जिसमें एक HTTP हैंडलर हो जो Bird के शेयर्ड ऑनबोर्डिंग डोमेन से भेजता है, ताकि डोमेन सत्यापन की ज़रूरत न हो:
कोड उदाहरण
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))
}SDK हर Send कॉल के लिए एक idempotency key जनरेट करता है और टाइमआउट, 429 रिस्पॉन्स, तथा 5xx रिस्पॉन्स पर फिर से प्रयास करते समय उसी key का पुन: उपयोग करता है। इसलिए फिर से प्रयास करने पर दूसरा send नहीं बनता।
3. आज़माएँ
कोड उदाहरण
go run . &
curl -X POST localhost:3000/sendBird 202 के साथ रिस्पॉन्ड करता है, ईमेल को एसिंक्रोनस डिलीवरी के लिए स्वीकार करता है, और हैंडलर मैसेज लौटाता है। *_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"
}चूँकि प्राप्तकर्ता delivered@messagebird.dev सैंडबॉक्स एड्रेस है, डिलीवरी गारंटीड है। मैसेज को उसके em_ ID से client.Email.Get द्वारा फ़ेच करें और स्टेटस को delivered में बदलते देखें।
अगले कदम
- Go SDK रेफ़रेंस: हर मेथड, पैरामीटर, और एरर टाइप।
- अपना पहला ईमेल भेजें: curl और डैशबोर्ड के साथ वही फ़्लो।
- सेंडिंग डोमेन: प्रोडक्शन सेंडिंग के लिए अपना डोमेन वेरिफ़ाई करें।
- Email API रेफ़रेंस: पूरा रिक्वेस्ट और रिस्पॉन्स स्कीमा।
संबंधित संसाधन
इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।
गाइड देखेंTesting email without spamming anyoneक्षमता जानेंTest email deliveryलर्निंग पाथ फ़ॉलो करेंOperate messaging reliably
अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ