Números, mensagens e ganhos, diretamente do seu aplicativo.
SMScash
Documentação da API
Primeiros passos

Documentação da API

Números, mensagens e ganhos, diretamente do seu aplicativo.

Comece com uma solicitação

13 · Comandos APIREST + handler_api.phpJSON / plain text · Bearer

Crie uma chave API no seu painel de controle, obtenha um número e verifique as mensagens a cada 20 segundos. O pagamento é creditado quando um SMS com um código chega; ler novamente não afeta seu saldo.

REST APIhttps://smscash.org/api/v1
Compatibilidade API base URLhttps://smscash.org/stubs/handler_api.php
Serviço está vivoNúmeros de telefone, SMS e os lucros estão disponíveis. retirados estão disponível em USDT em TRC20Os pagamentos são entre 1 e 45 dias de dia.
Início rápido · 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}'

Endereço de interface compatível alternativo: /handler_api.php. As integrações REST existentes continuam funcionando.

REST API

Construtor de pedidos

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

Seleção automática: mais códigos na última hora, depois em 24 horas. Sem números: próximo operador.

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}'

A chave não é guardada. Esta verificação não atribui números.

REST para novas integrações

Serviços e países

Escolha um serviço e um país. O pagamento por SMS depende do país.

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)

Obtenha um número
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

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

Seleção automática: mais códigos na última hora, depois em 24 horas. Sem números: próximo operador.

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

O número é válido por 20 minutos. SMS é verificado a cada 20 segundos. Você pode cancelar imediatamente.

Verificar vários números
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
Saldo · Em retenção
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 — Disponível; held_balance — Em retenção. USD · 8

Só é possível levantar fundos cujo prazo de retenção terminou.

Clientes prontos a usar

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 · Compatibilidade API base URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · Compatibilidade API base URLhttps://smscash.org/hero-sms/stubs/handler_api.php

Chave API pessoal do usuário.

Escolha um serviço e um país. O pagamento por SMS depende do país.

CódigoDescrição
getNumber / getNumberV2Obtenha um número
getStatus / getStatusV2Obtenha o código mais recente
setStatus / finishActivation / cancelActivationGerenciar sessão
getPrices / getNumbersStatusVerifique a disponibilidade
getRewards (SMScash)Recompensa para SMS
getServicesList / getServicesServiços
getCountries / getOperatorsServiços e países
getActiveActivationsSessões
getBalanceSaldo do usuário
getHoldBalance (SMScash)Em retenção

