즉시 적용 가능한 JS 위젯
단 하나의 스크립트 태그로 전화번호 입력, 인증번호 수집, 재시도, 음성 대체 발송을 포함한 전체 인증 프로세스를 구현합니다. 별도의 디자인 작업이나 상태 머신(state machine)을 연결할 필요가 없습니다.
MyOTP.App은 웹 및 모바일 앱에 바로 설치할 수 있는 사전 구축된 인증 위젯입니다. 전화번호 입력, 인증번호 캡처, 재전송, 음성 OTP 대체 발송 및 부정 방지 기능까지, 이 모든 기능을 BroadNet의 통신사 직접 연동 OTP 경로를 통해 단 하나의 스크립트 태그로 제공합니다.
위젯 자체가 통합 방식입니다. 내부적으로 모든 인증은 BroadNet의 OTP 전용 경로를 통해 이루어지며, 5초 미만의 중간 전송 시간, HLR 사전 검증, 그리고 음성 대체 발송 기능이 이미 구축되어 있습니다.
12kB JS 위젯이 모든 data-myotp div에 마운트됩니다. 전화번호 입력, 테마, 로캘은 data-* 속성에서 읽어옵니다. 별도의 상태 머신을 작성할 필요가 없습니다.
위젯은 앱 키를 사용하여 BroadNet의 인증 서비스를 호출합니다. 발신지 확인, CORS 고정, IP 및 세션별 처리량 제한 기능이 적용되어 있습니다.
계정 정책에 따라 채널이 선택됩니다. HLR 사전 검증을 통해 유효하지 않은 번호를 차단하며, SMS DLR이 제한 시간을 놓칠 경우 음성 OTP로 대체 발송됩니다.
iOS 및 Android의 SMS 알림을 통한 자동 완성 기능. 6자리 입력, 접근성 보장, 아랍어 및 히브리어를 위한 RTL 지원을 제공합니다.
인증 성공 시, 위젯은 유효 기간이 짧은 JWT(기본 5분)를 제공합니다. 세션을 허용하기 전에 서버에서 서명을 검증하세요.
12kB JS 위젯이 모든 data-myotp div에 마운트됩니다. 전화번호 입력, 테마, 로캘은 data-* 속성에서 읽어옵니다. 별도의 상태 머신을 작성할 필요가 없습니다.
위젯은 앱 키를 사용하여 BroadNet의 인증 서비스를 호출합니다. 발신지 확인, CORS 고정, IP 및 세션별 처리량 제한 기능이 적용되어 있습니다.
계정 정책에 따라 채널이 선택됩니다. HLR 사전 검증을 통해 유효하지 않은 번호를 차단하며, SMS DLR이 제한 시간을 놓칠 경우 음성 OTP로 대체 발송됩니다.
iOS 및 Android의 SMS 알림을 통한 자동 완성 기능. 6자리 입력, 접근성 보장, 아랍어 및 히브리어를 위한 RTL 지원을 제공합니다.
인증 성공 시, 위젯은 유효 기간이 짧은 JWT(기본 5분)를 제공합니다. 세션을 허용하기 전에 서버에서 서명을 검증하세요.
위젯을 마운트하고 앱 ID를 지정한 뒤 바로 배포하세요. 테마 설정, 현지화, 그리고 BroadNet 네트워크의 나머지 부분과 동일한 OTP 전송 경로로 연결되는 모든 기능이 패키지에 포함되어 있습니다.
단 하나의 스크립트 태그로 전화번호 입력, 인증번호 수집, 재시도, 음성 대체 발송을 포함한 전체 인증 프로세스를 구현합니다. 별도의 디자인 작업이나 상태 머신(state machine)을 연결할 필요가 없습니다.
React, React Native, Flutter, iOS 및 Android를 위한 퍼스트 파티 SDK를 제공합니다. 웹 위젯과 동일한 인증 인터페이스를 제공하며 모든 플랫폼에서 네이티브 렌더링을 지원합니다.
허용되는 지역에서는 영문/숫자 조합의 발신자 ID를 등록하고, 그 외 지역에서는 숫자형 롱코드 및 단축번호를 사용합니다. 코드는 공유 단축번호가 아닌 고객님의 브랜드명으로 도착합니다.
설정된 시간 내에 SMS 전송 결과 보고가 수신되지 않으면, 위젯이 자동으로 음성 통화로 에스컬레이션합니다. 동일한 세션과 동일한 코드가 사용됩니다.
전송 속도 제한, 지역 규칙, IP 평판 및 HLR 사전 검증을 통해 단 하나의 메시지가 플랫폼에서 발송되기 전에 OTP 톨 프로드(Toll-fraud) 및 가입 펌핑을 차단합니다.
인증 성공률, 채널 구성, 국가별 이탈률 및 중간 전송 시간 — 대시보드에서 실시간으로 확인하고 데이터 웨어하우스로 내보낼 수 있습니다.
지정된 모든 요소에 위젯이 자동으로 설치됩니다 data-myotp. 성공 시 수명이 짧은 JWT가 반환됩니다. 서버에서 이를 검증하고 세션을 시작하세요.
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={__L}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>과제: 맞춤형 인증 플로우의 지속적인 유지 관리에 엔지니어들이 묶여 있었습니다. 해결책: MyOTP 위젯이 맞춤형 UI를 대체했으며, 아랍어·영어를 포함한 3개 언어 문구를 동시에 적용했습니다.
과제: 대규모 사용자 기반이 통합 분석 없이 웹과 모바일에서 여러 가지 OTP UI를 사용하고 있었습니다. 접근 방식: 단일 Flutter SDK와 웹 위젯으로 iOS, Android, 브라우저 전반의 인증을 표준화했습니다.
과제: 여행 성수기에 고령 승객들이 문자 인증번호를 놓치는 경우가 많아 예약 전환율이 저하되었습니다. 해결책: 결제 세션 내에서 아랍어로 된 음성 대체 발송 기능이 활성화된 위젯을 배포했습니다.
모든 인증 과정에는 이벤트 기록이 남습니다. 데이터 보관 및 거주지 설정은 워크스페이스별로 구성할 수 있으며, 걸프 지역 규제 워크로드를 위한 중동·북아프리카(MENA) 거주 옵션도 포함됩니다.
정적 페이지의 경우, 앱 ID 생성부터 첫 인증 사용자 발생까지 5분 미만이 소요됩니다. 스크립트 태그를 붙여넣고, div를 추가하고, 콜백을 하나 작성하면 됩니다. SPA(React/Vue/Next.js)의 경우, SDK 설치와 서버의 JWT 검증을 포함하여 15~30분이 소요됩니다. 모바일 SDK는 빌드 설정에 따라 30~60분 정도의 통합 시간이 필요합니다.
테마(라이트/다크/커스텀 CSS 변수), 브랜드 색상, 로고 URL, 강조 색상, 글꼴(font-family), 모든 로케일의 UI 문자열 문구, 국가별 발신자 ID, 음성 대체 발송 타이밍, 재시도 정책, 그리고 모달 프레임 자체를 위한 CSS 오버라이드가 포함됩니다. 위젯은 Shadow DOM 웹 컴포넌트로 제작되어, 귀사의 페이지 CSS가 위젯에 영향을 주지 않습니다.
네, 'powered by MyOTP' 배지는 표시되지 않습니다. 귀사의 발신자 ID가 인증번호를 전달하고, 귀사의 도메인이 iframe을 호스팅하며(CNAME 설정), 귀사의 로고와 브랜드 색상이 모달에 표시됩니다. MyOTP에 대한 언급은 귀사의 대시보드 내부에서만 이루어집니다.
최근 집계 기준 30개 이상의 언어를 지원합니다: 영어, 아랍어(전체 RTL 지원), 프랑스어, 스페인어, 포르투갈어(PT 및 BR), 독일어, 이탈리아어, 네덜란드어, 폴란드어, 터키어, Русский, 우크라이나어, 힌디어, 우르두어, 방글라데시어, 타밀어, 인도네시아어, 말레이어, 태국어, 베트남어, 일본어, 한국어, 중국어 간체 및 번체, 히브리어, 그리스어, 루마니아어, 체코어, 헝가리어, 스웨덴어, 노르웨이어, 덴마크어, 핀란드어. 각 로케일별로 모든 문자열을 재정의할 수 있습니다.
인증된 사용자당 과금되며, 평가를 위한 무료 티어가 제공됩니다. 표준 발신자 ID 기준 예상 운영 요금은 인증 1건당 약 $0.05부터 시작하며, 대량 이용 시 요금이 낮아집니다. 대량 및 기업용 티어는 귀사의 국가 구성 및 월간 약정량에 따라 견적을 제공합니다. 음성 대체 발송은 연결된 통화당 별도로 청구됩니다. 이 수치는 예시이며 경로에 따라 달라질 수 있습니다. 최종 요금은 상업 계약서에 따라 결정됩니다.
항상 가능합니다. 위젯은 브라우저에 수명이 짧은 JWT를 전달하는 동시에, 동일한 인증 이벤트를 포함한 웹훅을 귀사의 서버로 POST합니다. 클라이언트 JWT는 참고용으로 취급하고 웹훅을 확정적인 데이터로 처리해야 합니다. 이것이 모든 코드 샘플에 적용된 통합 패턴입니다.
기본 기능: 전화번호별 발송 속도 제한, IP별 발송 속도 제한, 지역 허용/차단, IP 평판 게이팅, 번호 이동 및 해지 번호에 대한 HLR 사전 검증, 알려진 통화 사기 접두사에 대한 목적지 위험 점수 기능이 포함되어 있습니다. 모든 설정은 대시보드에서 가능하며, SMS 펌핑 공격은 과금이 발생하기 전에 차단됩니다.
전담 기술 어카운트 매니저, 맞춤형 속도 제한이 적용된 전용 앱 ID, 화이트 라벨 CNAME 및 맞춤형 서브도메인, 온프레미스 JWT 서명 키 로테이션, 자동 크레딧이 포함된 99.99% 위젯 가용성 SLA, 그리고 장애 대응을 위한 엔지니어링 팀과의 공유 Slack 채널을 제공합니다.
찾으시는 질문이 없나요? 엔지니어링 팀에 문의하기
스크립트 태그 하나를 붙여넣고 div 하나를 마운트하면, 전화번호 수집, 인증번호 입력, 음성 대체 발송, 부정 방지, 분석 등 나머지 기능은 위젯이 알아서 처리합니다. 카드 등록 없는 무료 티어를 제공합니다.
이 제품의 핵심 개념에 대해 더 자세히 알아보기.