Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 United Arab Emirates, Ajman
+971585072431, https://smsactivate.s3.eu-central-1.amazonaws.com/assets/img/icons/logo/logo.svg, [email protected]

Protocolo API para trabajar con SMS-Activate

La API es el protocolo de comunicación entre su software y nuestro servidor de activación.

La API se necesita para automatizar el proceso de recibir mensajes SMS en su lado usuario/cliente

Nuestra API es totalmente compatible con las páginas web de la competencia

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

Vía método POST o GET.

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

Descargue la implementación lista del protocolo en php Descargue la implementación lista para usar del protocolo en Python

API de activación

Solicite la cantidad de números disponibles:
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

PARÁMETROS

$api_key - Clave API

$country * - número de paísver tabla

$operator * - números de operador de telefonía móvil, puede especificar varios números separados por comas (disponible solo para **):

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

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

Respuesta:

La respuesta del servidor será 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}
Hasta dónde va el guión: el nombre del servicio, después va una indicación sobre si se necesita activar el desvío. 0 - no. 1 - sí.

Lista completa de servicios.

Solicitud de los mejores países por servicio FreePrice
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

PARÁMETROS

$api_key - Clave API

$service * - Servicio ver tabla

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

$freePrice * - parámetro opcional. Si se transfiere true, la cantidad y el precio se darán de acuerdo con el precio libre

Respuesta:

La respuesta del servidor será 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 } }, ... }
Consultar el saldo:
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getBalance

Solicitud de saldo con cuenta de reembolso:

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

* devuelve el saldo teniendo en cuenta el reembolso acumulado, si la casilla de verificación en la configuración de la cuenta de reembolso 'Gastar reembolso en la activación' está marcada

PARÁMETROS

$api_key - Clave API

Respuesta:

ACCESS_BALANCE: 'saldo de la cuenta'

Posibles errores:

BAD_KEY - Clave API-erronea

ERROR_SQL - error del servidor SQL

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

* devuelve todos los operadores disponibles para el país transferido, si el país no se transfiere - devolverá todos los operadores disponibles para cada país

PARÁMETROS

$api_key - Clave 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-erronea

ERROR_SQL - error del servidor SQL

OPERATORS_NOT_FOUND - no se han encontrado registros (por ejemplo, país no existente transferido)

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

PARÁMETROS

$api_key - Clave 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" : "[Su código de registro CODE]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
"currency": 840 //ISO 4217 Num
}]

Posibles errores:

BAD_KEY - Clave API-erronea

ERROR_SQL - error del servidor SQL

NO_ACTIVATIONS - entradas no encontradas (sin activaciones activas)

Consultar el número: FreePrice
https://api.sms-activate.ae/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 API

$service - servicio de pedidover tabla

$forward * - 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 por el que está dispuesto a comprar una numero a Free Price

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

$phoneException * - prefijos de exclusión para números rusos. Especifique separados por comas. Formato de grabación: código de país y máscara de 3 a 6 dígitos (por ejemplo 7918, 7900111). De forma predeterminada, se toma el valor especificado en el perfil.

$operator* - números de operador de telefonía móvil, puede especificar varios números separados por comas (disponible solo para **)

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

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

$userId * - ID de usuario para baneo por malas estadísticas de activación, sin afectar la cuenta del revendedor.

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

* campo opcional

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

$ref - transferir la identificación de referencia.Más detalles

$country - número de paísver tabla

$useCashBack* - toma el valor booleano; si el parámetro es "verdadero", el número se comprará para obtener un reembolso. Una vez que se agote el reembolso, todas las compras posteriores se realizarán utilizando el saldo. IMPORTANTE recordar que todas las compras posteriores utilizarán primero el reembolso y luego el saldo principal (incluso si luego pasa el parámetro "falso").

* parámetro opcional, acepta 'verdadero'

Al recibir el número a través de la API, confirma su acuerdo conreglas del proyecto

Posibles errores:

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

$min - precio mínimo permitido

BAD_ACTION - acción incorrecta

BAD_SERVICE - nombre de servicio incorrecto

BAD_KEY - Clave API-erronea

ERROR_SQL - error del servidor SQL

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

WRONG_EXCEPTION_PHONE - prefijos de exclusión incorrectos

NO_BALANCE_FORWARD - no hay fondos suficientes para comprar el desvío de llamadas

