Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 Emirados Árabes Unidos, Ajman
+971585072431, /assets/img/icons/logo/logo.svg, [email protected]

Protocolo API para trabalhar com SMS-Activate

API é um protocolo entre o seu software e nosso servidor

A API é necessária para automatizar o processo de recebimento de sms, otp e pva do seu lado

Nossa API é totalmente compatível com sites concorrentes

Todas as solicitações devem ser enviadas para https://api.sms-activate.ai/stubs/handler_api.php

Solicitação POST ou GET.

Todas as solicitações devem conter uma chave de API na forma do parâmetro GET api_key

Baixar implementação do protocolo em php Baixar implementação pronta do protocolo em Python

API de Ativação

Solicitar a quantidade disponível de números virtuais
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

Parâmetros:

$api_key - Chave de API

$country * - número do país veja a tabela

$operador * números de operadoras móveis, você pode especificar vários números separados por vírgulas (disponível apenas para:

Rússia
megafon, mts, beeline, tele2, rostelecom, qualquer
Ucrânia
kyivstar, life, utel, mts, vodafone
Cazaquistão
tele2, beeline, activ, altel

** disponível para $country = 0, $country = 1, $country = 2

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
Onde o traço indica o nome do serviço; após a designação, se é necessário incluir redirecionamento. 0 - não. 1 - sim.

Lista completa de serviços

Solicitar os principais países por serviço Preço Grátis
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

Parâmetros:

$api_key - Chave de API

$service * - Serviço veja a tabela

* parâmetro opcional. Se não especificado, os principais países para todos os serviços serão exibidos por padrão.

$freePrice * - parâmetro opcional. Se fornecido true, a quantidade e o preço serão informados de acordo com o Preço Grátis

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{ 0: { "country: 0, "count": 43575, "price": 15.00, "retail_price": 30.00 }, ... }

$freePrice = true:

{ 0: { "country: 0, "count": 43575, "price": 15.00, "retail_price": 30.00, "freePriceMap": { "15.00": 43242, "18.00": 333 } }, ... }
Consulta de saldo
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalance

Solicitação de saldo com conta de cashback:

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalanceAndCashBack

* retorna o saldo considerando o cashback acumulado, se a opção 'Usar cashback na ativação' estiver marcada nas configurações da conta de cashback

Parâmetros:

$api_key - Chave de API

RESPOSTA:

ACCESS_BALANCE: 'saldo da conta'

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

ERROR_SQL - erro no servidor SQL

Solicitar operadoras disponíveis
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getOperators&country=$country

* retorna todas as operadoras disponíveis para o país informado; se nenhum país for informado, retornará todas as operadoras disponíveis para cada país

Parâmetros:

$api_key - Chave de API

$country - código do país

RESPOSTA:

A resposta do serviço será em formato JSON:

{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}

Exemplo:

{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}

* dentro de 'countryOperators', a chave será o código do país

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

ERROR_SQL - erro no servidor SQL

OPERATORS_NOT_FOUND - nenhum registro encontrado (por exemplo, país inexistente informado)

Solicitar ativações ativas
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getActiveActivations

Parâmetros:

$api_key - Chave de API

RESPOSTA:

A resposta do serviço será em formato JSON:

{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Your CODE registration code]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
}]

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

ERROR_SQL - erro no servidor SQL

NO_ACTIVATIONS - entradas não encontradas (sem ativações ativas)

Solicitar um número Preço Grátis
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&useCashBack=$useCashBack&activationType=$activationType&language=$language&userId=$userId

Parâmetros:

$api_key - Chave de API

$service - serviço para pedido veja a tabela

$forward * - é necessário solicitar um número com encaminhamento

* parâmetro opcional, aceita 0 (não executar, definido por padrão), 1 (executar)

$maxPrice * - o preço máximo pelo qual você está disposto a comprar um número no Preço Grátis

* parâmetro opcional; se não especificado, a compra ocorrerá ao preço regular

$phoneException * - excluindo prefixos para números russos. Insira separados por vírgula. Formato: código do país e de 3 a 6 dígitos da máscara (ex.: 7918, 7900111). O valor padrão é o definido na conta.

$operator* é uma operadora móvel do número, você pode especificar várias delas separadas por vírgula (disponível apenas para **)

$activationType - tipo de ativação: 0 - com SMS (padrão), 1 - com número, 2 - com voz

$language - idioma da análise (obrigatório para ativação por voz) veja a tabela

$userId * - ID do usuário a ser banido por estatísticas ruins de ativação, mas a conta do próprio revendedor não é afetada.

Rússia
megafon, mts, beeline, tele2, rostelecom, qualquer
Ucrânia
kyivstar, life, utel, mts, vodafone
Cazaquistão
tele2, beeline, activ, altel

* campo opcional

** disponível para $country = 0, $country = 1, $country = 2

$ref - transfira o ID de indicação.

$country - número do país veja a tabela

$useCashBack* - aceita um valor booleano; se o parâmetro for 'true', a compra do número será feita usando o cashback. Após esgotar o saldo de cashback, todas as compras subsequentes serão feitas usando o saldo principal. É IMPORTANTE lembrar que todas as compras subsequentes usarão primeiro o cashback e, em seguida, o saldo principal (mesmo se você passar o parâmetro 'false' depois disso).

* parâmetro opcional, aceita 'true'

Ao obter o número através da API, você concorda com os regras do projeto regras do projeto

POSSÍVEIS ERROS:

WRONG_MAX_PRICE:$min- o preço máximo especificado é menor que o permitido

$min - preço mínimo permitido

BAD_ACTION - ação incorreta

BAD_SERVICE - nome de serviço incorreto

BAD_KEY - chave de API inválida

ERROR_SQL - erro no servidor SQL

BANNED:'YYYY-m-d H-i-s' - horário em que a conta foi bloqueada

WRONG_EXCEPTION_PHONE - prefixos de exclusão incorretos

NO_BALANCE_FORWARD - fundos insuficientes para comprar desvio de chamada

CHANNELS_LIMIT - conta bloqueada

NO_NUMBERS - sem números disponíveis

Se você tentar obter um número de uma operadora específica que não atua no país selecionado ou que não oferece o serviço selecionado, será retornado o número da primeira operadora que corresponder aos parâmetros da solicitação

Solicitação de Número V2 Preço Grátis
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumberV2&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&activationType=$activationType&language=$language&userId=$userId

o método funciona de forma semelhante ao método getNumber, aceita os mesmos parâmetros e outros adicionais descritos abaixo, mas retorna informações adicionais de ativação

Parâmetros:

$orderId- ID de ativação do sistema do revendedor. Na compra, esses dados são comparados com o ID de ativação e o revendedor em nosso sistema. Assim, buscamos alcançar idempotência (o mesmo pedido não será processado novamente).

RESPOSTA:

Se a solicitação for bem-sucedida, a resposta estará no seguinte formato:

{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}

Se você tentar obter um número de uma operadora específica que não atua no país selecionado ou que não oferece o serviço selecionado, será retornado o número da primeira operadora que corresponder aos parâmetros da solicitação

POSSÍVEIS ERROS:

ORDER_ALREADY_EXISTS- o pedido já foi criado

Webhooks

Ao receber um SMS em um número, se você tiver ativado a funcionalidade de Webhooks nas suas configurações, enviaremos informações sobre o SMS para os endereços especificados por meio de uma solicitação POST

RESPOSTA:

O formato da resposta será o seguinte:

{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}

Ao enviar uma solicitação, aguardaremos uma resposta do seu script com status HTTP 200. Se o seu script não responder, reenviaremos a solicitação dentro de 2 horas, mas não mais que 8 vezes.

Você pode ativar esta funcionalidade em configurações do perfil

Solicitar um número virtual para vários serviços
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMultiServiceNumber&multiService=$service&multiForward=$forward&operator=$operator&ref=$ref&country=$country

Parâmetros:

$api_key - Chave de API

$service - serviço para pedido veja a tabela

$forward * - é necessário solicitar um número com encaminhamento

* parâmetro opcional, os caracteres de redirecionamento são separados por vírgulas; o número de dígitos de redirecionamento deve corresponder ao número de serviços transmitidos no parâmetro $service. É permitido transmitir apenas 1 serviço com redirecionamento, por exemplo "0,1,0,0" - correto, "0,1,1,0" - incorreto. Aceita 0 (não executar, padrão), 1 (executar)

$operator * - operadora móvel do número, você pode especificar vários números separados por vírgulas (disponível apenas para **):

Rússia
megafon, mts, beeline, tele2, rostelecom, qualquer
Ucrânia
kyivstar, life, utel, mts, vodafone
Cazaquistão
tele2, beeline, activ, altel

$ref - transfira o ID de indicação.

$country - número do país veja a tabela

Ao obter o número através da API, você concorda com os regras do projeto regras do projeto

RESPOSTA:

NO_NUMBERS - sem números disponíveis

NO_BALANCE - saldo esgotado

{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}
, onde (phone - ID das operações, activation - Número de telefone, service - Serviço)

POSSÍVEIS ERROS:

BAD_ACTION - ação incorreta

BAD_SERVICE - nome de serviço incorreto

BAD_KEY - chave de API inválida

ERROR_SQL - erro no servidor SQL

BANNED:'YYYY-m-d H-i-s' - horário em que a conta foi bloqueada

Alteração do status de ativação
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setStatus&status=$status&id=$id&forward=$forward

Parâmetros:

$api_key - Chave de API

$id - ID da ativação

$forward * - número de telefone para o qual você deseja encaminhar

* necessário apenas se um parâmetro foi passado com getNumber forward=1.

$status - status da ativação

1 - notificar sobre a disponibilidade do número (SMS enviado para o número)

3 - solicitar mais um código (gratuito)

6 - finalizar a ativação *

8 - informar que o número já foi usado e cancelar a ativação

* se houver um status 'código recebido' - marca como concluído com sucesso; se houver 'preparação' - exclui e marca como erro; se houver status 'aguardando nova tentativa' - transfere a ativação para SMS pendente

** Não é possível alterar o status da ativação para a qual foi selecionado o método de verificação por chamada, se o número já tiver sido recebido

A lógica simples da cronologia de trabalho com a API:

Obtenção de um número usando o método getNumber, então as seguintes ações estão disponíveis:

8 - cancelar ativação (se o número não for adequado para você)

1 - informar que o SMS foi enviado (opcional)

Para ativação com status 1:

8 - cancelar a ativação

Imediatamente após receber o código:

3 - solicitar mais um SMS

6 - confirmar o código SMS e finalizar a ativação

Para ativação com status 3:

6 - confirmar o código SMS e finalizar a ativação

RESPOSTA:

ACCESS_READY - prontidão dos números confirmada

ACCESS_RETRY_GET - aguardando um novo SMS

ACCESS_ACTIVATION - o serviço foi ativado com sucesso

ACCESS_CANCEL - ativação cancelada

POSSÍVEIS ERROS:

EARLY_CANCEL_DENIED - não é permitido cancelar um número nos primeiros 2 minutos

ERROR_SQL - erro no servidor SQL

NO_ACTIVATION - o ID de ativação não existe

BAD_SERVICE - nome de serviço incorreto

BAD_STATUS - status incorreto

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

WRONG_ACTIVATION_ID - ID inválido ou o ID não é um número.

Obter status de ativação
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id

Parâmetros:

$api_key - Chave de API

$id - ID da ativação

RESPOSTA:

STATUS_WAIT_CODE - aguardando SMS

STATUS_WAIT_RETRY: 'passado, código não correspondente' - aguardando esclarecimento do código

STATUS_WAIT_RESEND - aguardando reenvio do SMS *

* o software deve pressionar reenviar SMS e alterar o status para 6

STATUS_CANCEL - ativação cancelada

STATUS_OK: 'código de ativação' - código recebido

POSSÍVEIS ERROS:

NO_ACTIVATION - o ID de ativação não existe

ERROR_SQL - erro no servidor SQL

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

Obter status de ativação Versão 2
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

Parâmetros:

$api_key - Chave de API

$id - ID da ativação

RESPOSTA:

O formato da resposta será o seguinte:

{
"verificationType": 2,
"sms": {
"dateTime": "0000-00-00 00:00:00",
"code": "code",
"text": "sms text",
},
"call": {
"from": "phone",
"text": "voice text",
"dateTime": "0000-00-00 00:00:00",
"url": "voice file url",
"parsingCount": 1,
}
}

STATUS_CANCEL - ativação cancelada

POSSÍVEIS ERROS:

NO_ACTIVATION - o ID de ativação não existe

ERROR_SQL - erro no servidor SQL

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

Obter histórico de ativações
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getHistory&start=$start&end=$end&offset=$offset&limit=$limit

Parâmetros:

$api_key - Chave de API

$start - timestamp no formato Unix Timestamp (opcional) - a partir de qual data considerar as ativações

$end - timestamp no formato Unix Timestamp (opcional) - até qual data considerar as ativações

$offset - deslocamento do primeiro elemento retornado na resposta. O padrão é 0

$limit - número máximo de registros retornados. O máximo é 100. O padrão é 50.

RESPOSTA:

O formato da resposta será o seguinte:

[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]

POSSÍVEIS ERROS:

ERROR_SQL - erro no servidor SQL

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

Obter os 10 principais países por serviço
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getListOfTopCountriesByService&service=$service

Parâmetros:

$api_key - Chave de API

$service - nome do serviço

RESPOSTA:

O formato da resposta será o seguinte:

[{
"country": 0,
"share": 50 - // (Purchases of the chosen service by country as a percentage of the total quantity of purchases at our service),
"rate": 50 - // (% of successful activations among the total number of activations by the country)
}]

POSSÍVEIS ERROS:

ERROR_SQL - erro no servidor SQL

BAD_KEY - chave de API inválida

WRONG_SERVICE - serviço incorreto

BAD_ACTION - ação incorreta

Obter o status de uma chamada recebida
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getIncomingCallStatus&activationId=$id

Parâmetros:

$api_key - Chave de API

$id - ID da ativação

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{"status":"2","phone":false}

POSSIBLE STATUSES:

2 - nova ativação

3 - concluído com sucesso

4 - cancelado

5 - devolvido

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

ID_DE_ATIVAÇÃO_INVÁLIDO - ID de ativação inválido

Obter preços atuais por país
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPrices&service=$service&country=$country

Parâmetros:

$api_key - Chave de API

$serviceNome curto do serviço (Opcional, por padrão todos os serviços) veja a tabela

$countryNome do código do país (Opcional, padrão para todos os países) veja a tabela

RESPOSTA:

JSON - objeto no formato
{"País":{"Serviço":{"custo":Custo,"quantidade":Quantidade}}}

Obter preços atualizados para serviços de verificação
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

Parâmetros:

$api_key - Chave de API

$serviceNome curto do serviço (Opcional, por padrão todos os serviços) veja a tabela

RESPOSTA:

JSON - objeto no formato
{"Serviço":{"País":{"quantidade":Quantidade,"preço":"Preço"}}}

Obter lista de todos os países
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getCountries

Parâmetros:

$api_key - Chave de API

RESPOSTA:

JSON - objeto no formato {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},

onde (

id : ID do país;

rus : nome do país em russo;

eng : nome do país em inglês;

chn : nome do país em chinês;

visible : 0 - o país não é exibido no site, 1 - exibido;

retry : 0 - reenvio de SMS NÃO disponível, 1 - disponível;

rent : 0 - país não disponível para aluguel, 1 - disponível para aluguel;

multiService : 0 - país NÃO disponível para multisserviço, 1 - disponível.)

Obter lista de todos os serviços
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getServicesList

Parâmetros:

$api_key- Chave de API

$country *- ID do país. Se você informar o país, retornaremos os serviços que possuem preço para o país escolhido

$lang *- idioma a ser usado para fornecer o `name`. Valores possíveis: 'ru', 'en', 'es', 'cn'. O padrão é 'en'

* parâmetro opcional

RESPOSTA:

JSON - objeto no formato { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }

Serviço adicional para números redirecionados

Após receber o primeiro SMS para números redirecionados, você pode comprar outros serviços relacionados, como Yula, Yandex, Avito e qualquer outro

O custo do serviço adicional é de apenas 5p

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getAdditionalService&service=$service&id=$id

Parâmetros:

$api_key - Chave de API

$service - para o nome curto do serviço, consulte a tabela veja a tabela

$id - ID da Ativação Principal

RESPOSTA:

ADICIONAL:$id:$telefone - uma nova ativação foi criada com sucesso. Onde ID é o ID da ativação adicional e telefone é o número de telefone

POSSÍVEIS ERROS:

SERVIÇO_ADICIONAL_INCORRETO - Serviço adicional inválido (apenas serviços para encaminhamento são permitidos)

WRONG_ACTIVATION_ID - ID da ativação principal incorreto

SEGURANÇA_INCORRETA - ocorreu um erro ao tentar transmitir um ID de ativação sem redirecionamento, ou uma ativação concluída/inativa

REPETIR_SERVIÇO_ADICIONAL - ocorre um erro ao tentar solicitar novamente um serviço já comprado SEM_SALDO - Fundos insuficientes

ERROR_SQL- erro no banco de dados, entre em contato com o atendimento ao cliente

Reativação de número virtual

Se você realizou uma ativação bem-sucedida no número, poderá fazê-lo novamente.

O custo da ativação adicional é determinado dependendo do país e do serviço. O custo específico pode ser obtido em .

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getExtraActivation&activationId=$activationId

Parâmetros:

$api_key - Chave de API

$activationId - ID da Ativação Principal

RESPOSTA:

ACESSAR_NÚMERO:$id:$telefone - uma nova ativação foi criada com sucesso. Onde $id é o ID da ativação adicional e $phone é o número de telefone

POSSÍVEIS ERROS:

RENOVAR_ATIVAÇÃO_NÃO_DISPONÍVEL- o número não está disponível para ativação adicional

WRONG_ACTIVATION_ID - ID da ativação principal incorreto

ERROR_SQL- erro no banco de dados, entre em contato com o atendimento ao cliente

NOVA_ATIVAÇÃO_IMPOSSÍVEL- não é possível realizar uma ativação adicional

NO_BALANCE - sem saldo na conta

Obter preço para ativação adicional de número

Você pode verificar a disponibilidade do número para ativação adicional e obter seu custo

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkExtraActivation&activationId=$activationId

Parâmetros:

$api_key - Chave de API

$activationId - ID da Ativação Principal

RESPOSTA:

JSON - objeto no formato {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},

POSSÍVEIS ERROS:

RENOVAR_ATIVAÇÃO_NÃO_DISPONÍVEL- o número não está disponível para ativação adicional

WRONG_ACTIVATION_ID - ID da ativação principal incorreto

SIM_OFFLINE - Cartão SIM offline

Análise de voz repetida
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=parseCall&id=$id&newLang=$newLang

Parâmetros:

$api_keychave api

$id - ID da ativação

$newLang - novo idioma de análise veja a tabela

RESPOSTA:

O formato da resposta será o seguinte:

{
"result": "OK"
}

STATUS_CANCEL - ativação cancelada

SEM_CHAMADA- nenhuma chamada foi recebida

PARSE_COUNT_EXCEED- limite de tentativas de análise (máximo é 4)

POSSÍVEIS ERROS:

WRONG_ACTIVATION_ID - ID inválido, a ativação não existe

ERROR_SQL - erro no servidor SQL

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

Aluguel via API

Solicitar países e serviços disponíveis
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentServicesAndCountries&rent_time=$time&operator=$operator&country=$country&incomingCall=$incomingCall

Parâmetros:

$api_key - Chave de API

$time* - tempo de aluguel (por padrão: 4 horas)

$operator* - operadora móvel do número, você pode especificar várias delas separadas por vírgulas (por padrão: Qualquer)

$country* - país (por padrão: Rússia)

$incomingCall * - se transferido "true"obter um número que suporte a função de receber chamadas

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{ "countries": { "0": 0 }, "operators": { "0": "aiva", "1": "any", "2": "beeline", ... "16": "yota" }, "services": { "full": { "cost": 42.93, "quant": 20 }, "vk": { "cost": 21.95, "quant": 20 }, "ok": { "cost": 7.68, "quant": 55 }, "ot": { "cost": 5.2, "quant": 42 } } }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

OUT_OF_STOCK - números para aquele país estão indisponíveis

Solicitar aluguel de número virtual
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentNumber&service=$service&rent_time=$time&operator=$operator&country=$country&url=$url&incomingCall=$incomingCall

Parâmetros:

$api_key - Chave de API

$service - o serviço para o qual você precisa obter um número

$time* - tempo de aluguel em horas (padrão: 4 horas). O próximo período de tempo disponível é 12 horas, depois 24 horas. Ao solicitar aluguel por um dia ou mais, você deve informar: 24, 48, 72, etc.

$operator* - operadora móvel do número, você pode especificar várias delas separadas por vírgulas (por padrão: Qualquer)

$country* - país (por padrão: Rússia)

$url * - um link para o webhook (não é considerado por padrão)

$incomingCall * - se transferido "true"obter um número que suporte a função de receber chamadas

O que é webHook?

* parâmetro opcional. Se não especificado, o parâmetro padrão será usado.

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

Resposta em formato json:

{ "status": "error", "message": "*possible_answer*" }


Possíveis respostas no campo "message":

BAD_SERVICE - serviço não especificado ou nome incorreto

NO_BALANCE - sem saldo na conta

NO_NUMBERS - sem números disponíveis

ACCOUNT_INACTIVE - sem números disponíveis

SERVER_ERROR - erro no servidor

CHANNELS_LIMIT - conta bloqueada

obter status do aluguel
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentStatus&id=$id&page=$page&size=$size

Parâmetros:

$api_key - Chave de API

$id - ID de aluguel recebido na resposta ao pedir um número

$page* - número da página a partir da qual a seleção começa (a numeração das páginas começa em 0, do mais novo para o mais antigo; o padrão é 0)

$size* - tamanho da página (padrão 10)

* parâmetro opcional. Se não especificado, o parâmetro padrão será usado.

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{ "status": "success", "quantity": "2", "values": { "0": { "phoneFrom": "79180230628", "text": "5", "service": "ot", "date": "2020-01-30 14:31:58" }, "1": { "phoneFrom": "79180230628", "text": "4", "service": "ot", "date": "2020-01-30 14:04:16" } } }

* bem-sucedido apenas quando há SMS (campo 'quantity' > 0).

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

Resposta em formato json:

{ "status": "error", "message": "*possible_answer*" }

Possíveis respostas no campo "message":

NO_ID_RENT - ID de aluguel não especificado

INVALID_PHONE - o número não foi alugado por você (ID de aluguel inválido)

STATUS_FINISH - aluguel pago e concluído

STATUS_CANCEL - aluguel cancelado com reembolso

STATUS_WAIT_CODE - aguardando o primeiro SMS

STATUS_REVOKE - O número está bloqueado, seus fundos foram devolvidos

Alteração do Status de Aluguel
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setRentStatus&id=$id&status=$status

Parâmetros:

$api_key - Chave de API

$id - ID de aluguel recebido na resposta ao pedir um número

$status - código para alterar o status (número)

O status pode ser:

1
Concluir
2
Cancelar

RESPOSTA:

A resposta do serviço será em formato JSON:

{ "status": "success" }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

Resposta em formato json:

{ "status": "error", "message": "*possible_answer*" }

Possíveis respostas no campo "message":

NO_ID_RENT - ID de aluguel não especificado

INCORECT_STATUS - status ausente ou especificado incorretamente

CANT_CANCEL - não é possível cancelar o aluguel (mais de 20 min.)

INVALID_PHONE - o número não foi alugado por você (ID de aluguel inválido)

ALREADY_FINISH - o aluguel já foi concluído

ALREADY_CANCEL - o aluguel já foi cancelado

SERVER_ERROR - erro no servidor

Listar ativações atuais
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉Atenção! Este método exibe apenas os últimos 10 números. Se precisar de mais números, use o getRentStatus método para verificar os status.

Parâmetros:

$api_key - Chave de API

RESPOSTA:

A resposta do serviço será em formato JSON:

{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta


Resposta em formato json:

{ "status": "error", "message": "*possible_answer*" }


Possíveis respostas no campo "message":

NO_NUMBERS - nenhum número alugado

SERVER_ERROR - erro no servidor

Estender seu aluguel
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

Parâmetros:

$api_key - Chave de API

$id - ID do aluguel

$rent_time- tempo de aluguel (padrão: 4 horas)

RESPOSTA:

A resposta do serviço será em formato JSON:

{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }

Ao prolongar um aluguel concluído, ele será reordenado e um novo ID será fornecido

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

SERVER_ERROR - erro no servidor


Resposta em formato json:

{ "status": "error", "message": "*possible_answer*", "info": "*details*" }


Possíveis respostas no campo "message":

NO_ID_RENT - não há ID de aluguel

INVALID_TIME - tempo incorreto. Horas disponíveis de 4 a 1344

MAX_HOURS_EXCEED - O tempo máximo disponível foi excedido

info:

max - tempo máximo disponível

INVALID_PHONE - ID de aluguel incorreto

RENT_DIE - não é possível estender o aluguel porque o número expirou

NO_BALANCE - saldo insuficiente

CHANNELS_LIMIT - conta bloqueada

Obter o custo da renovação do aluguel
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

* este método está disponível apenas para aluguel com a operadora MTT.

Parâmetros:

$api_key - Chave de API

$id - ID do aluguel

$rent_time - tempo de aluguel

RESPOSTA:

A resposta do serviço será em formato JSON:

{ "status": "success", "price": 6.33 }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

SERVER_ERROR - erro no servidor


Resposta em formato json:

{ "status": "error", "message": "*possible_answer*" }


Possíveis respostas no campo "message":

NO_ID_RENT - não há ID de aluguel

INVALID_PHONE - ID de aluguel incorreto

INVALID_TIME - configuração de tempo incorreta

RENT_DIE - não é possível estender o aluguel porque o número expirou

MAX_HOURS_EXCEED - O tempo máximo disponível foi excedido

info:

max - tempo máximo disponível

CHANNELS_LIMIT - conta bloqueada

API JAVA

Início das operações

Inclua a biblioteca no Maven

<dependência><groupId>ru.sms-activate</groupId>
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependência>

Você pode ver um exemplo de registro através do link para o MavenRepository

Importe a classe principal para interagir com a API do SMS-Activate.

import ru.sms_activate.SMSActivateApi

Para usar a biblioteca, você precisa de uma chave de API, que pode ser obtida nesta página e no link abaixo.

Chave de API do SMS-Activate
Um exemplo de trabalho com saldo

Para obter o saldo atual da sua conta, use o método getBalance... Se você estiver interessado em cashback além do saldo, então chame o método getBalanceAndCashBack.

Método getBalanceAndCashBack retorna um objeto da classeSMSActivateGetBalanceAndCashBack.

getBalance: Obtém o saldo atual da conta

Parâmetros:

NENHUM

TIPO DE RETORNO:

BigDecimal

getBalanceAndCashBack: Obtém o saldo e o valor do cashback como saldo total

Parâmetros:

NENHUM

getNumber: Obter ativação

Parâmetros:

countryId(Integer) - identificador do país.

service(String) - nome abreviado do serviço.

forward*(boolean) - se deve solicitar um número com encaminhamento de chamadas.

operatorSet*(Conjunto) - conjunto de operadoras.

phoneException*(Conjunto) - excluindo prefixos apenas para a Rússia, um conjunto de números de 3 a 6 dígitos (7918,7900111).

* campo opcional. Se nada for especificado, a quantidade padrão será atribuída de acordo com a configuração no perfil.

TIPO DE RETORNO:

SMSActivateActivation

getNumberStatus: Obtém informações sobre os serviços disponíveis

Parâmetros:

countryId(Integer) - identificador do país.

operatorSet*(Conjunto) - conjunto de operadoras disponíveis para o serviço

TIPO DE RETORNO:

SMSActivateGetNumbersStatus

getAdditionalService: Retorna o serviço adicional para o número de encaminhamento de chamadas.

Parâmetros:

id(Inteiro) - identificador da ativação

service(String) - nome abreviado do serviço.

Em vez do identificador da ativação, você pode passar o objeto de classe recebido SMSActivateActivation após usar o método getNumber ou uma das ativações após o uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateGetNumbersStatus

getMultiServiceNumber: Obtém ativação para múltiplos serviços

Parâmetros:

countryId(Integer) - identificador do país.

serviceMap(Conjunto) - conjunto de serviços para os quais a ativação é comprada

multiForwardList(Lista) - lista de serviços com encaminhamento de chamadas disponível

operatorSet(Conjunto) - conjunto de operadoras.

getAllPrices: Obtém a lista completa de preços de ativação

Parâmetros:

NENHUM

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: Obtém a lista de preços de ativação por país e serviço

Parâmetros:

countryId(Integer) - identificador do país.

service(String) - nome abreviado do serviço.

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: Obtém a lista de preços de ativação por país

Parâmetros:

countryId(Integer) - identificador do país.

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getStatus: Obtém o status da ativação

Parâmetros:

activationId(Inteiro) - identificador da ativação

Em vez do identificador da ativação, você pode passar o objeto de classe recebido SMSActivateActivation após usar o método getNumber ou uma das ativações após o uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateGetStatusResponse

setStatus: Define o status da ativação

Parâmetros:

id(Inteiro) - identificador da ativação

status(SMSActivateClientStatus) - o status que deve ser definido para a ativação

Em vez do identificador da ativação, você pode passar o objeto de classe recebido SMSActivateActivation após usar o método getNumber ou uma das ativações após o uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateSetStatusResponse

getCountries: Obtém informações sobre os países

Parâmetros:

NENHUM

getFullSms: Obtém o texto completo do SMS do número

Parâmetros:

activationId(Inteiro) - identificador da ativação

Em vez do identificador da ativação, você pode passar o objeto de classe recebido SMSActivateActivation após usar o método getNumber ou uma das ativações após o uso getMultiServiceNumber.

Algoritmo para receber o texto completo do SMS com ativação

Obtenção de um número usando o método getNumber, então as seguintes ações estão disponíveis:

CANCEL - 8 - Cancelar a ativação (se o número não for adequado para você)

MESSAGE_WAS_SENT - Informa que o SMS foi enviado (Obrigatório para receber o texto completo do SMS)

Após a definição obrigatória do status MESSAGE_WAS_SENT, configure a variável para receber o SMS usando o método waitSMS com os parâmetros de ativação e o tempo de espera pelo SMS.

Após receber o SMS, você pode obtê-lo usando o método getFullSMS e, em seguida, exibir o texto completo usando o método getText().

Depois disso, você pode definir as ativações para os seguintes status:

Para ativar com o status MESSAGE_WAS_SENT:

CANCEL - Cancelar ativação

Imediatamente após receber o código:

REQUEST_ONE_MORE_CODE - Solicitar outro SMS

FINISH - Confirmar código SMS e concluir ativação

Para ativar com o status REQUEST_ONE_MORE_CODE:

FINISH - Confirmar código SMS e concluir ativação

getRentNumber: Obter número com opção de aluguel

Parâmetros:

countryId(Integer) - identificador do país.

service(String) - nome abreviado do serviço.

hours(Integer)* - tempo de aluguel

operator(String)* - nome da operadora móvel

urlWebhook(String)* - link para webhook (Não considerado por padrão)

O que é webHook?

* parâmetro opcional. Se não especificado, o padrão será

TIPO DE RETORNO:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: Obter serviços e países para aluguel

Parâmetros:

countryId(Integer) - identificador do país.

operatorSet(Conjunto) - conjunto de operadoras móveis

hours(Integer)* - tempo de aluguel

* parâmetro opcional. Se não especificado, o padrão será

GetRentStatusJava: Obter um status para aluguel

Parâmetros:

rentId(Integer) - identificador do número alugado

Em vez de rentId, você pode passar o objeto de classe resultante SMSActivateRentActivation após usar o método getRentNumber

TIPO DE RETORNO:

SMSActivateRentStatus

API de E-mail

Descrição dos status da API

3 - Aguardando

4 - Cancelado

5 - Sucesso

API de Correio Versão 2

DESCRIÇÃO:

Adesão mais rigorosa aos princípios da API REST e aumento no número de caixas de correio gmail.com para registrar contas no Telegram.

Obter lista com ofertas
https://api.sms-activate.ai/stubs/handler_api.php?action=getDomains&api_key=$api_key&site=$site

Parâmetros:

$api_key - Chave de API

$site- O site para o qual você precisa de um e-mail

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                        "status":"OK",
                        "response":{
                            "zones":[
                                {
                                "name":"info",
                                "cost":2.5
                                },
                                ...
                            ],
                            "popular":[
                                {
                                "name":"mail.ru",
                                "cost":6,
                                "count":159008
                                },
                                ...
                            ]
                        }
                        }

POSSÍVEIS ERROS:

BAD_SITE- Site não especificado

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

Comprar verificação por e-mail
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=buyMailActivation&site=$site&mail_type=$mail_type&mail_domain=$mail_domain

Parâmetros:

$api_key - Chave de API

$site - o site para o qual você precisa de um e-mail

$mail_type - tipo de e-mail: domínios ou zonas populares (1 - zonas 2 - populares)

$mail_domain - zona ou domínio escolhido

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                        "status":"OK",
                        "response":{"email":"[email protected]","id":241}
                        }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

MAIL_TYPE_ERROR - não existe tal domínio para o site especificado

CHANNELS_LIMIT - conta bloqueada

Reativação de e-mail
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=reorderMailActivation&id=$id

Parâmetros:

$api_key - Chave de API

$id- ID do e-mail cuja reativação é necessária

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                            "status": "OK",
                        "response": {
                            "email": "[email protected]",
                            "id": 360
                            }
                        }

POSSÍVEIS ERROS:

BAD_KEY - chave de API inválida

BAD_ACTION - ação incorreta

BLOCKED_SITE - site bloqueado

BAD_BALANCE - saldo insuficiente

ACTIVATION_NOT_FOUND - ativação não encontrada

CHANNELS_LIMIT - conta bloqueada

Obter lista de compras ativas
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMailHistory&page=$page&per_page=$per_page&search=$search&sort=$sort

Parâmetros:

$api_key - Chave de API

$page- número da página

$per_page- número de compras por página

$search- barra de pesquisa

$sort- direção da ordenação (desc, asc)

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                        "status":"OK",
                        "response":{
                            "list":[
                                {
                                "id":"241",
                                "site":"apple.com",
                                "email":"[email protected]",
                                "status":"3",
                                "value":null,
                                "cost":"6.00",
                                "date":"2023-10-06 14:24:13",
                                "full_message":""
                                }
                            ],
                            "pages":1,
                            "count":1
                        }
                        }
