Odbieranie obrazów WhatsApp
Zdjęcie lub grafika wysłana przez kontakt dociera jako wiadomość przychodząca zawierająca image: referencję do pliku zapisanego przez Bird oraz ewentualny podpis wpisany pod obrazem.
Co zawiera przychodzący obraz
Przykład kodu
{
"id": "wam_01kya19eknftrs2s6p82asmvnh",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"image": {
"id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kya19eknftrs2s6p82asmvnh/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
"mime_type": "image/jpeg",
"caption": "Is this the right part?"
},
"created_at": "2026-08-25T09:04:11Z"
}| Pole | Co zawiera |
|---|---|
| id | Zapisany plik, przekazywany jako media_id podczas pobierania bajtów |
| url | URL Bird, pobierany za pomocą klucza API |
| mime_type | Typ mediów zgłoszony przez WhatsApp dla pliku, np. image/jpeg |
| caption | Tekst wpisany przez kontakt pod obrazem; nieobecny, gdy nic nie wpisano |
id i mime_type występują tylko w przychodzącym obrazie: Bird poznaje oba, pobierając plik, i nigdy nie zapisuje tego, który wysłałeś. Obraz wychodzący zwraca url, który podałeś, bez id.
Traktuj mime_type jako raport WhatsApp, a nie gwarancję, i rozgałęziaj logikę na jego podstawie zamiast na rozszerzeniu pliku w url, które go nie zawiera.
Pobieranie bajtów
url i id wskazują na ten sam zapisany plik: przekaż identyfikator wiadomości i id mediów do metody mediów kanału w dowolnym SDK, CLI lub cURL. Sekcja pobieranie przychodzących mediów w hubie zawiera to wywołanie we wszystkich językach, wraz z regułami przekierowań i nagłówków.
Wiadomość i jej media wygasają razem, 30 dni po nadejściu wiadomości; sekcja pobieranie przychodzących mediów w hubie określa to okno i to, co zwracają odczyty po jego upływie. Zapisz każdy obraz, którego potrzebujesz na dłużej, dopóki wiadomość jest jeszcze dostępna.
Ładunek webhooka
whatsapp.received zawiera gałąź image w kopercie zdarzenia, wraz z referencją mediów:
Przykład kodu
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:04:11.118Z",
"data": {
"whatsapp_id": "wam_01kya19eknftrs2s6p82asmvnh",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"image": {
"id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kya19eknftrs2s6p82asmvnh/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
"mime_type": "image/jpeg",
"caption": "Is this the right part?"
},
"tags": null,
"metadata": null
}
}Webhook uruchamia się, gdy wiadomość dociera, co jest jednocześnie początkiem okna retencji, więc endpoint kolejkujący pobranie zamiast wykonywać je natychmiast ma całe okno na nadrobienie.
Na co uważać
- Podpis należy do kontaktu. Dociera jako zwykły tekst bez formatowania ani informacji o encjach, więc renderuj go jako tekst.
- Jeden obraz na wiadomość. Kontakt wysyłający kilka zdjęć generuje kilka wiadomości przychodzących, każda z własnym id i własną referencją mediów. Grupuj je po from i czasie nadejścia; żadna tablica ich nie zbiera.
Następne kroki
- Jak działa odbieranie: koperta przychodząca, pobieranie mediów i webhook whatsapp.received
- Wiadomości graficzne WhatsApp: strona wysyłania tej samej gałęzi
- Odbieranie dokumentów: ten sam kształt mediów, z nazwą pliku nadawcy
- Zdarzenia WhatsApp: pełna lista zdarzeń, przez API lub webhooki
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.
Obejrzyj przewodnikConnecting WhatsApp to Bird: from buying a number to a live channelZrozum koncepcjęWhat is the 24-hour customer service window on WhatsApp?Użyj narzędziaWhatsApp message builderPoznaj możliwościWhatsApp
Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy