숫자, 메시지, 수입을 앱에서 직접 확인하세요.
SMScash
API 문서
시작하기

API 문서

숫자, 메시지, 수입을 앱에서 직접 확인하세요.

하나의 요청으로 시작하세요

13 · API 명령REST + handler_api.phpJSON / plain text · Bearer

대시보드에 API 키를 생성하고, 숫자를 얻은 후 20 초마다 메시지를 확인하세요. 코드가 포함된 SMS가 도착할 때 지불이 처리됩니다; 그 코드를 다시 읽는 것은 귀하의 잔액에 영향을 주지 않습니다.

REST APIhttps://smscash.org/api/v1
호환성 API 베이스 URLhttps://smscash.org/stubs/handler_api.php
서비스는 살아있다전화 번호 , SMS 수익이 가능하다.수익이 이용 가능하다 USDT 에 TRC20지불은 사이에 1 그리고 45 날이 든다
빠른 시작 · REST / cURL
curl -X POST 'https://smscash.org/api/v1/activations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: request-unique-001' \
  -d '{"service":"go","country":86}'

대체 호환 인터페이스 주소: /handler_api.php. 기존 REST 통합은 계속 작동합니다.

REST API

요청 생성기

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

자동 선택: 최근 1시간, 다음으로 24시간의 코드 수가 많은 사업자를 우선합니다. 번호가 없으면 다음 사업자로 이동합니다.

cURL
curl --max-time 15 --fail-with-body -X POST 'https://smscash.org/api/v1/activations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: request-unique-001' \
  --data '{"service":"go","country":86}'

키는 저장되지 않습니다. 이 확인은 번호를 발급하지 않습니다.

새로운 통합을 위한 REST

서비스 및 국가

서비스와 국가를 선택하세요. SMS당 보수는 국가에 따라 달라집니다.

REST
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "offer_id": 42,
      "service": "go",
      "service_name": "Google",
      "country_id": 86,
      "country_name": "Italy",
      "provider_id": 1,
      "operator": 1,
      "provider_name": "Operator 1",
      "reward": "0.00300000",
      "currency": "USD",
      "accounting_precision": 8,
      "earnings_hold_days": 45
    }
  ],
  "page": 1,
  "page_size": 100,
  "total": 1,
  "pages": 1,
  "has_more": false,
  "accounting_precision": 8
}

service · country · operator · q · page · page_size (1–100)

전화번호 받기
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

{
  "service": "go",
  "country": 86
}

자동 선택: 최근 1시간, 다음으로 24시간의 코드 수가 많은 사업자를 우선합니다. 번호가 없으면 다음 사업자로 이동합니다.

REST
201: new session · 200: replay of the same operation
service + country OR offer_id · duration_minutes: 20
ref: software owner code (optional)
operator: public ID (e.g. 1 for Operator 1), optional · any/0: automatic
country: integer · service: string · SMS code: string

전화번호는 20분 동안 유효합니다. SMS를 20초마다 확인합니다. 즉시 취소할 수 있습니다.

여러 번호 확인
REST
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "id": 42,
      "found": true,
      "phone": "12025550123",
      "status": "received",
      "service": "go",
      "country_id": 86,
      "provider_id": 1,
      "operator": 1,
      "expires_at": "2026-10-10T12:15:00Z",
      "sms_count": 1,
      "code": "001234",
      "last_sms": {
        "id": 101,
        "code": "001234",
        "sender": "Service",
        "text": "Code: 001234",
        "received_at": "2026-10-10T12:01:00Z"
      }
    },
    {
      "id": 43,
      "found": false,
      "error": {
        "code": "NO_ACTIVATION",
        "message": "Session not found."
      }
    }
  ],
  "as_of": "2026-10-10T12:01:00Z",
  "poll_interval_seconds": 20
}
REST
ids: 1–100 positive session IDs, separated by commas
Input order preserved · duplicates removed
Foreign, unavailable or out-of-scope IDs: found=false
Read only · no supplier requests · last_sms is the latest message
잔액 · 보류 중
REST
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY
JSON
{
  "currency": "USD",
  "accounting_precision": 8,
  "balance": "12.00000000",
  "held_balance": "34.50000001",
  "balance_minor": "1200000000",
  "held_minor": "3450000001",
  "as_of": "2026-10-12T20:00:00Z",
  "next_release_at": "2026-11-26T20:00:00Z"
}

balance — 가능; held_balance — 보류 중. USD · 8

보류 기간이 끝난 자금만 출금할 수 있습니다.

바로 사용 가능한 클라이언트

JavaScript · Node.js 18+
import {SmScash, SmScashError} from './smscash.mjs';
import {randomUUID} from 'node:crypto';

const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);

// Save this key before sending; keep it for retries of this operation.
const requestKey = randomUUID();
const session = await api.createNumber({service: 'go', country: 86}, requestKey);
// After 20 seconds:
const messages = await api.sms(session.id, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([session.id]);
const held = await api.holdBalance();
console.log(held); // Exact USD string
Python 3.9+
import os
import uuid
from smscash import SmScash, SmScashError

api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])

# Save this key before sending; keep it for retries of this operation.
request_key = str(uuid.uuid4())
session = api.create_number({'service': 'go', 'country': 86}, request_key)
# After 20 seconds:
messages = api.sms(session['id'], after_id=0)
print(messages['sms'])
statuses = api.batch([session['id']])
held = api.hold_balance()
print(held) # Exact USD string
SDK
me() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
createNumber(parameters, requestKey) / create_number(parameters, request_key)
setStatus(id, "cancel") / set_status(id, "cancel")
setStatus(id, "retry", requestKey) / set_status(id, "retry", request_key)
Timeout: 15 s · no dependencies · no automatic retries
Error: code · status · hint · requestId/request_id · retryable
ALLOCATION_UNCERTAIN: contact support with request_id; never retry automatically.

SMS-Activate / HeroSMS

SMS-Activate · 호환성 API 베이스 URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · 호환성 API 베이스 URLhttps://smscash.org/hero-sms/stubs/handler_api.php

사용자의 개인 API 키입니다.

서비스와 국가를 선택하세요. SMS당 보수는 국가에 따라 달라집니다.

코드설명
getNumber / getNumberV2전화번호 받기
getStatus / getStatusV2최신 코드 받기
setStatus / finishActivation / cancelActivation세션 관리
getPrices / getNumbersStatus이용 가능 여부 확인
getRewards (SMScash)SMS에 대한 보상
getServicesList / getServices서비스
getCountries / getOperators서비스 및 국가
getActiveActivations세션
getBalance사용자 잔액
getHoldBalance (SMScash)보류 중

cost = 0 USD · activationCost = 0 USD
reward — SMS에 대한 보상

HeroSMS · cURL
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'action=getNumberV2' \
  --data-urlencode 'service=go' \
  --data-urlencode 'country=86' \
  -H 'Idempotency-Key: request-unique-001'
응답
{
  "activationId": "42",
  "phoneNumber": "393331234567",
  "activationCost": 0,
  "currency": 840,
  "countryCode": 86,
  "canGetAnotherSms": true,
  "activationTime": "2026-10-11T12:00:00Z",
  "activationEndTime": "2026-10-11T12:15:00Z",
  "reward": "0.00300000"
}
SMS-Activate / HeroSMS
GET or POST application/x-www-form-urlencoded
api_key · action · service · country · ref (optional)
setStatus: 1 → ACCESS_READY · 3 → ACCESS_RETRY_GET
           6 → ACCESS_ACTIVATION · 8 → ACCESS_CANCEL
getStatus: STATUS_WAIT_CODE · STATUS_OK:001234 · STATUS_CANCEL
getStatusV2: {"verificationType":1,"sms":null,"call":null}
getServicesList: {"status":"success","services":[{"code":"go","name":"Google"}]}
getCountries: {"86":{"id":86,"eng":"Italy","visible":1,"retry":1,"rent":0}}
getPrices: {"86":{"go":{"cost":0,"count":12,"reward":"0.00300000","currency":"USD"}}}
getRewards: {"59":{"vi":{"1":"0.01000000"}}}
getRewards filters: country · service · operator (optional); any/0: all permitted providers
getActiveActivations: start=0 · limit=1–100 · activeActivations / data
Business/key errors: HTTP 200 + plain text · server errors: HTTP 500
Availability: actual supplier pool, shared cache up to 20 s; not a reservation
No automatic retries after a transport error or ALLOCATION_UNCERTAIN.
Keep the original Idempotency-Key and parameters.
Unsupported: rent · calls · forwarding · multiple services per number · prolong
Unsupported options return BAD_REQUEST; unsupported actions return BAD_ACTION.
SMScash keys and country/service codes; configure this base URL in your software.

