---
title: "API de SMS OTP para códigos de verificación"
description: "Envíe SMS OTP con una llamada REST y token bearer, Unicode y árabe, remitentes registrados, estados de entrega por webhook y respaldo por voz o WhatsApp."
canonical: "https://omnichannels.ai/es/channels/sms/otp-api/"
language: "es"
updated: "2026-10-10"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
---

# API de SMS OTP para códigos de verificación

Canonical: https://omnichannels.ai/es/channels/sms/otp-api/
Language: es
Publisher: OmniChannels.ai by BroadNet Technologies

Envíe contraseñas de un solo uso desde su backend con una sola petición HTTPS a la API REST de BroadNet. Su aplicación genera y comprueba el código; nosotros lo entregamos desde un remitente registrado por rutas directas a operadores e informamos de cada estado a su webhook.

**Respuesta breve:** Para enviar una OTP por SMS con OmniChannels.ai, su backend genera el código y llama a POST /sms/sendSms en https://api.broadnet.me con un token bearer, su remitente, el número y el mensaje. La API devuelve un ID de mensaje y los estados de entrega llegan a su webhook. Admite Unicode y árabe, con WhatsApp o voz como respaldo.

## Qué ofrece la API SMS OTP a los desarrolladores

- **Una llamada REST por código:** POST /sms/sendSms con un cuerpo JSON y un token bearer. La respuesta es el ID de mensaje, que usted guarda junto al intento de verificación.
- **Estados de entrega por webhook:** Reciba SUBMITTED, SENT, DELIVERED, FAILED y REJECTED en un único formato normalizado, para saber cuándo ofrecer un reenvío o cambiar de canal.
- **Códigos en Unicode y árabe:** Ponga messageType en UNICODE para el árabe u otros alfabetos. POST /sms/identify devuelve la codificación y el número de segmentos antes del envío.
- **Remitentes registrados:** Envíe desde un remitente alfanumérico registrado para tráfico transaccional en los mercados que lo exigen, como EAU y Arabia Saudí.
- **Consulta del número antes de enviar:** POST /sms/lookup comprueba un número en la red (HLR y MNP) y le ayuda a descartar números no válidos antes de pagar por enviar un código.
- **Respaldo por WhatsApp y voz:** Recurra a una plantilla de autenticación de WhatsApp o a una llamada de voz cuando el SMS no se entrega o el código no se introduce.
- **SMPP para volúmenes muy altos:** Si ya usa un cliente SMPP, envíe las OTP por SMPP 3.4 con TLS por las mismas rutas y reciba los informes de entrega (DLR) en la sesión.
- **SDK y servidor MCP:** Use el SDK de TypeScript @broadnet/cpaas-sdk, la especificación OpenAPI 3.1 o el servidor MCP para agentes de IA.

## Qué hace su código y qué hace la API

| Elemento | Detalles |
|---|---|
| Generar el código | Su backend crea un código aleatorio, guarda un hash con su caducidad y limita los intentos por número, dispositivo y dirección IP. |
| Enviar el SMS | POST /sms/sendSms con senderId, destinationNumber (prefijo del país más el número, solo dígitos), message y messageType. |
| Seguir la entrega | Guarde el ID de mensaje devuelto y asócielo a los estados del webhook. Si no llega DELIVERED dentro de su tiempo de espera, puede activar un respaldo. |
| Verificar el código | Su backend compara lo que tecleó el usuario con el hash guardado. La plataforma nunca comprueba ni almacena su estado de verificación. |
| Recurrir al respaldo | Reenvíe por WhatsApp con una plantilla de autenticación, o mediante una llamada de voz, que nuestro equipo aprovisiona con usted. |
| Precio | Se cobra por segmento de SMS según el destino, a las tarifas publicadas de BroadNet, sin cuota de alta ni mínimo mensual. Consulte los precios de SMS por país. |

## Cómo integrar la API SMS OTP

1. **Obtenga su token:** Solicite acceso; se emite un token bearer para su cuenta y los mensajes de prueba van a sus propios números verificados.
2. **Registre un remitente:** Elija un remitente transaccional y regístrelo en los países que lo exigen antes de pasar a producción.
3. **Redacte el mensaje:** Ponga primero el código, nombre su marca, indique la caducidad y añada un aviso de no compartirlo. Que quepa en un segmento.
4. **Envíe y haga seguimiento:** Llame a POST /sms/sendSms, guarde el ID de mensaje y procese los estados del webhook de forma idempotente.
5. **Añada respaldo y límites:** Añada WhatsApp o voz como paso siguiente y limite la frecuencia de peticiones para frenar el SMS pumping antes del lanzamiento.

## Cuándo encaja la API SMS OTP

### Encaja bien cuando

- Integra la verificación de registros, inicios de sesión o pagos en su propia app y quiere control total del código.
- Necesita OTP hacia EAU, Arabia Saudí y otros mercados del Golfo y de Oriente Medio y Norte de África, en árabe e inglés.
- Quiere una sola API para SMS ahora y respaldo por WhatsApp, RCS o voz más adelante.
- Prefiere REST y webhooks, con SMPP disponible cuando crezcan los volúmenes.

### Conviene saber antes de empezar

- No hay un endpoint de verificación alojado: su aplicación genera, guarda y comprueba el código.
- Nuestro equipo revisa el acceso a producción; no hay alta instantánea en autoservicio.
- El registro del remitente tarda días en algunos países, así que inícielo antes de su fecha de lanzamiento.
- Los endpoints de OTP son objetivo del fraude de SMS pumping; las listas de países permitidos, los límites de frecuencia y los controles antibots son responsabilidad de su app.

## Preguntas sobre la API SMS OTP

### ¿Cómo envío un SMS OTP con la API?

Genere el código en su backend y llame a POST https://api.broadnet.me/sms/sendSms con una cabecera Authorization: Bearer y un cuerpo JSON con senderId, destinationNumber, message y messageType. La respuesta es el ID de mensaje, y los estados de entrega llegan a su webhook.

### ¿La API genera y verifica el código por mí?

No. Su aplicación genera el código, guarda un hash con su caducidad y comprueba lo que introduce el usuario. Mantener la verificación en su propio sistema significa que la lógica del código, los límites de intentos y el registro de auditoría siguen bajo su control.

### ¿Puedo enviar SMS OTP en árabe?

Sí. Ponga messageType en UNICODE. Un SMS en árabe admite 70 caracteres por segmento, así que mantenga el mensaje breve. Puede llamar antes a POST /sms/identify para conocer la codificación y el número de segmentos.

### ¿Cuál es el mejor formato para un SMS OTP?

Empiece por el código, nombre su marca, indique la caducidad y advierta al usuario de que nunca lo comparta, todo en un segmento. Use un remitente transaccional y no incluya ofertas, para que las redes no filtren el mensaje como marketing.

### ¿Qué hago si el SMS OTP no se entrega?

Vigile los estados del webhook para ese ID de mensaje. Si no ve DELIVERED, o el usuario no introduce el código dentro de su tiempo de espera, ofrezca un reenvío o cambie a WhatsApp o a una llamada de voz. No reintente indefinidamente al mismo número.

### ¿Cómo protejo mi endpoint de OTP del SMS pumping?

Permita solo los países en los que opera, limite la frecuencia por número, dispositivo y dirección IP, añada un control antibots en los formularios públicos y configure alertas ante picos de peticiones hacia prefijos inusuales. Consultar el número antes de enviar también ayuda a descartar números no válidos.

### ¿Cuánto cuesta un SMS OTP?

El SMS OTP se cobra por segmento a la tarifa del destino. Las tarifas orientativas de BroadNet por país están en las páginas de precios de SMS, por ejemplo desde 0,0123 US$ por segmento hacia EAU. No hay cuota de alta ni mínimo mensual; su presupuesto confirma las tarifas.

### ¿Hay un entorno de pruebas (sandbox)?

El acceso de prueba envía a sus propios números verificados con la misma API, así que prueba la entrega y los estados reales antes de producción. No hay un sandbox público independiente ni alta instantánea en autoservicio.

Actualizado: 2026-10-10