SMS

Perché i miei messaggi SMS vengono filtrati dai carrier?

Il filtraggio dei carrier può impedire la consegna quando un messaggio, un mittente o un pattern di traffico non supera i controlli della rete.

Un messaggio SMS accettato può comunque fallire a causa di un numero non valido, di un terminale irraggiungibile o di un problema di rete. Il record del messaggio, l'evento di consegna e l'errore restituito aiutano a distinguere questi esiti dal filtraggio.

Come indago su un sospetto filtraggio?

Confronti il record del messaggio con i relativi eventi SMS. L’evento descrive l’esito; l’errore e i dettagli del fornitore aiutano a spiegarlo.

EventoCosa indica l'evento
sms.rejectedL'elaborazione o un provider a valle ha rifiutato il messaggio accettato.
sms.failedÈ stato segnalato un fallimento permanente.
sms.undeliveredÈ stato segnalato un fallimento recuperabile, come un abbonato irraggiungibile o un problema di rete.
sms.expiredIl provider ha segnalato la scadenza.

Nessun evento da solo dimostra il filtraggio. Nella mappatura delle ricevute di consegna di Bird, un motivo del provider pari a carrier_rejected diventa content_rejected. Un motivo non mappato diventa unknown, che richiede indagine e può avere una causa non correlata. Lo stato di una ricevuta determina l'evento separatamente dal suo motivo, quindi un rifiuto del carrier può accompagnare eventi di fallimento diversi.

Il catalogo degli errori definisce blocked_by_carrier e sender_unregistered. La loro assenza non esclude il filtraggio: Bird associa carrier_rejected a content_rejected e le cause non mappate a unknown. Controlla il codice effettivamente restituito, conserva i valori sconosciuti e mantieni i dettagli del fornitore.

Quali dettagli devo salvare?

Conserva l'ID del messaggio, il mittente, la destinazione, l'orario di invio, il tipo di evento, il error.code normalizzato, la descrizione e carrier_error_code. Raggruppa i fallimenti per destinazione, mittente e tipo di messaggio; un singolo fallimento fornisce meno evidenze di un cambiamento che interessa un gruppo coerente di invii.

Il codice normalizzato è il campo stabile per la gestione nella tua applicazione. La descrizione è testo diagnostico, quindi non analizzarla come un contratto fisso. carrier_error_code contiene il codice più dettagliato del provider di invio quando disponibile; non è garantito che sia il codice proprio del carrier mobile. Può essere vuoto quando il provider non ne fornisce uno o quando il fallimento avviene prima del passaggio al provider.

Ad esempio, content_rejected ti orienta verso il rifiuto segnalato, invalid_destination verso il numero del destinatario e provider_unavailable verso il risultato di rete o di capacità. unknown lascia la causa irrisolta. Condividi l'ID del messaggio e il codice del provider disponibile con il supporto quando questi dettagli non spiegano il fallimento.

Registrare il mio mittente previene il filtraggio?

La registrazione soddisfa il programma di mittente applicabile; non garantisce la consegna. Il mittente deve anche essere idoneo per la destinazione, e il messaggio e il traffico devono rispettare i requisiti pertinenti.

Per la messaggistica A2P negli Stati Uniti con numeri locali, controlla la registrazione 10DLC completa: brand, campaign e associazione del numero. Un brand o una campaign approvati non collegano da soli tutti i numeri che possiedi. I programmi per numeri toll-free e short code hanno requisiti diversi. Altre destinazioni possono richiedere la registrazione del nome del mittente.

Usa le destinazioni SMS per pianificare la scelta del mittente, poi conferma i requisiti applicabili e lo stato di registrazione del tuo spazio di lavoro prima del lancio. Una guida per paese è un'istantanea di riferimento, non la prova che il tuo mittente sia approvato.

Cosa devo fare in caso di fallimento per opt-out?

Preserva la preferenza. Un invio a una coppia mittente-destinatario soppressa da Bird viene rifiutato al API con E12077; quel rifiuto non crea né un messaggio né un evento messaggio. Un report a valle di recipient_opted_out è diverso: è un esito per un messaggio accettato e fa sì che Bird registri una soppressione per la coppia.

Le parole chiave di disiscrizione supportate possono creare blocchi per coppia mittente-destinatario. Questi eventi non rappresentano tutte le preferenze dello spazio di lavoro né tutte le richieste ricevute dall’assistenza clienti. Includi queste preferenze più ampie nella selezione del pubblico. Non cambiare mittente per aggirare una disiscrizione.

Cosa devo controllare prima di riprovare?

  1. Prontezza del mittente. Conferma il tipo di mittente, la registrazione e l'accesso alla destinazione richiesti per questo traffico.
  2. Consenso e pertinenza. Conferma che la persona abbia acconsentito a questo scopo e non abbia revocato quel consenso.
  3. Contenuto e link. Identifica chiaramente l'azienda, usa link appropriati e rivedi i requisiti di contenuto della destinazione. Cambiare solo un link non può stabilire l'idoneità alla consegna.
  4. Traffico e tempistiche. Confronta gli invii falliti con il tuo pattern abituale, l'accodamento e i limiti della rotta. Reinviare ripetutamente lo stesso contenuto rifiutato può aggiungere costi senza risolvere la causa.
  5. Il fallimento segnalato. Indaga sui rifiuti permanenti prima di inviare di nuovo. Per una risposta API ambigua, riutilizza la chiave di idempotenza originale entro la sua finestra di replay; non trasformare l'incertezza in una seconda richiesta automaticamente.

Il routing SMS applica i controlli di destinazione prima del passaggio all’operatore. Un’integrazione SMS segue ogni richiesta accettata attraverso il record del messaggio e gli eventi di consegna.

In breve

  1. Una consegna fallita è un punto di partenza per l'indagine.

    L’evento, l’errore normalizzato e i dettagli del fornitore descrivono il fallimento. Una causa sconosciuta non dimostra un filtraggio dell’operatore.

  2. La registrazione è un requisito, non una garanzia di consegna.

    Controlla mittente, destinazione, contenuto, consenso e pattern di traffico prima di decidere cosa modificare.

  3. Un opt-out è una preferenza da preservare.

    Distingui un rifiuto di API per una coppia soppressa da un report di opt-out a valle e rispetta l'intera portata della richiesta della persona.

  4. Conserva le prove insieme al messaggio.

    Salva l'ID del messaggio, la destinazione, il mittente, l'orario, l'evento e i dettagli dell'errore per poter indagare su un pattern o aprire un caso di supporto utile.

Costruisci sulla stessa rete.

Una chiave API di test è subito tua. L'accesso alla produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

La tua prossima idea.
Pronta a partire.