cost = 0 USD · activationCost = 0 USD
reward — Recompensa para 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'
Respostas
{
  "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.

O número é válido por 20 minutos. SMS é verificado a cada 20 segundos. Você pode cancelar imediatamente.

Autenticação e novas tentativas

REST: cabeçalho Authorization: Bearer YOUR_API_KEY. Interface compatível: parâmetros api_key e action. Utilize HTTPS.

Para gerenciar chaves API, insira sua conta.

∞solicitações/min por conta
∞sessões simultâneas

A frequência de pedidos e a quantidade de números de telefone são ilimitadas. Não há quotas diárias nem horárias.

O número é válido por 20 minutos. SMS é verificado a cada 20 segundos. Você pode cancelar imediatamente.

Em REST, um único Idempotency-Key é necessário para alocação de números, alocação repetida, retry e solicitações de pagamento. É opcional, mas recomendado em handler_api.php. Reutilize a chave ao tentar novamente uma solicitação de rede; use uma nova chave para uma nova operação.

Âmbito da chave API

Pode associar uma chave a serviços, países e fornecedores específicos. Listas vazias permitem todas as opções disponíveis.

JSON
{
  "label": "Meu software",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} muda totalmente o nome e policy. O segredo só é mostrado quando criado.

10% no total. 5% + 5% com código de software.

Ao emitir um número, forneça ref proprietário do software. A solicitação é autorizada pela chave do usuário. O código está na seção "Referências" e em GET /api/v1/referrals → software_ref.

SolicitaçãoQuem convidouProgramas
Sem ref10%—
Com ref5%5%
Com ref, sem referenciador—5%

A plataforma paga o bônus sem reduzir o rendimento do usuário. O proprietário do software e o referenciador podem ser a mesma pessoa. Um usuário não pode usar seu próprio código.

Os termos são fixados quando uma sessão é criada; a leitura de SMS e retry não os altera. Passar ref novamente para uma nova sessão de repetição. No cálculo da tarifa, um recompensamento do usuário de USD 0.003 fornece USD 0.00015 cada um ao proprietário e referidor do software. O bônus total é USD 0.00030.

Comandos API

11 métodos estilo XVBC mais seu saldo SMScash.

GETgetNumberObtenha um número

Cria uma sessão e reserva um número disponível para o usuário. A taxa de recompensa e os destinatários das referências são fixados na alocação; a recompensa é creditada quando um SMS com um código chega.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
service*stringCódigos de serviço disponíveis. A resposta está limitada à área da chave API.
country*integerPegue ID de getCountries.
operatorstringPegue ID de operators/getOperators (API). operator=1 · any/0
session_durationintegerA sessão dura 20 minutos. Passar 20 ou omitir este parâmetro.
with_operatorinteger1 adiciona o ID do operador à resposta; 0 ou sua omissão retorna três segmentos.
refstringCódigo público do proprietário do software: 5% para ele e 5% para quem convida. Sem ref - 10% para quem convida.

* Parâmetro obrigatório. Em todas as requisições passe também action=getNumber.

Solicitação de exemplo

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'

Respostas

Número emitido
ACCESS_NUMBER:42:380670000000:1
Nenhum número disponível
EMPTY_POOL
  • Seleção automática: mais códigos na última hora, depois em 24 horas. Sem números: próximo operador.
  • Passe Idempotency-Key: a mesma solicitação com a mesma chave retorna a sessão anterior. Alterar os parâmetros chama IDEMPOTENCY_CONFLICT.
  • Um país numérico sem pool fornece EMPTY_POOL; o formato de país errado é BAD_COUNTRY.
  • A chave de uma sessão excluída continua sendo usada: a alocação com essa chave retorna SESSION_CLOSED e não gera outro número.
  • O resultado da atribuição não está confirmado. A repetição automática está desativada para evitar atribuir um segundo número.
GETgetNumbersStatusVerifique a disponibilidade

Quantidade de números de telefone disponíveis por serviço e país.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
country*integerPegue ID de getCountries.

* Parâmetro obrigatório. Em todas as requisições passe também action=getNumbersStatus.

Solicitação de exemplo

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

Respostas

Números disponíveis
{
  "go_0": 0
}
  • O sufixo _0 significa uma escolha sem um operador específico.
  • A disponibilidade refere-se ao conjunto total do fornecedor. O canal escolhido é verificado ao atribuir um número.
GETgetStatusObtenha o código mais recente

Solicitação fácil de status da sessão e último código SMS. Os zeros à esquerda no código são preservados.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
id*integerID da sua sessão, recebido quando o número foi emitido.

* Parâmetro obrigatório. Em todas as requisições passe também action=getStatus.

Solicitação de exemplo

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

Respostas

Esperando
STATUS_WAIT_CODE
Código recebido
STATUS_OK:001234
Cancelamento ou expiração
STATUS_CANCEL
Não encontrado
NO_ACTIVATION
  • Faça uma pesquisa a cada 20 segundos. Ler uma mensagem novamente não gera outro pagamento.
  • Após retry o código antigo não é retornado: getStatus aguarda o próximo SMS.
  • Após a eliminação de um número sem SMS, getStatus e getSms retornam STATUS_CANCEL; getSmsFull retorna o status fechado, um telefone vazio e uma lista de SMS vazia. REST /activations/{id} e /sms retornam 404 NO_ACTIVATION.
GETsetStatusGerenciar sessão

Finalizações, cancelamentos ou retomadas de espera por SMS. O prazo da sessão permanece o mesmo.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
id*integerID da sua sessão, recebido quando o número foi emitido.
status*integer3 — espere pelo próximo código sem expandir a sessão; 6 — termine após SMS; 8 — cancele imediatamente.

* Parâmetro obrigatório. Em todas as requisições passe também action=setStatus.

Solicitação de exemplo

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'

Respostas

Esperando por SMS
ACCESS_RETRY_GET
Concluído
ACCESS_ACTIVATION
Cancelado
ACCESS_CANCEL
  • Tente novamente e aguarde o próximo código dentro dos 20 minutos originais. Os tempos de problema e expiração não mudam.
  • Para status=3 use Idempotency-Key: repetir a solicitação não redefinirá o novo código já recebido. A história do SMS permanece disponível.
  • O cancelamento não retira as recompensas já obtidas.
  • Apenas os números com um código SMS são mantidos na história. Os números cancelados e expirados sem código são excluídos.
GETgetRepeatNumberEmitir o mesmo número novamente

Abre uma nova sessão com um número específico do seu histórico. Você pode selecionar outro serviço disponível no mesmo país.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
number*stringSeu número antigo. Somente números e um + opcional inicial são permitidos.
service*stringCódigos de serviço disponíveis. A resposta está limitada à área da chave API.
session_durationintegerA sessão dura 20 minutos. Passar 20 ou omitir este parâmetro.
with_operatorinteger1 adiciona o ID do operador à resposta; 0 ou sua omissão retorna três segmentos.
refstringCódigo público do proprietário do software: 5% para ele e 5% para quem convida. Sem ref - 10% para quem convida.
operatorstringPegue ID de operators/getOperators (API). operator=1 · any/0

* Parâmetro obrigatório. Em todas as requisições passe também action=getRepeatNumber.

Solicitação de exemplo

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'

Respostas

Nova sessão
ACCESS_NUMBER:43:380670000000
O número ainda está ocupado
NUMBER_IN_USE
  • Primeiro, encerre ou cancele sua sessão atual. Se o número estiver ocupado, a reemissão não será realizada.
  • A nova sessão recebe um novo ID e o tarifário atual. SMS antigos não são copiados para ele. ref é definido novamente.
  • SMScash permite repetir apenas números do histórico desta conta. O país é identificado por número.
  • A chave de uma sessão excluída continua sendo usada: a alocação com essa chave retorna SESSION_CLOSED e não gera outro número.
GETgetSmsFullObtenha SMS como JSON

Histórico estruturado de todas as mensagens com ID, remetente, código, texto e dados de país, serviço e fornecedor.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
id*integerID da sua sessão, recebido quando o número foi emitido.

* Parâmetro obrigatório. Em todas as requisições passe também action=getSmsFull.

Solicitação de exemplo

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

Respostas

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"
}
  • Formato preferido para integração. Lembre-se de sms[].id para processar apenas novas mensagens.
  • Status numérico SMScash: 1 - ativo, 6 - concluído, 8 - cancelado ou expirado. status_name distingue entre espera, recebido, finalizado, cancelado, expirado.
  • Os códigos recebidos permanecem disponíveis após o término da sessão. Para volumes grandes, use REST /activations/{id}/sms com after_id.
  • Após a eliminação de um número sem SMS, getStatus e getSms retornam STATUS_CANCEL; getSmsFull retorna o status fechado, um telefone vazio e uma lista de SMS vazia. REST /activations/{id} e /sms retornam 404 NO_ACTIVATION.
