Python · Django
Bird Python SDK के sync क्लाइंट का उपयोग करके Django व्यू से अपना पहला ईमेल भेजें। तीन चरण: इंस्टॉल करें, भेजें, चलाएँ।
1. SDK इंस्टॉल करें
mkdir bird-django-quickstart
cd bird-django-quickstart
python -m pip install messagebird-sdk django
django-admin startproject config .
python manage.py startapp myappइसके लिए Python 3.10 या उससे नया संस्करण आवश्यक है। इंपोर्ट पैकेज bird है।
2. ईमेल भेजें
अपनी API कुंजी एक्सपोर्ट करें। SDK एनवायरनमेंट से BIRD_API_KEY पढ़ता है और bk_us1_ / bk_eu1_ प्रीफ़िक्स से क्षेत्र (us1 या eu1) का अनुमान लगाता है, इसलिए Bird() को किसी आर्गुमेंट की ज़रूरत नहीं होती:
export BIRD_API_KEY="bk_us1_..."myapp/views.py में एक व्यू जोड़ें। मॉड्यूल लोड होते समय एक Bird बनाएँ और उसे सभी अनुरोधों में दोबारा उपयोग करें: यह कनेक्शन पूल करता है और इसे कई थ्रेड के बीच सुरक्षित रूप से साझा किया जा सकता है।
from bird import Bird, APIError
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
client = Bird()
@csrf_exempt
@require_POST
def send_email(request):
try:
message = client.email.send(
from_="onboarding@messagebird.dev",
to=["delivered@messagebird.dev"],
subject="Hello from Bird",
html="<p>My first Bird email.</p>",
)
except APIError as err:
return JsonResponse({"error": str(err)}, status=502)
return JsonResponse({"id": message.id, "status": message.status}, status=202)CSRF छूट की वजह से यह लोकल cURL उदाहरण चल पाता है। रूट को सार्वजनिक करने से पहले ऑथेंटिकेशन और उपयुक्त CSRF नीति जोड़ें।
इसे config/urls.py में जोड़ें:
from django.urls import path
from myapp.views import send_email
urlpatterns = [path("send/", send_email)]from_, from फ़ील्ड का Python रूप है (from एक आरक्षित शब्द है)। onboarding@messagebird.dev, Bird का साझा ऑनबोर्डिंग प्रेषक है (डोमेन सत्यापन की ज़रूरत नहीं) और delivered@messagebird.dev एक सैंडबॉक्स प्राप्तकर्ता है जिस पर डिलीवरी हमेशा सफल होती है।
SDK अस्थायी विफलताओं पर अपने-आप फिर से प्रयास करता है और हर प्रयास में कॉल की idempotency कुंजी का दोबारा उपयोग करता है। इससे फिर से प्रयास होने पर संदेश दो बार नहीं भेजा जाता।
3. इसे आज़माएँ
python manage.py runserver
curl -X POST http://localhost:8000/send/Bird संदेश को 202 के साथ स्वीकार करता है और उसे एसिंक्रोनस रूप से डिलीवर करता है; आपका व्यू em_ ID और स्थिति लौटाता है:
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}client.email.get(...) से संदेश को उसकी em_ ID के ज़रिए प्राप्त करें और देखें कि स्थिति accepted से delivered में कैसे बदलती है।
अगले कदम
- Python SDK ईमेल संदर्भ: हर मेथड और विकल्प।
- अपना पहला ईमेल भेजें: curl के साथ यही प्रक्रिया और सैंडबॉक्स पतों की पूरी सूची।
- भेजने वाले डोमेन: प्रोडक्शन में भेजने के लिए अपना डोमेन सत्यापित करें।
- ईमेल API संदर्भ: पूरा अनुरोध और प्रतिक्रिया स्कीमा।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।