Sign inGet Started

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 key एक्सपोर्ट करें। 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 एक reserved word है)। onboarding@messagebird.dev Bird का साझा ऑनबोर्डिंग सेंडर है (डोमेन सत्यापन की ज़रूरत नहीं) और delivered@messagebird.dev एक सैंडबॉक्स प्राप्तकर्ता है जो हमेशा डिलीवर होता है।
SDK क्षणिक विफलताओं पर स्वचालित रूप से फिर से प्रयास करता है और हर प्रयास पर कॉल की idempotency key का पुन: उपयोग करता है। इससे फिर से प्रयास करने पर संदेश दो बार भेजने से बचा जाता है।

3. आज़माएँ

कोड उदाहरण
python manage.py runserver
curl -X POST http://localhost:8000/send/
Bird मैसेज को 202 के साथ स्वीकार करता है और इसे एसिंक्रोनस रूप से डिलीवर करता है; आपका व्यू em_ ID और स्टेटस लौटाता है:
कोड उदाहरण
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted"
}
मैसेज को उसकी em_ ID से client.email.get(...) के ज़रिए फ़ेच करें और स्टेटस को accepted से delivered में बदलते देखें।

अगले कदम

संबंधित संसाधन

इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।

अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