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
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 lesenEingehend 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.
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.
{
"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.
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.
Fragen, bevor Sie loslegen
Wie erreicht eine Antwort meine Anwendung?
Wie antworte ich im selben Thread?
Was passiert, wenn jemand STOP sendet?
Deckt ein STOP meinen gesamten Workspace ab?
Kann ein alphanumerischer Absender Antworten empfangen?
Der Rest der SMS-Plattform
Eine API, ein Satz Keys. Entdecken Sie die anderen Funktionen.
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.