Sign inGet Started

TypeScript · Astro

@messagebird/sdk के साथ Astro API रूट से ईमेल भेजें। आपको एक Bird API कुंजी चाहिए: इसे Developers > API keys में बनाएँ (अपना पहला ईमेल भेजें में इसके चरण दिए गए हैं), फिर इसे .env में BIRD_API_KEY के रूप में रखें।

1. इंस्टॉल करें

कोड उदाहरण
npm create astro@latest my-app -- --template minimal --install --no-git --no-ai --yes
cd my-app
npm install @messagebird/sdk

2. भेजें

src/pages/api/send.ts बनाएँ। prerender = false इस रूट को सर्वर पर, माँग पर रेंडर करवाता है। Astro .env मानों को import.meta.env पर उपलब्ध कराता है, और BIRD_API_KEY में PUBLIC_ प्रीफ़िक्स नहीं है, इसलिए यह केवल सर्वर पर ही रहता है:

कोड उदाहरण
import type { APIRoute } from "astro";
import { BirdClient } from "@messagebird/sdk";

export const prerender = false;

const bird = new BirdClient({ apiKey: import.meta.env.BIRD_API_KEY! });

export const POST: APIRoute = async () => {
  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, Bird का साझा ऑनबोर्डिंग प्रेषक है और delivered@messagebird.dev एक सैंडबॉक्स प्राप्तकर्ता है जिस पर ईमेल हमेशा डिलीवर होता है, इसलिए डोमेन सत्यापन की ज़रूरत नहीं है। SDK आपकी कुंजी के bk_us1_ / bk_eu1_ प्रीफ़िक्स से क्षेत्र का पता लगाता है (कोई बेस URL कॉन्फ़िगर नहीं करना पड़ता) और हर कॉल के लिए अपने-आप एक Idempotency-Key बनाता है, इसलिए भेजने का फिर से प्रयास करना सुरक्षित है।

3. आज़माएँ

डेव सर्वर चलाएँ और रूट पर POST अनुरोध भेजें:

कोड उदाहरण
npm run dev
curl -X POST http://localhost:4321/api/send

Bird ईमेल को 202 के साथ स्वीकार करता है और उसे एसिंक्रोनस रूप से डिलीवर करता है। आपका रूट em_ ID और स्थिति लौटाता है:

कोड उदाहरण
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted"
}

ऑन-डिमांड रूट को प्रोडक्शन में डिप्लॉय करने के लिए @astrojs/node या @astrojs/vercel जैसा सर्वर एडैप्टर जोड़ें। केवल स्टैटिक बिल्ड इन्हें नहीं चला सकते।

अगले चरण

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।