Sign inGet Started

cURL

Wyślij pierwszy e-mail, używając wyłącznie curl: wyeksportuj klucz API, wyślij wiadomość żądaniem POST i pobierz ją żądaniem GET, aby śledzić jej dostarczenie. To podstawowy przepływ HTTP; od niego zaczyna się wszystko, co robią SDK.

1. Wyeksportuj klucz API

Utwórz klucz w panelu w sekcji Platform tools > API keys (opis znajdziesz w Wyślij pierwszy e-mail), a następnie go wyeksportuj:

Przykład kodu
export BIRD_API_KEY="bk_us1_..."

Prefiks regionu wybiera host API: klucze bk_us1_ wywołują https://us1.platform.bird.com, a klucze bk_eu1_ wywołują https://eu1.platform.bird.com. Przykłady wysyłania używają us1; zmień host, jeśli Twój klucz należy do innego regionu.

2. Wyślij e-mail

Wyślij żądanie POST do /v1/email/messages, nadając z naszej współdzielonej domeny onboardingowej na adres testowy delivered@messagebird.dev. Nie potrzebujesz weryfikacji domeny ani prawdziwej skrzynki pocztowej. W tym przewodniku wybierz kartę cURL.

const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"

API odpowiada kodem 202: Bird przyjął e-mail i dostarcza go asynchronicznie. Pola *_count śledzą odbiorców w kolejnych stanach dostarczenia. W początkowej odpowiedzi jeden odbiorca jest przyjęty, a żaden nie jest jeszcze dostarczony:

Przykład kodu
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted",
  "category": "marketing",
  "from": { "email": "onboarding@messagebird.dev" },
  "to": [{ "email": "delivered@messagebird.dev" }],
  "subject": "Hello from Bird",
  "accepted_count": 1,
  "processed_count": 0,
  "delivered_count": 0,
  "deferred_count": 0,
  "bounced_count": 0,
  "complained_count": 0,
  "rejected_count": 0,
  "open_count": 0,
  "click_count": 0,
  "track_opens": true,
  "track_clicks": true,
  "created_at": "2026-07-23T13:58:20.866Z"
}

Przy bezpośrednim użyciu HTTP nie ma SDK, który wygenerowałby za Ciebie klucz idempotencji. Aby zabezpieczyć ponowne próby, podaj klucz przy pierwszej próbie i użyj go ponownie przy każdej ponownej próbie. Przykład i limity powtórzeń znajdziesz w sekcji Idempotencja.

3. Śledź dostarczenie

Pobierz wiadomość żądaniem GET po jej identyfikatorze em_ i obserwuj, jak status zmienia się z accepted przez processed na delivered. Ponownie wybierz kartę cURL:

const msg = await bird.email.get("em_abc123");
msg.status; // "accepted" | "processed" | "delivered" | "bounced" | …
msg.delivered_count;
msg.bounced_count;
console.log(msg.subject, msg.subject_recipient_id);

Ponieważ odbiorcą jest adres testowy delivered@messagebird.dev, dostarczenie jest gwarantowane: wiadomość przechodzi przez rzeczywisty potok Bird, ale nigdy nie trafia do prawdziwej skrzynki pocztowej.

Kolejne kroki