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 कुंजी लें और उसे export करें। SDK कुंजी के 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 कॉल के लिए एक 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 सैंडबॉक्स पता है, इसलिए डिलीवरी निश्चित है। client.Email.Get से संदेश को उसकी em_ ID के ज़रिए प्राप्त करें और स्टेटस को delivered में बदलते हुए देखें।
अगले चरण
- Go SDK संदर्भ: हर मेथड, पैरामीटर और त्रुटि प्रकार।
- अपना पहला ईमेल भेजें: curl और डैशबोर्ड के साथ यही प्रक्रिया।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
- Email API संदर्भ: पूरा अनुरोध और प्रतिक्रिया स्कीमा।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।