Skip to main content
Status que o FireFlo retorna em submit_sm_resp além do conjunto SMPP padrão. Esta é a lista inteira.

O que cada um deliberadamente não é

0x402 não é ESME_RTHROTTLED. Throttled diz ao cliente para fazer backoff e tentar de novo, o que é exatamente errado para uma condição que só um top-up ou uma fatura pode resolver. Um cliente que retenta uma recusa de crédito queima sua própria capacidade sem conseguir nada.
Pré-pago e pós-pago recusam de forma idêntica. 0x402 em SMPP, 402 com insufficientCredit em HTTP, seja qual for o modo em que a conta está. A integração de um cliente não precisa saber em qual está.
0x14 é um sinal de backpressure bem-comportado. Um ESME que o respeita faz backoff e retenta. Esta é a única recusa aqui que um cliente deve retentar. 0x40F carrega um código e duas linhas WARN distintas. Produto em branco versus nome desconhecido. O cliente só vê o número, então o log é onde os dois são distinguidos.

Classificação do lado do fornecedor

Códigos que um fornecedor retorna são classificados por status.retry.worker e status.retry.router. Veja Configurações de fornecedor. ESME_RSUBMITFAIL (0x45, decimal 69) é tratado como permanente. É genuinamente ambíguo entre SMSCs. Alguns significam sobrecarga transitória. Então é um opt-back-in por fornecedor em vez de uma reclassificação global.

Onde uma recusa é registrada

Nada recusado na entrada é cobrado. O caminho REST cobra antes de publicar, então uma recusa por fila-cheia lá dá refund; o caminho SMPP recusa antes de aceitar, então não há o que reembolsar. Veja Recusas para lê-las de volta.