CHANNELS_LIMIT - la cuenta esta bloqueada

NO_NUMBERS - sin números

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

Solicitud de número V2 FreePrice
https://api.sms-activate.ae/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 manera similar al método getNumber, acepta los mismos parámetros y se describen adicionalmente a continuación, pero devuelve información de activación adicional

PARÁMETROS

$orderId- ID de activación del sistema revendedor. Al comprar, estos datos se comparan con la identificación de activación y el revendedor en nuestro sistema. Por tanto, queremos lograr la idempotencia (el mismo pedido no se volverá a procesar).

Respuesta:

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

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

Si intenta obtener el número de un operador específico que no opera en el país seleccionado o que no tiene el servicio seleccionado, se le 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

Al recibir SMS para el número, si tiene la funcionalidad de Webhooks en la configuración, enviaremos información sobre el SMS posterior a las direcciones indicadas por usted

Respuesta:

El formato de respuesta será el siguiente:

{ "activationId": 123456, "service": "go", "text": "Sms text", "code": "12345", "country": 0, "receivedAt": "2023-01-01 12:00:00" }

Al enviar una solicitud, esperaremos una respuesta de su script con el estado http 200. Si su script no responde, enviaremos una solicitud dentro de las 2 horas, pero no más de 8 veces.

En caso de errores en consultas, recibirá una notificación de Telegram Bot, si está vinculado (no más de una vez en 5 de minutos).

Puede habilitar esta funcionalidad enconfiguración de perfil

Solicitar un número para varios servicios
https://api.sms-activate.ae/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 API

$service - servicio de pedidover tabla

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

* parámetro opcional, los caracteres de reenvío están separados por comas, el número de dígitos de reenvío debe coincidir con el número de servicios transmitidos en el parámetro$service. Se permite transmitir solo 1 servicio con redirección, por ejemplo "0,1,0,0" - correcto, "0,1,1,0" - incorrecto. Toma 0 (no ejecutar, predeterminado), 1 (ejecutar)

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

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

$ref - transferir la identificación de referencia.Más detalles

$country - número de paísver tabla

Al recibir el número a través de la API, confirma su acuerdo con reglas del proyecto

Respuesta:

NO_NUMBERS - sin números

NO_BALANCE - el saldo ha terminado

{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}
, donde (phone - id 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-erronea

ERROR_SQL - error del servidor SQL

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

Cambio de estado de activación
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=setStatus&status=$status&id=$id&forward=$forward

PARÁMETROS

$api_key - Clave API

$id - ID de activación

$forward * - el número de teléfono al que desea reenviar

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

$status - Estado de activación

1 - notificar que el número está listo (se ha enviado un SMS al número)

3 - solicita otro código (gratis)

6 - activación completa *

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

* si hubo un estado 'código recibido' - lo marca con éxito y lo completa, si hubo una 'preparación' - borra y marca un error, si había un estado 'esperando reintento' - transfiere la activación a SMS pendiente

** Es imposible cambiar el estado de activación para el que se eligió el método de verificación por llamada si el número ya ha llegado

Lógica simple para la cronología del trabajo con la API:

Obtenga el número usando el método getNumber, luego estarán disponibles las siguientes acciones:

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

1 - informar que se ha enviado SMS (opcional)

Para activar con el estado 1:

8 - cancelar la activación

Inmediatamente después de recibir el código:

3 - solicitar otro sms

6 - Confirme el código SMS y complete la activación.

Para activar con el estado 3:

6 - Confirme el código SMS y complete la activación.

Respuesta:

ACCESS_READY - disponibilidad de la números confirmada

ACCESS_RETRY_GET - esperando un nuevo SMS

ACCESS_ACTIVATION - el servicio se ha activado con éxito

ACCESS_CANCEL - activación cancelada

Posibles errores:

EARLY_CANCEL_DENIED - no puedes cancelar el número en los primeros 2 minutos

ERROR_SQL - error del servidor SQL

NO_ACTIVATION - id la activación no existe

BAD_SERVICE - nombre de servicio incorrecto

BAD_STATUS - estado incorrecto

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

WRONG_ACTIVATION_ID- ID no válido o ID no es un número.

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

PARÁMETROS

$api_key - Clave API

$id - ID de activación

Respuesta:

STATUS_WAIT_CODE - esperando SMS

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

STATUS_WAIT_RESEND - esperando reenvío de SMS *

* el software debe presionar 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 - id la activación no existe

ERROR_SQL - error del servidor SQL

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

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

PARÁMETROS

$api_key - Clave API

$id - ID de activación

Respuesta:

El formato de 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",
"code": "12345",
"dateTime": "0000-00-00 00:00:00",
"url": "voice file url",
"parsingCount": 1,
}
}

