SMS

Dlaczego moje wiadomości SMS są filtrowane przez operatorów?

Filtrowanie przez operatora może uniemożliwić doręczenie, gdy wiadomość, nadawca lub wzorzec ruchu nie przejdzie kontroli sieci.

Zaakceptowana wiadomość SMS może mimo to nie dotrzeć z powodu nieprawidłowego numeru, nieosiągalnego urządzenia lub problemu sieciowego. Rekord wiadomości, zdarzenie doręczenia i zwrócony błąd pomagają odróżnić te wyniki od filtrowania.

Jak zbadać podejrzenie filtrowania?

Porównujesz rekord wiadomości z jej zdarzeniami SMS. Zdarzenie opisuje wynik; błąd i szczegóły dostawcy pomagają go wyjaśnić.

ZdarzenieCo mówi zdarzenie
sms.rejectedPrzetwarzanie lub dostawca dalej w łańcuchu odrzucił zaakceptowaną wiadomość.
sms.failedZgłoszono trwały błąd.
sms.undeliveredZgłoszono błąd tymczasowy, np. nieosiągalny abonent lub problem sieciowy.
sms.expiredDostawca zgłosił wygaśnięcie.

Żadne pojedyncze zdarzenie nie dowodzi filtrowania. W mapowaniu potwierdzeń doręczenia Bird powód dostawcy carrier_rejected staje się content_rejected. Niezmapowany powód staje się unknown, co wymaga analizy i może mieć niezwiązaną przyczynę. Status potwierdzenia wyznacza zdarzenie niezależnie od powodu, więc odrzucenie przez operatora może towarzyszyć różnym zdarzeniom błędów.

Katalog błędów definiuje blocked_by_carrier i sender_unregistered. Ich brak nie wyklucza filtrowania: Bird mapuje carrier_rejected na content_rejected, a nierozpoznane przyczyny na unknown. Sprawdź faktycznie zwrócony kod, zachowaj nieznane wartości i szczegóły dostawcy.

Które szczegóły zapisywać?

Zachowuj identyfikator wiadomości, nadawcę, kraj docelowy, czas wysyłki, typ zdarzenia, znormalizowany error.code, opis i carrier_error_code. Grupuj błędy według kraju docelowego, nadawcy i typu wiadomości; pojedynczy błąd daje mniej dowodów niż zmiana dotycząca spójnej grupy wysyłek.

Znormalizowany kod to stabilne pole do obsługi w aplikacji. Opis to tekst diagnostyczny, więc nie parsuj go jako stałego kontraktu. carrier_error_code zawiera bardziej szczegółowy kod dostawcy wysyłkowego, jeśli został przekazany; nie ma gwarancji, że jest to własny kod operatora mobilnego. Może być pusty, gdy dostawca go nie przekazał lub gdy błąd wystąpił przed przekazaniem do dostawcy.

Na przykład content_rejected wskazuje na zgłoszone odrzucenie, invalid_destination na numer odbiorcy, a provider_unavailable na wynik sieciowy lub pojemnościowy. unknown pozostawia przyczynę niewyjaśnioną. Przekaż identyfikator wiadomości i dostępny kod dostawcy do wsparcia, gdy te szczegóły nie wyjaśniają błędu.

Czy rejestracja nadawcy zapobiega filtrowaniu?

Rejestracja spełnia wymagania odpowiedniego programu nadawcy; nie gwarantuje doręczenia. Nadawca musi być też uprawniony do danego kraju docelowego, a wiadomość i ruch muszą spełniać właściwe wymagania.

W przypadku amerykańskiej wysyłki A2P z numerów lokalnych sprawdź pełną rejestrację 10DLC: markę, kampanię i powiązanie numeru. Zatwierdzona marka lub kampania sama w sobie nie wiąże każdego posiadanego numeru. Programy toll-free i short-code mają inne wymagania. Inne kraje docelowe mogą wymagać rejestracji nazwy nadawcy.

Użyj krajów docelowych SMS, aby zaplanować wybór nadawcy, a następnie potwierdź obowiązujące wymagania i stan rejestracji swojego obszaru roboczego przed uruchomieniem. Przewodnik po krajach to migawka referencyjna, nie dowód, że Twój nadawca jest zatwierdzony.

Co zrobić z błędem rezygnacji?

Zachowaj preferencję. Wysyłka do pary nadawca-odbiorca wykluczonej przez Bird jest odrzucana na poziomie API z kodem E12077; to odrzucenie nie tworzy wiadomości ani zdarzenia wiadomości. Raport recipient_opted_out z dalszego łańcucha to co innego: jest wynikiem dla zaakceptowanej wiadomości i powoduje, że Bird zapisuje wykluczenie dla tej pary.

Obsługiwane słowa kluczowe rezygnacji mogą tworzyć blokady dla par nadawca–odbiorca. Zdarzenia blokad na poziomie par nie reprezentują każdej preferencji obszaru roboczego ani każdego zgłoszenia do obsługi klienta. Uwzględnij te szersze preferencje przy wyborze odbiorców. Nie zmieniaj nadawcy, aby obejść rezygnację.

Co sprawdzić przed ponowną wysyłką?

  1. Gotowość nadawcy. Potwierdź typ nadawcy, rejestrację i dostęp do kraju docelowego wymagane dla tego ruchu.
  2. Zgoda i trafność. Potwierdź, że osoba wyraziła zgodę na ten cel i jej nie wycofała.
  3. Treść i linki. Wyraźnie identyfikuj firmę, używaj odpowiednich linków i sprawdź wymagania dotyczące treści dla danego kraju. Sama zmiana linku nie zapewnia uprawnień do doręczenia.
  4. Ruch i czas. Porównaj nieudane wysyłki z normalnym wzorcem, kolejkowaniem i limitami trasy. Wielokrotne wysyłanie tej samej odrzuconej treści może zwiększać koszty bez usuwania przyczyny.
  5. Zgłoszony błąd. Zbadaj trwałe odrzucenia przed ponowną wysyłką. W przypadku niejednoznacznej odpowiedzi API użyj ponownie oryginalnego klucza idempotentności w jego oknie powtórzenia; nie zamieniaj niepewności w automatyczne drugie żądanie.

Routing SMS stosuje kontrole miejsca docelowego przed przekazaniem operatorowi. Integracja SMS śledzi każde zaakceptowane żądanie przez rekord wiadomości i zdarzenia doręczenia.

W skrócie

  1. Nieudane doręczenie to punkt wyjścia do analizy.

    Zdarzenie, znormalizowany błąd i szczegóły dostawcy opisują niepowodzenie. Nieznana przyczyna nie dowodzi filtrowania przez operatora.

  2. Rejestracja to jedno wymaganie, nie gwarancja doręczenia.

    Sprawdź nadawcę, kraj docelowy, treść, zgodę i wzorzec ruchu, zanim zdecydujesz, co zmienić.

  3. Rezygnacja to preferencja, którą należy zachować.

    Odróżnij odrzucenie API dla wykluczonej pary nadawca-odbiorca od raportu rezygnacji z dalszego łańcucha i respektuj pełen zakres żądania danej osoby.

  4. Zachowuj dowody razem z wiadomością.

    Zapisuj identyfikator wiadomości, kraj docelowy, nadawcę, czas, zdarzenie i szczegóły błędu, aby móc zbadać wzorzec lub zgłosić użyteczny przypadek do wsparcia.

Buduj na tej samej sieci.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i zweryfikowaniu nadawcy.

Twój kolejny pomysł.
Gotowy do połączenia.