전화번호는 20분 동안 유효합니다. SMS를 20초마다 확인합니다. 즉시 취소할 수 있습니다.

인증 및 재시도

REST: 헤더 Authorization: Bearer YOUR_API_KEY. 호환 인터페이스: 매개변수 api_key 그리고 action. HTTPS를 사용하세요.

API 키를 관리하려면 계정을 입력하세요.

∞계정당 요청/분
∞동시 세션

API 요청 빈도와 전화번호 수에는 제한이 없습니다. 일일 또는 시간당 할당 한도도 없습니다.

전화번호는 20분 동안 유효합니다. SMS를 20초마다 확인합니다. 즉시 취소할 수 있습니다.

REST에서는 독특한 Idempotency-Key 번호 할당, 반복 할당, retry 및 지불 요청에 필요합니다. 선택 사항이지만 handler_api.php에서는 권장됩니다. 네트워크 요청을 재시도할 때 키를 재사용하세요. 새로운 작업에는 새 키를 사용하세요.

API 키 접근 범위

키를 특정 서비스, 국가 및 공급자에 연결할 수 있습니다. 목록을 비워 두면 사용 가능한 모든 옵션이 허용됩니다.

JSON
{
  "label": "내 소프트웨어",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} 이름과 policy를 완전히 변경합니다. 비밀은 생성된 경우에만 표시됩니다.

총 10%. 소프트웨어 코드 포함 5% + 5%.

번호발급시 꼭 기재해주세요 ref 소프트웨어의 소유자. 요청은 사용자의 키에 의해 승인됩니다. 코드는 '추천' 섹션과 GET /api/v1/referrals → software_ref.

요청추천인소프트웨어
ref 없이10%—
ref 사용5%5%
ref를 사용하면 리퍼러가 없습니다.—5%

플랫폼은 근로자의 수입을 줄이지 않고 보너스를 지급합니다. 소프트웨어 소유자와 추천자는 동일인일 수 있습니다. 사용자는 자신의 코드를 사용할 수 없습니다.

세션을 생성할 때 조건이 고정됩니다; SMS 및 retry을 읽어도 변경되지 않습니다. 새로운 반복 세션을 위해 ref를 다시 전달하세요. 요금 계산에서 USD 0.003의 사용자 보상은 소프트웨어 소유자와 참조자에게 각각 USD 0.00015가 주어집니다. 총 보너스는 USD 0.00030입니다.

API 명령

11가지 XVBC 스타일 분석법과 SMScash 저울.

GETgetNumber전화번호 받기

세션을 생성하고 사용 가능한 전화번호를 사용자에게 할당합니다. 보상 단가와 추천 보상 수령인은 발급 시 확정되며, 코드가 포함된 SMS를 받으면 보상이 적립됩니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
service*string사용 가능한 서비스 코드. 대답은 API 키 영역으로 제한됩니다.
country*integergetCountries에서 ID를 가져옵니다.
operatorstringoperators/getOperators (API)에서 ID를 가져옵니다. operator=1 · any/0
session_durationinteger세션은 20분 동안 지속됩니다. 20을 통과하거나 이 매개변수를 생략하세요.
with_operatorinteger1은 응답에 운영자 ID를 추가하며, 0 또는 생략 시 세 부분을 반환합니다.
refstring소프트웨어 소유자의 공개 코드: 소유자에게는 5%, 초대자에게는 5%. ref가 없는 경우 - 초대자에게 10%.

* 필수 매개변수입니다. 모든 요청에서는 action=getNumber도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1' \
  -H 'Idempotency-Key: request-unique-001'

응답

발급번호
ACCESS_NUMBER:42:380670000000:1
사용 가능한 전화번호가 없습니다.
EMPTY_POOL
  • 자동 선택: 최근 1시간, 다음으로 24시간의 코드 수가 많은 사업자를 우선합니다. 번호가 없으면 다음 사업자로 이동합니다.
  • Idempotency-Key 전달: 동일한 키를 사용하는 동일한 요청이 이전 세션을 반환합니다. 매개변수를 변경하면 IDEMPOTENCY_CONFLICT가 호출됩니다.
  • 풀이 없는 숫자 국가는 EMPTY_POOL를 제공합니다. 잘못된 국가 형식은 BAD_COUNTRY입니다.
  • 삭제된 세션의 키는 계속 사용됩니다: 그 키로 재생할 때 할당된 값은 SESSION_CLOSED이 되고 다른 숫자는 발급되지 않습니다.
  • 할당 결과가 확인되지 않았습니다. 두 번째 번호가 할당되지 않도록 자동 재시도가 비활성화되었습니다.
GETgetNumbersStatus이용 가능 여부 확인

서비스 및 국가별 사용 가능한 전화번호 수.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
country*integergetCountries에서 ID를 가져옵니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getNumbersStatus도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'

응답

사용 가능한 전화번호
{
  "go_0": 0
}
  • _0 접미사는 특정 연산자가 없는 선택을 의미합니다.
  • 재고는 공급업체의 전체 번호 풀을 나타냅니다. 선택한 채널의 가용성은 번호를 할당할 때 확인됩니다.
GETgetStatus최신 코드 받기

세션 상태 및 마지막 SMS 코드를 쉽게 요청할 수 있습니다. 코드의 선행 0은 유지됩니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
id*integer번호가 발급되었을 때 받은 세션의 ID입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getStatus도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'

응답

대기 중
STATUS_WAIT_CODE
코드 수신됨
STATUS_OK:001234
취소 또는 만료
STATUS_CANCEL
찾을 수 없음
NO_ACTIVATION
  • 20초마다 한 번씩 설문을 실행합니다. 메시지를 다시 읽는 것은 추가 결제를 생성하지 않습니다.
  • retry 이후에는 이전 코드가 반환되지 않습니다. getStatus는 다음 SMS를 기다립니다.
  • SMS이 없는 숫자가 삭제된 후, getStatus과 getSms는 STATUS_CANCEL으로 돌아가고, getSmsFull는 닫힌 상태, 빈 전화기, 그리고 빈 SMS 목록을 가집니다. REST, /activations/{id}, /sms은 404 NO_ACTIVATION으로 돌아갑니다.
GETsetStatus세션 관리

완료, 취소 또는 재시작 대기 중인 SMS. 세션 만료는 동일하게 유지됩니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
id*integer번호가 발급되었을 때 받은 세션의 ID입니다.
status*integer3 — 세션을 연장하지 않고 다음 코드를 기다리세요; 6 — SMS 이후에 완료하세요; 8 — 즉시 취소하세요.

* 필수 매개변수입니다. 모든 요청에서는 action=setStatus도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3' \
  -H 'Idempotency-Key: request-unique-001'

응답

SMS를 기다리는 중
ACCESS_RETRY_GET
완료됨
ACCESS_ACTIVATION
취소됨
ACCESS_CANCEL
  • 다음 코드가 20분 내에 다시 시도되도록 기다립니다. 문제 및 만료 시간은 변하지 않습니다.
  • 상태=3인 경우 Idempotency-Key를 사용하세요. 요청을 반복해도 이미 받은 새 코드는 재설정되지 않습니다. SMS의 기록은 계속 사용 가능합니다.
  • 취소해도 이미 적립된 보상은 차감되지 않습니다.
  • SMS 코드가 있는 숫자만 역사에 저장됩니다. 코드가 없는 취소된 및 만료된 숫자는 삭제됩니다.
GETgetRepeatNumber같은 번호를 다시 발급해주세요

기록의 특정 번호로 새 세션을 엽니다. 동일한 국가에서 이용 가능한 다른 서비스를 선택할 수 있습니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
number*string당신의 이전 번호. 숫자와 선택적 선행 +만 허용됩니다.
service*string사용 가능한 서비스 코드. 대답은 API 키 영역으로 제한됩니다.
session_durationinteger세션은 20분 동안 지속됩니다. 20을 통과하거나 이 매개변수를 생략하세요.
with_operatorinteger1은 응답에 운영자 ID를 추가하며, 0 또는 생략 시 세 부분을 반환합니다.
refstring소프트웨어 소유자의 공개 코드: 소유자에게는 5%, 초대자에게는 5%. ref가 없는 경우 - 초대자에게 10%.
operatorstringoperators/getOperators (API)에서 ID를 가져옵니다. operator=1 · any/0