Cancelar a compra de e-mail
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=cancelMailActivation&id=$id

Parâmetros:

$api_key - Chave de API

$id- ID da compra

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                        "status":"OK",
                        "response":true
                        }

POSSÍVEIS ERROS:

EARLY_CANCEL_DENIED - Não é possível cancelar o e-mail nos primeiros 2 minutos.

Verifique se o e-mail foi recebido
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

Parâmetros:

$api_key - Chave de API

$id- ID do e-mail comprado, retornado após a compra do e-mail

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{
                        "status":"OK",
                        "response":{
                            "value":"Содержания письма"
                        }
                        }

Software para parceiros da API

Comprar software para parceiros
https://api.sms-activate.ai/stubs/handler_api.php?action=buyPartnerProduct&productId=$id&api_key=$api_key

Parâmetros:

$api_key - Chave de API

$id- ID do software que você precisa comprar

RESPOSTA:

A resposta do serviço será em formato JSON, exemplo:

{                            
                            "status": "success",
                            "key": "F5qrzFoY6afj3zrEq7SeMplbx",
                            "manual": "Software download link:"                            
                        }

POSSÍVEIS ERROS:

BAD_DATA - ID incorreto ou ID não é um número

BAD_ACTION - ação inválida ou o revendedor não está verificado.

                        <?php
                            include_once ("smsactivateApi.php");//Inclusion of a class in a project
                            $sms = new SMSActivate($API_KEY);//Create class instance SMSActivate

