Błędy dostarczania SMS
Nieudana wiadomość SMS ma status dostarczenia i błąd wyjaśniający wynik. Korzystaj z tego opisu, aby zinterpretować przyczynę niepowodzenia i numeryczny kod dostawcy zgłoszony przy wiadomości.
Błędy żądań, takie jak nieprawidłowy ładunek wysyłki, korzystają z katalogu błędów API. Kody na tej stronie opisują wiadomości, które zostały przyjęte, a następnie nie zostały dostarczone lub zostały odrzucone.
Odczytywanie błędu
Otwórz wiadomość w logu SMS i wybierz Details. Error pokazuje opis i znormalizowaną przyczynę niepowodzenia. Carrier error code pokazuje numeryczny kod dostawcy, jeśli został podany.
Przez API odczytaj GET /v1/sms/messages/{message_id}. Jego last_error zawiera:
| Pole | Znaczenie |
|---|---|
code | Znormalizowana przyczyna niepowodzenia Bird, np. unreachable lub unknown |
description | Zgłoszony opis słowny |
carrier_error_code | Surowy kod dostawcy, jeśli został podany |
occurred_at | Kiedy wystąpił błąd |
Zdarzenia webhooków o błędach i zdarzenia osi czasu wiadomości zawierają te same pola w error.
Nazwa pola carrier_error_code obejmuje również kody wydane przez dostawcę wysyłkowego Bird, w tym blokady ochrony przed oszustwami. Brak kodu oznacza, że dostawca go nie podał lub wiadomość została odrzucona przed wysłaniem.
Znormalizowane przyczyny błędów
Są to przyczyny błędów zdefiniowane przez schemat wiadomości API. Potwierdzenia od dostawcy mogą zawierać bardziej szczegółowy kod numeryczny, niż odzwierciedla to znormalizowana przyczyna. Na przykład wiadomość z code: unknown może nadal zawierać rozpoznany carrier_error_code.
| Przyczyna | Znaczenie |
|---|---|
invalid_destination | Numer jest nieprzypisany lub nieprawidłowy |
unreachable | Telefon jest wyłączony lub poza zasięgiem |
blocked_by_carrier | Operator odbiorcy odfiltrował wiadomość |
blocked_by_fraud_protection | Ochrona przed oszustwami Bird zablokowała podejrzane pompowanie SMS |
blocked_by_recipient | Urządzenie odbiorcy zablokowało nadawcę |
landline_unreachable | Linia stacjonarna nie obsługuje SMS |
content_rejected | Operator odrzucił treść |
sender_unregistered | Nadawca nie ma wymaganej rejestracji |
recipient_opted_out | Odbiorca znajduje się na liście suppresji |
provider_unavailable | Dostawca lub sieć były niedostępne |
insufficient_balance | Portfel obszaru roboczego nie mógł sfinansować wysyłki |
unknown | Błędu nie udało się sklasyfikować |
Jest to zbiór otwarty: akceptuj nieznane wartości i zachowuj opis oraz surowy kod do analizy. Przyczyna tymczasowa kończy tę próbę wysłania wiadomości; nie gwarantuje automatycznego ponownego wysłania.
Kody błędów dostawcy
Wyszukaj ciąg liczbowy zwrócony w carrier_error_code. Te kody należą do dostawcy wysyłającego SMS platformy Bird; inny dostawca może przypisywać tym samym numerom inne znaczenia.
| Kod | Znaczenie |
|---|---|
0 | Brak błędu |
1 | Nieznany abonent |
2 | Nieznana stacja bazowa |
3 | Nieznana centrala mobilna |
5 | Niezidentyfikowany abonent |
7 | Aparat nie może się połączyć |
8 | Roaming zabroniony |
9 | Uwierzytelnianie abonenta nie powiodło się |
10 | Nośnik SMS bez prowizji |
11 | Usługa SMS niezainicjowana |
12 | Aparat na czarnej liście |
13 | Usługa SMS zablokowana |
21 | SMS nieobsługiwane |
26 | Nieudane przełączenie sieciowe |
27 | Abonent niedostępny |
28 | Poza zasięgiem |
29 | Telefon wyłączony |
30 | Awaria centrali mobilnej |
31 | Abonent zajęty |
32 | Błąd dostarczenia SMS |
33 | Magazyn oczekujących wiadomości pełny |
34 | Awaria systemu sieciowego |
35 | Brak wymaganych danych |
36 | Nieoczekiwana wartość pola wiadomości |
39 | Numer routingowy roamingu niedostępny |
40 | Wyczerpana pamięć sieci |
71 | Nieobsługiwany alfabet |
72 | USSD zajęte |
100 | Niewystarczające saldo wysyłki |
101 | Niewystarczające saldo abonenta |
103 | Abonent zrezygnował |
104 | Nadawca niezarejestrowany |
105 | Treść niezarejestrowana |
106 | Przekroczono wolumen kampanii |
107 | Przekroczono przepustowość kampanii |
110 | Operator odfiltrował wiadomość |
130 | SurgeGuard wykrył traffic pumping |
131 | SurgeGuard zablokował podejrzany cel pumpingu |
Kod 0 jest pomijany w carrier_error_code przy odczytach wiadomości i zdarzeń Bird. Nieznany kod powinien pozostać dostępny w Twoich zapisach, gdy kontaktujesz się ze wsparciem.
Blokady ochrony przed oszustwami
SurgeGuard to ochrona przed oszustwami SMS w Bird.
Wiadomości zablokowane przez ochronę przed oszustwami mają powód błędu blocked_by_fraud_protection i opis "Blocked by fraud protection: suspected SMS pumping." Status dostarczenia pozostaje failed, rejected lub expired, zgodnie z raportem dostawcy. Ten sam powód i opis pojawiają się w szczegółach wiadomości, zdarzeniach osi czasu i webhookach błędów. Surowy kod dostawcy pozostaje dostępny w carrier_error_code, jeśli został podany.
W logu SMS filtruj Failure reason według Blocked by fraud protection, aby znaleźć te wiadomości.
Starsze rekordy mogą nadal zawierać unknown i generic_delivery_failure. Same te etykiety nie identyfikują blokady ochrony przed oszustwami. Sprawdź ich carrier_error_code w sekcji Kody błędów dostawcy, aby zidentyfikować przyczynę. Jeśli kod jest nieobecny lub nieznany, skontaktuj się ze wsparciem, podając ID obszaru roboczego, ID wiadomości, znacznik czasu i kod dostawcy, jeśli został podany.
Podczas badania zablokowanej wiadomości OTP skoreluj SMS z kontem lub żądaniem weryfikacji, które ją wywołało. Unikaj automatycznego ponownego wysyłania lub zmiany tras w celu obejścia blokady. Jeśli podejrzewasz, że uprawnione żądanie zostało zablokowane, skontaktuj się ze wsparciem, podając ID obszaru roboczego, ID wiadomości, znacznik czasu i kod dostawcy.
Następne kroki
- Log SMS: sprawdź wiadomość i jej historię dostarczenia.
- Zdarzenia SMS: odbieraj webhooki dostarczenia i błędów.
- Metryki SMS: przeglądaj zagregowane wyniki błędów.
- Błędy SMS API: interpretuj błędy zwracane przez żądanie API.
Powiązane zasoby
Przejdź do dokumentacji, przewodników i przykładów dotyczących tego tematu.