GETgetSmsObtenha SMS como uma string de texto

Retorna todo o histórico SMS em formato de string para clientes existentes.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
id*integerID da sua sessão, recebido quando o número foi emitido.

* Parâmetro obrigatório. Em todas as requisições passe também action=getSms.

Solicitação de exemplo

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

Respostas

Mensagem
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
Esperando
STATUS_WAIT_CODE
Cancelamento ou expiração
STATUS_CANCEL
  • Formato da mensagem: hora|código|texto. Várias mensagens são separadas por dois pontos.
  • O próprio texto SMS pode conter dois pontos e barras verticais. Para uma análise confiável, use getSmsFull.
GETgetServicesServiços

Códigos de serviço disponíveis. A resposta está limitada à área da chave API.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
countryintegerPegue ID de getCountries.

* Parâmetro obrigatório. Em todas as requisições passe também action=getServices.

Solicitação de exemplo

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

Respostas

Serviços
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • O diretório de serviços é compartilhado entre os fornecedores. A disponibilidade do número é verificada separadamente.
GETgetCountriesPaíses

IDs, nomes e códigos de chamada para os países no canal selecionado.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.

* Parâmetro obrigatório. Em todas as requisições passe também action=getCountries.

Solicitação de exemplo

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

Respostas

Países
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsOperadores

Operadores disponíveis: ID da API, nome e período de retenção.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
countryintegerPegue ID de getCountries.
operatorstringPegue ID de operators/getOperators (API). operator=1 · any/0

* Parâmetro obrigatório. Em todas as requisições passe também action=getOperators.

Solicitação de exemplo

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

Respostas

Operadores
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • Pegue ID de operators/getOperators (API).
GETgetRewardsRecompensa para SMS

As taxas dependem do país. Todas as quantias na tabela são por SMS pago.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.
countryintegerPegue ID de getCountries.
servicestringCódigos de serviço disponíveis. A resposta está limitada à área da chave API.
operatorstringPegue ID de operators/getOperators (API). operator=1 · any/0

* Parâmetro obrigatório. Em todas as requisições passe também action=getRewards.

Solicitação de exemplo

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

Respostas

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • USDAs quantias de tarifa são retornadas como strings decimais exatas com 8 casas decimais:
  • Provedores habilitados disponíveis para sua chave.
  • country ID → service code → operator ID → reward (USD)
GETgetBalanceSaldo do usuário

Adição SMScash: saldo disponível considerando acumulações, bônus de indicação e solicitações de pagamento.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.

* Parâmetro obrigatório. Em todas as requisições passe também action=getBalance.

Solicitação de exemplo

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

Respostas

Saldo
ACCESS_BALANCE:0.00
  • getBalance devolve o saldo disponível em USD com até 8 casas decimais.
  • Só é possível levantar fundos cujo prazo de retenção terminou.
GETgetHoldBalanceEm retenção

Após receber um SMS, os ganhos ficam retidos pelo prazo do fornecedor. Na data indicada, o montante fica automaticamente disponível para levantamento.

Parâmetros

ParâmetroTipoDescrição
api_key*stringChave API pessoal do usuário.

* Parâmetro obrigatório. Em todas as requisições passe também action=getHoldBalance.

Solicitação de exemplo

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

Respostas

Em retenção
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • Só é possível levantar fundos cujo prazo de retenção terminou.

Códigos de resposta e solicitações repetidas

Em handler_api.php os resultados de negócios geralmente vêm com HTTP 200. Verifique o corpo do texto. Diretórios e getSmsFull retornam JSON se forem bem-sucedidos; erros são sempre texto.

