현지 SIM 없이 불가리아 SMS OTP 코드를 받을 수 있나요?
이런 질문을 하는 팀은 대부분 세 가지 상황 중 하나에 있습니다. 불가리아 출시를 앞두고 QA가 실제 가입 흐름을 확인하려는 경우, 지역 운영 그룹이 +359 연락처로 등록된 비즈니스 프로필을 관리하는 경우, 또는 에이전시가 해외에서 고객사의 온보딩을 점검하는 경우입니다. 사례마다 불가리아 SIM 카드를 배송하는 것은 느리고, 책상 서랍에 플라스틱만 쌓이게 됩니다.
OTP Gateway는 이를 요청 한 번으로 바꿔 줍니다. 서비스와 불가리아를 선택하면 임시 +359 인증 번호를 받고, 서비스가 코드를 보내면 읽을 수 있습니다. 번호 하나는 인증 한 번에 사용됩니다. 경로는 통신사 파트너가 제공하고, OTP Route는 OTP 라우팅, 타이머, 자동 환불을 처리합니다.
+359 번호로 어떤 서비스를 라우팅할 수 있나요?
불가리아의 실시간 스냅샷에는 1,600개가 넘는 서비스가 올라와 있습니다. 지금 이용할 수 있는 대표적인 서비스로는 WhatsApp, Viber, Telegram, Google (Gmail & YouTube), Facebook, Instagram, TikTok, LinkedIn, Microsoft & Outlook, Amazon, eBay, Uber, Discord, Signal 등이 있습니다.
Viber는 불가리아에서 개인과 업무 채팅에 널리 쓰이기 때문에 특별히 언급할 만하며, 현지 QA 계획에서는 WhatsApp과 나란히 테스트하는 경우가 많습니다. 경로의 사용 가능 여부는 하루 중에도 바뀌므로, 가격과 서비스 목록은 고정된 표가 아니라 요청 시점에 API에서 가져옵니다.
불가리아 OTP API 흐름은 어떻게 진행되나요?
개발자 콘솔에서 Bearer 키(접두사 or_live_)를 만든 뒤 https://otproute.com/api/v1을 호출합니다.
GET /api/v1/services와GET /api/v1/countries를 한 번 가져와 id를 캐시합니다. 불가리아는bg입니다.GET /api/v1/prices?country=bg&service=<id>로 현재 요금을 확인합니다.POST /api/v1/activations에{"service": "viber", "country": "bg"}같은 본문을 보내 활성화를 시작합니다.activation.sms_received웹훅을 기다리거나, 러너가 엔드포인트를 노출할 수 없다면GET /api/v1/activations/{id}를 폴링합니다.- 테스트가 일찍 중단되면
POST /api/v1/activations/{id}/cancel을 보내 돈이 즉시 돌아오게 합니다.
모든 전달에서 X-OTPRoute-Signature 헤더(타임스탬프와 원본 본문에 대한 HMAC-SHA256)를 확인하고 오래된 타임스탬프는 버리세요. 계정 한도는 키 10개, 웹훅 엔드포인트 5개, 분당 요청 300건이며 개발자 문서에 나와 있습니다.
+359 번호는 어떻게 저장하고 정규화해야 하나요?
불가리아에서는 국내 표기에 맨 앞 트렁크 0을 붙이므로, 088 123 4567로 쓰는 휴대폰 번호는 국제 표기로 +359 88 123 4567이 됩니다. 국가 코드 뒤에서 0이 사라집니다. E.164 형식으로 저장하고 표시할 때만 서식을 적용하세요. 양식이 현지식 입력을 받는다면 검증 전에 공백, 대시, 그 트렁크 숫자를 제거합니다. 흔한 버그는 어떤 경로도 전달하지 못하는 +3590…을 저장하는 것입니다.
문자 체계도 중요합니다. 불가리아어는 키릴 문자로 쓰며, 문구를 현지화하는 서비스는 코드를 키릴 문자 단어로 감쌉니다. 키릴 문자 메시지는 UCS-2로 전송되어 한 세그먼트가 70자로 줄어들기 때문에, 긴 현지화 템플릿은 나뉘어 도착할 수 있습니다. 정규식으로 숫자를 추출한다면 영어 문맥뿐 아니라 키릴 문자 문맥에서도 테스트하세요.
코드가 오지 않으면 어떻게 하나요?
결론을 내리기 전에 20분 활성화 시간이 끝나도록 두세요. 일부 앱은 늦게 보내거나 "재전송"을 한 번 더 눌러야 보냅니다. 아무것도 오지 않으면 OTP Route는 전액을 자동으로 지갑에 돌려주며, activation.expired 이벤트가 해당 슬롯이 닫혔음을 시스템에 알려 줍니다. 그다음에는 다음과 같이 하세요.
- 나중에 다시 시도하거나 같은 서비스에 다른 경로를 선택하세요.
- 서비스가 가상 번호를 받는지 확인하세요. 일부는 거부하며, 환불은 바로 그 때문에 있습니다.
- 짧은 간격으로 반복 주문하지 말고 시도 사이에 간격을 두세요.
OTP 인증 실패 줄이기 글에서 더 자세히 다룹니다.
불가리아 장기 회선이 있나요? 결제는 어떻게 처리되나요?
현재 셀프 서비스 불가리아 장기 번호는 없습니다. Dedicated Numbers는 월 $1.95부터 시작하는 미국·캐나다 전용 상품입니다. 팀에 지속적으로 쓸 +359 회선이 필요하다면 [email protected]으로 이메일을 보내 주세요. 팀에서 검토하겠지만, 가능 여부는 현지 규정이 결정합니다.
+359 코드 결제는 월 요금도 선택할 요금제 단계도 없는 하나의 선불 USD 지갑으로 이루어집니다. 카드와 USDT/USDC 충전을 모두 받으며, 각 충전의 PDF 인보이스가 받은편지함으로 도착합니다. 연동 작업의 경우 개발 계정을 샌드박스로 전환해 달라고 요청하세요. 모의 번호와 코드가 반환되므로 지갑 자금을 쓰지 않고 흐름을 시험할 수 있습니다. 현재 요금은 요금제 페이지에 있습니다.
자주 묻는 질문
현지 SIM 없이 내 앱의 불가리아 가입 흐름을 테스트할 수 있나요?
네. OTP Gateway에서 테스트용 +359 번호를 주문하고, 앱의 가입을 실행한 뒤 대시보드나 API에서 코드를 확인하세요.
SMS 인증 API에서 불가리아의 국가 id는 무엇인가요?
POST /api/v1/activations의 country 필드와 가격 조회에 bg를 사용하세요. 서비스 id는 GET /api/v1/services에서 가져옵니다.
불가리아 인증 번호는 얼마인가요?
불가리아 코드는 코드당 $0.20 이상이며 요금은 서비스별로 정해집니다. 정확한 금액은 GET /api/v1/prices가 반환하고 확정하기 전에 대시보드에도 표시됩니다.
코드가 도착하지 않으면 요금이 부과되나요?
아니요. 20분 안에 번호로 SMS가 도착하지 않거나 먼저 취소하면 전액이 지갑으로 자동 환불됩니다.
불가리아 코드는 키릴 문자로 오나요, 라틴 문자로 오나요?
서비스와 인증 대상 계정의 언어 설정에 따라 다릅니다. 숫자 주변의 두 문자 체계를 모두 처리하도록 파서를 만드세요.
나중 로그인을 위해 같은 +359 번호를 계속 보유할 수 있나요?
OTP Gateway로는 불가능합니다. 번호 하나는 인증 한 번에만 사용되기 때문입니다. 셀프 서비스 장기 번호는 미국과 캐나다에서만 가능하며, 불가리아는 [email protected]으로 문의하세요.
OTP Route는 계정을 대량으로 등록하는 용도인가요?
아니요. 본인의 정당한 제품과 비즈니스 계정을 테스트하고 운영하는 용도입니다. 각 서비스의 약관을 따르세요. OTP Route의 이용 정책(Acceptable Use Policy)이 적용됩니다.
불가리아 번호는 어떻게 시작하나요?
이메일과 6자리 코드 또는 Google 로그인으로 계정을 만들고 지갑을 충전한 뒤, 대시보드에서 주문하거나 API 키를 생성하세요.
서비스 이름은 각 소유자의 상표입니다. OTP Route는 해당 소유자와 제휴 관계가 없습니다. 번호는 합법적으로 사용하고, 각 서비스의 약관과 당사의 허용 가능한 사용 정책을 준수하세요.