Ponowne wysłanie po samym przyjęciu może utworzyć duplikat wiadomości. Prześledź pierwszą wysyłkę przez jej późniejsze zdarzenia, zanim zdecydujesz się spróbować ponownie.
Zachowaj identyfikator wiadomości zwrócony przez żądanie wysyłki. Łączy on początkowe przyjęcie z późniejszymi zdarzeniami dotyczącymi tej wiadomości.
Co dzieje się między przyjęciem a doręczeniem?
E-mail przechodzi przez etap przygotowania. Wiadomości SMS przechodzą przez przekazanie do operatora mobilnego.
Wysyłki Bird możesz śledzić za pomocą tych typów zdarzeń:
| Kanał | Zdarzenie | Co się wydarzyło |
|---|---|---|
email.accepted | Bird przyjął wysyłkę i przygotowuje ją, raz na każdego żądanego odbiorcę. | |
email.processed | Bird przygotował wiadomość do doręczenia na serwer pocztowy odbiorcy. | |
email.delivered | Serwer pocztowy odbiorcy przyjął wiadomość. | |
| SMS | sms.accepted | Bird przyjął żądanie wysyłki i umieścił je w kolejce do przetworzenia. |
| SMS | sms.sent | Bird przekazał wiadomość operatorowi. |
| SMS | sms.delivered | Operator zgłosił doręczenie na urządzenie odbiorcy. |
Porównaj czasy zdarzeń w timestamp, aby zlokalizować opóźnienie. Czasy dostarczenia webhooków obejmują ich własne opóźnienia.
W przypadku e-maila odejmij czas przyjęcia od czasu przygotowania, aby zmierzyć czas przygotowania wewnątrz Bird. Okres po przygotowaniu obejmuje również oczekiwanie na dotarcie do serwera odbiorczego.
W przypadku SMS odejmij czas przyjęcia od czasu przekazania do operatora, aby zmierzyć czas przed przekazaniem. Okres od przekazania do doręczenia mierzy pozostały czas doręczenia.
Na przykład wiadomość SMS przyjęta w południe i przekazana dwie sekundy później spędziła dwie sekundy przed przekazaniem do operatora. Jeśli doręczenie nastąpi osiem sekund później, łączny czas wynosi dziesięć sekund.
Dlaczego wiadomość wciąż nie jest doręczona?
Wiadomość może wciąż czekać. Późniejsze zdarzenie może natomiast zgłosić nieudane doręczenie.
Samo zdarzenie przyjęcia nie pozwala rozróżnić tych wyników. Sprawdź późniejsze zdarzenia dla tej samej wiadomości, zanim zdecydujesz, czy wysłać ją ponownie.
E-mail raportuje następujące wyniki:
email.deferredoznacza, że doręczenie jest opóźnione po tymczasowym błędzie. Bird ponawia próby, więc wiadomość może zostać jeszcze doręczona lub odbita.email.bouncedoznacza, że serwer odbiorczy odrzucił doręczenie.email.rejectedoznacza, że Bird odrzucił wiadomość przed próbą doręczenia. Zbadaj przyczynę odrzucenia, zanim zmienisz ustawienia serwera pocztowego odbiorcy.
SMS używa innego zestawu:
sms.undeliveredraportuje nietrwałe niepowodzenie doręczenia od operatora.sms.failedraportuje trwałe niepowodzenie doręczenia.sms.rejectedoznacza, że Bird odrzucił wiadomość przed przekazaniem do operatora.sms.expiredoznacza, że okres ważności wiadomości upłynął przed doręczeniem.
Sprawdź błąd towarzyszący nieudanemu wynikowi, aby zidentyfikować przyczynę. Filtrowanie wiadomości SMS przez operatorów opisuje jedną z możliwych przyczyn.
Czy istnieje jeden cykl życia, którego mogę się nauczyć?
Każdy kanał ma własną sekwencję stanów doręczenia.
Serwery e-mail mogą poprosić nadawcę o ponowną próbę później. Operatorzy SMS mogą zaprzestać prób, gdy wiadomość wygaśnie. Te wyniki wymagają różnych działań naprawczych.
WhatsApp i kanał głosowy również raportują własne typy zdarzeń. Przewodniki po zdarzeniach opisują odpowiednie stany: e-mail, SMS, WhatsApp i głos.
Czy doręczona wiadomość może przestać być doręczona?
E-mail może zmienić status z doręczonego na odbity, gdy serwer pocztowy odbiorcy zgłosi późniejsze niepowodzenie doręczenia.
Serwer najpierw przyjmuje wiadomość przez SMTP. Może zgłosić niepowodzenie osobno, po zakończeniu tej wymiany.
Bird rejestruje raport jako email.out_of_band_bounce. Gdy raport zostanie sklasyfikowany jako odbicie, status odbiorcy zmienia się z doręczonego na odbity. W przypadku twardego odbicia Bird dodatkowo blokuje adres, aby uniemożliwić dalsze wysyłki, ponieważ niepowodzenie jest trwałe.
Automatyczna odpowiedź może pojawić się na osi czasu bez zmiany statusu doręczenia. Klasyfikacja raportu określa, czy wcześniejsze przyjęcie zostanie wycofane.
Utrzymuj możliwość aktualizacji statusu doręczenia po pomyślnym zdarzeniu. Webhooki mogą docierać w zmienionej kolejności, więc porównuj znaczniki czasu zdarzeń przed zastosowaniem zmiany, która nadpisałaby nowszy stan.
W skrócie
Przyjęcie potwierdza żądanie wysyłki.
Bird rozpoczyna przygotowanie wiadomości po przyjęciu. Zdarzenie nie potwierdza dotarcia do serwera pocztowego ani urządzenia.
Przygotowanie i przekazanie to różne granice.
E-mail raportuje przygotowanie zdarzeniem email.processed. SMS raportuje przekazanie do operatora zdarzeniem sms.sent.
Niepowodzenia mają znaczenie specyficzne dla kanału.
E-mail może zostać odroczony, odbity lub odrzucony. SMS rozróżnia wyniki: niedoręczony, nieudany, odrzucony i wygasły.
Po doręczeniu e-maila może nastąpić odbicie.
Późniejszy raport o odbiciach może zmienić status odbiorcy e-maila z doręczonego na odbity. Automatyczna odpowiedź nie zmienia statusu doręczenia.