STATUS_CANCEL - activación cancelada

Posibles errores:

NO_ACTIVATION - id la activación no existe

ERROR_SQL - error del servidor SQL

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

Obtener historial de activación
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getHistory&start=$start&end=$end&offset=$offset&limit=$limit

PARÁMETROS

$api_key - Clave API

$start * - marca de tiempo en formato Unix Marca de tiempo (opcional): a partir de qué fecha realizar las activaciones

$end * - marca de tiempo en formato Unix Marca de tiempo (opcional): qué fecha usar para la activación

$offset - El desplazamiento del primer elemento devuelto en la respuesta. Predeterminado 0

$limit - el número máximo de registros a devolver. Máximo 100. Predeterminado 50.

* Las fechas son limitadas 30 días

Respuesta:

El formato de respuesta será el siguiente:

[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Para los activos costo = 0
"status": "4",
"currency": 840 //ISO 4217 Num
}]

Posibles errores:

ERROR_SQL - error del servidor SQL

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

WRONG_DATE- El formato de fecha no es una marca de tiempo o una de las fechas posteriores a los 30 días

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

PARÁMETROS

$api_key - Clave API

$service - Nombre del Servicio

Respuesta:

El formato de respuesta será el siguiente:

[{
"country": 0,
"share": 50, // (Compras del servicio seleccionado por país como porcentaje del número total de compras de nuestro servicio)
"rate": 50 // (% de activaciones con éxito sobre el número total de activaciones en el país)
}]

Posibles errores:

ERROR_SQL - error del servidor SQL

BAD_KEY - Clave API-erronea

WRONG_SERVICE - servicio equivocado

BAD_ACTION - acción incorrecta

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

PARÁMETROS

$api_key - Clave API

$id - ID de activación

Respuesta:

La respuesta del servidor será en formato json, ejemplo:

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

ESTADOS POSIBLES:

2 - nueva activación

3 - cerrada con éxito

4 - cancelada

5 - devuelta

Posibles errores:

BAD_KEY - Clave API-erronea

INVALID_ACTIVATION_ID - ID de activación no válido

Obtener precios actuales por país
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getPrices&service=$service&country=$country

PARÁMETROS

$api_key - Clave API

$serviceNombre corto de servicio (Opcional, por defecto - todos los servicios) ver tabla

$countryNombre del código de país (Opcional, por defecto - todos los países) ver tabla

Respuesta:

JSON - objeto en formato
{"País":{"Servicio":{"costo":Costo,"recuento":Recuento}}}

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

PARÁMETROS

$api_key - Clave API

$serviceNombre corto de servicio (Opcional, por defecto - todos los servicios) ver tabla

Respuesta:

JSON - objeto en formato
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}

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

PARÁMETROS

$api_key - Clave API

Respuesta:

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

dónde (

id : identificación 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 - SMS repetidos NO está disponible, 1 - disponible;

rent : 0 - país no arrendado, 1 - arrendado;

multiService : 0-country NO está disponible para multiservicio, 1- disponible).

Obtenga una lista de todos los servicios
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getServicesList

PARÁMETROS

$api_key- Clave API

$country *- Identificación del país. Si transferimos el país, devolvemos servicios que tienen precio para el país seleccionado

$lang *- el idioma en el que enviar "nombre". Valores posibles: 'ru','en','es','cn'. El valor predeterminado será 'en'

*parámetro opcional

Respuesta:

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

Servicio adicional para números redirigidos

Después de recibir el primer SMS para números redirigidos, puede comprar otros servicios relacionados, como Yula, Yandex, Avito, cualquier otro

El costo del servicio adicional es de solo 5p.

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

PARÁMETROS

$api_key - Clave API

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

$id - ID de activación de padres

Respuesta:

ADDITIONAL:$id:$phone - se creó correctamente una nueva activación. Donde ID es el ID de activación adicional, teléfono es el número de teléfono

