Python · FastAPI
Wyślij pierwszego e-maila z endpointu FastAPI, używając asynchronicznego klienta Bird Python SDK. Trzy kroki: zainstaluj, wyślij, uruchom.
1. Zainstaluj SDK
Przykład kodu
python -m pip install messagebird-sdk "fastapi[standard]"Wymaga Pythona 3.10+. Pakiet do importu to bird.
2. Wyślij e-maila
Wyeksportuj klucz API. SDK odczytuje BIRD_API_KEY ze środowiska i rozpoznaje region (us1 lub eu1) na podstawie prefiksu bk_us1_ / bk_eu1_, więc AsyncBird() nie wymaga argumentów:
Przykład kodu
export BIRD_API_KEY="bk_us1_..."Utwórz main.py. Stwórz jedną instancję AsyncBird przy starcie i używaj jej we wszystkich żądaniach: utrzymuje pulę połączeń i można ją bezpiecznie współdzielić między zadaniami.
Przykład kodu
from bird import AsyncBird, APIError
from fastapi import FastAPI, HTTPException
app = FastAPI()
client = AsyncBird()
@app.post("/send", status_code=202)
async def send() -> dict[str, str]:
try:
message = await 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:
raise HTTPException(status_code=502, detail=str(err))
return {"id": message.id, "status": message.status}from_ to pythonowa nazwa pola from (from jest słowem zastrzeżonym). onboarding@messagebird.dev to współdzielony nadawca onboardingowy Bird (bez konieczności weryfikacji domeny), a delivered@messagebird.dev to odbiorca sandboxowy, który zawsze doręcza wiadomość.
SDK automatycznie ponawia próby w przypadku przejściowych błędów i przy każdej próbie używa tego samego klucza idempotentności. Dzięki temu ponowienie próby nie powoduje wysłania wiadomości dwukrotnie.
3. Przetestuj
Przykład kodu
fastapi dev main.py
curl -X POST http://localhost:8000/sendBird przyjmuje wiadomość z kodem 202 i doręcza ją asynchronicznie; Twój endpoint zwraca identyfikator em_ i status:
Przykład kodu
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Pobierz wiadomość po identyfikatorze em_ za pomocą await client.email.get(...) i obserwuj, jak status zmienia się z accepted na delivered.
Następne kroki
- Dokumentacja e-mail Python SDK: wszystkie metody i opcje.
- Wyślij pierwszego e-maila: ten sam przepływ z curlem i pełna lista adresów sandboxowych.
- Domeny wysyłkowe: zweryfikuj własną domenę do wysyłki produkcyjnej.
- Dokumentacja API e-mail: pełny schemat żądania i odpowiedzi.
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.
Obejrzyj przewodnikTesting email without spamming anyonePoznaj możliwościTest email deliveryPodążaj ścieżką naukiOperate messaging reliably
Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy