Go · Gin
तीन चरणों में Gin एप्लिकेशन से अपना पहला ईमेल भेजें: SDK इंस्टॉल करें, भेजने वाला रूट जोड़ें, और चलाएँ।
1. इंस्टॉल करें
कोड उदाहरण
go mod init example.com/bird-gin-quickstart
go get github.com/gin-gonic/gin github.com/messagebird/bird-sdk-goSDK के लिए Go 1.24+ ज़रूरी है। डैशबोर्ड में Developers > API keys से एक API key लें और उसे एक्सपोर्ट करें; SDK key के bk_us1_ / bk_eu1_ प्रीफ़िक्स से रीजन अपने-आप पहचान लेता है, इसलिए और कुछ कॉन्फ़िगर करने की ज़रूरत नहीं:
कोड उदाहरण
export BIRD_API_KEY="bk_us1_..."2. भेजें
main.go बनाएँ जिसमें एक रूट Bird के शेयर्ड ऑनबोर्डिंग डोमेन से भेजता हो, ताकि डोमेन सत्यापन की ज़रूरत न पड़े:
कोड उदाहरण
package main
import (
"errors"
"log"
"net/http"
"os"
"github.com/gin-gonic/gin"
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)
}
r := gin.Default()
r.POST("/send", func(c *gin.Context) {
msg, err := client.Email.Send(c.Request.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) {
c.JSON(apiErr.StatusCode, gin.H{"error": apiErr.Error()})
return
}
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusAccepted, msg)
})
log.Fatal(r.Run(":3000"))
}SDK हर Send कॉल के लिए एक आइडेम्पोटेंसी key जनरेट करता है और टाइमआउट, 429 रिस्पॉन्स, तथा 5xx रिस्पॉन्स पर फिर से प्रयास करते समय उसी key का उपयोग करता है। इसलिए फिर से प्रयास करने पर दूसरा सेंड नहीं बनता।
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
अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