CódigoHTTPCausa e próximo passo
TARIFF_NOT_CONFIGURED200As taxas ainda não foram definidasA alocação de números começará assim que as recompensas SMS forem configuradas.
COUNTRY_BLOCKED200A alocação de números para este país está bloqueada.Escolha outro país.
BAD_SERVICE200A atribuição de números para este serviço está bloqueada.Escolha outro serviço.
PROVIDER_NOT_READY200A alocação de números está temporariamente indisponívelAtualize os catálogos da API.
BAD_KEY400Nenhum api_key ou formato inválido.Verifique a chave na solicitação.
INVALID_API_KEY401A chave é desconhecida, revogada ou a conta está desativada.Crie uma chave de API válida.
BAD_COUNTRY400país está faltando ou não tem um número positivo.Pegue ID de getCountries.
BAD_SESSION_DURATION400Os números de telefone são emitidos por exatamente 20 minutos.Correto session_duration.
BAD_REQUEST400Parâmetro inválido ou Idempotency-Key.Por favor, corrija sua solicitação.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Item de diretório desconhecido ou desativado.Atualize os catálogos da API.
BAD_NUMBER200Formato numérico incorreto.Dê o número em algarismos.
BAD_ACTION / BAD_STATUS200Comando desconhecido, ID ou operação.Verifique as configurações.
EMPTY_POOL200Nenhum número de telefone correspondente está disponível no momento.Repita após 10-30 segundos ou troque os filtros.
NUMBER_IN_USE200Um número específico é ocupado por uma sessão ativa.Encerre sua sessão ou selecione outro número.
NO_ACTIVATION200A sessão ou número anterior não pertence à sua conta.Verifique ID e chave.
SESSION_CLOSED / SMS_REQUIRED200A transição de estado não está disponível no momento.Verifique a condição e disponibilidade do SMS.
SCOPE_BLOCKED200O serviço, país ou fornecedor não está autorizado para a chave.Atualize o escopo da chave de API.
IDEMPOTENCY_CONFLICT200Esta chave de consulta já está associada a outros parâmetros.Para uma nova operação, crie outro Idempotency-Key.
BAD_REF / SELF_REF400O código do software é desconhecido, desabilitado ou pertence ao próprio usuário.Passe adiante o código do proprietário do software.
INTERNAL_ERROR500Erro temporário do servidor ou fornecedor.Repita com atraso e o mesmo Idempotency-Key.
ALLOCATION_PENDING200A atribuição do número já está em curso. Tente novamente com o mesmo Idempotency-Key.A atribuição do número já está em curso. Tente novamente com o mesmo Idempotency-Key.
ALLOCATION_UNCERTAIN200O resultado da atribuição não está confirmado. A repetição automática está desativada para evitar atribuir um segundo número.O resultado da atribuição não está confirmado. A repetição automática está desativada para evitar atribuir um segundo número.

REST devolve um objeto {"error":{"code":"…","message":"…"}} e status HTTP regular 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Verifique os campos da solicitação.",
    "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 para novas integrações

USDAs quantias de tarifa são retornadas como strings decimais exatas com 8 casas decimais: 0.00300000 USD.

A moeda do saldo é USD. Os esquemas de solicitação e resposta estão disponíveis em OpenAPI.

Saque em USDT · TRC20Os pagamentos demoram entre 1 e 45 dias. A taxa de saque é de US$ 4. Ela é descontada do valor solicitado. Após receber um SMS, os ganhos ficam retidos pelo prazo do fornecedor. Na data indicada, o montante fica automaticamente disponível para levantamento. Só é possível levantar fundos cujo prazo de retenção terminou.
GET/api/v1/catalogServiços e países
GET/api/v1/tariffsSMS taxas de recompensa por país
GET/api/v1/offersTaxas e recompensas
GET/api/v1/servicesDiretório
GET/api/v1/countriesDiretório
GET/api/v1/operatorsDiretório
GET/api/v1/availability?country=1Disponibilidade de número
POST/api/v1/activationsNova sessão
GET/api/v1/activations/batch?ids=42,43Verificar vários números
GET/api/v1/activationsÚltimas 200 sessões: scope=history, esperando ou todas
GET/api/v1/activations/{id}Sessão e mensagens
GET/api/v1/activations/{id}/sms?after_id=0&limit=100Novo SMS com cursor
POST/api/v1/activations/{id}/retryEsperando por SMS
POST/api/v1/activations/{id}/finishConclusão
POST/api/v1/activations/{id}/cancelCancelar
POST/api/v1/activations/repeatReemissão de número
GET/api/v1/keysChaves API
POST/api/v1/keysCrie uma chave
PATCH/api/v1/keys/{id}Alterar nome ou policy
DELETE/api/v1/keys/{id}Revogar chave
GET/api/v1/referralsCódigo de referência e ganhos
GET/api/v1/summarySaldo e Resumo
GET/api/v1/balanceEm retenção
GET/api/v1/ledgerLivro de ganhos
GET/api/v1/withdrawalsSolicitações de pagamento
POST/api/v1/withdrawalsCrie uma solicitação
GET/api/v1/statisticsEstatísticas gerais
GET/api/v1/earnings/holdsRetenção de ganhos

Recebendo apenas novos 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": "Código: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

Salve next_cursor e passe-o adiante como after_id. Se has_more=true, a próxima página poderá ser lida imediatamente. limit: 1–200. Sessões e SMS estão disponíveis apenas para o proprietário.