Posibles errores:

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

WRONG_ACTIVATION_ID - ID de activación de padres no válido

WRONG_SECURITY - error al intentar transferir una ID de activación sin redirección, o una activación completada/inactiva

REPEAT_ADDITIONAL_SERVICE - se produce un error al intentar solicitar el servicio comprado nuevamente NO_BALANCE - No hay fondos suficientes

ERROR_SQL- error de base de datos, póngase en contacto con el soporte

Reactivación de números

Si ha realizado una activación exitosa en el número, puede hacerlo nuevamente.

El costo de la activación adicional se determina según el país y el servicio. El costo específico se puede obtener de esta consulta.

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

PARÁMETROS

$api_key - Clave API

$activationId - ID de activación de padres

Respuesta:

ACCESS_NUMBER:$id:$phone - se creó correctamente una nueva activación. Donde $id es el ID de activación adicional, $phone es el 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 de padres no válido

ERROR_SQL- error de base de datos, póngase en contacto con el soporte

NEW_ACTIVATION_IMPOSSIBLE- es imposible realizar una activación adicional

NO_BALANCE - no hay dinero en la cuenta

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

Puede averiguar la disponibilidad del número para la activación adicional y obtener su costo

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

PARÁMETROS

$api_key - Clave API

$activationId - ID de activación de padres

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 de padres no válido

SIM_OFFLINE - Tarjeta SIM fuera de línea

Análisis de voz repetido
https://api.sms-activate.ae/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 lenguaje de análisis ver tabla

Respuesta:

El formato de respuesta será el siguiente:

{
"result": "OK"
}

STATUS_CANCEL - activación cancelada

NO_CALL- no hubo llamada

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

Posibles errores:

WRONG_ACTIVATION_ID - activación de identificación incorrecta, no existe o está inactiva

ERROR_SQL - error del servidor SQL

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

API de arrendamiento

Solicitar países y servicios disponibles
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getRentServicesAndCountries&rent_time=$time&operator=$operator&country=$country&incomingCall=$incomingCall

PARÁMETROS

$api_key - Clave API

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

$operator* - números de operador de telefonía móvil, puede especificar varios números separados por comas (predeterminado: Cualquiera)

$country* - país (predeterminado: Rusia)

$currency* - código iso de la moneda en la que mostrar los precios

$incomingCall * - si se transmite "true"obtener un número con posibilidad de recibir una llamada

Respuesta:

La respuesta del servidor será 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 } }, "currency": 840 }

Posibles errores:

BAD_KEY - Clave API-erronea

OUT_OF_STOCK - Nos hemos quedado sin números para este país.

Reserva de numeros en alquiler
https://api.sms-activate.ae/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 API

$service - el servicio para el que necesita obtener un número

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

$operator* - números de operador de telefonía móvil, puede especificar varios números separados por comas (predeterminado: Cualquiera)

$country* - país (predeterminado: Rusia)

$url * - enlace para webhook (no se tiene en cuenta de forma predeterminada)

$incomingCall * - si se transmite "true"obtener un número con posibilidad de recibir una llamada

¿Qué es webHook?

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

Respuesta:

La respuesta del servidor será en formato json, ejemplo:

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

Posibles errores:

BAD_KEY - Clave API-erronea

Responda en formato json:

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


Posibles respuestas en el campo "message":

BAD_SERVICE - servicio no especificado o nombre incorrecto

NO_BALANCE - no hay dinero en la cuenta

NO_NUMBERS - no hay números vacías

ACCOUNT_INACTIVE- la cuenta no está activa

SERVER_ERROR - Error del Servidor

CHANNELS_LIMIT - la cuenta esta bloqueada

obtener el estado de alquiler
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getRentStatus&id=$id&page=$page&size=$size

PARÁMETROS

$api_key - Clave API

$id - ID de alquiler recibido en la respuesta al pedir una habitación

$page* - número de la página desde la que comienza la selección (la numeración de páginas comienza desde 0, de nueva a antigua; el valor predeterminado es 0)

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

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

Respuesta:

La respuesta del servidor será 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 si hay SMS (campo 'cantidad' > 0).

Posibles errores:

BAD_KEY - Clave API-erronea

Responda en formato json:

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

Posibles respuestas en el campo "message":

NO_ID_RENT - ID de alquiler no especificado