$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Get the number of available numbers for the country of Russia and the tele2 operator echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show for whatsapp
var_dump($freeSlots); //Show all services with quantity
$array=$activate->getTopCountriesByService(); //Get an array whose elements contain information for each country $balance = $sms->getBalance();//Get balance echo "On the account " . $balance." rub.\n";//Show balance
$balance = $sms->getBalanceAndCashBack();//Request a balance with cashback account echo "On the account " . $balance." rub.\n";//Request a balance with cashback account
$operators = $sms->getOperators(); //Get operators for all countries if (in_array('mts', $operators['countryOperators'][0])) { //check if 'mts' is available for Russia //perform an action } if (in_array('chinamobile', $operators['countryOperators'][3])) { //check if 'chinamobile' is available for China //perform an action } $activations = $sms->getActiveActivations(); $number = $sms->getNumber('ok',0, 0, 'tele2');//Get Odnoklassniki number without forwarding echo "Activation № " . $number['id']. "Phone ". $number['number'] \n";//Show id and activation number
$result = $sms->getNumber('vk', 0 , 1); if (!is_array($result)) { echo 'Ошибка: ' . $result . '\n';//If an error occurs, a string will be returned, if successful, an array will be returned. } else { echo 'Id: ' . $result['id'] ."\n"; echo 'Номер: ' . $result['number'] ."\n"; }
$result = $sms->getNumberV2('vk', 0 , 1); $number = $sms->getMultiServiceNumber('ok,vk,vi,av','0,0,0,1', 0, 'tele2');//Get a number for services Odnoklassniki, Vkontakte, Viber without call forwarding and Avito with call forwarding foreach ($number as $value) { echo "Activation № " . $value['activation']. " for service ". $value['service'] ."\n"; }
echo "Number " . $value['phone'] ."\n";//Show activation id and number
$status = $sms->setStatus($number['id'], 3);//Change activation status by id (get 1 more code) $status = $sms->getStatus($number['id']);//Get activation status by id if (is_array($status) { echo "статус : " . $status['status'];//Can be STATUS_OK or STATUS_WAIT_RETRY, otherwise a line with error text will be returned echo "код: " . $status['code']; } else { echo $status ."\n"; } $incomingCall = $sms->getIncomingCallStatus($id);//Get activation data by call echo $incomingCall['phone'] //Show incoming number $prices = $sms->getPrices(1, 'vk');//Get the current price for the service echo "Price for VK (Ukraine) : " .$prices[1]['vk']['cost']." rub. quantity: ". $prices[1]['vk']['count'];//Show the result $countries = $sms->getCountries();//Get a list of all countries $additional = $sms->getAdditionalService('fx', $id);//Get additional activation for PGbonus service based on id activation echo "Activation no.: " . $additional[id] . " Telephone: " . $additional[number];//Show the result $getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Request available countries for rent and services (for 2 hours for all operators) echo "Full rental - Cost:" . $getAvailableRentNumbers['services']['full']['cost'] . " Quant :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Display full price information
foreach( $getAvailableRentNumbers['operators'] as $value) { echo " Operator " . $value ."\n"; }//List operators
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Get a number for rent for Vkontakte for 10 hours, operator 'Yota', country - Russia if ($getRentNumber['status'] === 'success'){ echo "The rental was successful! Your phone number is: " . $getRentNumber['phone']['number']." \nRent expiration : ". $getRentNumber['phone']['endDate']." \nId numbers :" .$getRentNumber['phone']['id'] ; }//Display rental information
else echo "Error code : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Get the rent status with id from the received number if ($getRentStatus['status'] == 'success'){ foreach( $getRentStatus['values']as $index => $value) { echo " Message " . $index .": from the number - " . $value['phoneFrom'] . " Service - " . $value ['service'] . "message text - " . $value['text'] . "Date - " . $value['date']; } }//display a list of messages received while renting a phone else echo "Error code : " . $getRentStatus['message']; $setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Set rental status 'finish' with id from received number if ($setRentStatus['status'] == 'success') echo " Status change was successful! "; else echo "Error code : " . $setRentStatus['message']; $getRentList = $sms->getRentList();//Get a list of currently rented numbers if (getRentList['status'] == 'success') foreach( $getRentList['values'] as $value) { echo " ID " . $value["id"] . " Number " . $value["phone"] ."\n"; }//List numbers else echo "Error code : " . $getRentList['message']; $result = $sms->continueRentNumber($id);//Extend the lease of activation id for 4 hours (by default) if ($result['status'] == 'success') { echo "Number: " . $result['phone']['number']"//Display number echo "id: " . $result['phone']['id']"//Display activation id echo "The lease is valid until: " . $result['phone']['endDate']"//Display the date and time of the end of the lease } else { echo "Error code : " . $result['msg']; } $result = $sms->getContinueRentPriceNumber($id, 12);//Get the cost of renewing the lease to activate the id for 12 hours if ($result['status'] == 'success') { echo " Renewal cost " . $result['price'];//Withdraw the cost } else { echo "Error code: " . $result['message']; //Display error code }
                    
                        from sms-activate.surf import SMSActivateAPI
                         # SMSActivateAPI Contains all basic tools for working with the SMSActivate API
                        sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True # Used for debugging. When debug_mode is active, all responses from the server and class will be output to the console print(sa.version()) # Returns the current version of the library status = sa.getNumbersStatus(country=0, operator='tele2') try: print(status['vk_0']) # 274789 except: print(status['message']) # Error text
result = sa.getTopCountriesByService('vk') try: print(result[0]['count']) # 2350 except: print(result['message']) # Error text balance = sa.getBalance() # {'balance': '100.00'} try: print(balance['balance']) # 100.00 except: print(balance['message']) # Error text
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'} try: print(balance['balance']) # 100.00 except: print(balance['message']) # Error text
operators = sa.getOperators(country=0) try: print(operators['countryOperators']['0']) except: print(operators['error']) # Error status activations = sa.getActiveActivations() try: print(activations['activeActivations']) except: print(activations['error']) # Error status number = sa.getNumber(service='vk', operator='tele2', country=0, verification="true") # {'activation_id': 000000000, 'phone': 79999999999} try: print(number['phone']) # 79999999999 except: print(number['message']) # Error text number = sa.getNumberV2(service='vk', country=0) try: print(number['phoneNumber']) # 79999999999 except: print(number['message']) # Error text multinumber = sa.getMultiServiceNumber(service='fb,ig', operator='tele2', country=0) # [{'phone': '79999999999', 'activation': 000000000, 'service': 'fb'}, {'phone': '79999999999', 'activation': 000000001, 'service': 'ig'}] try: print(multinumber[0]['phone']) # 79999999999 except: print(multinumber['message']) # Error text status = sa.setStatus(id=000000000, status=1) # ACCESS_READY try: print(status) # ACCESS_READY except: print(status['message']) # Error text status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE try: print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'} except: print(status['message']) # Error text status = sa.getIncomingCallStatus(id=000000000) try: print(status['status']) # 2 except: print(status['message']) # Error text prices = sa.getPrices(service='fb', country=0) try: print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}} except: print(prices['message']) # Error text countries = sa.getCountries() try: print(countries['0']['eng']) # Russia except: print(countries['message']) # Error text service = sa.getAdditionalService(id=000000000, service='ig') try: print(service['phone']) # 79999999999 except: print(service['message']) # Error text service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0) try: print(service['services']['full']['cost']) # 100.00 except: print(service['message']) # Error text rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0) try: print(rent['phone']['number']) # 79999999999 except: print(rent['message']) # Error text status = sa.getRentStatus(000000000) try: print(status['values']['0']['text']) # SMS except: print(status['message']) # Error text status = sa.setRentStatus(id=000000000, status=1) try: print(status['status']) # success except: print(status['message']) # Error text rent = sa.getRentList() try: print(rent['values']['0']['phone']) # 79999999999 except: print(rent['message']) # Error text rent = sa.continueRentNumber(id=000000000, time=4) try: print(rent['phone']['number']) # 79999999999 except: print(rent['message']) # Error text rent = sa.getContinueRentPriceNumber(000000000) try: print(status['price']) # 4.00 except: print(status['message']) # Error text
                    
                        
                            import ru.sms_activate.SMSActivateApi;//Inclusion of a class in a project
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Create an instance of the SMSActivate class
BigDecimal balance = smsActivateApi.getBalance();//Get the current account balance System.out.println("Balance: "+ balance)//Withdraw the received balance SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Get current balance and cashback System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Withdraw the amount of balance and cashback SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia System.out.println(activation);//Withdraw the received activation SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Get information about available services for Russia
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Getting information about numbers for the Google service
System.out.println("Short name service: " + go.getShortName();//Get the short name of the service System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Get the number of numbers for the service System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Find out if the service has a redirect
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Activations
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Requesting a new activation for an additional service
System.out.println(childActivation);//Displaying information about additional activation
Set<String>operatorSet= new HashSet<>(); operatorSet.add("mts");//Adding an MTS operator to the set of operators Map<String,Boolean>serviceMap= new HashMap<>(); serviceMap.put("av",false);//Adding the Avito service to the list of services (specify true if you need a service with redirection)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Getting activation for multiple services
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{ System.out.println("Id: " + activation.getId()); System.out.println("Number: " + activation.getNumber()); System.out.println("Service name: " + activation.getShortName()); } //Displaying information about received activations
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Obtaining a list of prices for Russia on the Vkontakte service. For a complete list of prices, use the getAllPrices () method;
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Getting information about the Vkontakte service for Russia
System.out.println(">>> Cost: "+ vk.getCost());//Get a price for the service System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Get the number of numbers for the service
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia System.out.println(activation);//Withdraw the received activation SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Getting a status for activation
System.out.println(getResponse.getSMSActivateGetStatus());//Displaying information about the activation status
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after receiving SMS for the number
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Setting the FINISH status after receiving SMS for the number
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Getting a list of countries with information SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Getting information about the first country on the list
System.out.println("Russian name: "+countryInfo.getRussianName();//Display the Russian name of the country System.out.println("English name: "+countryInfo.getEnglishName();//Display the Russian name of the country System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Show if the country supports multi-services
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number String code=smsActivateApi.waitSms(activation,2)//Set receiving sms within 2 minutes if(code == null) { smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Setting the CANCEL status if sms has not arrived }
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Receiving sms text System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//SMS text output }
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Getting a number with rent System.out.println(">> ID: "+rentActivation.getId());//Activation ID withdrawal System.out.println(">> Number: "+rentActivation.getId());//Displaying the activation number System.out.println(">> End date: "+rentActivation.getId());//Displaying the activation expiration date SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Obtaining information on services and countries that support rental
smsActivateGetRentServicesAndCountriesResponse.getAllRentServices().forEach((serviceShortName, smsActivateRentService)->{ System.out.println("Service shortname: " + serviceShortName);
System.out.println(" count phone numbers: " + smsActivateRentService.getCountPhoneNumbers());
System.out.println(">> Cost: " + smsActivateRentService.getCost()); }
//Displaying information about received services
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Getting a number with rent SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Getting activation status System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Displaying the number of sms on the rented number

{{ texts.verificationVoiceTextFirst }}

{{ texts.verificationVoiceTextSecond }}

{{ texts.verificationVoiceTextThird }}

Ferramenta de clonagem de sites