# Integración de la API de OTP

> Envíe códigos de un solo uso por SMS (POST /sms/sendSms) o con plantillas de autenticación de WhatsApp (POST /whatsapp/message/sendbulk). Genere y verifique el código en su propia aplicación y siga la entrega mediante webhooks de DLR.

- URL canónica: https://www.broadnet.me/es/developers/otp
- Idioma: es
- Última actualización: 2026-10-21
- Editor: BroadNet (https://www.broadnet.me)

Envía códigos de acceso de un solo uso con los mismos puntos de acceso que utilizas para cualquier mensaje. Genera el código en tu servidor, envíalo con POST /sms/sendSms (o como plantilla de autenticación WhatsApp con POST /whatsapp/message/sendbulk) y verifica que el usuario escriba el código que has almacenado. Para la generación y validación de códigos como servicio gestionado, consulta la página del producto OTP.

> **Mantén el código en el servidor.** Almacene un hash del código con un tiempo de caducidad corto, limite los intentos por número y nunca devuelva el código en una respuesta API al cliente.

## Ejemplos

### otp.ts

```typescript
import { randomInt } from "node:crypto";
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";

const sms = new SMSSMSApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

// 1. Generate and store the code (hash it, with an expiry).
const code = String(randomInt(100000, 1000000));
await otpStore.save("447700900123", code, { ttlSeconds: 300 });

// 2. Send it as a normal SMS.
await sms.smsSendsmsPost({
  sMSSmsRequest: {
    senderId: "BroadNet",
    destinationNumber: "447700900123",
    message: `Your verification code is ${code}`,
    messageType: "TEXT",
  },
});

// 3. Later: compare the code the user typed with the stored one.
```

El código se genera y se verifica en su aplicación; BroadNet se encarga de su entrega.
