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 कुंजी लें और उसे export करें। SDK कुंजी के 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 कुंजी बनाता है और टाइमआउट, 429 प्रतिक्रियाओं और 5xx प्रतिक्रियाओं पर फिर से प्रयास करते समय उसी कुंजी का दोबारा उपयोग करता है। इसलिए फिर से प्रयास करने पर ईमेल दूसरी बार नहीं भेजा जाता।
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 और डैशबोर्ड के साथ यही प्रक्रिया।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
- ईमेल API संदर्भ: अनुरोध और प्रतिक्रिया का पूरा स्कीमा।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।