Sign inGet started

WhatsApp Klartextnachrichten

Klartext ist der einfachste Freitext-Inhaltstyp: ein Text ohne Anhang und eine optionale Vorschau für den ersten darin enthaltenen Link.

Textnachricht senden

Setzen Sie text.body:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  text: { body: "Your driver is 2 minutes away." },
});
console.log(msg.id, msg.status);
Die vollständige Struktur ergänzt preview_url um die Felder, die jeder Freitext-Versand mitführen kann:
Codebeispiel
{
  "to": "+16505551234",
  "from": "+13124495648",
  "text": {
    "body": "Your order shipped: https://example.com/track/A1B2C3",
    "preview_url": true
  },
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "tags": [{ "name": "category", "value": "shipping" }],
  "metadata": { "order_id": "A1B2C3" }
}
from ist bei jeder Servicenachricht erforderlich: eine Nummer, die Ihrem Workspace gehört, keine von Bird verwaltete. in_reply_to_message_id zitiert eine frühere Nachricht in derselben Konversation; siehe Eine Nachricht zitieren für Details, wogegen aufgelöst wird und was fehlen kann.

Limits

FeldGrenzwertErzwungen durch
body1 bis 4096 ZeichenBird, bei Annahme (422)
preview_urlBoolean, Standardwert falseN/A, informativ
Ein body, das nur Leerzeichen enthält, besteht die eigene minLength: 1 des Schemas, aber Bird fängt es trotzdem ab: Ein body, das nach dem Trimmen leer ist, wird mit 422 E15015 WhatsAppContentRequired abgelehnt. Ein Text über 4096 Zeichen wird mit einem einfachen 422 und ohne eigenen Katalogcode abgelehnt.

Eingehende Textnachricht lesen

Eine eingehende Textnachricht enthält dasselbe text.body-Feld und sonst nichts an diesem Inhaltstyp. Siehe WhatsApp-Textnachrichten empfangen für den vollständigen eingehenden Lesevorgang, die whatsapp.received-Payload und worauf Sie achten sollten.

Limits und Sonderfälle

  • Das Kundenservice-Fenster muss offen sein. Klartext ist eine Servicenachricht und kann nur innerhalb eines offenen Fensters zugestellt werden; siehe das Kundenservice-Fenster des Hubs.
  • preview_url betrifft nur den ersten Link und nur das, was der Client des Empfängers rendert. Der Standardwert ist false. Setzen Sie es, um eine Vorschau der ersten URL in body anzuzeigen; eine spätere URL im selben Text erhält keine. Wenn der Client des Empfängers keine Vorschau für diesen Link abrufen kann, fällt er stillschweigend auf einen klickbaren Klartext-Link zurück. Beim Lesen erfahren Sie nicht, ob eine Vorschau tatsächlich gerendert wurde.
  • WhatsApp-Markdown ist das Rendering durch den Client des Empfängers von body, nicht Teil des API-Vertrags. Bird reicht body unverändert durch; es validiert, entfernt oder kodiert weder *bold*, _italic_, ~strikethrough~ noch Triple-Backtick-Monospace. Ob diese Marker gerendert werden, hängt ausschließlich vom Client ab, der die Nachricht öffnet.
  • Ein eingehendes body ist nicht garantiert nicht-leer, auch wenn das Leseschema das aussagt. Meta kann eine eingehende Nachricht als "text": {} oder mit einem leeren body melden, und Bird speichert sie wortgetreu, statt einen Platzhalter zu erzeugen. Das ist eine bekannte, offene Lücke: Schreiben Sie keinen Consumer, der sich hier auf required: body des Schemas verlässt.

Nächste Schritte