Python · FastAPI
Envoyez votre premier e-mail depuis un endpoint FastAPI avec le client asynchrone du Bird Python SDK. Trois étapes : installer, envoyer, exécuter.
1. Installer le SDK
Exemple de code
python -m pip install messagebird-sdk "fastapi[standard]"Nécessite Python 3.10+. Le paquet à importer est bird.
2. Envoyer un e-mail
Exportez votre clé API. Le SDK lit BIRD_API_KEY depuis l'environnement et déduit la région (us1 ou eu1) à partir du préfixe bk_us1_ / bk_eu1_, donc AsyncBird() ne nécessite aucun argument :
Exemple de code
export BIRD_API_KEY="bk_us1_..."Créez main.py. Construisez un seul AsyncBird au démarrage et réutilisez-le pour toutes les requêtes : il mutualise les connexions et peut être partagé entre les tâches sans risque.
Exemple de code
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_ est la forme Python du champ from (from est un mot réservé). onboarding@messagebird.dev est l'expéditeur d'intégration partagé de Bird (aucune vérification de domaine requise) et delivered@messagebird.dev est un destinataire sandbox qui aboutit toujours.
Le SDK réessaie automatiquement les erreurs transitoires et réutilise la clé d'idempotence de l'appel à chaque tentative. Cela empêche un nouvel essai d'envoyer le message deux fois.
3. Tester
Exemple de code
fastapi dev main.py
curl -X POST http://localhost:8000/sendBird accepte le message avec un 202 et le distribue de manière asynchrone ; votre endpoint renvoie l'ID em_ et le statut :
Exemple de code
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Récupérez le message par son ID em_ avec await client.email.get(...) et observez le statut passer de accepted à delivered.
Étapes suivantes
- Référence e-mail Python SDK : toutes les méthodes et options.
- Envoyer votre premier e-mail : le même flux avec curl et la liste complète des adresses sandbox.
- Domaines d'envoi : vérifiez votre propre domaine pour l'envoi en production.
- Référence API e-mail : le schéma complet de requête et de réponse.
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Regarder le guideTesting email without spamming anyoneExplorer la fonctionnalitéTest email deliverySuivre le parcours d'apprentissageOperate messaging reliably
Essayez la pratique et obtenez un guide d'implémentation