* 필수 매개변수입니다. 모든 요청에서는 action=getRepeatNumber도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go' \
  -H 'Idempotency-Key: request-unique-001'

응답

새 세션
ACCESS_NUMBER:43:380670000000
해당 번호는 아직 통화 중입니다.
NUMBER_IN_USE
  • 먼저 현재 세션을 종료하거나 취소하세요. 통화중일 경우 재발급이 되지 않습니다.
  • 새 세션은 새로운 ID와 현재 관세를 받습니다. 이전 SMS는 복사되지 않습니다. ref가 다시 설정됩니다.
  • SMScash에서는 이 계정 기록의 숫자만 반복할 수 있습니다. 국가는 숫자로 식별됩니다.
  • 삭제된 세션의 키는 계속 사용됩니다: 그 키로 재생할 때 할당된 값은 SESSION_CLOSED이 되고 다른 숫자는 발급되지 않습니다.
GETgetSmsFullSMS를 JSON로 가져오기

ID, 보낸 사람, 코드, 텍스트 및 국가, 서비스 및 공급업체 데이터가 포함된 모든 메시지의 구조화된 기록입니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
id*integer번호가 발급되었을 때 받은 세션의 ID입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getSmsFull도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'

응답

JSON
{
  "success": true,
  "session_id": 42,
  "phone": "380670000000",
  "status": 1,
  "status_name": "received",
  "sms_count": 1,
  "sms": [
    {
      "id": 101,
      "external_id": "message-101",
      "sender": "Service",
      "code": "001234",
      "text": "Код подтверждения: 001234",
      "received_at": "2026-10-09T12:00:00Z",
      "country": {
        "id": 86,
        "name": "Italy"
      },
      "service": {
        "code": "go",
        "name": "Google"
      },
      "provider": {
        "id": 1,
        "name": "Оператор 1"
      }
    }
  ],
  "expires_at": "2026-10-09T12:20:00Z"
}
  • 통합에 선호되는 형식입니다. 새 메시지만 처리하려면 sms[].id를 기억하세요.
  • 숫자 상태 SMScash: 1 - 활성, 6 - 완료, 8 - 취소 또는 만료. status_name는 대기, 수신, 완료, 취소, 만료를 구별합니다.
  • 세션이 종료된 후에도 받은 코드는 사용 가능합니다. 대량의 데이터의 경우 after_id를 사용하여 REST /activations/{id}/sms을 이용하세요.
  • SMS이 없는 숫자가 삭제된 후, getStatus과 getSms는 STATUS_CANCEL으로 돌아가고, getSmsFull는 닫힌 상태, 빈 전화기, 그리고 빈 SMS 목록을 가집니다. REST, /activations/{id}, /sms은 404 NO_ACTIVATION으로 돌아갑니다.
GETgetSmsSMS를 텍스트 문자열로 가져오기

기존 클라이언트에 대한 전체 SMS 기록을 문자열 형식으로 반환합니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
id*integer번호가 발급되었을 때 받은 세션의 ID입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getSms도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'

응답

메시지
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
대기 중
STATUS_WAIT_CODE
취소 또는 만료
STATUS_CANCEL
  • 메시지 형식: 시간|코드|텍스트. 여러 메시지는 콜론으로 구분됩니다.
  • SMS 텍스트 자체에는 콜론과 수직 막대가 포함될 수 있습니다. 안정적인 구문 분석을 위해서는 getSmsFull를 사용하세요.
GETgetServices서비스

사용 가능한 서비스 코드. 대답은 API 키 영역으로 제한됩니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
countryintegergetCountries에서 ID를 가져옵니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getServices도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'

응답

서비스
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • 서비스 디렉터리는 공급업체들 사이에 공유됩니다. 수량 가용성은 별도로 확인됩니다.
GETgetCountries국가

선택된 채널에 있는 국가들의 ID, 이름 및 전화 코드.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getCountries도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'

응답

국가
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperators연산자

사용 가능한 운영자: API ID, 이름 및 보상 보류 기간.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
countryintegergetCountries에서 ID를 가져옵니다.
operatorstringoperators/getOperators (API)에서 ID를 가져옵니다. operator=1 · any/0

* 필수 매개변수입니다. 모든 요청에서는 action=getOperators도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'

응답

연산자
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • operators/getOperators (API)에서 ID를 가져옵니다.
GETgetRewardsSMS에 대한 보상

