SMS受信プロトコル(SMS-Activate互換)
REST API を使用して、SMS OTP コード受信、FlashCall 着信認証、一時メールボックスを Telegram ボット、自動化ツール、ウェブサイトにシームレスに連携できます。
Software Connection Guide
SMS-Activateに対応した任意のツールやソフトウェアを選択します。
SMS受信サービスとしてSMS-Activateを選択します。
設定内のホストURLを https://api.sms-activate.ae から https://hero-sms.com/stubs/handler_api.php に変更します。
マイページのアカウントプロファイルからAPIキーを入力します。
ご不明な点がございましたらテクニカルサポートまでお気軽にお問い合わせください。
Cursor / Windsurf / Claude Code 連携プロンプト
AIコードエディタ(Cursor、Windsurf、Claude Code)向けのワンクリック統合プロンプト。
# OTP & SMS Gateway Integration Guide (SMS-Activate Compatible)
You are tasked with building a robust, production-grade integration with this SMS/OTP Verification Service.
This service is fully compatible with the standard **SMS-Activate** protocol and also exposes a standard REST API.
---
## 1. OpenAPI Specification Import
Before writing code, import or inspect the full OpenAPI specification at:
```
https://hero-sms.com/api/docs/openapi?download=1
```
Use this JSON specification in Cursor, Windsurf, Postman, or Claude to inspect all schemas, models, and endpoints.
---
## 2. Base Endpoint & Protocol Overview
- **Primary SMS-Activate Endpoint**: `https://hero-sms.com/stubs/handler_api.php`
- **Supported HTTP Methods**: `GET` (parameters via query string) and `POST` (supports JSON, multipart, or application/x-www-form-urlencoded).
- **Authentication**:
- Query parameter: `?api_key=YOUR_API_KEY`
- Or HTTP Header: `x-api-key: YOUR_API_KEY`
- Or Authorization header: `Authorization: Bearer YOUR_API_KEY`
---
## 3. Complete Activation Lifecycle Steps
### Step 1: Check Account Balance (`getBalance`)
Query available USD balance before placing orders.
- **Request**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getBalance`
- **Success Response**:
`ACCESS_BALANCE:15.50`
- **Error Responses**:
`BAD_KEY` (invalid API key)
### Step 2: Rent / Buy Phone Number (`getNumber` or `getNumberV2`)
Request a temporary phone number for a target service and country.
- **Request (Plain Text)**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getNumber&service=tg&country=0`
- **Success Response**:
`ACCESS_NUMBER:123456:84987654321`
- Format: `ACCESS_NUMBER:<activationId>:<phoneNumber>`
- **Request (JSON Format - V2)**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getNumberV2&service=tg&country=0`
- **Success Response (V2 JSON)**:
```json
{
"activationId": "123456",
"phoneNumber": "84987654321",
"activationCost": 0.15,
"currency": "USD"
}
```
- **Common Error Responses**:
- `NO_NUMBERS`: No numbers currently in stock for this service/country.
- `NO_BALANCE`: Insufficient balance.
- `BAD_SERVICE`: Invalid service or country parameter.
### Step 3: Poll for OTP Code (`getStatus` or `getStatusV2`)
Poll every 3–5 seconds until the SMS verification code is received.
- **Request (Plain Text)**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getStatus&id=123456`
- **Responses**:
- `STATUS_WAIT_CODE`: Still waiting for SMS. Continue polling.
- `STATUS_OK:987654`: OTP received! Code is `987654`.
- `STATUS_CANCEL`: Activation was cancelled or refunded. Stop polling.
- **Request (JSON Format - V2)**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getStatusV2&id=123456`
- **Success Response (V2 JSON)**:
```json
{
"status": "OK",
"smsCode": "987654",
"smsText": "Your verification code is 987654",
"receivedAt": "2026-10-07T10:00:00.000Z"
}
```
### Step 4: Finish Activation (`setStatus=6`)
Call after receiving the OTP code and successfully verifying the user/service account.
- **Request**:
`GET https://hero-sms.com/stubs/handler_api.php?action=setStatus&id=123456&status=6`
- **Success Response**:
`ACCESS_ACTIVATION`
### Step 5: Cancel & Refund Activation (`setStatus=8`)
Call if timed out or if no SMS was received and you wish to release the number and refund wallet.
- **Request**:
`GET https://hero-sms.com/stubs/handler_api.php?action=setStatus&id=123456&status=8`
- **Success Response**:
`ACCESS_CANCEL`
- **Error**:
`EARLY_CANCEL_DENIED` (cannot cancel within early cooldown period, wait a minute and retry).
### Step 6: Query Prices & Stock (`getPrices`)
Retrieve available stock count and pricing for a service and country.
- **Request**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getPrices&service=tg&country=0`
- **Success Response (JSON)**:
```json
{
"0": {
"tg": {
"cost": 0.15,
"count": 420
}
}
}
```
### Step 7: Query Countries List (`getCountries`)
List all supported country IDs and localized names.
- **Request**:
`GET https://hero-sms.com/stubs/handler_api.php?action=getCountries`
- **Success Response (JSON Array)**:
```json
[
{ "id": 0, "rus": "Россия", "eng": "Russia", "chn": "俄罗斯" },
{ "id": 10, "rus": "Вьетнам", "eng": "Vietnam", "chn": "越南" }
]
```
---
## 4. Coding Assistant Implementation Requirements
When implementing the client module for your project:
1. **Class-based architecture**: Create an `OtpClient` with methods: `getBalance()`, `rentNumber(service, country)`, `pollOtp(activationId, options)`, `finish(activationId)`, `cancel(activationId)`, `getPrices(service, country)`, and `getCountries()`.
2. **Polling logic**:
- Interval: 3 to 5 seconds.
- Timeout: 120 seconds default.
- If timeout is reached, automatically call `setStatus=8` to refund the balance.
3. **Robust error handling**:
- Parse plain text prefixes: `ACCESS_NUMBER:<id>:<phone>`, `STATUS_OK:<code>`, and `ACCESS_BALANCE:<amount>`.
- Throw explicit typed errors on `NO_NUMBERS`, `NO_BALANCE`, and `BAD_KEY`.
4. **Environment variable configuration**: Read `OTP_API_KEY` and optional `OTP_API_BASE_URL` (defaults to `https://hero-sms.com/stubs/handler_api.php`).共通 API
3 endpointsウォレット残高とアカウント情報の確認
利用可能なウォレット残高(VNDおよびUSD)と連携メールアドレスを確認します。
リクエストヘッダー
| x-api-key | your_api_key_here | アカウントの API Key |
レスポンス例
{
"success": true,
"email": "[email protected]",
"balance": 250000,
"balanceVnd": 250000,
"balanceUsd": 9.47,
"balanceUsdFormatted": "$9.47",
"usdRate": 26400
}VIPランクと割引率の照会
現在のVIPランク、購入時に自動適用される割引率、過去7日間の利用金額、次ランク昇格条件を取得します。
リクエストヘッダー
| x-api-key | your_api_key_here | アカウントの API Key |
レスポンス例
{
"success": true,
"data": {
"userStatus": {
"userId": "user_2tX8849...",
"currentTier": 2,
"tierName": "VIP 2",
"discountPercent": 5,
"weeklySpending": 350000,
"nextTierSpendingNeeded": 150000,
"nextTier": 3
},
"tiers": [
{
"tier": 0,
"name": "Thành viên",
"minWeekly": 0,
"discountPercent": 0
},
{
"tier": 1,
"name": "VIP 1",
"minWeekly": 100000,
"discountPercent": 3
},
{
"tier": 2,
"name": "VIP 2",
"minWeekly": 300000,
"discountPercent": 5
},
{
"tier": 3,
"name": "VIP 3",
"minWeekly": 500000,
"discountPercent": 8
},
{
"tier": 4,
"name": "VIP 4",
"minWeekly": 1000000,
"discountPercent": 12
},
{
"tier": 5,
"name": "VIP 5",
"minWeekly": 2000000,
"discountPercent": 15
}
]
}
}VIPランクと割引率基準表(公開)
すべての VIP ランクと対応する割引率の基準一覧を照会します。API キーは不要です。
レスポンス例
{
"success": true,
"data": {
"tiers": [
{
"tier": 0,
"name": "Thành viên",
"minWeekly": 0,
"discountPercent": 0
},
{
"tier": 1,
"name": "VIP 1",
"minWeekly": 100000,
"discountPercent": 3
},
{
"tier": 2,
"name": "VIP 2",
"minWeekly": 300000,
"discountPercent": 5
},
{
"tier": 3,
"name": "VIP 3",
"minWeekly": 500000,
"discountPercent": 8
},
{
"tier": 4,
"name": "VIP 4",
"minWeekly": 1000000,
"discountPercent": 12
},
{
"tier": 5,
"name": "VIP 5",
"minWeekly": 2000000,
"discountPercent": 15
}
],
"description": "Weekly deposit tier discount table. Tiers are evaluated based on 7-day deposit total."
}
}番号購入・コード受信 API
18 endpoints対応国一覧
国ID、国旗、国際電話番号を含むすべての対応国リストを取得します。
レスポンス例
{
"success": true,
"data": [
{
"id": 10,
"name": "Vietnam",
"code": "vn",
"prefix": "+84"
},
{
"id": 1,
"name": "United States",
"code": "us",
"prefix": "+1"
},
{
"id": 6,
"name": "Indonesia",
"code": "id",
"prefix": "+62"
},
{
"id": 4,
"name": "Philippines",
"code": "ph",
"prefix": "+63"
},
{
"id": 0,
"name": "Russia",
"code": "ru",
"prefix": "+7"
}
]
}SMS対応サービス・アプリ一覧
OTP認証対応アプリ(Telegram、Google、TikTok、Facebook、WhatsAppなど)の一覧、在庫数、基本料金を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| country | number | string | Optional | 国IDで絞り込み(10 はベトナム、1 はアメリカ、6 はインドネシア) |
レスポンス例
{
"success": true,
"tier": 0,
"data": [
{
"code": "tg",
"name": "Telegram",
"count": 350000,
"icon": "/icons/services/tg.webp",
"prices": {
"sellingUsd": 0.15,
"sellingVnd": 4000,
"tier": 0,
"discountPercent": 0
}
},
{
"code": "go",
"name": "Google, YouTube, Gmail",
"count": 500000,
"icon": "/icons/services/go.webp",
"prices": {
"sellingUsd": 0.05,
"sellingVnd": 1400,
"tier": 0,
"discountPercent": 0
}
}
]
}詳細料金表・板情報
特定国のサービス詳細料金を照会し、SMSおよびFlashCallの指値注文リスト(offers)を確認できます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| service | string | Required | サービスコード(例:tg, go, fb, wa, lf, dr...) |
| country | number | string | Optional | 国ID(例:10, 1, 6...) |
| verificationType | string | Optional | 'sms'(デフォルト)または 'call'(着信認証) |
レスポンス例
{
"success": true,
"tier": 0,
"data": [
{
"service": "tg",
"country": "10",
"count": 12500,
"prices": {
"sellingUsd": 0.15,
"sellingVnd": 4000,
"tier": 0,
"discountPercent": 0
},
"offers": [
{
"sellingUsd": 0.15,
"sellingVnd": 4000,
"count": 500
},
{
"sellingUsd": 0.18,
"sellingVnd": 4800,
"count": 2000
}
]
}
]
}対応通信キャリア一覧
国とサービスに対応する通信キャリア(Viettel、Vinaphoneなど)の一覧を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| country | number | string | Optional | 国ID(例:ベトナムの場合は 10) |
| service | string | Optional | サービスコード(例:tg, go, fb...) |
レスポンス例
{
"success": true,
"data": [
{
"code": "any",
"name": "Bất kỳ nhà mạng nào (Nhanh nhất)"
},
{
"code": "viettel",
"name": "Viettel"
},
{
"code": "mobifone",
"name": "Mobifone"
},
{
"code": "vinaphone",
"name": "Vinaphone"
}
]
}短期番号レンタル (SMS / FlashCall)
短期レンタル注文(約20分間)を作成します。キャリア指定、上限価格、一括注文に対応。orderCode を返却します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
| Content-Type | application/json | application/json |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| service | string | Required | サービスコード(例:tg, go, fb, wa, lf...) |
| country | number | string | Required | 国ID(例:10 はベトナム、1 はアメリカ) |
| verificationType | string | Optional | 'sms'(デフォルト)または 'call'(着信認証) |
| operator | string | Optional | 指定通信キャリア(例:'viettel', 'mobifone', または 'any') |
| maxPrice | number | Optional | 許容する上限価格(VND)。市場価格がこれを超過した場合は購入されません |
| amount | number | Optional | 一括購入数(1〜10、デフォルト:1) |
リクエストボディ (JSON)
{
"service": "tg",
"country": 10,
"verificationType": "sms",
"operator": "any",
"maxPrice": 5000,
"amount": 1
}レスポンス例
{
"success": true,
"tier": 0,
"balanceAfter": 246000,
"data": [
{
"id": "ACT8K3N9",
"orderCode": "ACT8K3N9",
"phone": "84931002233",
"service": "tg",
"country": "10",
"status": "WAIT_CODE",
"price": {
"sellingUsd": 0.15,
"sellingVnd": 4000,
"tier": 0,
"discountPercent": 0
},
"createdAt": "2026-10-06T08:00:00.000Z",
"expiredAt": "2026-10-06T08:20:00.000Z"
}
]
}レンタル中の番号一覧と履歴
コード待機中の有効なレンタル一覧、または過去の利用履歴を取得します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | Optional | 'ACTIVE'(待機中のみ)または 'FINISHED', 'CANCELLED', 'REFUNDED' |
| limit | number | Optional | ページあたりの件数(デフォルト:20) |
レスポンス例
{
"success": true,
"data": [
{
"id": "ACT8K3N9",
"orderCode": "ACT8K3N9",
"phone": "84931002233",
"service": "tg",
"serviceName": "Telegram",
"country": "10",
"status": "WAIT_CODE",
"otpCode": null,
"createdAt": "2026-10-06T08:00:00.000Z"
}
]
}ステータス確認とOTP取得
システム内部の注文コード orderCode(例:ACT8K3N9)でステータスを確認。SMSが届くと即座にコードを返却します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | システム内部注文コード orderCode(例:ACT8K3N9) |
レスポンス例
{
"success": true,
"data": {
"id": "ACT8K3N9",
"orderCode": "ACT8K3N9",
"status": "OK",
"phone": "84931002233",
"lastOtp": {
"code": "891024",
"text": "Telegram code: 891024"
},
"otpList": [
{
"code": "891024",
"text": "Telegram code: 891024",
"receivedAt": "2026-10-06T08:02:15.000Z"
}
]
}
}追加/次回コードの受信待機
有効期間内に追加のSMSコードを受信できるよう待機状態に戻します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 注文コード orderCode |
レスポンス例
{
"success": true,
"status": "WAIT_CODE",
"message": "Đã sẵn sàng nhận mã tiếp theo."
}別の電話番号に変更 (2分経過後)
2分間待機してもSMSが届かない場合、別の新しい番号に無料変更します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 注文コード orderCode |
レスポンス例
{
"success": true,
"data": {
"id": "ACT9M2K8",
"orderCode": "ACT9M2K8",
"phone": "84912345678",
"status": "WAIT_CODE"
}
}キャンセル&100%自動返金
コード未受信時に orderCode でキャンセル。全額がウォレットに即座に返金されます。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 注文コード orderCode |
レスポンス例
{
"success": true,
"status": "REFUNDED",
"message": "Hủy kích hoạt thành công, số dư đã được hoàn lại.",
"balanceAfter": 250000
}番号レンタル完了処理
必要なOTPを受信後、注文を完了状態に更新して終了します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 注文コード orderCode |
レスポンス例
{
"success": true,
"message": "Đơn hàng đã được đánh dấu hoàn tất thành công."
}過去の番号の再認証可否・プラン確認
過去に完了した注文の電話番号が、再度OTPを受信するために利用可能かどうかを確認します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 以前の注文コード orderCode |
レスポンス例
{
"success": true,
"available": true,
"phone": "84931002233",
"service": "tg",
"durations": [
{
"duration": 20,
"price": {
"sellingVnd": 4000,
"sellingUsd": 0.15
}
}
]
}過去の番号を再アクティベート
前回の注文と同じ電話番号を再度取得して新しいOTPを受信します。新しい注文が作成されます。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
| Content-Type | application/json | application/json |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 以前の注文コード orderCode(パスパラメータ) |
| duration | number | Optional | 再有効化期間(分単位、デフォルト:20) |
リクエストボディ (JSON)
{
"duration": 20
}レスポンス例
{
"success": true,
"message": "Kích hoạt lại số thành công",
"activation": {
"id": "ACT7N1X2",
"orderCode": "ACT7N1X2",
"phone": "84931002233",
"service": "tg",
"status": "WAIT_CODE",
"price": {
"sellingVnd": 4000,
"sellingUsd": 0.15
},
"createdAt": "2026-10-06T09:00:00.000Z"
}
}長期レンタルプラン・期間一覧
時間・日数指定の長期レンタルプラン(4時間、24時間、3日間、7日間など)の在庫数と割引料金を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| service | string | Required | サービスコード(例:tg, wa, fb...) |
| country | number | string | Required | 国ID(例:10, 1, 6...) |
| verificationType | string | Optional | 'sms'(デフォルト)または 'call' |
レスポンス例
{
"success": true,
"tier": 0,
"data": [
{
"id": "4h",
"durationMinutes": 240,
"durationHours": 4,
"label": "4 giờ",
"type": "rent",
"count": 1500,
"prices": {
"sellingUsd": 0.45,
"sellingVnd": 12000,
"tier": 0,
"discountPercent": 0
}
},
{
"id": "24h",
"durationMinutes": 1440,
"durationHours": 24,
"label": "1 ngày (24h)",
"type": "rent",
"count": 1200,
"prices": {
"sellingUsd": 0.8,
"sellingVnd": 21000,
"tier": 0,
"discountPercent": 0
}
},
{
"id": "72h",
"durationMinutes": 4320,
"durationHours": 72,
"label": "3 ngày (72h)",
"type": "rent",
"count": 800,
"prices": {
"sellingUsd": 2.2,
"sellingVnd": 58000,
"tier": 0,
"discountPercent": 0
}
},
{
"id": "168h",
"durationMinutes": 10080,
"durationHours": 168,
"label": "7 ngày (1 tuần)",
"type": "rent",
"count": 500,
"prices": {
"sellingUsd": 4.5,
"sellingVnd": 118000,
"tier": 0,
"discountPercent": 0
}
}
]
}期間指定の長期番号レンタル (時間 / 日単位)
指定期間(分単位、例:1440 = 24時間)の長期レンタルを作成します。期間中は対象サービスのOTPを何度でも無制限に受信できます。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
| Content-Type | application/json | application/json |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| service | string | Required | サービスコード(例:tg, wa, fb...) |
| country | number | string | Required | 国ID(例:10, 1, 6...) |
| duration | number | Required | レンタル期間(分単位、例:240 = 4時間、1440 = 1日、4320 = 3日、10080 = 7日) |
| verificationType | string | Optional | 'sms'(デフォルト)または 'call' |
| operator | string | Optional | 指定通信キャリア(デフォルト:'any') |
リクエストボディ (JSON)
{
"service": "tg",
"country": 10,
"duration": 1440,
"verificationType": "sms",
"operator": "any"
}レスポンス例
{
"success": true,
"tier": 0,
"balanceAfter": 229000,
"data": [
{
"id": "ACT9L0P1",
"orderCode": "ACT9L0P1",
"phone": "84988776655",
"service": "tg",
"country": "10",
"status": "WAIT_CODE",
"price": {
"sellingUsd": 0.8,
"sellingVnd": 21000,
"tier": 0,
"discountPercent": 0
},
"createdAt": "2026-10-06T08:00:00.000Z",
"expiredAt": "2026-10-07T08:00:00.000Z"
}
]
}レンタル中番号の延長プラン・料金照会
現在レンタル中の電話番号について、期限切れ前に追加可能な延長プランと料金を確認します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | レンタル注文のシステム注文コード orderCode |
レスポンス例
{
"success": true,
"orderCode": "ACT9L0P1",
"phone": "84988776655",
"currentExpiresAt": "2026-10-07T08:00:00.000Z",
"options": [
{
"duration": 1440,
"label": "Gia hạn thêm 1 ngày (24h)",
"prices": {
"sellingVnd": 21000,
"sellingUsd": 0.8
}
},
{
"duration": 4320,
"label": "Gia hạn thêm 3 ngày (72h)",
"prices": {
"sellingVnd": 58000,
"sellingUsd": 2.2
}
}
]
}レンタル中番号の期間延長を実行
レンタル中の電話番号の利用期間を延長します。新しい有効期限が延長分加算されます。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
| Content-Type | application/json | application/json |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | システム内部注文コード orderCode(パスパラメータ) |
| duration | number | Required | 延長時間(分単位、例:1440 は 24時間、4320 は 3日間) |
リクエストボディ (JSON)
{
"duration": 1440
}レスポンス例
{
"success": true,
"message": "Gia hạn thời gian thuê số thành công",
"data": {
"id": "ACT9L0P1",
"phone": "84988776655",
"prolongMinutes": 1440,
"newExpiredAt": "2026-10-08T08:00:00.000Z",
"price": {
"sellingVnd": 21000,
"sellingUsd": 0.8
},
"balanceAfter": 208000
}
}番号延長履歴の照会
長期レンタル番号の過去の延長履歴一覧を確認します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Required | システム内部注文コード orderCode |
レスポンス例
{
"success": true,
"data": [
{
"id": "prolong_1",
"duration": 1440,
"priceVnd": 21000,
"prolongedAt": "2026-10-06T12:00:00.000Z",
"newExpiredAt": "2026-10-08T08:00:00.000Z"
}
]
}メールレンタル API
5 endpointsメール対応ドメイン・料金一覧
対象サービスで利用可能なメールアドレスドメイン(gmail.com、outlook.comなど)と料金を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| site | string | Required | 対象サイト名(例:telegram.com, openai.com...) |
レスポンス例
{
"success": true,
"site": "telegram.com",
"tier": 0,
"data": [
{
"domain": "email.com",
"count": 617667,
"price": {
"sellingVnd": 200,
"sellingUsd": 0.0075
}
},
{
"domain": "gmail.com",
"count": 125000,
"price": {
"sellingVnd": 1500,
"sellingUsd": 0.057
}
}
]
}OTP受信用一時メールアドレスのレンタル
アカウント認証コード受信用の一時メールボックスをレンタルします。上限価格 maxPrice の指定に対応。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
| Content-Type | application/json | application/json |
リクエストボディ (JSON)
{
"site": "telegram.com",
"domain": "email.com",
"maxPrice": 500
}レスポンス例
{
"success": true,
"data": {
"id": 774819,
"email": "[email protected]",
"status": "WAIT",
"price": {
"sellingVnd": 200,
"sellingUsd": 0.0075,
"tier": 0
},
"createdAt": "2026-10-06T08:30:00.000Z"
}
}メールOTPコードとメール本文の取得
受信状況を確認。メール到着後、抽出されたコード(value)と本文全文(message)を返却します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | number | Required | メールレンタル注文ID(例:774819) |
レスポンス例
{
"success": true,
"data": {
"id": 774819,
"email": "[email protected]",
"status": "SUCCESS",
"value": "449102",
"message": "Telegram code: 449102. You can also tap this link to log in...",
"createdAt": "2026-10-06T08:30:00.000Z"
}
}メールキャンセル&全額返金
メール未受信時にキャンセルし、ウォレット残高に即座に全額返金します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | number | Required | メールレンタル注文ID |
レスポンス例
{
"success": true,
"message": "Huỷ đơn thuê email thành công, số dư đã được hoàn lại.",
"balanceAfter": 250000
}過去のメールアドレスを再レンタル
以前使用した同じメールアドレスを再度レンタルし、同一サービスの追加認証コードを受信します。
リクエストヘッダー
| x-api-key | your_api_key_here | API Key |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | number | Required | 以前のメール注文ID |
レスポンス例
{
"success": true,
"message": "Gia hạn / Thuê lại email thành công",
"data": {
"id": 774825,
"site": "telegram.com",
"domain": "email.com",
"email": "[email protected]",
"status": "WAIT",
"price": {
"sellingVnd": 200,
"sellingUsd": 0.0075,
"tier": 0
},
"createdAt": "2026-10-06T09:15:00.000Z"
}
}メール購入 API
3 endpointsメール:商品一覧
メール商品のシステム API です。Provider の詳細は内部に保持し、クライアントはサイト API キーのみ使用します。
リクエストヘッダー
| x-api-key | your_website_api_key | サイト API キー |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| status | 1 | Optional | 有効な商品のみ |
レスポンス例
{
"success": true,
"data": [
{
"slug": "email-gmail",
"name": "Gmail Fresh",
"price": 15000,
"stock": 50
}
]
}メール:メールを購入
システム API でメールを購入し、サイトのウォレット残高を自動的に引き落とします。
リクエストヘッダー
| x-api-key | your_website_api_key | サイト API キー |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| product_slug | string | Required | 商品 slug |
| quantity | 1..10000 | Required | メール数 |
リクエストボディ (JSON)
{
"product_slug": "email-gmail",
"quantity": 1
}レスポンス例
{
"success": true,
"data": {
"order_code": "ORD-20251218-ABC123",
"quantity": 1,
"emails": [
{
"email": "[email protected]"
}
]
}
}メール:Outlook 受信トレイを読む
システム API で購入済みメールを読みます。Provider と認証情報は内部で処理します。
リクエストヘッダー
| x-api-key | your_website_api_key | サイト API キー |
リクエストボディ (JSON)
{
"hotmail": "[email protected]",
"folder": "Inbox",
"limit": 10,
"unread_only": false
}レスポンス例
{
"success": true,
"data": {
"total": 1,
"emails": [
{
"subject": "Your verification code",
"sender_email": "[email protected]",
"body_preview": "Your code is 312578..."
}
]
}
}プロキシ API
4 endpointsプロキシ一覧をダウンロード
注文のプロキシをダウンロードします。現在 Clerk セッションが必要です。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| order_id | string | Required | プロキシ注文 ID またはコード |
| mode | direct | backbone | Optional | プロキシモード。既定値は direct |
| format | string | Optional | ip:port:user:pass、user:pass@ip:port、ip:port |
レスポンス例
1.2.3.4:8080:username:password
プロキシ対応国一覧
購入可能なプロキシ対応国を取得します。プロバイダー提供時は利用可能IP数も返します。
レスポンス例
{
"success": true,
"data": [
{
"code": "US",
"name": "United States",
"proxyCount": 1200
}
]
}プロキシ料金の確認
プロキシ種別、数量、国、帯域幅、VIPランクごとの販売価格を計算します。`countries` はカンマ区切りの ISO 2文字コードです。
リクエストヘッダー
| x-api-key | your_api_key_here | 任意。VIP価格を適用 |
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| proxy_type | string | Required | `shared` や `dedicated` などのプロキシ種別 |
| proxy_count | integer | Required | IP数、1から10,000 |
| countries | string | Optional | カンマ区切りの国コード |
| bandwidth_limit | integer | Optional | 帯域幅制限 |
| term | `monthly` | `yearly` | Optional | 請求期間。既定値は `monthly` |
レスポンス例
{
"success": true,
"tier": 0,
"data": {
"sellingVnd": 125000,
"sellingUsd": 5,
"proxyCount": 10
}
}プロキシを購入
プロキシプランを購入し、API Key所有者の残高から料金を差し引きます。
リクエストヘッダー
| x-api-key | your_api_key_here | アカウント API Key |
リクエストボディ (JSON)
{
"proxyType": "shared",
"proxyCount": 10,
"bandwidthLimit": 100,
"countries": [
"US",
"SG"
]
}レスポンス例
{
"success": true,
"data": {
"orderCode": "PRX-ABC123",
"proxyCount": 10,
"balanceAfter": 750000
}
}SMS-Activate 互換 API
18 endpointsSMS-Activate: アカウント残高の照会 (getBalance)
利用可能なウォレット残高をUSDに換算し、ACCESS_BALANCE:<amount> 形式のプレーンテキストで返却します。SMS-Activate連携ソフトウェアと完全互換です。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | システムアカウントの API Key |
| action | string | Required | アクション名:getBalance |
レスポンス例
ACCESS_BALANCE:25.50
SMS-Activate: 電話番号の購入 (getNumber - Text)
指定したサービスと国の新しい電話番号を申請します。ACCESS_NUMBER:<activation_id>:<phone> 形式で返却され、システム価格とVIP割引に従い残高が引き落とされます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getNumber |
| service | string | Required | サービスコード(例:tg, wa, ig, go, fb, vi, lf など) |
| country | number | Required | 国ID(例:10 - ベトナム, 6 - インドネシア, 2 - カザフスタン, 12 - アメリカなど) |
| operator | string | Optional | 通信キャリア指定(例:viettel, mobifone, vinaphone) |
| maxPrice | number | Optional | 許容する上限価格(USD)。実際の販売価格がこれを超える場合、注文は自動取消され NO_NUMBERS が返却されます。 |
レスポンス例
ACCESS_NUMBER:819284712:84981234567
SMS-Activate: 電話番号の購入 (getNumberV2 - JSON)
電話番号を取得し、注文ID、電話番号、料金(USD)、国番号、有効期限、canGetAnotherSms フラグを含む詳細な JSON を返却します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getNumberV2 |
| service | string | Required | サービスコード(tg, wa, fb, go等) |
| country | number | Required | 国ID |
レスポンス例
{
"activationId": "819284712",
"phoneNumber": "84981234567",
"activationCost": 0.45,
"currency": 840,
"countryCode": 10,
"countryPhoneCode": 84,
"canGetAnotherSms": true,
"activationTime": "2026-04-01T10:00:00.000Z",
"activationEndTime": "2026-04-01T10:20:00.000Z",
"activationOperator": "any",
"verificationType": "sms",
"subtype": 1,
"serviceCode": "tg",
"status": 4
}SMS-Activate: 注文ステータスの更新 (setStatus)
ライフサイクル管理:status=1(ACCESS_READY:待機完了)、status=3(ACCESS_RETRY_GET:追加コード待機)、status=6(ACCESS_ACTIVATION:完了)、status=8(ACCESS_CANCEL:キャンセル&100%返金)。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:setStatus |
| id | string | Required | 注文ID activationId または orderCode |
| status | number | Required | 1(準備完了)、3(再送待機)、6(完了)、8(キャンセル・返金) |
レスポンス例
ACCESS_RETRY_GET
SMS-Activate: ステータスとOTPの取得 (getStatus - Text)
注文ステータスを確認します。SMS到着時は STATUS_OK:<code>、待機中は STATUS_WAIT_CODE、キャンセル済みは STATUS_CANCEL を返します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getStatus |
| id | string | Required | 注文 ID (activationId / orderCode) |
レスポンス例
STATUS_OK:482910
SMS-Activate: 詳細ステータスとOTPの取得 (getStatusV2 - JSON)
抽出されたOTPコード、送信者情報、受信したSMS本文全文、受信時刻を含む JSON データを返却します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getStatusV2 |
| id | string | Required | 注文 ID |
レスポンス例
{
"verificationType": "sms",
"data": {
"id": "3416693217",
"phoneFrom": "Telegram",
"code": "482910",
"text": "Telegram code 482910",
"service": "tg",
"date": "2026-04-01T10:02:15.000Z",
"type": "sms"
}
}SMS-Activate: 有効な注文一覧の取得 (getActiveActivations)
現在コード待機中(WAIT_CODE)または受信完了(OK)となっている有効な注文一覧を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getActiveActivations |
レスポンス例
{
"status": "success",
"data": [
{
"activationId": "819284715",
"serviceCode": "tg",
"phoneNumber": "84981234567",
"activationCost": 0.45,
"activationStatus": "4",
"smsCode": "482910",
"smsText": "Telegram code 482910",
"activationTime": "2026-04-01 10:00:00",
"countryCode": "10",
"canGetAnotherSms": "1",
"currency": 840,
"verificationType": "sms",
"subtype": 1
}
]
}SMS-Activate: 注文履歴の照会 (getHistory)
直近の番号利用履歴一覧を照会します。受信したOTP、費用、最終ステータスを含みます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getHistory |
レスポンス例
[
{
"id": "819284715",
"date": "2026-04-01 10:00:00",
"phone": "84981234567",
"sms": {
"code": "482910",
"text": "Telegram code 482910",
"date": "2026-04-01T10:02:15.000Z"
},
"cost": 0.45,
"status": "OK",
"currency": 840
}
]SMS-Activate: 対応国一覧の取得 (getCountries)
国ID、ロシア語、英語、中国語名を含むすべての対応国リストを返却します。非公開国は自動除外されます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getCountries |
レスポンス例
[
{
"id": 10,
"rus": "Вьетнам",
"eng": "Vietnam",
"chn": "越南",
"visible": 1,
"retry": 1
},
{
"id": 6,
"rus": "Индонезия",
"eng": "Indonesia",
"chn": "印度尼西亚",
"visible": 1,
"retry": 1
},
{
"id": 2,
"rus": "Казахстан",
"eng": "Kazakhstan",
"chn": "哈萨克斯坦",
"visible": 1,
"retry": 1
}
]SMS-Activate: 対応サービス一覧 (getServicesList)
サービスコードとサービス名の一覧を取得します。無効化されたサービスは自動的に除外されます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getServicesList |
| country | number | Optional | 国IDで絞り込み(オプション) |
レスポンス例
{
"status": "success",
"services": [
{
"code": "tg",
"name": "Telegram"
},
{
"code": "wa",
"name": "WhatsApp"
},
{
"code": "go",
"name": "Google, YouTube, Gmail"
},
{
"code": "fb",
"name": "Facebook"
},
{
"code": "ig",
"name": "Instagram"
}
]
}SMS-Activate: 通信キャリア一覧 (getOperators)
指定した国で対応している通信キャリアコードの一覧を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getOperators |
| country | number | Required | 国ID(例:ベトナムは10) |
レスポンス例
{
"status": "success",
"countryOperators": {
"10": [
"viettel",
"vinaphone",
"mobifone",
"vietnamobile",
"itelecom"
]
}
}SMS-Activate: 料金・在庫マトリクス (getPrices)
国およびサービスごとのリアルタイム販売価格と在庫数を返します。価格(cost)にはシステムマージンとVIP会員割引が自動適用されています。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getPrices |
| country | number | Optional | 確認する国ID(オプション) |
| service | string | Optional | 確認するサービスコード(オプション) |
レスポンス例
{
"6": {
"tg": {
"cost": 0.38,
"count": 5400
},
"wa": {
"cost": 0.42,
"count": 2100
}
},
"10": {
"tg": {
"cost": 0.45,
"count": 1250
},
"wa": {
"cost": 0.55,
"count": 820
},
"go": {
"cost": 0.35,
"count": 3400
}
}
}SMS-Activate: 最多在庫国ランキング (getTopCountriesByService)
指定サービスで在庫数が多く、価格が最適な上位国のランキングを取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getTopCountriesByService |
| service | string | Required | サービスコード(例:tg) |
レスポンス例
[
{
"country": 6,
"count": 5477,
"price": 0.38,
"retail_price": 0.38
},
{
"country": 10,
"count": 1250,
"price": 0.45,
"retail_price": 0.45
},
{
"country": 2,
"count": 980,
"price": 0.52,
"retail_price": 0.52
}
]SMS-Activate: 受信したすべてのSMSメッセージ取得 (getAllSms)
レンタル期間中にこの電話番号に届いたすべてのSMSメッセージおよび着信認証履歴の配列を取得します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getAllSms |
| id | string | Required | 注文 ID |
レスポンス例
{
"data": [
{
"id": "3416693217",
"phoneFrom": "Telegram",
"code": "123456",
"text": "Telegram code 123456",
"service": "tg",
"date": "2026-04-01T10:02:15.000Z",
"type": "sms"
},
{
"id": "3416693218",
"phoneFrom": "Telegram",
"code": "654321",
"text": "Telegram code 654321",
"service": "tg",
"date": "2026-04-01T10:05:30.000Z",
"type": "sms"
}
]
}SMS-Activate: 長期レンタル在庫と料金表 (serviceCountRent)
長期レンタル期間プラン(2時間、4時間、24時間、72時間、168時間など)の在庫数とVIP割引適用料金を確認します。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:serviceCountRent |
| country | number | Optional | 確認する国ID |
レスポンス例
{
"10": {
"4": {
"count": 850,
"price": 0.85,
"retail_price": 0.85
},
"24": {
"count": 620,
"price": 1.5,
"retail_price": 1.5
},
"72": {
"count": 310,
"price": 3.2,
"retail_price": 3.2
},
"168": {
"count": 180,
"price": 6,
"retail_price": 6
}
}
}SMS-Activate: 長期レンタル番号の購入 (getRentNumber)
時間または日数(duration: 4, 24, 72, 168等)で長期レンタルします。期間中は何度でも無制限に連続してOTPを受信可能です。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:getRentNumber |
| service | string | Required | サービスコード(例:tg) |
| country | number | Required | 国ID |
| duration | number | Required | レンタル時間(時間単位、例:24 は1日、168 は7日) |
レスポンス例
{
"activationId": "819284720",
"phoneNumber": "84985556677",
"activationCost": 1.5,
"currency": 840,
"countryCode": 10,
"countryPhoneCode": 84,
"canGetAnotherSms": true,
"activationTime": "2026-04-01T10:00:00.000Z",
"activationEndTime": "2026-04-02T10:00:00.000Z",
"activationOperator": "any",
"verificationType": "sms",
"subtype": 2,
"serviceCode": "tg",
"status": 4
}SMS-Activate: 長期レンタルの延長 (prolong)
有効期限が切れる前に、利用中の電話番号のレンタル期間を延長します。延長料金はウォレットから自動決済されます。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:prolong |
| id | string | Required | 注文 ID |
| duration | number | Required | 延長する時間数(例:24) |
レスポンス例
{
"activationId": "819284725",
"phoneNumber": "84985556677",
"activationCost": 1.5,
"currency": 840,
"countryCode": 10,
"countryPhoneCode": 84,
"canGetAnotherSms": true,
"activationTime": "2026-04-01T10:00:00.000Z",
"activationEndTime": "2026-04-03T10:00:00.000Z",
"activationOperator": "any",
"verificationType": "sms",
"subtype": 2,
"serviceCode": "tg",
"status": 4
}SMS-Activate: 以前の電話番号の再有効化 (reactivate)
以前完了した注文と同じ電話番号を再度取得し、新しいOTPを受信します(キャリア側で利用可能な場合)。
リクエストパラメータ
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | アカウント API Key |
| action | string | Required | アクション名:reactivate |
| id | string | Required | 過去の注文の activationId |
レスポンス例
{
"activationId": "819284730",
"phoneNumber": "84985556677",
"activationCost": 0.45,
"currency": 840,
"countryCode": 10,
"countryPhoneCode": 84,
"canGetAnotherSms": true,
"activationTime": "2026-04-01T15:00:00.000Z",
"activationEndTime": "2026-04-01T15:20:00.000Z",
"activationOperator": "any",
"verificationType": "sms",
"subtype": 1,
"serviceCode": "tg",
"status": 4
}注文ステータスコード表
電話番号およびメールOTPレンタルのライフサイクル状態
HTTP レスポンスコードとエラー処理
JSON format: { "success": false, "error": "..." }