Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 Emiratos Árabes Unidos, Ajman
+971585072431, /assets/img/icons/logo/logo.svg, [correo electrónico protegido]

Protocolo API para trabajar con SMS-Activate

La API es un protocolo entre tu software y nuestro servidor

La API es necesaria para automatizar el proceso de recepción de SMS, OTP y PVA en tu lado

Nuestra API es totalmente compatible con los sitios de la competencia

Todas las solicitudes deben dirigirse a https://api.sms-activate.ai/stubs/handler_api.php

Solicitud POST o GET.

Todas las solicitudes deben contener una clave API en forma del parámetro GET api_key

Descargar la implementación del protocolo en PHP Descargar la implementación lista del protocolo en Python

API de activación

Solicitar la cantidad disponible de números virtuales
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

Parámetros:

$api_key - Clave de API

$country * - número de país ver tabla

$operador * números de operadores móviles, puedes especificar varios números separados por comas (disponible solo para:

Rusia
megafon, mts, beeline, tele2, rostelecom, any
Ucrania
kyivstar, life, utel, mts, vodafone
Kazajistán
tele2, beeline, activ, altel

** disponible para $country = 0, $country = 1, $country = 2

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

{"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}
Donde antes del guion está el nombre del servicio; después, la indicación de si es necesario incluir redirección. 0 - no. 1 - sí.

Lista completa de servicios

Solicitar los principales países por servicio Precio gratuito
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

Parámetros:

$api_key - Clave de API

$service * - Servicio ver tabla

* parámetro opcional. Si no se especifica, se mostrarán por defecto los principales países para todos los servicios.

$freePrice * - parámetro opcional. Si se proporciona true, la cantidad y el precio se ajustarán según Free Price

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

{ 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

Solicitud de saldo con cuenta de cashback:

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

* devuelve el saldo teniendo en cuenta el cashback acumulado, si la casilla "Usar cashback para activaciones" en la configuración de la cuenta de cashback está marcada

Parámetros:

$api_key - Clave de API

RESPUESTA:

ACCESS_BALANCE: 'saldo de la cuenta'

POSIBLES ERRORES:

BAD_KEY - clave API no válida

ERROR_SQL - error del servidor SQL

Solicitar operadores disponibles
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getOperators&country=$country

* devuelve todos los operadores disponibles para el país indicado; si no se indica ningún país, devolverá todos los operadores disponibles para cada país

Parámetros:

$api_key - Clave de API

$country - código de país

RESPUESTA:

La respuesta del servicio estará en formato JSON:

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

Ejemplo:

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

* dentro de 'countryOperators', la clave será el código de país

POSIBLES ERRORES:

BAD_KEY - clave API no válida

ERROR_SQL - error del servidor SQL

OPERATORS_NOT_FOUND - no se han encontrado registros (por ejemplo, se ha indicado un país inexistente)

Solicitar activaciones activas
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getActiveActivations

Parámetros:

$api_key - Clave de API

RESPUESTA:

La respuesta del servicio estará en 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",
}]

POSIBLES ERRORES:

BAD_KEY - clave API no válida

ERROR_SQL - error del servidor SQL

NO_ACTIVATIONS - no se han encontrado entradas (no hay activaciones activas)

Solicitar un número Precio gratuito
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 - Clave de API

$service - servicio para realizar pedidos ver tabla

$forward * - si es necesario solicitar un número con reenvío

* parámetro opcional, acepta 0 (no ejecutar, establecido por defecto), 1 (ejecutar)

$maxPrice * - el precio máximo al que estás dispuesto a comprar un número mediante Free Price

* parámetro opcional; si no se especifica, la compra se realizará al precio habitual

$phoneException * - excluye prefijos para números rusos. Introdúcelos separados por comas. Formato: código de país y de 3 a 6 dígitos de la máscara (ej.: 7918, 7900111). El valor predeterminado es el especificado en la cuenta.

$operator* es el operador móvil del número, puedes especificar varios separados por comas (solo disponible para **)

$activationType - tipo de activación: 0 - con SMS (predeterminado), 1 - con número, 2 - con voz

$language - idioma de análisis (necesario para la activación por voz) ver tabla

$userId * - ID de usuario a bloquear por malas estadísticas de activación, pero la cuenta propia del revendedor no se ve afectada.

Rusia
megafon, mts, beeline, tele2, rostelecom, any
Ucrania
kyivstar, life, utel, mts, vodafone
Kazajistán
tele2, beeline, activ, altel

* campo opcional

** disponible para $country = 0, $country = 1, $country = 2

$ref - transfiere el ID de referencia.

$country - número de país ver tabla

$useCashBack* - acepta un valor booleano; si el parámetro es 'true', la compra del número se realizará utilizando el cashback. Cuando te quedes sin fondos en el saldo de cashback, todas las compras posteriores se realizarán usando el saldo principal. Es IMPORTANTE recordar que todas las compras posteriores utilizarán primero el cashback y, después, el saldo principal (incluso si posteriormente pasas el parámetro 'false').

* parámetro opcional, acepta 'true'

Al obtener el número a través de la API, aceptas los reglas del proyecto reglas del proyecto

POSIBLES ERRORES:

WRONG_MAX_PRICE:$min- el precio máximo especificado es inferior al permitido

$min - precio mínimo permitido

BAD_ACTION - acción incorrecta

BAD_SERVICE - nombre de servicio incorrecto

BAD_KEY - clave API no válida

ERROR_SQL - error del servidor SQL

BANNED:'YYYY-m-d H-i-s' - hora durante la cual la cuenta está bloqueada

WRONG_EXCEPTION_PHONE - prefijos de exclusión incorrectos

NO_BALANCE_FORWARD - fondos insuficientes para comprar el desvío de llamadas

CHANNELS_LIMIT - cuenta bloqueada

NO_NUMBERS - no hay números

Si intentas obtener un número de un operador específico que no opera en el país seleccionado o que no ofrece el servicio seleccionado, se devolverá el número del primer operador que coincida con los parámetros de la solicitud

Solicitud de número V2 Precio gratuito
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

el método funciona de forma similar al método getNumber, acepta los mismos parámetros y otros adicionales descritos a continuación, pero devuelve información adicional sobre la activación

Parámetros:

$orderId- ID de activación del sistema del revendedor. Al realizar la compra, estos datos se comparan con el ID de activación y el revendedor en nuestro sistema. De este modo, buscamos lograr la idempotencia (el mismo pedido no se procesará de nuevo).

RESPUESTA:

Si la solicitud se realiza correctamente, la respuesta tendrá el siguiente formato:

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

Si intentas obtener un número de un operador específico que no opera en el país seleccionado o que no ofrece el servicio seleccionado, se devolverá el número del primer operador que coincida con los parámetros de la solicitud

POSIBLES ERRORES:

ORDER_ALREADY_EXISTS- el pedido ya ha sido creado

Webhooks

Cuando recibas un SMS en un número, si has activado la funcionalidad de Webhooks en tu configuración, enviaremos la información sobre el SMS a las direcciones que hayas especificado mediante una solicitud POST

RESPUESTA:

El formato de la respuesta será el siguiente:

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

Al enviar una solicitud, esperaremos una respuesta de tu script con el estado HTTP 200. Si tu script no responde, reenviaremos la solicitud durante 2 horas, pero no más de 8 veces.

Puedes activar esta funcionalidad en la configuración del perfil

Solicitar un número virtual para varios servicios
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 - Clave de API

$service - servicio para realizar pedidos ver tabla

$forward * - si es necesario solicitar un número con reenvío

* parámetro opcional, los caracteres de redirección se separan por comas; el número de dígitos de redirección debe coincidir con el número de servicios transmitidos en el parámetro $service. Solo se permite transmitir 1 servicio con redirección, por ejemplo "0,1,0,0" es correcto, "0,1,1,0" es incorrecto. Acepta 0 (no ejecutar, valor predeterminado), 1 (ejecutar)

$operator * - operador móvil del número, puedes especificar varios números separados por comas (disponible solo para **):

Rusia
megafon, mts, beeline, tele2, rostelecom, any
Ucrania
kyivstar, life, utel, mts, vodafone
Kazajistán
tele2, beeline, activ, altel

$ref - transfiere el ID de referencia.

$country - número de país ver tabla

Al obtener el número a través de la API, aceptas los reglas del proyecto reglas del proyecto

RESPUESTA:

NO_NUMBERS - no hay números

NO_BALANCE - saldo agotado

{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}
, donde (phone - ID de operaciones, activation - Número de teléfono, service - Servicio)

POSIBLES ERRORES:

BAD_ACTION - acción incorrecta

BAD_SERVICE - nombre de servicio incorrecto

BAD_KEY - clave API no válida

ERROR_SQL - error del servidor SQL

BANNED:'YYYY-m-d H-i-s' - hora durante la cual la cuenta está bloqueada

Cambio de estado de activación
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 - Clave de API

$id - ID de activación

$forward * - número de teléfono al que deseas redirigir

* requerido solo si se pasó un parámetro con getNumber forward=1.

$status - estado de la activación

1 - notificar sobre la disponibilidad del número (SMS enviado al número)

3 - solicitar otro código (gratis)

6 - finalizar la activación *

8 - informar que el número ya ha sido usado y cancelar la activación

* si había un estado 'código recibido', lo marca como exitoso y finaliza; si había un estado 'preparación', lo elimina y marca un error; si había un estado 'esperando reintento', transfiere la activación a SMS pendiente

** No es posible cambiar el estado de activación para la cual se seleccionó el método de verificación por llamada si el número ya ha llegado

La lógica simple de la cronología de trabajo con la API:

Obtener un número usando el método getNumber, luego están disponibles las siguientes acciones:

8 - cancelar la activación (si el número no te conviene)

1 - informar que se ha enviado el SMS (opcional)

Para la activación con estado 1:

8 - cancelar la activación

Inmediatamente después de recibir el código:

3 - solicitar otro SMS

6 - confirmar el código SMS y finalizar la activación

Para la activación con estado 3:

6 - confirmar el código SMS y finalizar la activación

RESPUESTA:

ACCESS_READY - disponibilidad del número confirmada

ACCESS_RETRY_GET - esperando un nuevo SMS

ACCESS_ACTIVATION - el servicio se ha activado correctamente

ACCESS_CANCEL - activación cancelada

POSIBLES ERRORES:

EARLY_CANCEL_DENIED - no está permitido cancelar un número durante los primeros 2 minutos

ERROR_SQL - error del servidor SQL

NO_ACTIVATION - el ID de activación no existe

BAD_SERVICE - nombre de servicio incorrecto

BAD_STATUS - estado incorrecto

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

WRONG_ACTIVATION_ID - ID incorrecto o el ID no es un número.

Obtener el estado de activación
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id

Parámetros:

$api_key - Clave de API

$id - ID de activación

RESPUESTA:

STATUS_WAIT_CODE - esperando SMS

STATUS_WAIT_RETRY: 'código pasado, no coincidente' - esperando aclaración del código

STATUS_WAIT_RESEND - esperando reenvío del SMS *

* el software debe pulsar reenviar SMS y cambiar el estado a 6

STATUS_CANCEL - activación cancelada

STATUS_OK: 'código de activación' - código recibido

POSIBLES ERRORES:

NO_ACTIVATION - el ID de activación no existe

ERROR_SQL - error del servidor SQL

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

Obtener el estado de activación Versión 2
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

Parámetros:

$api_key - Clave de API

$id - ID de activación

RESPUESTA:

El formato de la respuesta será el siguiente:

{
"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 - activación cancelada

POSIBLES ERRORES:

NO_ACTIVATION - el ID de activación no existe

ERROR_SQL - error del servidor SQL

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

Obtener el historial de activaciones
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 - Clave de API

$start - marca de tiempo en formato Unix Timestamp (opcional) - desde qué fecha considerar las activaciones

$end - marca de tiempo en formato Unix Timestamp (opcional) - hasta qué fecha considerar las activaciones

$offset - desplazamiento del primer elemento devuelto en la respuesta. El valor predeterminado es 0

$limit - número máximo de registros devueltos. El máximo es 100. El valor predeterminado es 50.

RESPUESTA:

El formato de la respuesta será el siguiente:

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

POSIBLES ERRORES:

ERROR_SQL - error del servidor SQL

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

Obtener los 10 principales países por servicio
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getListOfTopCountriesByService&service=$service

Parámetros:

$api_key - Clave de API

$service - nombre del servicio

RESPUESTA:

El formato de la respuesta será el siguiente:

[{
"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)
}]

POSIBLES ERRORES:

ERROR_SQL - error del servidor SQL

BAD_KEY - clave API no válida

WRONG_SERVICE - servicio incorrecto

BAD_ACTION - acción incorrecta

Obtener el estado de una llamada entrante
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getIncomingCallStatus&activationId=$id

Parámetros:

$api_key - Clave de API

$id - ID de activación

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

ESTADOS POSIBLES:

2 - nueva activación

3 - finalizada con éxito

4 - cancelada

5 - devuelta

POSIBLES ERRORES:

BAD_KEY - clave API no válida

INVALID_ACTIVATION_ID - ID de activación no válido

Obtener precios actuales 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 - Clave de API

$serviceNombre corto del servicio (opcional, por defecto todos los servicios) ver tabla

$countryCódigo de país (opcional, por defecto todos los países) ver tabla

RESPUESTA:

JSON - objeto en formato
{"País":{"Servicio":{"cost":Cost,"count":Count}}}

Obtener precios actualizados para servicios de verificación
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

Parámetros:

$api_key - Clave de API

$serviceNombre corto del servicio (opcional, por defecto todos los servicios) ver tabla

RESPUESTA:

JSON - objeto en formato
{"Servicio":{"País":{"count":Quantity,"price":"Price"}}}

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

Parámetros:

$api_key - Clave de API

RESPUESTA:

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

donde (

id : ID del país;

rus : nombre del país en ruso;

eng : nombre del país en inglés;

chn : nombre del país en chino;

visible : 0 - el país no se muestra en el sitio, 1 - se muestra;

retry : 0 - reenvío de SMS NO disponible, 1 - disponible;

rent : 0 - país no disponible para alquiler, 1 - disponible para alquiler;

multiService : 0 - el país NO está disponible para multiservicio, 1 - disponible.)

Obtener la lista de todos los servicios
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getServicesList

Parámetros:

$api_key- Clave de API

$country *- ID del país. Si has especificado el país, devolvemos los servicios que tienen precio para el país elegido

$lang *- idioma que se utilizará para proporcionar el `name`. Valores posibles: 'ru', 'en', 'es', 'cn'. El valor predeterminado es 'en'

* parámetro opcional

RESPUESTA:

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

Servicio adicional para números redirigidos

Tras recibir el primer SMS para números redirigidos, puedes comprar otros servicios relacionados como Yula, Yandex, Avito y cualquier otro

El coste del servicio adicional es solo de 5p

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

Parámetros:

$api_key - Clave de API

$service - para el nombre corto del servicio, consulta la tabla ver tabla

$id - ID de activación principal

RESPUESTA:

ADDITIONAL:$id:$phone - se ha creado correctamente una nueva activación. Donde ID es el ID de la activación adicional y phone es un número de teléfono

POSIBLES ERRORES:

WRONG_ADDITIONAL_SERVICE - Servicio adicional no válido (solo se permiten servicios de reenvío)

WRONG_ACTIVATION_ID - ID de activación principal incorrecto

WRONG_SECURITY - se ha producido un error al intentar transmitir un ID de activación sin redirección o una activación completada/inactiva

REPEAT_ADDITIONAL_SERVICE - se produce un error al intentar pedir de nuevo un servicio ya adquirido NO_BALANCE - Fondos insuficientes

ERROR_SQL- error de base de datos, contacta con el servicio de atención al cliente

Reactivación de número virtual

Si has realizado una activación correcta con el número, puedes repetirla.

El coste de la activación adicional se determina en función del país y del servicio. Puedes consultar el coste específico en .

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

Parámetros:

$api_key - Clave de API

$activationId - ID de activación principal

RESPUESTA:

ACCESS_NUMBER:$id:$phone - se ha creado correctamente una nueva activación. Donde $id es el ID de la activación adicional y $phone es un número de teléfono

POSIBLES ERRORES:

RENEW_ACTIVATION_NOT_AVAILABLE- el número no está disponible para activación adicional

WRONG_ACTIVATION_ID - ID de activación principal incorrecto

ERROR_SQL- error de base de datos, contacta con el servicio de atención al cliente

NEW_ACTIVATION_IMPOSSIBLE- no es posible realizar una activación adicional

NO_BALANCE - sin saldo en la cuenta

Obtener precio para la activación adicional de un número

Puedes comprobar la disponibilidad del número para activación adicional y conocer su coste

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

Parámetros:

$api_key - Clave de API

$activationId - ID de activación principal

RESPUESTA:

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

POSIBLES ERRORES:

RENEW_ACTIVATION_NOT_AVAILABLE- el número no está disponible para activación adicional

WRONG_ACTIVATION_ID - ID de activación principal incorrecto

SIM_OFFLINE - Tarjeta SIM fuera de línea

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

Parámetros:

$api_keyclave API

$id - ID de activación

$newLang - nuevo idioma de análisis ver tabla

RESPUESTA:

El formato de la respuesta será el siguiente:

{
"result": "OK"
}

STATUS_CANCEL - activación cancelada

NO_CALL- no se ha recibido ninguna llamada

PARSE_COUNT_EXCEED- límite de intentos de análisis (el máximo es 4)

POSIBLES ERRORES:

WRONG_ACTIVATION_ID - ID no válido, la activación no existe

ERROR_SQL - error del servidor SQL

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

Alquiler de API

Solicitar países y servicios disponibles
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 - Clave de API

$time* - tiempo de alquiler (por defecto: 4 horas)

$operator* - operador móvil del número, puedes especificar varios separados por comas (por defecto: Cualquiera)

$country* - país (por defecto: Rusia)

$incomingCall * - si se transfiere "true"obtener un número que admita la función de recibir llamadas

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

{ "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 } } }

POSIBLES ERRORES:

BAD_KEY - clave API no válida

OUT_OF_STOCK - los números para ese país no están disponibles

Solicitar el alquiler de un 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 - Clave de API

$service - el servicio para el cual necesitas obtener un número

$time* - tiempo de alquiler en horas (por defecto: 4 horas). El siguiente período disponible es de 12 horas, luego 24 horas. Al solicitar un alquiler de un día o más, debes indicar: 24, 48, 72, etc.

$operator* - operador móvil del número, puedes especificar varios separados por comas (por defecto: Cualquiera)

$country* - país (por defecto: Rusia)

$url * - enlace para el webhook (no se considera por defecto)

$incomingCall * - si se transfiere "true"obtener un número que admita la función de recibir llamadas

¿Qué es webHook?

* parámetro opcional. Si no se especifica, se utilizará el parámetro por defecto.

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

BAD_KEY - clave API no válida

Respuesta en formato json:

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


Posibles respuestas en el campo "message":

BAD_SERVICE - servicio no especificado o nombre incorrecto

NO_BALANCE - sin saldo en la cuenta

NO_NUMBERS - no hay números

ACCOUNT_INACTIVE - no hay números

SERVER_ERROR - error del servidor

CHANNELS_LIMIT - cuenta bloqueada

obtener estado del alquiler
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 - Clave de API

$id - ID de alquiler recibido en la respuesta al pedir un número

$page* - número de página desde la que comienza la selección (la numeración de páginas empieza desde 0, de nuevo a antiguo; por defecto es 0)

$size* - tamaño de página (por defecto 10)

* parámetro opcional. Si no se especifica, se utilizará el parámetro por defecto.

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

{ "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" } } }

* exitoso solo cuando hay un SMS (campo 'quantity' > 0).

POSIBLES ERRORES:

BAD_KEY - clave API no válida

Respuesta en formato json:

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

Posibles respuestas en el campo "message":

NO_ID_RENT - no se ha especificado el ID de alquiler

INVALID_PHONE - el número no está alquilado por ti (ID de alquiler no válido)

STATUS_FINISH - alquiler pagado y completado

STATUS_CANCEL - alquiler cancelado con reembolso

STATUS_WAIT_CODE - esperando el primer SMS

STATUS_REVOKE - El número está bloqueado, tus fondos han sido devueltos

Cambio de estado del alquiler
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setRentStatus&id=$id&status=$status

Parámetros:

$api_key - Clave de API

$id - ID de alquiler recibido en la respuesta al pedir un número

$status - código para cambiar el estado (número)

El estado puede ser:

1
Finalizar
2
Cancelar

RESPUESTA:

La respuesta del servicio estará en formato JSON:

{ "status": "success" }

POSIBLES ERRORES:

BAD_KEY - clave API no válida

Respuesta en formato json:

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

Posibles respuestas en el campo "message":

NO_ID_RENT - no se ha especificado el ID de alquiler

INCORECT_STATUS - estado faltante o especificado incorrectamente

CANT_CANCEL - no es posible cancelar el alquiler (más de 20 min.)

INVALID_PHONE - el número no está alquilado por ti (ID de alquiler no válido)

ALREADY_FINISH - el alquiler ya ha sido completado

ALREADY_CANCEL - el alquiler ya ha sido cancelado

SERVER_ERROR - error del servidor

Listar activaciones actuales
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉¡Atención! Este método muestra solo los últimos 10 números. Si necesitas más números, utiliza el getRentStatus método para comprobar los estados.

Parámetros:

$api_key - Clave de API

RESPUESTA:

La respuesta del servicio estará en formato JSON:

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

POSIBLES ERRORES:

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta


Respuesta en formato json:

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


Posibles respuestas en el campo "message":

NO_NUMBERS - no hay números alquilados

SERVER_ERROR - error del servidor

Ampliar tu alquiler
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

Parámetros:

$api_key - Clave de API

$id - id del alquiler

$rent_time- tiempo de alquiler (por defecto: 4 horas)

RESPUESTA:

La respuesta del servicio estará en formato JSON:

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

Cuando se prolonga un alquiler completado, se volverá a pedir y se proporcionará un nuevo id

POSIBLES ERRORES:

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

SERVER_ERROR - error del servidor


Respuesta en formato json:

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


Posibles respuestas en el campo "message":

NO_ID_RENT - no hay ID de alquiler

INVALID_TIME - tiempo incorrecto. Horas disponibles de 4 a 1344

MAX_HOURS_EXCEED - Se ha excedido el tiempo máximo disponible

info:

max - tiempo máximo disponible

INVALID_PHONE - ID de alquiler incorrecto

RENT_DIE - no se puede ampliar el alquiler porque el número ha caducado

NO_BALANCE - fondos insuficientes

CHANNELS_LIMIT - cuenta bloqueada

Obtener el coste de renovación del alquiler
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

* este método solo está disponible para alquiler con el operador MTT.

Parámetros:

$api_key - Clave de API

$id - id del alquiler

$rent_time - tiempo de alquiler

RESPUESTA:

La respuesta del servicio estará en formato JSON:

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

POSIBLES ERRORES:

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

SERVER_ERROR - error del servidor


Respuesta en formato json:

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


Posibles respuestas en el campo "message":

NO_ID_RENT - no hay ID de alquiler

INVALID_PHONE - ID de alquiler incorrecto

INVALID_TIME - configuración de tiempo incorrecta

RENT_DIE - no se puede ampliar el alquiler porque el número ha caducado

MAX_HOURS_EXCEED - Se ha excedido el tiempo máximo disponible

info:

max - tiempo máximo disponible

CHANNELS_LIMIT - cuenta bloqueada

API JAVA

Inicio de operaciones

Incluye la biblioteca en Maven

<dependencia><groupId>ru.sms-activate</groupId>
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependencia>

Puedes ver un ejemplo de registro en enlace a MavenRepository

Importa la clase principal para interactuar con la API de SMS-Activate.

import ru.sms_activate.SMSActivateApi

Para usar la biblioteca, necesitas una clave API; puedes obtenerla en esta página y en el enlace siguiente.

Clave API de SMS-Activate
Un ejemplo de gestión del saldo

Para obtener el saldo actual de tu cuenta, utiliza el método getBalance... Si te interesa conocer el cashback además del saldo, llama al método getBalanceAndCashBack.

Método getBalanceAndCashBack devuelve un objeto de claseSMSActivateGetBalanceAndCashBack.

getBalance: Obtener el saldo actual de la cuenta

Parámetros:

NINGUNO

TIPO DE RETORNO:

BigDecimal

getBalanceAndCashBack: Obtener el saldo y el importe del cashback como saldo total

Parámetros:

NINGUNO

getNumber: Obtener activación

Parámetros:

countryId(Integer) - identificador del país.

service(String) - nombre abreviado del servicio.

forward*(boolean) - si se solicita un número con desvío de llamadas.

operatorSet*(Conjunto) - conjunto de operadores.

phoneException*(Conjunto) - excluyendo prefijos solo para Rusia, un conjunto de números de 3 a 6 dígitos (7918,7900111).

* casilla opcional. Si no se especifica nada, se asignará la cantidad predeterminada según la configuración del perfil.

TIPO DE RETORNO:

SMSActivateActivation

getNumberStatus: Obtener información sobre los servicios disponibles

Parámetros:

countryId(Integer) - identificador del país.

operatorSet*(Conjunto) - conjunto de operadores disponibles para el servicio

TIPO DE RETORNO:

SMSActivateGetNumbersStatus

getAdditionalService: Devuelve el servicio adicional para el número de desvío de llamadas.

Parámetros:

id(Entero) - identificador de activación

service(String) - nombre abreviado del servicio.

En lugar del identificador de activación, puede pasar el objeto de clase recibido SMSActivateActivation después de usar el método getNumber o una de las activaciones después de su uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateGetNumbersStatus

getMultiServiceNumber: Obtener activación para múltiples servicios

Parámetros:

countryId(Integer) - identificador del país.

serviceMap(Conjunto) - conjunto de servicios para los cuales se compra la activación

multiForwardList(Lista) - lista de servicios con desvío de llamadas disponible

operatorSet(Conjunto) - conjunto de operadores.

getAllPrices: Obtener la lista completa de precios de activación

Parámetros:

NINGUNO

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: Obtener una lista de precios de activación por país y servicio

Parámetros:

countryId(Integer) - identificador del país.

service(String) - nombre abreviado del servicio.

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: Obtener una lista de precios de activación por país

Parámetros:

countryId(Integer) - identificador del país.

TIPO DE RETORNO:

SMSActivateGetPriceInfo

getStatus: Obtener el estado de la activación

Parámetros:

activationId(Entero) - identificador de activación

En lugar del identificador de activación, puede pasar el objeto de clase recibido SMSActivateActivation después de usar el método getNumber o una de las activaciones después de su uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateGetStatusResponse

setStatus: Establecer el estado de la activación

Parámetros:

id(Entero) - identificador de activación

status(SMSActivateClientStatus) - el estado que se debe establecer para la activación

En lugar del identificador de activación, puede pasar el objeto de clase recibido SMSActivateActivation después de usar el método getNumber o una de las activaciones después de su uso getMultiServiceNumber.

TIPO DE RETORNO:

SMSActivateSetStatusResponse

getCountries: Obtener información sobre los países

Parámetros:

NINGUNO

getFullSms: Obtener el texto completo del SMS desde el número

Parámetros:

activationId(Entero) - identificador de activación

En lugar del identificador de activación, puede pasar el objeto de clase recibido SMSActivateActivation después de usar el método getNumber o una de las activaciones después de su uso getMultiServiceNumber.

Algoritmo para recibir el texto completo del SMS con activación

Obtener un número usando el método getNumber, luego están disponibles las siguientes acciones:

CANCEL - 8 - Cancelar la activación (si el número no le conviene)

MESSAGE_WAS_SENT: Informa de que el SMS ha sido enviado (obligatorio para recibir el texto completo del SMS)

Tras establecer obligatoriamente el estado MESSAGE_WAS_SENT, configura la variable para recibir el SMS mediante el método waitSMS con los parámetros de activación y el tiempo de espera del SMS.

Una vez recibido el SMS, puedes obtenerlo usando el método getFullSMS y luego mostrar el texto completo mediante el método getText().

A continuación, puedes establecer las activaciones en los siguientes estados:

Para activar con el estado MESSAGE_WAS_SENT:

CANCEL: Cancelar la activación

Inmediatamente después de recibir el código:

REQUEST_ONE_MORE_CODE: Solicitar otro SMS

FINISH: Confirmar el código SMS y completar la activación

Para activar con el estado REQUEST_ONE_MORE_CODE:

FINISH: Confirmar el código SMS y completar la activación

getRentNumber: Obtener un número con la opción de alquiler

Parámetros:

countryId(Integer) - identificador del país.

service(String) - nombre abreviado del servicio.

hours (Integer)* - duración del alquiler

operator (String)* - nombre del operador móvil

urlWebhook (String)* - enlace para el webhook (no se considera por defecto)

¿Qué es webHook?

* parámetro opcional. Si no se especifica, se aplicará el valor predeterminado

TIPO DE RETORNO:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: Obtener servicios y países disponibles para alquiler

Parámetros:

countryId(Integer) - identificador del país.

operatorSet(Conjunto) - conjunto de operadores móviles

hours (Integer)* - duración del alquiler

* parámetro opcional. Si no se especifica, se aplicará el valor predeterminado

GetRentStatusJava: Obtener el estado de un alquiler

Parámetros:

rentId (Integer) - identificador del número alquilado

En lugar de rentId, puedes pasar el objeto de clase resultante SMSActivateRentActivation después de usar el método getRentNumber

TIPO DE RETORNO:

SMSActivateRentStatus

API de correo electrónico

Descripción de los estados de la API

3 - En espera

4 - Cancelado

5 - Éxito

API de correo Versión 2

DESCRIPCIÓN:

Mayor cumplimiento de los principios de la API REST y un mayor número de buzones de gmail.com para registrar cuentas de Telegram.

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

Parámetros:

$api_key - Clave de API

$site- El sitio para el que necesitas un correo electrónico

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

BAD_SITE- Sitio no especificado

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

Comprar verificación por correo
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 - Clave de API

$site - el sitio para el que necesitas un correo electrónico

$mail_type - tipo de correo: dominios o zonas populares (1 - zonas, 2 - populares)

$mail_domain - zona o dominio elegido

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

MAIL_TYPE_ERROR - no existe dicho dominio para el sitio especificado

CHANNELS_LIMIT - cuenta bloqueada

Reactivación de correo
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=reorderMailActivation&id=$id

Parámetros:

$api_key - Clave de API

$id- ID del correo cuya reactivación es necesaria

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

BAD_KEY - clave API no válida

BAD_ACTION - acción incorrecta

BLOCKED_SITE - sitio web bloqueado

BAD_BALANCE - fondos insuficientes

ACTIVATION_NOT_FOUND - activación no encontrada

CHANNELS_LIMIT - cuenta bloqueada

Obtener la lista de compras activas
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 - Clave de API

$page- número de página

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

$search- barra de búsqueda

$sort- dirección de ordenación (desc, asc)

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

{
                        "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 la compra de correo electrónico
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=cancelMailActivation&id=$id

Parámetros:

$api_key - Clave de API

$id- ID de compra

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

EARLY_CANCEL_DENIED - No puedes cancelar el correo durante los primeros 2 minutos.

Comprueba si se ha recibido el correo electrónico
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

Parámetros:

$api_key - Clave de API

$id- ID del correo electrónico comprado; se devuelve tras la compra

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

Software para socios de API

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

Parámetros:

$api_key - Clave de API

$id- ID del software que necesitas comprar

RESPUESTA:

La respuesta del servicio estará en formato JSON, ejemplo:

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

POSIBLES ERRORES:

BAD_DATA - ID incorrecto o el ID no es un número

BAD_ACTION - acción no válida o el revendedor no 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.lat 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 }}

Herramienta de clonación de sitios web