v1.0OpenAPI 3.2.0SMS-Activate Compatible

SMS受信プロトコル(SMS-Activate互換)

REST API を使用して、SMS OTP コード受信、FlashCall 着信認証、一時メールボックスを Telegram ボット、自動化ツール、ウェブサイトにシームレスに連携できます。

Software Connection Guide

1

SMS-Activateに対応した任意のツールやソフトウェアを選択します。

2

SMS受信サービスとしてSMS-Activateを選択します。

3

設定内のホストURLを https://api.sms-activate.ae から https://hero-sms.com/stubs/handler_api.php に変更します。

https://hero-sms.com/stubs/handler_api.php
4

マイページのアカウントプロファイルからAPIキーを入力します。

ご不明な点がございましたらテクニカルサポートまでお気軽にお問い合わせください。

APIサーバー
https://hero-sms.com/api
認証方法
x-api-key: your_api_key_here
#!/usr/bin/env bash
# OTP Activation Flow (SMS-Activate Compatible)
set -euo pipefail

BASE_URL="https://hero-sms.com/stubs/handler_api.php"
API_KEY="YOUR_API_KEY"
SERVICE="tg"   # Telegram service code
COUNTRY="0"    # Country ID (e.g. 0 = Russia, 10 = Vietnam)

echo "==> 1. Checking account balance..."
curl -s -H "x-api-key: ${API_KEY}" "${BASE_URL}?action=getBalance"
echo ""

echo "==> 2. Ordering a phone number..."
BUY_RES=$(curl -s -H "x-api-key: ${API_KEY}" "${BASE_URL}?action=getNumber&service=${SERVICE}&country=${COUNTRY}")
echo "Response: ${BUY_RES}"

# Expected format: ACCESS_NUMBER:$ACTIVATION_ID:$PHONE
if [[ "${BUY_RES}" != ACCESS_NUMBER* ]]; then
  echo "Error buying number: ${BUY_RES}"
  exit 1
fi

ACTIVATION_ID=$(echo "${BUY_RES}" | cut -d':' -f2)
PHONE_NUMBER=$(echo "${BUY_RES}" | cut -d':' -f3)
echo "Acquired number: +${PHONE_NUMBER} (Activation ID: ${ACTIVATION_ID})"

echo "==> 3. Polling for OTP code..."
MAX_ATTEMPTS=24 # 2 minutes (24 * 5 seconds)
OTP_CODE=""

for ((i=1; i<=MAX_ATTEMPTS; i++)); do
  sleep 5
  STATUS_RES=$(curl -s -H "x-api-key: ${API_KEY}" "${BASE_URL}?action=getStatus&id=${ACTIVATION_ID}")
  echo "Poll ${i}/${MAX_ATTEMPTS}: ${STATUS_RES}"

  if [[ "${STATUS_RES}" == STATUS_OK* ]]; then
    OTP_CODE=$(echo "${STATUS_RES}" | cut -d':' -f2)
    echo "Successfully received OTP: ${OTP_CODE}"
    break
  fi

  if [[ "${STATUS_RES}" == "STATUS_CANCEL" ]]; then
    echo "Activation was cancelled."
    exit 1
  fi
done

if [[ -n "${OTP_CODE}" ]]; then
  echo "==> 4. Finishing activation..."
  FINISH_RES=$(curl -s -H "x-api-key: ${API_KEY}" "${BASE_URL}?action=setStatus&id=${ACTIVATION_ID}&status=6")
  echo "Finish status: ${FINISH_RES}"
else
  echo "==> Timed out waiting for SMS. Requesting cancel/refund..."
  CANCEL_RES=$(curl -s -H "x-api-key: ${API_KEY}" "${BASE_URL}?action=setStatus&id=${ACTIVATION_ID}&status=8")
  echo "Cancel status: ${CANCEL_RES}"
fi
Cursor / Windsurf / Claude Code / Copilot

Cursor / Windsurf / Claude Code 連携プロンプト

openapi.json をダウンロード

AIコードエディタ(Cursor、Windsurf、Claude Code)向けのワンクリック統合プロンプト。

Integration Prompt Excerpt
# 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
GET/api/user/balance
共通 API

ウォレット残高とアカウント情報の確認

利用可能なウォレット残高(VNDおよびUSD)と連携メールアドレスを確認します。

