Python · FastAPI
Invia la tua prima email da un endpoint FastAPI usando il client asincrono dell'Bird Python SDK. Tre passaggi: installa, invia, esegui.
1. Installa l'SDK
Esempio di codice
python -m pip install messagebird-sdk "fastapi[standard]"Richiede Python 3.10+. Il pacchetto da importare è bird.
2. Invia un'email
Esporta la tua chiave API. L'SDK legge BIRD_API_KEY dall'ambiente e deduce la regione (us1 o eu1) dal prefisso bk_us1_ / bk_eu1_, quindi AsyncBird() non richiede argomenti:
Esempio di codice
export BIRD_API_KEY="bk_us1_..."Crea main.py. Costruisci un singolo AsyncBird all'avvio e riutilizzalo tra le richieste: gestisce un pool di connessioni ed è sicuro da condividere tra i task.
Esempio di codice
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_ è la forma Python del campo from (from è una parola riservata). onboarding@messagebird.dev è il mittente condiviso di onboarding di Bird (non serve verifica del dominio) e delivered@messagebird.dev è un destinatario sandbox che consegna sempre.
Il SDK ripete automaticamente i tentativi in caso di errori transitori e riutilizza la chiave di idempotenza della chiamata a ogni tentativo. Questo impedisce che un nuovo tentativo invii il messaggio due volte.
3. Provalo
Esempio di codice
fastapi dev main.py
curl -X POST http://localhost:8000/sendBird accetta il messaggio con un 202 e lo consegna in modo asincrono; il tuo endpoint restituisce l'ID em_ e lo stato:
Esempio di codice
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Recupera il messaggio tramite il suo ID em_ con await client.email.get(...) e osserva lo stato passare da accepted a delivered.
Prossimi passaggi
- Riferimento email Python SDK: ogni metodo e opzione.
- Invia la tua prima email: lo stesso flusso con curl e la lista completa degli indirizzi sandbox.
- Domini di invio: verifica il tuo dominio per l'invio in produzione.
- Riferimento API email: lo schema completo di richiesta e risposta.
Risorse correlate
Prosegui con la documentazione, le guide e gli esempi per questo argomento. Le risorse sono in inglese.
Guarda la guidaTesting email without spamming anyoneEsplora la funzionalitàTest email deliverySegui il percorso di apprendimentoOperate messaging reliably
Prova l'esercitazione e ottieni un brief di implementazione