TypeScript · Express
Envoyez un e-mail depuis une route POST Express 5 avec @messagebird/sdk. Vous avez besoin d'une clé Bird API : créez-en une dans Developers > Clés API (Envoyer votre premier e-mail détaille la procédure), puis exportez-la en tant que BIRD_API_KEY.
1. Installer
npm init -y
npm install express @messagebird/sdk tsx2. Envoyer
Créez src/server.ts. Express 5 transmet les rejets des handlers asynchrones au middleware d'erreur, donc aucun wrapper try/catch n'est nécessaire :
import express from "express";
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const app = express();
app.post("/send", async (req, res) => {
const msg = await bird.email.send({
from: "onboarding@messagebird.dev",
to: ["delivered@messagebird.dev"],
subject: "Hello from Bird",
html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"
res.json({ id: msg.id, status: msg.status });
});
app.listen(3000);onboarding@messagebird.dev est l'expéditeur d'intégration partagé de Bird et delivered@messagebird.dev est un destinataire sandbox qui aboutit toujours : aucune vérification de domaine requise. Le SDK déduit la région à partir du préfixe bk_us1_ / bk_eu1_ de votre clé (aucune URL de base à configurer) et génère automatiquement un Idempotency-Key par appel, ce qui rend les envois réessayés sûrs.
3. Tester
Lancez le serveur et envoyez un POST vers la route :
npx tsx src/server.ts
curl -X POST http://localhost:3000/sendBird accepte l'e-mail avec un 202 et le distribue de manière asynchrone ; votre route renvoie l'ID em_ et le statut :
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Étapes suivantes
- SDK e-mail TypeScript : la surface e-mail complète (
send,get,list) et le modèle d'erreur. - Envoyer votre premier e-mail : créer une clé API et l'ensemble complet 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.