リクエストヘッダー

x-api-keyyour_api_key_hereアカウントの API Key

レスポンス例

{
  "success": true,
  "email": "[email protected]",
  "balance": 250000,
  "balanceVnd": 250000,
  "balanceUsd": 9.47,
  "balanceUsdFormatted": "$9.47",
  "usdRate": 26400
}
GET/api/otp/loyalty
共通 API

VIPランクと割引率の照会

現在のVIPランク、購入時に自動適用される割引率、過去7日間の利用金額、次ランク昇格条件を取得します。

リクエストヘッダー

x-api-keyyour_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
      }
    ]
  }
}
GET/api/otp/tiers
共通 API

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
GET/api/otp/countries
番号購入・コード受信 API

対応国一覧

国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"
    }
  ]
}
GET/api/otp/services
番号購入・コード受信 API

SMS対応サービス・アプリ一覧

OTP認証対応アプリ(Telegram、Google、TikTok、Facebook、WhatsAppなど)の一覧、在庫数、基本料金を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
countrynumber | stringOptional国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
      }
    }
  ]
}
GET/api/otp/prices
番号購入・コード受信 API

詳細料金表・板情報

特定国のサービス詳細料金を照会し、SMSおよびFlashCallの指値注文リスト(offers)を確認できます。

リクエストパラメータ

FieldTypeRequiredDescription
servicestringRequiredサービスコード(例:tg, go, fb, wa, lf, dr...)
countrynumber | stringOptional国ID(例:10, 1, 6...)
verificationTypestringOptional'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
        }
      ]
    }
  ]
}
GET/api/otp/operators
番号購入・コード受信 API

対応通信キャリア一覧

国とサービスに対応する通信キャリア(Viettel、Vinaphoneなど)の一覧を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
countrynumber | stringOptional国ID(例:ベトナムの場合は 10)
servicestringOptionalサービスコード(例: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"
    }
  ]
}
POST/api/otp/buy
番号購入・コード受信 API

短期番号レンタル (SMS / FlashCall)

短期レンタル注文(約20分間)を作成します。キャリア指定、上限価格、一括注文に対応。orderCode を返却します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key
Content-Typeapplication/jsonapplication/json

リクエストパラメータ

FieldTypeRequiredDescription
servicestringRequiredサービスコード(例:tg, go, fb, wa, lf...)
countrynumber | stringRequired国ID(例:10 はベトナム、1 はアメリカ)
verificationTypestringOptional'sms'(デフォルト)または 'call'(着信認証)
operatorstringOptional指定通信キャリア(例:'viettel', 'mobifone', または 'any')
maxPricenumberOptional許容する上限価格(VND)。市場価格がこれを超過した場合は購入されません
amountnumberOptional一括購入数(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"
    }
  ]
}
GET/api/otp/activations
番号購入・コード受信 API

レンタル中の番号一覧と履歴

コード待機中の有効なレンタル一覧、または過去の利用履歴を取得します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
statusstringOptional'ACTIVE'(待機中のみ)または 'FINISHED', 'CANCELLED', 'REFUNDED'
limitnumberOptionalページあたりの件数(デフォルト: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"
    }
  ]
}
GET/api/otp/activations/{id}
番号購入・コード受信 API

ステータス確認とOTP取得

システム内部の注文コード orderCode(例:ACT8K3N9)でステータスを確認。SMSが届くと即座にコードを返却します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequiredシステム内部注文コード 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"
      }
    ]
  }
}
POST/api/otp/activations/{id}/retry
番号購入・コード受信 API

追加/次回コードの受信待機

有効期間内に追加のSMSコードを受信できるよう待機状態に戻します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired注文コード orderCode

レスポンス例

{
  "success": true,
  "status": "WAIT_CODE",
  "message": "Đã sẵn sàng nhận mã tiếp theo."
}
POST/api/otp/activations/{id}/replace
番号購入・コード受信 API

別の電話番号に変更 (2分経過後)

2分間待機してもSMSが届かない場合、別の新しい番号に無料変更します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired注文コード orderCode

レスポンス例

{
  "success": true,
  "data": {
    "id": "ACT9M2K8",
    "orderCode": "ACT9M2K8",
    "phone": "84912345678",
    "status": "WAIT_CODE"
  }
}
POST/api/otp/activations/{id}/cancel
番号購入・コード受信 API

