Sign inGet Started

Python · Flask

Wyślij pierwszy e-mail z trasy Flask, używając synchronicznego klienta Bird Python SDK. Trzy kroki: zainstaluj, wyślij, uruchom.

1. Zainstaluj SDK

Przykład kodu
python -m pip install messagebird-sdk flask
Wymaga Pythona 3.10+. Pakiet do importu to bird.

2. Wyślij e-mail

Wyeksportuj klucz API. SDK odczytuje BIRD_API_KEY ze zmiennych środowiskowych i rozpoznaje region (us1 lub eu1) na podstawie prefiksu bk_us1_ / bk_eu1_, więc Bird() nie wymaga argumentów:
Przykład kodu
export BIRD_API_KEY="bk_us1_..."
Utwórz app.py. Skonstruuj jeden obiekt Bird przy ładowaniu modułu i używaj go ponownie we wszystkich żądaniach: utrzymuje pulę połączeń i można go bezpiecznie współdzielić między wątkami.
Przykład kodu
from bird import Bird, APIError
from flask import Flask, jsonify

app = Flask(__name__)
client = Bird()


@app.post("/send")
def send():
    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 jsonify({"error": str(err)}), 502
    return jsonify({"id": message.id, "status": message.status}), 202
from_ to pythonowa nazwa pola from (from jest słowem zastrzeżonym). onboarding@messagebird.dev to współdzielony nadawca onboardingowy Bird (nie wymaga weryfikacji domeny), a delivered@messagebird.dev to odbiorca sandboxowy, do którego wiadomości zawsze docierają.
SDK automatycznie ponawia próby przy przejściowych błędach i przy każdej próbie ponownie używa klucza idempotentności wywołania. Zapobiega to wysłaniu wiadomości dwukrotnie w wyniku ponowienia.

3. Przetestuj

Przykład kodu
flask run
curl -X POST http://localhost:5000/send
Bird przyjmuje wiadomość z kodem 202 i dostarcza ją asynchronicznie; trasa zwraca identyfikator em_ i status:
Przykład kodu
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted"
}
Pobierz wiadomość po identyfikatorze em_ za pomocą client.email.get(...) i obserwuj, jak status zmienia się z accepted na delivered.

Następne kroki

Powiązane zasoby

Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.

Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy