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 PythonAPI de activación
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 **):
** 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í.
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
}
}, ...
}
Solicitud de saldo con cuenta de reembolso:
* 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
* 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)
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)
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.
* 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.
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
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
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 **):
$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
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.
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
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
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
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
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
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}}}
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"}}}
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).
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" } ] }
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.
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
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.
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
Puede averiguar la disponibilidad del número para la activación adicional y obtener su costo
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
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
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.
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
* 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
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
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:
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
👉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
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
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
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
max - tiempo máximo disponible
CHANNELS_LIMIT - la cuenta esta bloqueada
Software de afiliados API
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