Die WhatsApp Business API, ohne den BSP-Umweg.
Offizieller Meta Business Solution Provider, seit es die API gibt. Template-Freigabe, Session-Fenster, Medien, interaktive Nachrichten — alles abgedeckt. Über zwei Milliarden monatliche WhatsApp-Nutzer, erreichbar über einen einzigen Endpoint, der wie jeder andere Bird-Kanal aussieht.
import { BirdClient } from "@bird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.whatsapp.send({
to: "+15005550009",
template: "order_shipped",
locale: "en_US",
variables: {
customer_name: "Ada",
order_id: "BRD-49217",
tracking_url: "https://track.bird.dev/49217",
eta: "Thursday, May 21",
},
}).safe();
if (error) throw error;
console.log(data.id);
// → "wa_msg_8nB91Yk3p..."5 Minuten von npm install bis zum ersten Versand
Senden Sie eine WhatsApp-Nachricht in der Sprache, die Sie bereits nutzen.
SDKs für jede gängige Runtime. Der erste Versand geht an einen freigegebenen Testempfänger (+15005550009) mit einem vorab genehmigten Template — so können Sie einen CI-Check ausliefern, bevor Sie Ihr erstes Template zur Genehmigung einreichen.
import { BirdClient } from "@bird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.whatsapp.send({
to: "+15005550009",
template: "hello_world",
locale: "en_US",
}).safe();Zehn Dinge, die das BSP-Gate vor Ihnen verbirgt. Wir nicht.
WhatsApp wird von Meta kontrolliert. Die Wahl des BSP entscheidet, ob die Gates in Ihrem Code auftauchen oder in einem Dashboard versteckt werden. Wir haben uns für Code entschieden.
- 01
Offizieller Meta Business Solution Provider (BSP)
Direkte Beziehung zu Meta, seit es die API gibt. Kein weiterverkaufter Transit, kein Drittanbieter-Hop.
- 02
Template-Verwaltung
Einreichen, Genehmigungsstatus verfolgen und einen Webhook erhalten, sobald Meta genehmigt oder ablehnt.
- 03
Session-Fenster-Erkennung
Das SDK sagt Ihnen vor dem Versand, ob Freitext oder Template erlaubt ist.
- 04
Interaktive Nachrichten
Buttons, Listen, Produktkarten und WhatsApp Flows — im selben Payload deklariert.
- 05
Medien und Rich Content
Bilder, Videos, Dokumente, Standort, Kontakte, Link-Vorschauen, Reaktionen und Antworten.
- 06
WhatsApp Flows
Mehrstufige In-App-Formulare mit Backend-Validierung, definiert als JSON, ausgeführt von Meta.
- 07
Click-to-WhatsApp Ads
Integration mit Meta Ads Manager, damit Anzeigenklicks in einer Konversation landen, die Sie beantworten können.
- 08
Kanalübergreifender Fallback
Fügen Sie fallback: "sms" zu jedem Versand hinzu — bei Session-Ablauf wird automatisch über SMS geroutet.
- 09
Webhooks für eingehende Nachrichten
HMAC-signierte Events für eingehende Nachrichten, Lesebestätigungen, Reaktionen und Template-Status.
- 10
2 Mrd.+ Nutzer über einen Endpoint
Über zwei Milliarden monatliche WhatsApp-Nutzer, erreichbar über einen einzigen bird.whatsapp.send-Aufruf.
Why we build WhatsApp
Wir waren einer der ersten WhatsApp-BSPs. Und wir sind immer noch einer der wenigen, die Code mit Ihnen ausliefern.
WhatsApp ist kontrolliert. Sie brauchen ein genehmigtes Template, ein Opt-in-Session-Fenster und eine Meta-Unternehmensverifizierung. Das ändert sich nicht — und wird es auch nicht. Was sich ändert, ist, ob Ihr BSP diese Gates einfacher oder schwerer durchschreitbar macht — indem er sie in Ihrem Code offenlegt, über Webhooks, die Sie abonnieren können, in Fehlermeldungen, die genau sagen, was falsch ist. Wir haben uns für Ersteres entschieden.
import { BirdClient } from "@bird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.whatsapp.send({
to: "+15005550009",
template: "order_shipped",
locale: "en_US",
variables: {
customer_name: "Ada",
order_id: "BRD-49217",
tracking_url: "https://track.bird.dev/49217",
eta: "Thursday, May 21",
},
}).safe();
if (error) throw error;
console.log(data.id);
// → "wa_msg_8nB91Yk3p..."Jede Statusänderung ist ein Webhook.
HMAC-signierte Payloads, Replay-geschützt, idempotent. Dasselbe Envelope-Format auf jedem Bird-Kanal — lernen Sie eines, kennen Sie alle.
{
"type": "whatsapp.read",
"id": "evt_7kQ02v...",
"created_at": "2026-05-19T15:42:08.114Z",
"data": {
"wa_msg_id": "wa_msg_8nB91Yk3p",
"from": "+15551234567",
"to": "+15005550009",
"conversation_id": "wa_conv_3pX1g7t",
"template": "order_shipped",
"delivered_at": "2026-05-19T15:42:01.802Z",
"read_at": "2026-05-19T15:42:08.020Z"
}
}Retry-Zeitplan: 5s, 30s, 5m, 30m, 2h, 6h, 12h. Dead-Letter nach dem letzten Versuch; jedes Dead-Letter-Event kann über das Dashboard oder die API erneut abgespielt werden.
whatsapp.queuedVon der API akzeptiert und für den Versand an Meta in die Warteschlange gestellt.whatsapp.sentAn Metas Cloud API übergeben.whatsapp.deliveredMeta meldet, dass die Nachricht auf dem Gerät des Empfängers angekommen ist.whatsapp.readEmpfänger hat die Nachricht geöffnet (sofern Lesebestätigungen aktiviert sind).whatsapp.failedPermanenter Fehler — Fehlercode im Payload.whatsapp.receivedEingehende Nachricht eines Nutzers innerhalb des 24-Stunden-Session-Fensters.whatsapp.template.approvedMeta hat ein von Ihnen eingereichtes Template genehmigt.whatsapp.template.rejectedMeta hat ein Template abgelehnt — Ablehnungsgrund im Payload.
Fallback auf SMS ist ein Attribut, keine zweite Integration.
Wenn WhatsApp nicht zugestellt werden kann — Session abgelaufen, Empfänger hat nie zugestimmt, Template noch nicht genehmigt — routet Bird dieselbe Nachricht im selben Request über SMS. Gleiche Auth, gleicher Idempotency-Vertrag, gleiches Webhook-Format am anderen Ende.
WhatsApp mit Fallback.
await bird.whatsapp.send({
to: "+15005550009",
template: "order_shipped",
variables: { order_id: "BRD-49217" },
fallback: "sms",
});Ein Payload, eine Auth. Session-Ablauf, Opt-in-Lücke, nicht genehmigtes Template — alles wird automatisch über SMS geroutet.
SMS direkt.
await bird.sms.send({
from: "Bird",
to: "+15005550006",
text: `Your order BRD-49217 has shipped.`,
});Dieselben Leitungen, direkt adressiert. Verwenden Sie es, wenn Sie den SMS-Pfad explizit wollen.
Ab 0,005 $ pro Nachricht + Metas Konversationsgebühr zum Selbstkostenpreis.
Abrechnung nach Nutzung. Wir geben Metas Konversationsgebühr zum Selbstkostenpreis weiter — ohne Aufschlag. Mengenrabatte greifen automatisch ab 100.000/Monat und erneut ab 1 Mio./Monat. Keine Lizenzgebühr pro Nutzer, keine Funktionen hinter Jahresverträgen gesperrt.