수준은 국가에 따라 달라집니다. 모든 표의 금액은 지불된 SMS 기준입니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.
countryintegergetCountries에서 ID를 가져옵니다.
servicestring사용 가능한 서비스 코드. 대답은 API 키 영역으로 제한됩니다.
operatorstringoperators/getOperators (API)에서 ID를 가져옵니다. operator=1 · any/0

* 필수 매개변수입니다. 모든 요청에서는 action=getRewards도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'

응답

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • USD 요금액은 8 자리의 소수점 이하 숫자로 정확한 소수점 표기법으로 반환됩니다:
  • 키에 사용할 수 있는 공급자가 활성화되었습니다.
  • country ID → service code → operator ID → reward (USD)
GETgetBalance사용자 잔액

추가 SMScash: 적립, 추천 보너스 및 지불 요청을 고려하여 사용 가능한 잔액.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getBalance도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'

응답

잔액
ACCESS_BALANCE:0.00
  • getBalance는 사용 가능한 USD 잔액을 소수점 아래 최대 8자리로 반환합니다.
  • 보류 기간이 끝난 자금만 출금할 수 있습니다.
GETgetHoldBalance보류 중

SMS를 받으면 수익은 공급자가 정한 기간 동안 보류됩니다. 지정된 날짜가 되면 금액이 자동으로 출금 가능해집니다.

매개변수

매개변수유형설명
api_key*string사용자의 개인 API 키입니다.

* 필수 매개변수입니다. 모든 요청에서는 action=getHoldBalance도 전달합니다.

예시 요청

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'

응답

보류 중
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • 보류 기간이 끝난 자금만 출금할 수 있습니다.

응답 코드 및 반복 요청

handler_api.php에서 비즈니스 결과는 일반적으로 HTTP 200과 함께 제공됩니다. 본문 텍스트를 확인하세요. 디렉터리 및 getSmsFull는 성공하면 JSON를 반환합니다. 오류는 항상 텍스트입니다.

코드HTTP원인과 다음 단계
TARIFF_NOT_CONFIGURED200수수료는 아직 정해지지 않았습니다SMS 보상이 설정되면 숫자 할당이 시작됩니다.
COUNTRY_BLOCKED200이 국가의 숫자 할당이 차단되었습니다.다른 국가를 선택하세요.
BAD_SERVICE200이 서비스의 전화번호 할당은 차단됩니다.다른 서비스를 선택하세요.
PROVIDER_NOT_READY200번호 할당이 일시적으로 이용 불가능합니다API 카탈로그를 새로 고칩니다.
BAD_KEY400api_key가 없거나 형식이 잘못되었습니다.요청에서 키를 확인하세요.
INVALID_API_KEY401키를 알 수 없거나 취소되었거나 계정이 비활성화되었습니다.유효한 API 키를 생성하세요.
BAD_COUNTRY400국가가 누락되었거나 양수가 아닙니다.getCountries에서 ID를 가져옵니다.
BAD_SESSION_DURATION400전화번호는 정확히 20분 동안 발급됩니다.session_duration를 수정하세요.
BAD_REQUEST400잘못된 매개변수 또는 Idempotency-Key.요청을 수정하세요.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200알 수 없거나 비활성화된 디렉터리 항목입니다.API 카탈로그를 새로 고칩니다.
BAD_NUMBER200잘못된 숫자 형식입니다.숫자를 숫자로 입력하세요.
BAD_ACTION / BAD_STATUS200알 수 없는 명령, ID 또는 작업.설정을 확인하세요.
EMPTY_POOL200현재 일치하는 전화번호가 없습니다.10~30초 후에 반복하거나 필터를 교체하세요.
NUMBER_IN_USE200활성 세션이 특정 숫자를 차지합니다.세션을 종료하거나 다른 번호를 선택하세요.
NO_ACTIVATION200세션 또는 이전 번호는 귀하의 계정에 속하지 않습니다.ID와 키를 확인하세요.
SESSION_CLOSED / SMS_REQUIRED200현재 상태 전환을 사용할 수 없습니다.SMS의 상태와 가용성을 확인하세요.
SCOPE_BLOCKED200서비스, 국가 또는 공급업체가 키에 대해 승인되지 않았습니다.API 키의 범위를 업데이트합니다.
IDEMPOTENCY_CONFLICT200이 쿼리 키는 이미 다른 매개변수와 연결되어 있습니다.새 작업의 경우 다른 Idempotency-Key를 만듭니다.
BAD_REF / SELF_REF400소프트웨어 코드가 알 수 없거나 비활성화되어 있거나 사용자 자신의 것입니다.소프트웨어 소유자의 코드를 전달합니다.
INTERNAL_ERROR500일시적인 서버 또는 공급업체 오류입니다.지연과 동일한 Idempotency-Key를 사용하여 반복합니다.
ALLOCATION_PENDING200번호 요청이 이미 처리 중입니다. 같은 Idempotency-Key로 다시 시도하세요.번호 요청이 이미 처리 중입니다. 같은 Idempotency-Key로 다시 시도하세요.
ALLOCATION_UNCERTAIN200할당 결과가 확인되지 않았습니다. 두 번째 번호가 할당되지 않도록 자동 재시도가 비활성화되었습니다.할당 결과가 확인되지 않았습니다. 두 번째 번호가 할당되지 않도록 자동 재시도가 비활성화되었습니다.

