BroadNet
MyOTP.App · виджет для добавления элементов

Готовая OTP-верификация для любого приложения.

MyOTP.App — это готовый виджет верификации, который встраивается в веб- и мобильные приложения простой вставкой кода. Ввод номера, перехват кода, повторная попытка, голосовой резервный канал и защита от мошенничества — всё на прямых операторских маршрутах OTP от BroadNet и за одним тегом скрипта.

5-минутная интеграция Более 30 языков ISO 27001
Доставлено за
2.1s
Подтверждено
Подтвердите свой номер
myotp.app
шаг 3 / 3
Номер телефона
+971 50 ••• 4567
Код подтверждения
4
8
2
9
1
2
SMS · доставлено за 2,1 сПовторная отправка через 0:24
Пользователь подтверждён
token · jwt.eyJhcHAiOiJhcHBfO…
Работает на MyOTP.App
сквозное подписание
Интеграция
5 min
Вставьте один тег <script> и один тег <div>.
Языки
30+
Локализованный текст пользовательского интерфейса "из коробки".
Этикетка
White
Ваш отправитель, ваши цвета, ваш домен
SLA по доступности
99.99%
Доступность платформы по договору
От пасты до подписанного JWT

Один тег скрипта,
пять выверенных сетевых переходов.

Виджет представляет собой интеграцию. В основе каждой проверки лежат маршруты BroadNet, использующие только одноразовые пароли (OTP) — средняя скорость доставки менее 5 секунд, предварительная проверка HLR и резервный вариант голосовой связи уже интегрированы.

  1. 01 · Widget
    Скрипт + div

    12-килобайтный JS-виджет монтируется в любой div с атрибутом data-myotp. Поле ввода номера телефона, тема оформления и локаль считываются из атрибутов data-*. Не требуется писать конечный автомат.

    Mount < 80ms
  2. 02 · App ID
    Проверить сессию

    Виджет отправляет POST-запросы в сервис проверки MyOTP с указанием вашего app_id. Проверка источника, закрепление CORS, ограничение скорости для каждого IP-адреса и для каждой сессии.

    p50 < 60ms
  3. 03 · Channel
    SMS, Telegram или голосовой звонок

    Канал выбирается в соответствии с политикой вашей учетной записи. Предварительная проверка HLR исключает неактивные номера; если SMS DLR не проходит проверку, срабатывает резервный голосовой канал.

    p50 < 1.4s
  4. 04 · Code
    Пользователь вводит

    Автоматическое завершение из SMS-уведомления на iOS и Android. Ввод шести цифр, удобный для чтения, с учетом направления справа налево для арабского и иврита.

    UX, а не задержка
  5. 05 · Token
    Подпись JWT

    В случае успешной проверки виджет выдает вам кратковременный JWT (по умолчанию 5 минут). Перед предоставлением сессии проверьте подпись на своем сервере.

    p50 < 30ms
  6. ← webhook · server-of-truth JWT verify
Что находится в виджете?

Шесть вещей, которые вам не нужно строить.

Установите виджет, укажите идентификатор вашего приложения и запустите. Все, что описано ниже, уже включено — оформлено в соответствии с концепцией, локализовано и подключено к тому же пути доставки OTP, что и остальная часть сети BroadNet.

Встраиваемый JS-виджет

Один-единственный тег скрипта монтирует весь процесс проверки — ввод с телефона, захват кода, повторная попытка, резервный вариант с голосовым управлением. Никакой работы по проектированию, никаких конечных автоматов для подключения.

Пучок
12 kB
Устанавливать
<div>
Темы
Light · Dark

Нативные SDK

Собственные SDK для React, React Native, Flutter, iOS и Android — та же поверхность проверки, что и у веб-виджета, нативный рендеринг на каждой платформе.

Веб
React
Мобильный
iOS · Android
Гибридный
Flutter · RN

Фирменный отправитель

В регионах, где это разрешено, зарегистрируйте буквенно-цифровой идентификатор отправителя; в других регионах — цифровые длинные и короткие коды. Коды приходят на основе вашего имени, а не общего короткого кода.

Идентификатор отправителя
Зарегистрировано
Длинный код
Для каждой страны
Шаблоны
Для каждого языка