キャンセル&100%自動返金

コード未受信時に orderCode でキャンセル。全額がウォレットに即座に返金されます。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired注文コード 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
}
POST/api/otp/activations/{id}/finish
番号購入・コード受信 API

番号レンタル完了処理

必要なOTPを受信後、注文を完了状態に更新して終了します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired注文コード orderCode

レスポンス例

{
  "success": true,
  "message": "Đơn hàng đã được đánh dấu hoàn tất thành công."
}
GET/api/otp/activations/{id}/reactivate/options
番号購入・コード受信 API

過去の番号の再認証可否・プラン確認

過去に完了した注文の電話番号が、再度OTPを受信するために利用可能かどうかを確認します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired以前の注文コード orderCode

レスポンス例

{
  "success": true,
  "available": true,
  "phone": "84931002233",
  "service": "tg",
  "durations": [
    {
      "duration": 20,
      "price": {
        "sellingVnd": 4000,
        "sellingUsd": 0.15
      }
    }
  ]
}
POST/api/otp/activations/{id}/reactivate
番号購入・コード受信 API

過去の番号を再アクティベート

前回の注文と同じ電話番号を再度取得して新しいOTPを受信します。新しい注文が作成されます。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key
Content-Typeapplication/jsonapplication/json

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequired以前の注文コード orderCode(パスパラメータ)
durationnumberOptional再有効化期間(分単位、デフォルト: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"
  }
}
GET/api/otp/durations
番号購入・コード受信 API

長期レンタルプラン・期間一覧

時間・日数指定の長期レンタルプラン(4時間、24時間、3日間、7日間など)の在庫数と割引料金を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
servicestringRequiredサービスコード(例:tg, wa, fb...)
countrynumber | stringRequired国ID(例:10, 1, 6...)
verificationTypestringOptional'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
      }
    }
  ]
}
POST/api/otp/buy
番号購入・コード受信 API

期間指定の長期番号レンタル (時間 / 日単位)

指定期間(分単位、例:1440 = 24時間)の長期レンタルを作成します。期間中は対象サービスのOTPを何度でも無制限に受信できます。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key
Content-Typeapplication/jsonapplication/json

リクエストパラメータ

FieldTypeRequiredDescription
servicestringRequiredサービスコード(例:tg, wa, fb...)
countrynumber | stringRequired国ID(例:10, 1, 6...)
durationnumberRequiredレンタル期間(分単位、例:240 = 4時間、1440 = 1日、4320 = 3日、10080 = 7日)
verificationTypestringOptional'sms'(デフォルト)または 'call'
operatorstringOptional指定通信キャリア(デフォルト:'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"
    }
  ]
}
GET/api/otp/activations/{id}/prolong/options
番号購入・コード受信 API

レンタル中番号の延長プラン・料金照会

現在レンタル中の電話番号について、期限切れ前に追加可能な延長プランと料金を確認します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequiredレンタル注文のシステム注文コード 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
      }
    }
  ]
}
POST/api/otp/activations/{id}/prolong
番号購入・コード受信 API

レンタル中番号の期間延長を実行

レンタル中の電話番号の利用期間を延長します。新しい有効期限が延長分加算されます。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key
Content-Typeapplication/jsonapplication/json

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequiredシステム内部注文コード orderCode(パスパラメータ)
durationnumberRequired延長時間(分単位、例: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
  }
}
GET/api/otp/activations/{id}/prolong/history
番号購入・コード受信 API

番号延長履歴の照会

長期レンタル番号の過去の延長履歴一覧を確認します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstringRequiredシステム内部注文コード 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
GET/api/email-otp/offers
メールレンタル API

メール対応ドメイン・料金一覧

対象サービスで利用可能なメールアドレスドメイン(gmail.com、outlook.comなど)と料金を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
sitestringRequired対象サイト名(例: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
      }
    }
  ]
}
POST/api/email-otp/buy
メールレンタル API

OTP受信用一時メールアドレスのレンタル

アカウント認証コード受信用の一時メールボックスをレンタルします。上限価格 maxPrice の指定に対応。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key
Content-Typeapplication/jsonapplication/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"
  }
}
GET/api/email-otp/activations/{id}
メールレンタル API

メールOTPコードとメール本文の取得

