Zwei-Wege

Nachrichten kommen zurück. Also verarbeiten Sie sie.

Empfangen Sie Antworten auf einer unterstützten Bird-Nummer, lesen Sie die Nachricht und antworten Sie vom selben Absender. Signierte Inbound-Events verknüpfen die Konversation mit Ihrer Anwendung. Konfigurieren Sie Keyword-Antworten und prüfen Sie die länderspezifische Abdeckung für STOP, START und HELP.

Die Konversation zusammenhalten

Beispielantwort

Feldnotizen · SMS-Konversation
Ihre Bestellung liegt bereit. Antworten Sie, wenn Sie Hilfe benötigen.
Kann ich sie morgen abholen?
Ja. Wir halten Ihre Bestellung für morgen bereit.
sms.received

Ihre Anwendung empfängt die Antwort und kann darauf reagieren.

Beispielhafte Nachrichten. Die automatische Schlüsselwortverarbeitung hängt vom Länderkatalog ab; Workspace-weite Einstellungen sind eine separate Steuerung.

Täglich vertraut von Teams, die erstklassige Software entwickeln

Weitere Kundenberichte lesen

Eingehend ist nur ein weiterer Webhook.

Bidirektionales Messaging ist Teil der Bird SMS API. Eine berechtigte Nummer kann Kundennachrichten empfangen. Abonnieren Sie sms.received neben Zustellereignissen, verifizieren Sie die Webhook-Signatur und verwenden Sie die eingehende Nachrichten-ID, um die Antwort mit Ihrer Anwendung zu verknüpfen.

Hören Sie auf das, was zurückkommt.

Eine eingehende Nachricht und ein Opt-out sind Ereignisse, genau wie eine Zustellbestätigung. Verifizieren Sie eine Signatur, verzweigen Sie auf den Typ und behandeln Sie jedes im Handler, den Sie bereits geschrieben haben.

app/api/webhooks/bird/route.ts
signed
import { bird } from "@/lib/bird";

export async function POST(req: Request) {
  const event = bird.webhooks.unwrap(
    await req.text(),
    Object.fromEntries(req.headers),
  );

  switch (event.type) {
    case "sms.received":
      await handleInbound(event.data.from, event.data.text);
      break;
    case "sms_suppression.created":
      await removeFromCampaigns(event.data.destination);
      break;
  }

  return new Response(null, { status: 204 });
}

Der Standard-Webhooks-Envelope enthält type, timestamp und data. Der webhook-id-Header identifiziert eine Zustellung und bleibt bei erneuten Versuchen stabil. Verifizieren Sie die Signatur und erzwingen Sie eine angemessene Zeitstempel-Toleranz.

  • sms.receivedEine eingehende Nachricht ist auf Ihrer Nummer eingegangen: enthält den Absender, Ihre Nummer und den Text.
  • sms.deliveredEine von Ihnen gesendete Antwort hat das Endgerät erreicht (Carrier-DLR).
  • sms_suppression.createdDer Absender hat STOP gesendet: Bird hat dieses Absender-Empfänger-Paar unterdrückt und blockiert künftige Nachrichten von diesem Paar.

Eine signierte eingehende Nachricht, vollständig.

So sieht ein sms.received-Ereignis auf der Leitung aus. Das from ist, wer Ihnen geschrieben hat, das to ist Ihre bereitgestellte Nummer, und Segmente und Kodierung werden genauso gemeldet wie bei einem Versand, sodass eine lange eingehende Antwort nie eine Überraschung ist.

sms.received
evt_
{
  "id": "evt_7nQ9xLp2aR...",
  "type": "sms.received",
  "created_at": "2026-06-26T14:03:11Z",
  "data": {
    "id": "sms_5hV02Mr3n...",
    "from": "+15005550006",
    "to": "+14155550172",
    "text": "YES book me in for Thursday",
    "encoding": "GSM-7",
    "segments": 1
  }
}

Antworten Sie von derselben Nummer.

Antworten Sie über die reguläre SMS-Sende-API mit Ihrer berechtigten Nummer als from und dem Abonnenten als to. Absender-, Ziel- und Unterdrückungsprüfungen gelten weiterhin für die Antwort Ihrer Anwendung. Das Message Studio kann eine Antwort aus einer eingehenden Nachricht vorbereiten; prüfen Sie diese vor dem Senden.