резервный вариант голосового управления

Если SMS-сообщение не возвращает подтверждение доставки в вашем окне, виджет автоматически переключается на голосовой вызов — та же сессия, тот же код.

Курок
<10s
ТТС
30+ языков
Расходы
За каждый участок вызова

Борьба с мошенничеством

Ограничения скорости, географические правила, репутация IP-адреса и предварительная проверка HLR блокируют мошенничество с одноразовыми паролями и переадресацию регистрационных сборов еще до того, как хотя бы одно сообщение покинет платформу.

Скорость
Для каждого пользователя
Гео
Разрешить / запретить
HLR
Встроенный

Панель аналитики

Успешность верификации, структура каналов сбыта, количество отказов по странам и среднее время доставки — все это отображается в режиме реального времени на панели управления и может быть экспортировано на ваш склад.

В реальном времени
В реальном времени
Экспорт
CSV · API
Удержание
12 мес.
Вставить фрагмент

Три строки HTML.
Один подтвержденный пользователь.

Виджет автоматически монтируется на любой элемент, помеченный соответствующими метками. data-myotp. В случае успеха возвращается кратковременный JWT-токен — проверьте его на своем сервере и начните сессию.

Независимый от фреймворка
Работает внутри React, Vue, Svelte, Rails, Laravel — везде, где можно вставить HTML.
Автоматическое создание тем оформления
Цвета наследуются от CSS-переменных; поставляется с предустановками для светлой, темной и фирменной цветовой гаммы.
В DOM отсутствуют персональные данные.
Коды и токены никогда не затрагивают состояние страницы — они находятся внутри закрытого iframe.
index.html
v1 · stable
1<!-- 1 · Drop the script on any page2       (the widget script URL is issued with your app_id) -->3<script src="MYOTP_WIDGET_SCRIPT_URL" async></script>4 5<!-- 2 · Mount the verify flow -->6<div7  data-myotp8  data-app-id="app_8f2c9b1e"9  data-locale="en"10  data-theme="light"11  data-on-verified="onUserVerified"12></div>13 14<!-- 3 · Handle the signed result -->15<script>16  function onUserVerified(result) {17    // result.token   — short-lived JWT, verify on your server18    // result.phone   — E.16419    // result.channel — "sms" | "voice"20    fetch("/api/session", {21      method: "POST",22      body: JSON.stringify({ token: result.token }),23    });24  }25</script>
Результат через обратный вызовReact · Flutter · iOS · Android SDKs
Истории клиентов

Три команды, завершившие карьеру
их собственный алгоритм проверки.

Застройщик недвижимости в Персидском заливеНедвижимость · Страны Персидского заливаAE

Задача: собственный процесс верификации отнимал время инженеров на постоянное сопровождение. Подход: виджет MyOTP заменил собственный интерфейс, а версии на арабском, английском и русском языках вышли параллельно.

Руководитель направления цифрового взаимодействия (ссылка под соглашением о неразглашении)
Финтех-платформа Юго-Восточной АзииФинтех · Азиатско-Тихоокеанский регионPH

Задача: большая пользовательская база работала с несколькими разными интерфейсами OTP в вебе и на мобильных устройствах без единой аналитики. Подход: единый Flutter SDK и веб-виджет стандартизировали верификацию на iOS, Android и в браузере.

Вице-президент по инженерным вопросам (информация предоставлена в соответствии с соглашением о неразглашении)
Пан-Ближневосточная авиакомпанияАвиакомпания · Ближний Восток и Северная АфрикаJO

Проблема: В пиковые сезоны пассажиры старшего возраста часто пропускают SMS-коды, что снижает конверсию бронирования. Подход: Виджет был развернут с включенной функцией голосового подтверждения на арабском языке в рамках той же сессии оформления заказа.

Руководитель направления цифровых продуктов (указание в условиях соглашения о неразглашении)
Согласие

Проведена проверка на соответствие установленным нормам трудозатрат.

Каждая проверка сопровождается журналом событий. Срок хранения и местонахождение настраиваются для каждого рабочего пространства, включая варианты для пользователей из стран Ближнего Востока и Северной Африки (MENA) для рабочих нагрузок, регулируемых законодательством стран Персидского залива.

ISO 27001
Сертифицированный специалист по управлению информационной безопасностью
соответствует GDPR
Вид на жительство в ЕС и соглашение об оказании защиты персональных данных предоставляются по запросу.
Вебхуки
Отправляется для каждого результата проверки
Житель региона MENA
Размещение данных в странах Персидского залива для регулируемых рабочих нагрузок
Вопросы, которые задают покупатели

MyOTP,
ответил прямо.

На статической странице от создания идентификатора приложения до подтверждения первого пользователя проходит менее 5 минут — достаточно вставить тег <script>, добавить div и написать один коллбэк. В одностраничном приложении (SPA) (React/Vue/Next.js) — 15–30 минут, включая установку SDK и проверку JWT на сервере. Интеграция мобильных SDK занимает 30–60 минут в зависимости от конфигурации сборки.

Тема оформления (светлая/темная/пользовательские CSS-переменные), фирменный цвет, URL логотипа, акцентный цвет, семейство шрифтов, текст для каждой строки пользовательского интерфейса в каждой локали, идентификатор отправителя для каждой страны, время резервного голосового ответа, политика повторных попыток и переопределения CSS для самого модального окна. Виджет представляет собой веб-компонент Shadow DOM — CSS вашей страницы никогда не будет просачиваться внутрь.

Да. Нет значка «powered by MyOTP». Код доставляется через ваш идентификатор отправителя, iframe размещается на вашем домене (настройка CNAME), модальное окно отображается с вашим логотипом и фирменными цветами. Единственное упоминание о MyOTP — в вашей собственной панели управления.

Более 30 языков (по последним подсчетам): английский, арабский (с полным написанием справа налево), французский, испанский, португальский (португальский и бразильский), немецкий, итальянский, голландский, польский, турецкий, русский, украинский, хинди, урду, бенгальский, тамильский, индонезийский, малайский, тайский, вьетнамский, японский, корейский, упрощенный и традиционный китайский, иврит, греческий, румынский, чешский, венгерский, шведский, норвежский, датский, финский. Вы можете переопределить любую строку для каждой локали.

За каждого подтвержденного пользователя предоставляется щедрый бесплатный тариф (первые 250 подтверждений в месяц бесплатно для ознакомления). Производственный тариф начинается с 0,05$ за подтверждение для стандартных идентификаторов отправителя, снижаясь примерно до 0,028$ при 1 млн пользователей в месяц и до корпоративных тарифов около 0,018$ при 10 млн и более пользователей. За резервный голосовой вызов взимается дополнительная плата в размере 0,018$ за каждый установленный вызов.

Всегда. Виджет передает браузеру кратковременный JWT-токен, а также отправляет POST-запрос на ваш сервер с тем же событием проверки. Клиентский JWT следует рассматривать как подсказку, а веб-хук — как авторитетный источник — это шаблон интеграции, используемый в каждом примере кода.

Встроенные функции: ограничения скорости для каждого телефона, ограничения скорости для каждого IP-адреса, разрешение/запрет географических ограничений, ограничение репутации IP-адреса, предварительная проверка HLR для перенесенных и отключенных номеров, а также оценка риска назначения для известных префиксов мошенничества с платными телефонными звонками. Все это настраивается в панели управления; атаки с целью накачки трафика блокируются до выставления счета.

Персональный технический менеджер, выделенный идентификатор приложения с настраиваемыми ограничениями скорости запросов, CNAME с возможностью брендирования и пользовательский поддомен, ротация ключей подписи JWT в локальной сети, соглашение об уровне обслуживания (SLA) с доступностью виджетов 99,99% и автоматическим начислением бонусов, а также общий канал Slack с нашей командой разработчиков для реагирования на инциденты.

Вопроса здесь нет? Обратитесь к нашей инженерной команде

Зайдите. Подтвердите. Готово.

Подтвердите личность первого пользователя до обеда.

Вставьте один тег <script>, подключите один div, и виджет выполнит все остальное — захват номера телефона, ввод кода, голосовой резервный вариант, защита от мошенничества, аналитика. Бесплатный тариф, карта не требуется.

$ <div data-myotp data-app-id="your_app_id"></div>