# Интеграция OTP API

> Отправляйте одноразовые коды по SMS (POST /sms/sendSms) или через шаблоны аутентификации WhatsApp (POST /whatsapp/message/sendbulk). Генерируйте и проверяйте код в своем приложении, а доставку отслеживайте через веб-хуки DLR.

- Канонический URL: https://www.broadnet.me/ru/developers/otp
- Язык: ru
- Последнее обновление: 2026-10-21
- Издатель: BroadNet (https://www.broadnet.me)

Отправляйте одноразовые пароли, используя те же конечные точки, что и для любых сообщений. Сгенерируйте код в своей административной панели, отправьте его методом POST /sms/sendSms (или в качестве шаблона аутентификации WhatsApp методом POST /whatsapp/message/sendbulk) и сравните введенный пользователем код с сохраненным вами кодом. Для генерации и проверки кодов в качестве управляемой услуги см. страницу продукта OTP.

> **Размещайте код на стороне сервера.** Храните хеш кода с коротким сроком действия, ограничивайте количество попыток для каждого номера и никогда не возвращайте код в ответе API клиенту.

## Примеры

### 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.
```

Код генерируется и проверяется в вашем приложении; BroadNet его предоставляет.