REST는 객체를 반환합니다 {"error":{"code":"…","message":"…"}} 일반 HTTP 상태 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "요청 필드를 확인하세요.",
    "request_id": "req_…",
    "hint": "Use the documented JSON type; numbers must not be quoted.",
    "retryable": false,
    "details": {
      "field": "country",
      "expected": "integer"
    }
  }
}
REST
X-Request-ID: included in every API response
405: Allow lists the supported HTTP methods
ALLOCATION_PENDING: retryable=true · Retry-After=3 · same operation key
ALLOCATION_UNCERTAIN: retryable=false · contact support
Transport errors: check the operation before another write; keep the original key.

새로운 통합을 위한 REST

USD 요금액은 8 자리의 소수점 이하 숫자로 정확한 소수점 표기법으로 반환됩니다: 0.00300000 USD.

잔액의 통화는 USD입니다. 요청 및 응답 스키마: OpenAPI.

USDT 출금 · TRC20지급에는 1~45일이 소요됩니다. 출금 수수료는 4달러이며 신청 금액에서 차감됩니다. SMS를 받으면 수익은 공급자가 정한 기간 동안 보류됩니다. 지정된 날짜가 되면 금액이 자동으로 출금 가능해집니다. 보류 기간이 끝난 자금만 출금할 수 있습니다.
GET/api/v1/catalog서비스 및 국가
GET/api/v1/tariffsSMS 국가별 보상율
GET/api/v1/offers요금 및 보상
GET/api/v1/services디렉토리
GET/api/v1/countries디렉토리
GET/api/v1/operators디렉토리
GET/api/v1/availability?country=1번호 가용성
POST/api/v1/activations새 세션
GET/api/v1/activations/batch?ids=42,43여러 번호 확인
GET/api/v1/activations최신 200 세션: scope=history, 대기 중 또는 전체
GET/api/v1/activations/{id}세션 및 메시지
GET/api/v1/activations/{id}/sms?after_id=0&limit=100커서가 있는 새로운 SMS
POST/api/v1/activations/{id}/retrySMS를 기다리는 중
POST/api/v1/activations/{id}/finish완료
POST/api/v1/activations/{id}/cancel취소
POST/api/v1/activations/repeat번호 재발급
GET/api/v1/keysAPI 키
POST/api/v1/keys키 만들기
PATCH/api/v1/keys/{id}이름 변경 또는 policy
DELETE/api/v1/keys/{id}키 취소
GET/api/v1/referrals추천 코드 및 수입
GET/api/v1/summary잔액 및 요약
GET/api/v1/balance보류 중
GET/api/v1/ledger수익원장
GET/api/v1/withdrawals지급 요청
POST/api/v1/withdrawals요청 만들기
GET/api/v1/statistics전체 통계
GET/api/v1/earnings/holds수익 보류

새 SMS만 받음

REST
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "session_id": 42,
  "sms": [
    {
      "id": 101,
      "code": "001234",
      "text": "코드: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

next_cursor를 저장하고 after_id로 전달합니다. has_more=true이면 다음 페이지를 즉시 읽을 수 있습니다. limit: 1–200. 세션 및 SMS는 소유자만 사용할 수 있습니다.