INVALID_PHONE - el número no lo alquila usted (ID de alquiler incorrecto)

STATUS_FINISH - alquiler pagado y terminado

STATUS_CANCEL - alquiler cancelado con reembolso

STATUS_WAIT_CODE - esperando el primer SMS

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

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

PARÁMETROS

$api_key - Clave API

$id - ID de alquiler recibido en la respuesta al pedir una habitación

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

El status se puede tomar los valores:

1
Línea de meta
2
Cancelar

Respuesta:

La respuesta del servicio estará en formato json:

{ "status": "success" }

Posibles errores:

BAD_KEY - Clave API-erronea

Responda en formato json:

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

Posibles respuestas en el campo "message":

NO_ID_RENT - ID de alquiler no especificado

INCORECT_STATUS - estado faltante o incorrectamente especificado

CANT_CANCEL - es imposible cancelar el contrato de arrendamiento (más de 20 min.)

INVALID_PHONE - el número no lo alquila usted (ID de alquiler incorrecto)

ALREADY_FINISH - el contrato de arrendamiento ya se ha completado

ALREADY_CANCEL - el contrato de arrendamiento ya ha sido cancelado

SERVER_ERROR - Error del Servidor

Operadores de listas
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉Atención! Este método muestra solo los últimos 10 números. Si necesita una cantidad mayor, utilice el método getRentStatus para verificar los estados.

PARÁMETROS

$api_key - Clave 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-erronea

BAD_ACTION - acción incorrecta


Responda en formato json:

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


Posibles respuestas en el campo "message":

NO_NUMBERS - no se alquilan números

SERVER_ERROR - Error del Servidor

Extiende tu contrato de arrendamiento
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

PARÁMETROS

$api_key - Clave API

$id - id 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"} }

Al renovar un contrato de arrendamiento completo, se reordenará, se pasará una nueva identificación

Posibles errores:

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

SERVER_ERROR - Error del Servidor


Responda en formato json:

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


Posibles respuestas en el campo "message":

NO_ID_RENT - Falta el ID de alquiler

INVALID_TIMEtiempo inadecuado. Horarios disponibles del 4 al 2016

MAX_HOURS_EXCEED - tiempo máximo disponible excedido

info:

max - tiempo máximo disponible

INVALID_PHONE - ID de alquiler no válido

RENT_DIE - el contrato de arrendamiento no se puede extender porque el número ha expirado

NO_BALANCE¡Fondos insuficientes!

CHANNELS_LIMIT - la cuenta esta bloqueada

Obtenga el costo de la renovación del contrato de arrendamiento
https://api.sms-activate.ae/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

PARÁMETROS

$api_key - Clave API

$id - id alquiler

$rent_time - tiempo de alquiler

$currency* - código iso de la moneda en la que mostrar el precio

Respuesta:

La respuesta del servicio estará en formato json:

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

Posibles errores:

BAD_KEY - Clave API-erronea

BAD_ACTION - acción incorrecta

SERVER_ERROR - Error del Servidor


Responda en formato json:

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


Posibles respuestas en el campo "message":

NO_ID_RENT - Falta el ID de alquiler

INVALID_PHONE - ID de alquiler no válido

INVALID_TIME - hora fijada incorrectamente

RENT_DIE - el contrato de arrendamiento no se puede extender porque el número ha expirado

MAX_HOURS_EXCEED - tiempo máximo disponible excedido

info:

max - tiempo máximo disponible

CHANNELS_LIMIT - la cuenta esta bloqueada

Software de afiliados API

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

PARÁMETROS

$api_key - Clave API

$id- ID del software que se debe comprar

Respuesta:

La respuesta del servidor será en formato json, ejemplo:

{                            
                            "status": "success",
                            "key": "F5qrzFoY6afj3zrEq7SeMplbx",
                            "manual": "Enlace de descarga de software:"                            
                        }

Posibles errores:

BAD_DATA - ID no válido o ID no es un número

BAD_ACTION - acción no válida o revendedor no verificado.

                        <?php
                            include_once ("smsactivateApi.php");//Inclusión de una clase en un proyecto.
                            $sms = new SMSActivate($API_KEY);//Crear instancia de clase SMSActivate

