Sign inGet started

Wiadomości tekstowe WhatsApp

Zwykły tekst to najprostszy wariant treści dowolnej: sama treść bez załącznika i opcjonalny podgląd pierwszego linku w niej zawartego.

Wyślij wiadomość tekstową

Ustaw 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);
Pełna struktura dodaje preview_url oraz pola dostępne w każdym wysyłaniu treści dowolnej:
Przykład kodu
{
  "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 jest wymagane w każdej wiadomości serwisowej: numer należący do Twojego obszaru roboczego, a nie zarządzany przez Bird. in_reply_to_message_id cytuje wcześniejszą wiadomość w tej samej konwersacji; zobacz Cytowanie wiadomości, aby dowiedzieć się, do czego się odnosi i co może pominąć.

Limity

PoleOgraniczenieEgzekwowane przez
bodyOd 1 do 4096 znakówBird, przy przyjęciu (422)
preview_urlboolean, domyślnie falseNie dotyczy, informacyjne
body zawierające same białe znaki przechodzi własną walidację schematu minLength: 1, ale Bird i tak je przechwytuje: body, które po przycięciu jest puste, zostaje odrzucone z 422 E15015 WhatsAppContentRequired. Treść powyżej 4096 znaków jest odrzucana ze zwykłym 422 i bez dedykowanego kodu katalogowego.

Odczyt przychodzącej wiadomości tekstowej

Przychodząca wiadomość tekstowa zawiera to samo pole text.body i nic więcej w tym wariancie. Zobacz Odbieranie wiadomości tekstowych WhatsApp, aby poznać pełny odczyt przychodzący, payload whatsapp.received i na co zwrócić uwagę.

Limity i przypadki brzegowe

  • Okno obsługi klienta musi być otwarte. Zwykły tekst to wiadomość serwisowa, dostarczalna tylko w otwartym oknie; zobacz okno obsługi klienta w hubie.
  • preview_url dotyczy tylko pierwszego linku i tylko tego, co renderuje klient odbiorcy. Domyślna wartość to false. Ustaw ją, aby wyświetlić podgląd pierwszego URL w body; kolejny URL w tej samej treści nigdy nie otrzyma podglądu. Jeśli klient odbiorcy nie może pobrać podglądu dla tego linku, po cichu wyświetla zwykły klikalny link. Nic w odczycie nie informuje, czy podgląd rzeczywiście się wyrenderował.
  • Markdown w WhatsApp to renderowanie body przez klienta odbiorcy, a nie część kontraktu API. Bird przekazuje body bez zmian; nie waliduje, nie usuwa ani nie koduje *bold*, _italic_, ~strikethrough~ ani potrójnych backticków monospace. To, czy te znaczniki się wyrenderują, zależy wyłącznie od klienta, który otworzy wiadomość.
  • Przychodzące body nie musi być niepuste, mimo tego, co mówi schemat odczytu. Meta może zgłosić przychodzącą wiadomość jako "text": {} lub z pustym body, a Bird zapisuje ją dosłownie, zamiast tworzyć zastępczy tekst. To znana, otwarta luka: nie pisz konsumenta, który ufa required: body schematu w tym miejscu.

Następne kroki