# 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`:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  text: { body: "Your driver is 2 minutes away." },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.ts.md) · [Python](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.py.md) · [Go](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.go.md) · [PHP](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.php.md) · [CLI](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.cli.md) · [MCP](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.mcp.md) · [cURL](/de-de/dokumentation/guides/whatsapp/message-types/plain-text.curl.md)

Die vollständige Struktur ergänzt `preview_url` um die Felder, die jeder Freitext-Versand mitführen kann:

```json
{
  "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](/docs/guides/whatsapp/sending-whatsapp#quoting-a-message) für Details, wogegen aufgelöst wird und was fehlen kann.

## Limits

| Feld          | Grenzwert                     | Erzwungen durch           |
| ------------- | ----------------------------- | ------------------------- |
| `body`        | 1 bis 4096 Zeichen            | Bird, bei Annahme (`422`) |
| `preview_url` | Boolean, Standardwert `false` | N/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`](/docs/api/errors/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](/docs/guides/whatsapp/receiving-whatsapp/plain-text) 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](/docs/guides/whatsapp/message-types#the-customer-service-window) 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

- [WhatsApp-Servicenachrichten](/docs/guides/whatsapp/message-types): das Kundenservice-Fenster und das Modell, das alle Servicenachrichten gemeinsam haben
- [WhatsApp-Nachrichten senden](/docs/guides/whatsapp/sending-whatsapp): der Request-Envelope, das `202`-Modell und sichere Wiederholungsversuche
- [Interaktive Nachrichten](/docs/guides/whatsapp/message-types/interactive): wenn Sie statt einer getippten Antwort ein Antippen wünschen

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
