sms.tcsms.tc

APIドキュメント

sms.tcで電話番号の購入とSMS認証を自動化できます。最新のREST APIと、そのまま置き換え可能なSMS-Activate互換エンドポイントの2種類をご用意しています。既存のSMS-Activate対応ソフトウェアは、コードを変更せずにsms.tcへ接続先を切り替えるだけで利用できます。

概要

sms.tcは複数のプロバイダーを束ねるアグリゲーターです。1つのAPIで複数の上流プロバイダーの電話番号を当社の価格で利用できます。お使いの環境に合ったインターフェースをお選びください。

REST API

HTTP経由のJSON。新規の連携におすすめです。

https://sms.tc/api/v1
SMS-Activate

SMS-Activateクライアントと互換性のあるプレーンテキストプロトコルです。

https://sms.tc/stubs/handler_api.php

APIキーの取得

  1. 1ログインして「プロフィール → API」ページを開きます。
  2. 2キーを生成します。キーは一度しか表示されないため、コピーして安全に保管してください。
  3. 3再生成すると古いキーは無効になり、新しいキーがメールで送信されます。必要に応じて、キーを特定のIPアドレスに制限したり、有効期限を設定したりできます。
APIキーを取得

認証

すべてのリクエストにAPIキーを含める必要があります。REST APIはヘッダーから、SMS-Activateエンドポイントはクエリパラメーター api_key からキーを読み取ります。

REST

Authorization: Bearer smstc_live_xxxX-Api-Key: smstc_live_xxx

SMS-Activate

?api_key=smstc_live_xxx

基本概念

標準コード

国はSMS-Activateの数値ID(0=ロシア、1=ウクライナ…)、サービスは短縮コード(tg、wa、ig…)で指定します。catalog / getCountries / getServicesList エンドポイントで確認できます。

通貨

すべての価格と残高はUSD(ISO 840)で表示されます。

残高

購入代金はsms.tcの残高から差し引かれます。失敗またはタイムアウトしたアクティベーションは自動的に返金されます。

SMS受信成功率(rate)

商品のレスポンスには rate が含まれる場合があります。これは当社で確定したアクティベーションのうちSMSを受信できた割合(%、または null)です。プロバイダー+サービス+国の組み合わせごとに算出され、確定済みアクティベーションが10件以上ある場合のみ表示され、1日1回更新されます。プロバイダー別の内訳は /activations/offers/providers をご利用ください。

REST API

ベースURLは https://sms.tc/api/v1 です。Bearer / X-Api-Key ヘッダーで認証します。レスポンスはJSON形式です。

GET/activations/offersList available numbers (service → country → price/count/rate).
GET/activations/offers/providersPer-provider offers (provider, operator, price, stock, SMS success rate). Requires service + country.
POST/activationsBuy a number. Body: { service, country, operator? }.
GET/activations/{id}Get activation status + received SMS code.
GET/emailsList email activations.
POST/emailsBuy an email activation. Body: { site, domain }.
POST/emails/batchBuy email activations in bulk (count 1–10).
GET/emails/{id}Check an email activation.
DELETE/emails/{id}Cancel an email activation.
POST/emails/{id}/reorderReorder an email activation.
GET/emails/domainsList available email domains.
GET/catalog/countriesCanonical country list (SMS-Activate ids).
GET/catalog/servicesCanonical service list (short codes).
GET/catalog/pricesPrices by country/service, incl. SMS success rate (rate).
GET/rent/offersRentable services for a country + duration.
POST/rentRent a number. Body: { service, country, duration }.
GET/rent/{id}Get a rent order + its SMS.
POST/rent/{id}/prolongExtend a rent. Body: { duration }.
例 · cURL
# 1) 利用可能な番号を一覧表示
curl https://sms.tc/api/v1/activations/offers \
  -H "Authorization: Bearer smstc_live_xxx"

# 2) 番号を購入(Telegram、国 6)
curl -X POST https://sms.tc/api/v1/activations \
  -H "Authorization: Bearer smstc_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"service":"tg","country":6}'

# 3) コードを確認
curl https://sms.tc/api/v1/activations/123456 \
  -H "X-Api-Key: smstc_live_xxx"

SMS-Activate互換API

/stubs/handler_api.php という単一のエンドポイントで、クエリパラメーター action によって処理が振り分けられます。SMS-Activateプロトコルを再現しているため、既存のパートナーソフトウェアをそのまま利用できます。レスポンスはプレーンテキスト(V2 / list 系アクションはJSON)です。

action戻り値
getBalanceACCESS_BALANCE:12.50
getNumberACCESS_NUMBER:<id>:<phone>
getNumberV2JSON (activationId, phoneNumber, …)
getStatusSTATUS_WAIT_CODE · STATUS_OK:<code>
getStatusV2JSON (sms, call, …)
setStatusACCESS_READY · ACCESS_RETRY_GET · ACCESS_ACTIVATION · ACCESS_CANCEL
getActiveActivationsJSON (active list)
getHistoryJSON (history)
getPricesJSON (prices by country/service)
getCountriesJSON (countries)
getServicesListJSON (services)
getOperatorsJSON (operators)
getAllSmsJSON (all SMS for an activation)
finishActivation204
cancelActivation204
reactivate / reactivateOptionsJSON · provider-dependent
getRentNumber / getRentServicesAndCountries / serviceCountRentJSON · provider-dependent
prolong / prolongOptions / prolongHistoryJSON · rent only

setStatus

1 準備完了を通知3 別のSMSをリクエスト6 アクティベーションを完了8 キャンセルして返金
例
# 番号を取得
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getNumber&service=tg&country=6
→ ACCESS_NUMBER:123456:628712345678

# ステータス / コードを確認
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getStatus&id=123456
→ STATUS_OK:12345

# 完了(6)またはキャンセル(8)
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=setStatus&id=123456&status=8
→ ACCESS_CANCEL

エラーコード

SMS-Activateエンドポイントはプレーンテキストのトークン(HTTP 200)を返します。REST APIはHTTPステータスとエラーコードを含むJSONを返します。

NO_KEYAPIキーがありません。
BAD_KEYAPIキーが無効、期限切れ、またはご利用のIPでは許可されていません。
BAD_ACTION不明な action パラメーターです。
BAD_SERVICE不明なサービスコードです。
NO_NUMBERSこのサービス/国で利用できる番号はありません。
NO_BALANCE残高が不足しています。
WRONG_ACTIVATION_IDアクティベーションIDがないか、形式が正しくありません。
NO_ACTIVATIONお客様のアカウントにこのアクティベーションは見つかりません。
BAD_STATUSsetStatus の値が無効です。
EARLY_CANCEL_DENIEDまだキャンセルできません(最低保持時間が経過していません)。
ACTION_NOT_AVAILABLE選択したプロバイダーではこの操作は利用できません。

仕様書

機械可読な完全版の仕様書と導入ガイドは以下からご覧いただけます。