BroadNet
Documentação·/troubleshooting-saudi-delivery

Porque as minhas mensagens SMS não estão a ser enviadas na Arábia Saudita?.

O envio de SMS para a Arábia Saudita (KSA) geralmente falha porque o ID do remetente não está registado no CST (antigo CITC), a mensagem é interpretada como marketing enviado fora do horário permitido ou o número ou a codificação estão incorretos. A Arábia Saudita aplica regras rigorosas de registo de ID do remetente e conteúdo — o tráfego não registado ou não compatível é bloqueado. Registe o ID do remetente por meio de uma rota licenciada, respeite os horários de silêncio para marketing e formate os números como 9665XXXXXXXX.

5 minutos de leitura·Atualizado em maio de 2026Centro de desenvolvedores

Overview

O envio de SMS para a Arábia Saudita (KSA) geralmente falha porque o ID do remetente não está registado no CST (antigo CITC), a mensagem é interpretada como marketing enviado fora do horário permitido ou o número ou a codificação estão incorretos. A Arábia Saudita aplica regras rigorosas de registo de ID do remetente e conteúdo — o tráfego não registado ou não compatível é bloqueado. Registe o ID do remetente por meio de uma rota licenciada, respeite os horários de silêncio para marketing e formate os números como 9665XXXXXXXX.

ID do remetente não registado no CST

A Comissão de Comunicações, Espaço e Tecnologia (CST, anteriormente CITC), órgão regulador da Arábia Saudita, exige que todos os IDs de remetente A2P sejam registados, e a STC, Mobily e Zain KSA só realizam entregas com base nesse registo. Um ID de remetente não registado devolve HTTP06 (ID de remetente inválido) ou é descartado pela rede. A BroadNet gere o registo na CST — envie mensagens somente com o ID de remetente aprovado no sid. Os nomes de parâmetros (sid, mno, type) e os códigos de erro HTTPxx desta página são os da API HTTP legada (/websmpp); na API REST com token Bearer (POST /sms/sendSms), os equivalentes são senderId, destinationNumber e messageType (UNICODE para árabe).

  • CST (ex-CITC) requer IDs de remetente A2P registados.
  • A STC, Mobily e Zain KSA realizam entregas apenas em rotas registadas.
  • Não registado → HTTP06 ou queda de rede.
  • Envie com o ID do remetente aprovado pelo CST em sid.

Conteúdo de marketing e horários de silêncio

A KSA separa o tráfego transacional do promocional e restringe o marketing ao horário diurno permitido. As mensagens promocionais geralmente exigem um ID de remetente registado distinto e a opção de cancelamento de subscrição (opt-out) respeitada. Uma mensagem promocional enviada com um ID de remetente transacional ou fora do horário permitido pode ser filtrada. Mantenha o tráfego transacional estritamente informativo, realize marketing numa lista de contactos que optaram por recebê-lo e use o ID de remetente correto para cada fluxo.

  • Transacional e marketing são tratados separadamente.
  • A comercialização está limitada ao horário diurno permitido.
  • O tráfego promocional precisa de um ID de remetente distinto e uma opção de cancelamento de subscrição.
  • Não envie conteúdo promocional usando um ID de remetente transacional.

Formato de números e codificação arábica

Insira os números de destino no formato mno como o código do país 966 mais o número nacional, apenas dígitos, removendo quaisquer 0, + ou 00 iniciais — caso contrário, você receberá o erro HTTP 09 (Endereço de Destino Inválido). Para conteúdo em árabe, use type=4 (70 caracteres por segmento) ou type=2 para Unicode; type=1 corrompe o árabe. Envie em UTF-8 e codificado em URL.

  • Formato: 966 + número nacional, somente dígitos (ex.: 9665XXXXXXXX).
  • Números malformados → HTTP09.
  • Árabe: tipo=4 (70 caracteres); Unicode: tipo=2; nunca tipo=1 para árabe.
  • O corpo da mensagem deve estar em UTF-8 e codificado em URL.

Confirme a entrega e o saldo.

Verifique o DLR antes de presumir sucesso: DELIVRD vs UNDELIV, correspondendo por MessageId ou BatchId, através do seu webhook ou de uma consulta de status (API HTTP legada: /websmpp/websmsstatus). Se um lote inteiro não for transferido, verifique os créditos — HTTP18 indica saldo insuficiente — e confirme se a rota e o ID do remetente estão aprovados para a Arábia Saudita.

  • Leia o status do DLR (ENTREGUE / NÃO ENTREGUE).
  • Consulte o status a pedido (API HTTP legada: /websmpp/websmsstatus) se os webhooks não estiverem configurados.
  • A falha de todo o lote pode resultar no erro HTTP18 (créditos insuficientes).
  • Confirme se o ID do remetente está aprovado pelo CST para a Arábia Saudita.
Acesso de teste · resposta no prazo de um dia útil

Solicite acesso para testes e desenvolva com confiança.

Responderemos em até um dia útil com as credenciais de teste. Em seguida, instale o SDK TypeScript ou aceda à API REST de qualquer linguagem e envie a sua primeira mensagem de teste para o seu próprio número.

$npm install @broadnet/cpaas-sdk axiosready