BroadNet
Documentación·/troubleshooting-saudi-delivery

¿Por qué fallan mis mensajes SMS en Arabia Saudita?.

Los SMS a Arabia Saudita (KSA) suelen fallar porque el identificador del remitente no está registrado en la CST (anteriormente CITC), el mensaje se interpreta como publicidad enviada fuera del horario permitido o el número o la codificación son incorrectos. KSA aplica normas estrictas de registro de identificadores de remitente y contenido; el tráfico no registrado o que no cumple con las normas se bloquea. Registre el identificador del remitente a través de una ruta autorizada, respete el horario de silencio publicitario y formatee los números como 9665XXXXXXXX.

Lectura de 5 minutos·Actualizado en mayo de 2026Centro de desarrolladores

Overview

Los SMS a Arabia Saudita (KSA) suelen fallar porque el identificador del remitente no está registrado en la CST (anteriormente CITC), el mensaje se interpreta como publicidad enviada fuera del horario permitido o el número o la codificación son incorrectos. KSA aplica normas estrictas de registro de identificadores de remitente y contenido; el tráfico no registrado o que no cumple con las normas se bloquea. Registre el identificador del remitente a través de una ruta autorizada, respete el horario de silencio publicitario y formatee los números como 9665XXXXXXXX.

El ID del remitente no está registrado en el CST.

El organismo regulador de Arabia Saudita, la Comisión de Comunicaciones, Espacio y Tecnología (CST, anteriormente CITC), exige que cada ID de remitente A2P esté registrado, y STC, Mobily y Zain KSA solo realizan envíos bajo esta condición. Un ID de remitente no registrado devuelve el código HTTP06 (ID de remitente no válido) o es descartado por la red. BroadNet gestiona el registro de la CST: envíe únicamente con el ID de remitente aprobado en el SID. Los nombres de parámetros (sid, mno, type) y los códigos de error HTTPxx de esta página corresponden a la API HTTP heredada (/websmpp); en la API REST con token Bearer (POST /sms/sendSms) los equivalentes son senderId, destinationNumber y messageType (UNICODE para árabe).

  • CST (ex-CITC) requiere ID de remitente A2P registrados.
  • STC, Mobily y Zain KSA realizan entregas únicamente en rutas registradas.
  • No registrado → HTTP06 o una caída de red.
  • Enviar con el ID de remitente aprobado por CST en sid.

Contenido de marketing y horas tranquilas

KSA separa el tráfico transaccional del promocional y restringe el marketing a las horas diurnas permitidas. Los mensajes promocionales suelen requerir un ID de remitente registrado distinto y la opción de exclusión voluntaria. Un mensaje promocional enviado con un ID de remitente transaccional o fuera del horario permitido puede filtrarse. Mantenga el tráfico transaccional estrictamente informativo, realice campañas de marketing en listas de suscriptores y utilice el ID de remitente correcto para cada canal.

  • Las transacciones y el marketing se tratan por separado.
  • La comercialización se limita al horario diurno permitido.
  • El tráfico promocional necesita un identificador de remitente único y una opción para darse de baja.
  • No envíes contenido promocional con un ID de remitente transaccional.

Formato numérico y codificación árabe

Introduzca los números de destino en mno como código de país 966 más el número nacional, solo dígitos, omitiendo cualquier 0, + o 00 inicial; de lo contrario, recibirá HTTP09 (Dirección de destino no válida). Para contenido en árabe, use type=4 (70 caracteres por segmento) o type=2 para Unicode; type=1 corrompe el árabe. Envíe en UTF-8 y codificado en URL.

  • Formato: 966 + número nacional, solo dígitos (p. ej., 9665XXXXXXXX).
  • Números con formato incorrecto → HTTP09.
  • Árabe: tipo=4 (70 caracteres); Unicode: tipo=2; nunca tipo=1 para árabe.
  • El cuerpo debe estar en UTF-8 y codificado para URL.

Confirmar entrega y saldo

Antes de dar por hecho el éxito, compruebe el DLR: DELIVRD frente a UNDELIV, coincidentes por MessageId o BatchId, mediante su webhook o una consulta de estado (API HTTP heredada: /websmpp/websmsstatus). Si un lote completo no se procesa, verifique los créditos (HTTP18 indica saldo insuficiente) y confirme que la ruta y el ID del remitente estén aprobados para KSA.

  • Lea el estado del DLR (DELIVRD / UNDELIV).
  • Consulte el estado bajo demanda (API HTTP heredada: /websmpp/websmsstatus) si no se han configurado los webhooks.
  • El fallo de todo el lote puede deberse a HTTP18 (créditos insuficientes).
  • Vuelva a confirmar que el ID del remitente esté aprobado por CST para Arabia Saudita.
Acceso de prueba · respuesta en un día hábil

Solicita acceso de prueba y desarrolla con confianza.

Le enviaremos las credenciales de prueba en un plazo de un día hábil. A continuación, instale el SDK TypeScript o llame a la API REST desde cualquier lenguaje y envíe su primer mensaje de prueba a su propio número.

$npm install @broadnet/cpaas-sdk axiosready