受信状況を確認。メール到着後、抽出されたコード(value)と本文全文(message)を返却します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstring | numberRequiredメールレンタル注文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"
  }
}
POST/api/email-otp/activations/{id}/cancel
メールレンタル API

メールキャンセル&全額返金

メール未受信時にキャンセルし、ウォレット残高に即座に全額返金します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstring | numberRequiredメールレンタル注文ID

レスポンス例

{
  "success": true,
  "message": "Huỷ đơn thuê email thành công, số dư đã được hoàn lại.",
  "balanceAfter": 250000
}
POST/api/email-otp/activations/{id}/reorder
メールレンタル API

過去のメールアドレスを再レンタル

以前使用した同じメールアドレスを再度レンタルし、同一サービスの追加認証コードを受信します。

リクエストヘッダー

x-api-keyyour_api_key_hereAPI Key

リクエストパラメータ

FieldTypeRequiredDescription
idstring | numberRequired以前のメール注文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
GET/api/mail/products
メール購入 API

メール:商品一覧

メール商品のシステム API です。Provider の詳細は内部に保持し、クライアントはサイト API キーのみ使用します。

リクエストヘッダー

x-api-keyyour_website_api_keyサイト API キー

リクエストパラメータ

FieldTypeRequiredDescription
status1Optional有効な商品のみ

レスポンス例

{
  "success": true,
  "data": [
    {
      "slug": "email-gmail",
      "name": "Gmail Fresh",
      "price": 15000,
      "stock": 50
    }
  ]
}
POST/api/mail/buy
メール購入 API

メール:メールを購入

システム API でメールを購入し、サイトのウォレット残高を自動的に引き落とします。

リクエストヘッダー

x-api-keyyour_website_api_keyサイト API キー

リクエストパラメータ

FieldTypeRequiredDescription
product_slugstringRequired商品 slug
quantity1..10000Requiredメール数

リクエストボディ (JSON)

{
  "product_slug": "email-gmail",
  "quantity": 1
}

レスポンス例

{
  "success": true,
  "data": {
    "order_code": "ORD-20251218-ABC123",
    "quantity": 1,
    "emails": [
      {
        "email": "[email protected]"
      }
    ]
  }
}
POST/api/mail/read
メール購入 API

メール:Outlook 受信トレイを読む

システム API で購入済みメールを読みます。Provider と認証情報は内部で処理します。

リクエストヘッダー

x-api-keyyour_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
GET/api/proxy/download
プロキシ API

プロキシ一覧をダウンロード

注文のプロキシをダウンロードします。現在 Clerk セッションが必要です。

リクエストパラメータ

FieldTypeRequiredDescription
order_idstringRequiredプロキシ注文 ID またはコード
modedirect | backboneOptionalプロキシモード。既定値は direct
formatstringOptionalip:port:user:pass、user:pass@ip:port、ip:port

レスポンス例

1.2.3.4:8080:username:password
GET/api/proxy/countries
プロキシ API

プロキシ対応国一覧

購入可能なプロキシ対応国を取得します。プロバイダー提供時は利用可能IP数も返します。

レスポンス例

{
  "success": true,
  "data": [
    {
      "code": "US",
      "name": "United States",
      "proxyCount": 1200
    }
  ]
}
GET/api/proxy/prices?proxy_type=shared&proxy_count=10&countries=US,SG
プロキシ API

プロキシ料金の確認

プロキシ種別、数量、国、帯域幅、VIPランクごとの販売価格を計算します。`countries` はカンマ区切りの ISO 2文字コードです。

リクエストヘッダー

x-api-keyyour_api_key_here任意。VIP価格を適用

リクエストパラメータ

FieldTypeRequiredDescription
proxy_typestringRequired`shared` や `dedicated` などのプロキシ種別
proxy_countintegerRequiredIP数、1から10,000
countriesstringOptionalカンマ区切りの国コード
bandwidth_limitintegerOptional帯域幅制限
term`monthly` | `yearly`Optional請求期間。既定値は `monthly`

レスポンス例

{
  "success": true,
  "tier": 0,
  "data": {
    "sellingVnd": 125000,
    "sellingUsd": 5,
    "proxyCount": 10
  }
}
POST/api/proxy/buy
プロキシ API

プロキシを購入

プロキシプランを購入し、API Key所有者の残高から料金を差し引きます。

リクエストヘッダー

x-api-keyyour_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 endpoints
GET/stubs/handler_api.php?action=getBalance
SMS-Activate 互換 API

SMS-Activate: アカウント残高の照会 (getBalance)

利用可能なウォレット残高をUSDに換算し、ACCESS_BALANCE:<amount> 形式のプレーンテキストで返却します。SMS-Activate連携ソフトウェアと完全互換です。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredシステムアカウントの API Key
actionstringRequiredアクション名:getBalance

レスポンス例

ACCESS_BALANCE:25.50
GET/stubs/handler_api.php?action=getNumber
SMS-Activate 互換 API

SMS-Activate: 電話番号の購入 (getNumber - Text)

指定したサービスと国の新しい電話番号を申請します。ACCESS_NUMBER:<activation_id>:<phone> 形式で返却され、システム価格とVIP割引に従い残高が引き落とされます。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getNumber
servicestringRequiredサービスコード(例:tg, wa, ig, go, fb, vi, lf など)
countrynumberRequired国ID(例:10 - ベトナム, 6 - インドネシア, 2 - カザフスタン, 12 - アメリカなど)
operatorstringOptional通信キャリア指定(例:viettel, mobifone, vinaphone)
maxPricenumberOptional許容する上限価格(USD)。実際の販売価格がこれを超える場合、注文は自動取消され NO_NUMBERS が返却されます。

レスポンス例

ACCESS_NUMBER:819284712:84981234567
GET/stubs/handler_api.php?action=getNumberV2
SMS-Activate 互換 API

SMS-Activate: 電話番号の購入 (getNumberV2 - JSON)

電話番号を取得し、注文ID、電話番号、料金(USD)、国番号、有効期限、canGetAnotherSms フラグを含む詳細な JSON を返却します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getNumberV2
servicestringRequiredサービスコード(tg, wa, fb, go等)
countrynumberRequired国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
}
GET/stubs/handler_api.php?action=setStatus
SMS-Activate 互換 API

SMS-Activate: 注文ステータスの更新 (setStatus)

ライフサイクル管理:status=1(ACCESS_READY:待機完了)、status=3(ACCESS_RETRY_GET:追加コード待機)、status=6(ACCESS_ACTIVATION:完了)、status=8(ACCESS_CANCEL:キャンセル&100%返金)。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:setStatus
idstringRequired注文ID activationId または orderCode
statusnumberRequired1(準備完了)、3(再送待機)、6(完了)、8(キャンセル・返金)

レスポンス例

ACCESS_RETRY_GET
GET/stubs/handler_api.php?action=getStatus
SMS-Activate 互換 API

SMS-Activate: ステータスとOTPの取得 (getStatus - Text)

注文ステータスを確認します。SMS到着時は STATUS_OK:<code>、待機中は STATUS_WAIT_CODE、キャンセル済みは STATUS_CANCEL を返します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getStatus
idstringRequired注文 ID (activationId / orderCode)

レスポンス例

STATUS_OK:482910
GET/stubs/handler_api.php?action=getStatusV2
SMS-Activate 互換 API

SMS-Activate: 詳細ステータスとOTPの取得 (getStatusV2 - JSON)

抽出されたOTPコード、送信者情報、受信したSMS本文全文、受信時刻を含む JSON データを返却します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getStatusV2
idstringRequired注文 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"
  }
}
GET/stubs/handler_api.php?action=getActiveActivations
SMS-Activate 互換 API

SMS-Activate: 有効な注文一覧の取得 (getActiveActivations)

現在コード待機中(WAIT_CODE)または受信完了(OK)となっている有効な注文一覧を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名: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
    }
  ]
}
GET/stubs/handler_api.php?action=getHistory
SMS-Activate 互換 API

SMS-Activate: 注文履歴の照会 (getHistory)

直近の番号利用履歴一覧を照会します。受信したOTP、費用、最終ステータスを含みます。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名: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
  }
]
GET/stubs/handler_api.php?action=getCountries
SMS-Activate 互換 API

SMS-Activate: 対応国一覧の取得 (getCountries)

国ID、ロシア語、英語、中国語名を含むすべての対応国リストを返却します。非公開国は自動除外されます。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名: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
  }
]
GET/stubs/handler_api.php?action=getServicesList
SMS-Activate 互換 API

SMS-Activate: 対応サービス一覧 (getServicesList)

サービスコードとサービス名の一覧を取得します。無効化されたサービスは自動的に除外されます。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getServicesList
countrynumberOptional国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"
    }
  ]
}
GET/stubs/handler_api.php?action=getOperators
SMS-Activate 互換 API

SMS-Activate: 通信キャリア一覧 (getOperators)

指定した国で対応している通信キャリアコードの一覧を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getOperators
countrynumberRequired国ID(例:ベトナムは10)

レスポンス例

{
  "status": "success",
  "countryOperators": {
    "10": [
      "viettel",
      "vinaphone",
      "mobifone",
      "vietnamobile",
      "itelecom"
    ]
  }
}
GET/stubs/handler_api.php?action=getPrices
SMS-Activate 互換 API

SMS-Activate: 料金・在庫マトリクス (getPrices)

国およびサービスごとのリアルタイム販売価格と在庫数を返します。価格(cost)にはシステムマージンとVIP会員割引が自動適用されています。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getPrices
countrynumberOptional確認する国ID(オプション)
servicestringOptional確認するサービスコード(オプション)

レスポンス例

{
  "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
    }
  }
}
GET/stubs/handler_api.php?action=getTopCountriesByService
SMS-Activate 互換 API

SMS-Activate: 最多在庫国ランキング (getTopCountriesByService)

指定サービスで在庫数が多く、価格が最適な上位国のランキングを取得します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getTopCountriesByService
servicestringRequiredサービスコード(例: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
  }
]
GET/stubs/handler_api.php?action=getAllSms
SMS-Activate 互換 API

SMS-Activate: 受信したすべてのSMSメッセージ取得 (getAllSms)

レンタル期間中にこの電話番号に届いたすべてのSMSメッセージおよび着信認証履歴の配列を取得します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getAllSms
idstringRequired注文 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"
    }
  ]
}
GET/stubs/handler_api.php?action=serviceCountRent
SMS-Activate 互換 API

SMS-Activate: 長期レンタル在庫と料金表 (serviceCountRent)

長期レンタル期間プラン(2時間、4時間、24時間、72時間、168時間など)の在庫数とVIP割引適用料金を確認します。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:serviceCountRent
countrynumberOptional確認する国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
    }
  }
}
GET/stubs/handler_api.php?action=getRentNumber
SMS-Activate 互換 API

SMS-Activate: 長期レンタル番号の購入 (getRentNumber)

時間または日数(duration: 4, 24, 72, 168等)で長期レンタルします。期間中は何度でも無制限に連続してOTPを受信可能です。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:getRentNumber
servicestringRequiredサービスコード(例:tg)
countrynumberRequired国ID
durationnumberRequiredレンタル時間(時間単位、例: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
}
POST/stubs/handler_api.php?action=prolong
SMS-Activate 互換 API

SMS-Activate: 長期レンタルの延長 (prolong)

有効期限が切れる前に、利用中の電話番号のレンタル期間を延長します。延長料金はウォレットから自動決済されます。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:prolong
idstringRequired注文 ID
durationnumberRequired延長する時間数(例: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
}
POST/stubs/handler_api.php?action=reactivate
SMS-Activate 互換 API

SMS-Activate: 以前の電話番号の再有効化 (reactivate)

以前完了した注文と同じ電話番号を再度取得し、新しいOTPを受信します(キャリア側で利用可能な場合)。

リクエストパラメータ

FieldTypeRequiredDescription
api_keystringRequiredアカウント API Key
actionstringRequiredアクション名:reactivate
idstringRequired過去の注文の 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レンタルのライフサイクル状態

WAIT_CODESMSまたはメールによるOTPコードの配信を待機中
OK / SUCCESSOTPコードと本文全文の受信に成功
REFUNDED注文がキャンセルされ、100%全額がウォレットに返金完了
FINISHED利用が終了し、レンタルサイクルが正常に完了

HTTP レスポンスコードとエラー処理

JSON format: { "success": false, "error": "..." }

200 OKリクエスト成功。データは data フィールドで返却されます。
400 Bad Request無効なパラメータ、必須フィールドの不足、または在庫切れです。
401 UnauthorizedAPI Key がないか無効です。x-api-key ヘッダーを確認してください。
402 Payment Requiredウォレット残高が不足しています。残高をチャージしてください。