TypeScript · Bun
Envoyez un e-mail depuis un gestionnaire fetch Bun.serve avec @messagebird/sdk. Bun exécute le TypeScript directement, sans étape de compilation. Vous avez besoin d'une clé API Bird : créez-en une dans Developers > Clés API (Envoyer votre premier e-mail détaille la procédure), puis placez-la dans .env sous le nom BIRD_API_KEY (Bun charge .env automatiquement).
1. Installer
bun init -y
bun add @messagebird/sdk2. Envoyer
Créez server.ts :
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
Bun.serve({
port: 3000,
async fetch(req) {
if (req.method !== "POST") return new Response("Not found", { status: 404 });
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"
return Response.json({ id: msg.id, status: msg.status });
},
});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 n'est nécessaire. 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, de sorte que les envois réessayés sont sûrs.
3. Essayer
Lancez le serveur et envoyez-lui un POST :
bun run server.ts
curl -X POST http://localhost:3000/Bird accepte l'e-mail avec un 202 et le distribue de manière asynchrone ; votre gestionnaire renvoie l'ID em_ et le statut :
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Étapes suivantes
- SDK TypeScript pour l'e-mail : 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.