Sign inGet Started

Webhooki WhatsApp

Bird przesyła aktywność WhatsApp na Twój endpoint w czasie rzeczywistym, więc nie musisz odpytywać o nią cyklicznie. Subskrybuj ze strony Webhooks lub za pomocą POST /v1/webhooks. Przewodnik po webhookach opisuje endpointy, weryfikację podpisów i ponowne próby.

Zdarzenia, które możesz subskrybować

Każde zdarzenie zawiera link do swojego payloadu.

ZdarzenieWystępuje, gdy
whatsapp.acceptedBird akceptuje żądanie wysyłki wychodzącej
whatsapp.sentBird przekazuje wiadomość do sieci WhatsApp
whatsapp.deliveredWhatsApp potwierdza dostarczenie na urządzenie odbiorcy
whatsapp.readOdbiorca otwiera wiadomość
whatsapp.failedDostarczenie wiadomości nie powiodło się
whatsapp.rejectedBird odrzuca wiadomość przed jej wysłaniem
whatsapp.receivedKontakt wysyła Ci wiadomość
whatsapp.reactedKontakt dodaje, zmienia lub usuwa reakcję
whatsapp_suppression.createdW Twoim obszarze roboczym pojawia się blokada
whatsapp.group.join_request_createdKtoś prosi o dołączenie do grupy
whatsapp.group.join_request_revokedKtoś anuluje prośbę o dołączenie do grupy

Lista typów zdarzeń jest otwarta: nowe typy mogą być dodawane z czasem, więc traktuj nierozpoznaną wartość jako przyszłe zdarzenie, a nie jako błąd.

Koperta zdarzenia

Każde zdarzenie WhatsApp używa standardowej koperty webhooka: type, timestamp oraz obiekt data specyficzny dla danego typu.

Przykład kodu
{
  "data": {
    "direction": "outbound",
    "from": { "phone_number": "+13124495569" },
    "metadata": { "session_id": "sess_4821" },
    "tags": [{ "name": "flow", "value": "login-otp" }],
    "to": { "phone_number": "+14155550100" },
    "whatsapp_id": "wam_01ky7qbvswf3fvyaw3az90391c",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
  },
  "timestamp": "2026-07-23T14:51:39.913Z",
  "type": "whatsapp.delivered"
}

Pola obecne w każdym zdarzeniu wiadomości

Każdy payload webhooka WhatsApp dla wiadomości zawiera whatsapp_id, workspace_id, direction, from, to, tags i metadata. Zdarzenia reakcji, blokady i grupy nie dotyczą wiadomości, więc każde ma własną strukturę opisaną na swojej stronie.

  • Adresy: from i to mogą zawierać numer E.164 w phone_number, identyfikator użytkownika w zakresie firmy Meta w bsuid lub oba. Wiadomość odebrana od użytkownika WhatsApp zawiera także publikowany przez niego profil, w username i display_name.
  • tags i metadata mają wartość null, gdy wysyłka nie zawierała żadnego z nich.
  • in_reply_to_message_id pojawia się w każdym zdarzeniu wychodzącym wiadomości wysłanej jako odpowiedź, od whatsapp.accepted przez whatsapp.read, whatsapp.failed lub whatsapp.rejected, wskazując wiadomość, na którą odpowiada.

Payloady zdarzeń nie zawierają kosztu. Odczytaj wiadomość za pomocą GET /v1/whatsapp/messages/{message_id}, aby zobaczyć, ile kosztowała.

Kolejne kroki