$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Obtenga el número de números disponibles para el país de Rusia y el operador de tele2 echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show para whatsapp
var_dump($freeSlots); //Mostrar todos los servicios con cantidad
$array=$activate->getTopCountriesByService(); //Obtenga una matriz cuyos elementos contengan información para cada país $balance = $sms->getBalance();//Obtener el equilibrio echo "En la cuenta " . $balance." $.\n";//Mostrar saldo
$balance = $sms->getBalanceAndCashBack();//Obtenga un saldo de reembolso echo "En la cuenta " . $balance." $.\n";//Mostrar saldo de devolución
$operators = $sms->getOperators(); //Obtener operadores para todos los países if (in_array('mts', $operators['countryOperators'][0])) { //compruebe si 'mts' está disponible para Rusia //realizar una acción } if (in_array('chinamobile', $operators['countryOperators'][3])) { //compruebe si 'chinamobile' está disponible para China //realizar una acción } $activations = $sms->getActiveActivations(); $number = $sms->getNumber('ok',0, 0, 'tele2');//Obtenga el número Odnoklassniki sin reenviar echo "Activación № " . $number['id']. "el telefono ". $number['number'] \n";//Mostrar id y número de activación
$result = $sms->getNumber('vk', 0 , 1); if (!is_array($result)) { echo 'Ошибка: ' . $result . '\n';//Si ocurre un error, se devolverá una cadena, si tiene éxito, se devolverá una matriz. } 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');//Obtenga un número para los servicios Odnoklassniki, Vkontakte, Viber sin desvío de llamadas y Avito con desvío de llamadas foreach ($number as $value) { echo "Activación № " . $value['activation']. "para servicio ". $value['service'] ."\n"; }
echo "Número " . $value['phone'] ."\n";//Muestre la identificación y el número de activación
$status = $sms->setStatus($number['id'], 3);//Cambiar el estado de activación por id (obtener 1 código más) $status = $sms->getStatus($number['id']);//Obtener estado de activación por id if (is_array($status) { echo "статус : " . $status['status'];//Puede ser STATUS_OK o STATUS_WAIT_RETRY; de lo contrario, se devolverá una línea con texto de error echo "код: " . $status['code']; } else { echo $status ."\n"; } $incomingCall = $sms->getIncomingCallStatus($id);//Obtener datos de activación mediante llamada echo $incomingCall['phone'] //Mostrar número entrante $prices = $sms->getPrices(1, 'vk');//Obtenga el precio actual del servicio echo "Precio por VK (Ucrania) : " .$prices[1]['vk']['cost']."$cantidad: ". $prices[1]['vk']['count'];//Mostrar resultado $countries = $sms->getCountries();//Obtenga una lista de todos los países $additional = $sms->getAdditionalService('fx', $id);//Obtenga activación adicional para el servicio PGbonus según la activación de la identificación echo "Activación: " . $additional[id] . "El telefono " . $additional[number];//Mostrar resultado $getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Solicite los países disponibles para alquiler y servicios (durante 2 horas para todos los operadores) echo "Alquiler completo - Costo:" . $getAvailableRentNumbers['services']['full']['cost'] . " Cantidad :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Mostrar información completa de precios
foreach( $getAvailableRentNumbers['operators'] as $value) { echo " Operador " . $value ."\n"; }//Operadores de listas
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Obtenga un número de alquiler para Vkontakte por 10 horas, operador 'Yota', país - Rusia if ($getRentNumber['status'] === 'success'){ echo "El alquiler fue exitoso! Su numero: " . $getRentNumber['phone']['number']." \nFecha de finalización del alquiler : ". $getRentNumber['phone']['endDate']." \nNúmeros de identificación :" .$getRentNumber['phone']['id'] ; }//Mostrar información de alquiler
else echo "Código de error : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Obtenga el estado del arrendamiento con la identificación del número recibido if ($getRentStatus['status'] == 'success'){ foreach( $getRentStatus['values']as $index => $value) { echo " Mensaje " . $index .": desde la sala - " . $value['phoneFrom'] . "servicio - " . $value ['service'] . "mensaje de texto - " . $value['text'] . "la fecha - " . $value['date']; } }//mostrar una lista de los mensajes recibidos al alquilar una número else echo "Código de error : " . $getRentStatus['message']; $setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Establezca el estado de alquiler 'finalizar' con la identificación del número recibido if ($setRentStatus['status'] == 'success') echo " ¡El cambio de estado fue exitoso! "; else echo "Código de error : " . $setRentStatus['message']; $getRentList = $sms->getRentList();//Obtenga una lista de las números alquiladas actualmente if (getRentList['status'] == 'success') foreach( $getRentList['values'] as $value) { echo " IDENTIFICACIÓN " . $value["id"] . " Número " . $value["phone"] ."\n"; }//Operadores de listas else echo "Código de error : " . $getRentList['message']; $result = $sms->continueRentNumber($id);//Extienda la concesión de la identificación de activación por 4 horas (por defecto) if ($result['status'] == 'success') { echo "Número: " . $result['phone']['number']"//Número de pantalla echo "id: " . $result['phone']['id']"//Mostrar identificación de activación echo "El contrato de arrendamiento es válido hasta: " . $result['phone']['endDate']"//Muestra la fecha y hora de finalización del contrato de arrendamiento. } else { echo "Código de error : " . $result['msg']; } $result = $sms->getContinueRentPriceNumber($id, 12);//Obtenga el costo de renovar el contrato de arrendamiento para activar la identificación durante 12 horas if ($result['status'] == 'success') { echo " Costo de renovación " . $result['price'];//Retirar el costo } else { echo "Código de error: " . $result['message']; //Mostrar código de error }
                    
                        from smsactivate.api import SMSActivateAPI
                         # SMSActivateAPI Contiene todas las herramientas básicas para trabajar con la API de SMSActivate
                        sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True # Se utiliza para depurar. Cuando debug_mode está activo, todas las respuestas del servidor y la clase se enviarán a la consola print(sa.version()) # Devuelve la versión actual de la biblioteca. status = sa.getNumbersStatus(country=0, operator='tele2') try: print(status['vk_0']) # 274789 except: print(status['message']) # Texto de error
result = sa.getTopCountriesByService('vk') try: print(result[0]['count']) # 2350 except: print(result['message']) # Texto de error balance = sa.getBalance() # {'balance': '100.00'} try: print(balance['balance']) # 100.00 except: print(balance['message']) # Texto de error
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'} try: print(balance['balance']) # 100.00 except: print(balance['message']) # Texto de error
operators = sa.getOperators(country=0) try: print(operators['countryOperators']['0']) except: print(operators['error']) # Estado de error activations = sa.getActiveActivations() try: print(activations['activeActivations']) except: print(activations['error']) # Estado de error 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']) # Texto de error number = sa.getNumberV2(service='vk', country=0) try: print(number['phoneNumber']) # 79999999999 except: print(number['message']) # Texto de error 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']) # Texto de error status = sa.setStatus(id=000000000, status=1) # ACCESS_READY try: print(status) # ACCESS_READY except: print(status['message']) # Texto de error status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE try: print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'} except: print(status['message']) # Texto de error status = sa.getIncomingCallStatus(id=000000000) try: print(status['status']) # 2 except: print(status['message']) # Texto de error prices = sa.getPrices(service='fb', country=0) try: print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}} except: print(prices['message']) # Texto de error countries = sa.getCountries() try: print(countries['0']['eng']) # Russia except: print(countries['message']) # Texto de error service = sa.getAdditionalService(id=000000000, service='ig') try: print(service['phone']) # 79999999999 except: print(service['message']) # Texto de error service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0) try: print(service['services']['full']['cost']) # 100.00 except: print(service['message']) # Texto de error rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0) try: print(rent['phone']['number']) # 79999999999 except: print(rent['message']) # Texto de error status = sa.getRentStatus(000000000) try: print(status['values']['0']['text']) # SMS except: print(status['message']) # Texto de error status = sa.setRentStatus(id=000000000, status=1) try: print(status['status']) # success except: print(status['message']) # Texto de error rent = sa.getRentList() try: print(rent['values']['0']['phone']) # 79999999999 except: print(rent['message']) # Texto de error rent = sa.continueRentNumber(id=000000000, time=4) try: print(rent['phone']['number']) # 79999999999 except: print(rent['message']) # Texto de error rent = sa.getContinueRentPriceNumber(000000000) try: print(status['price']) # 4.00 except: print(status['message']) # Texto de error

{{ texts.verificationVoiceTextFirst }}

{{ texts.verificationVoiceTextSecond }}

{{ texts.verificationVoiceTextThird }}