reply.ts
200 · reply
async function handleInbound(from: string, text: string) {
  if (/^yes\b/i.test(text)) {
    const { error } = await bird.sms.send({
      from:     "+14155550172", // your two-way number
      to:       from,           // reply to the sender
      text:     "Booked. See you Thursday at 10am.",
      category: "transactional",
    }).safe();

    if (error) throw error;
  }
}

Keyword-Verarbeitung mit dem richtigen Geltungsbereich.

Bird prüft eingehenden Text gegen den länderspezifischen Keyword-Katalog der Nummer. Ein unterstütztes STOP-Keyword unterdrückt das Absender-/Abonnenten-Paar, START kann diese Unterdrückung aufheben, und HELP antwortet mit Programminformationen. Benutzerdefinierte Keywords unterstützen Ihre Kampagnenantworten, ohne reservierte Compliance-Operationen zu überschreiben. Prüfen Sie die Abdeckung und Workspace-Einstellungen unter Opt-out-Verwaltung.

Zwei Dinge, die Sie als Nächstes brauchen.

Für den Empfang eingehender Nachrichten benötigen Sie eine bidirektional nutzbare Nummer: Long Codes, Short Codes und gebührenfreie Nummern können empfangen, alphanumerische Absenderkennungen nicht. Für einen umfassenderen Dialog auf demselben Gerät (Tippanzeigen, Lesebestätigungen, Karussells) erweitert RCS die Konversation, sofern das Endgerät es unterstützt.

Vertiefen Sie sich in der Dokumentation.

Verdrahten Sie Webhooks für eingehende Ereignisse, lesen Sie die Fehlerreferenz für die Fehlschläge, die Sie behandeln werden, und prüfen Sie Missbrauch und Compliance für die Keyword- und Einwilligungsregeln.

In die Praxis umsetzen.

Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.

Implementierungs-Briefing erhalten

Fragen, bevor Sie loslegen

Wie erreicht eine Antwort meine Anwendung?
Empfangen Sie über eine unterstützte Bird-Nummer und abonnieren Sie das signierte sms.received-Event. Überprüfen Sie die Webhook-Signatur, bevor Sie Absender, Empfangsnummer und Nachrichtentext verarbeiten.
Wie antworte ich im selben Thread?
Senden Sie von der Nummer, die die Nachricht empfangen hat, an den ursprünglichen Absender. Prüfen Sie, ob die Nummer und das Ziel die gewünschte Konversation unterstützen.
Was passiert, wenn jemand STOP sendet?
Wo der Schlüsselwortkatalog des Landes dies unterstützt, erstellt STOP eine Unterdrückung für das exakte Absender-/Abonnentenpaar und sendet die konfigurierte Bestätigung. Prüfen Sie die Länderregeln; nicht abgedeckte Länder erfordern eine eigene Opt-out-Verarbeitung.
Deckt ein STOP meinen gesamten Workspace ab?
Die Absender-/Abonnentenunterdrückung ist auf dieses Paar beschränkt. Workspace-weite Kontaktpräferenzen sind eine separate Steuerung und können absenderübergreifend gelten.
Kann ein alphanumerischer Absender Antworten empfangen?
Alphanumerische Absenderkennungen sind nur für den Versand. Wählen Sie eine Nummer mit der passenden Empfangsfähigkeit und Zielunterstützung für bidirektionale SMS-Kommunikation.

Senden und empfangen auf einer Nummer, einer API.

Wählen Sie eine berechtigte Nummer, verbinden Sie eingehende Events und bereiten Sie Antworten über dieselbe SMS-Sende-API vor. Absenderbereitschaft und Kundenpräferenzen bleiben Teil des Workflows.

Ihre Angaben

Alle Kontaktfelder sind erforderlich.

Damit unser Team Sie bezüglich Ihrer Demo kontaktieren kann.

Interessante Produkte

Optional

Wir kontaktieren Sie, um Ihre Demo zu vereinbaren.
Datenschutzrichtlinie

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor