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 ir a https://api.sms-activate.org/stubs/handler_api.php
Vía método POST o GET.
Todas las solicitudes deben tener una clave API como parámetro 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
* campo opcional. Si no se especifica, por defecto, la cantidad se mostrará de acuerdo con la configuración en el menú de la izquierda.
$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 es cierto, la cantidad y el precio se transferirán de acuerdo con el precio gratuito. **:
Respuesta:
La respuesta del servidor será en formato json, ejemplo:
{
0: {
"freePriceMap": {
"15.00": 43242,
"18.00": 333
},
"country: 0,
"count": 43575,
"price": 15.00
}...
}
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",
}]
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
$freePrice * - compre un número usando Free Price.
* parámetro opcional acepta true(utilizar precio gratuito). También necesitas pasar el parámetro$maxPrice
$maxPrice * - Indique el precio máximo al que está listo para comprar una habitación a Precio Gratis.
* parámetro opcional, especificado solo si$freePrice = true
$phoneException * - excluyendo prefijos para números rusos. Especifique con comas. Formato de grabación: código de país y de 3 a 6 dígitos de la máscara (por ejemplo 7918,7900111). El valor predeterminado es el establecido en el menú de la izquierda.
* parámetro opcional, acepta 0 (no ejecutar, establecido por defecto), 1 (ejecutar)
$operator * - operador de telefonía móvil del número, puede especificar varios números separados por comas (disponible solo para **):
$verification * - Si se transmite true, obtener un número con la capacidad de recibir una llamada (al pasar el parámetro $verification opciones $multiService y $freePrice no funciona)
* campo opcional. Si no se especifica, por defecto, la cantidad se mostrará de acuerdo con la configuración en el menú de la izquierda.
** disponible para$country = 0, $country = 1, $country = 2
$ref - transferir la identificación de referencia.Detallado
$country - número de paísver tabla
Al recibir el número a través de la API, confirma su acuerdo conreglas del proyecto
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
WRONG_EXCEPTION_PHONE - prefijos de exclusión incorrectos
NO_BALANCE_FORWARD - no hay fondos suficientes para comprar el desvío de llamadas
action = getNumberV2
El método funciona de manera similar al método getNumberToma los mismos parámetros pero devuelve información de activación adicional
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"
}
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 **):
* campo opcional. Si no se especifica, por defecto, la cantidad se mostrará de acuerdo con la configuración en el menú de la izquierda.
$ref - transferir la identificación de referencia.Detallado
$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 informar sobre la disponibilidad del número (SMS enviado 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 de la cronología 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 un SMS (opcional)
Para activar con el estado 1:
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 habitación confirmada
ACCESS_RETRY_GET - esperando un nuevo SMS
ACCESS_ACTIVATION - el servicio se ha activado con éxito
ACCESS_CANCEL - activación cancelada
Posibles errores:
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
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:
La respuesta del servidor será en formato json, ejemplo:
{"status":"2","phone":false}
Posibles estados:
2 nueva activación
3 cerrados con éxito
4 cancelados
5 devueltos
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).
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 - Creó con éxito una nueva activación. Donde ID - ID de activación adicional, teléfono - 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 padre no válido
WRONG_SECURITY - Se produjo un error al intentar transferir una identificación de activación sin reenvío, o una activación completa / inactiva
REPEAT_ADDITIONAL_SERVICE - El error se produce cuando intenta volver a solicitar el servicio adquirido 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ó con éxito una nueva activación. Donde $id - ID de activación adicional, $phone - 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 padre 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 padre no válido
Puede solicitar una llamada saliente desde el número que recibió para la activación.
PARÁMETROS
$api_key - Clave API
$activationId - ID de activación
$phone - Número para llamar
Respuesta:
JSON - objeto en formato {'status': 'success', 'msg':'La solicitud de llamada se ha creado correctamente..'},
Posibles errores:
CALL_TASK_ALREADY_EXIST - La solicitud de llamada ya se ha creado.
WRONG_ACTIVATION_ID - ID de activación no válido
NUMBER_NOT_EXIST - El número al que está intentando llamar no existe.
Después de ordenar una llamada saliente, puede verificar el estado de la(s) solicitud(es). De forma predeterminada, se devuelven las solicitudes del día actual.
PARÁMETROS
$api_key - Clave API
$activationId - ID de activación, parámetro opcional, si no se pasa, se devolverá una lista de todas las solicitudes
$date - Fecha en el formato 'YYYY-MM-DD', parámetro opcional, si no se pasa, devolverá una lista para el día actual
Respuesta:
JSON - objeto en formato {"958874106":{"date":"2022-07-29 16:03:23","phoneFrom":"79912556393","status":"IN_PROCESS"}},
API de arrendamiento
PARÁMETROS
$api_key - Clave API
$time * - tiempo de alquiler
* parámetro opcional. Si no se especifica, el valor predeterminado será de 4 horas.
$operator * - operador de telefonía móvil del número, puede especificar varios números separados por comas
$country * - país (predeterminado: Rusia)
* parámetro opcional. Si no se especifica, el valor predeterminado será cualquiera.
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 } } }
Posibles errores:
BAD_KEY - Clave API-erronea
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, luego de 24 horas. Al solicitar alquiler por un día o más, debe enviar: 24, 48, 72, etc.
$operator * - operador móvil de números, puede especificar varios números separados por comas (Predeterminado: Cualquiera)
$country * - país (predeterminado: Rusia)
$url * - enlace para webhook (no se considera de forma predeterminada)
* 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 habitaciones vacías
ACCOUNT_INACTIVE - no hay habitaciones vacías
SQL_ERROR - error del servidor SQL
PARÁMETROS
$api_key - Clave API
$id - Identificación de alquiler recibida en la respuesta al ordenar una habitación
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 un 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 arrendamiento no especificado
INVALID_PHONE - usted no alquila el número (identificación de alquiler incorrecta)
STATUS_FINISH - alquiler pagado y terminado
STATUS_CANCEL - alquiler cancelado con reembolso
STATUS_WAIT_CODE - esperando el primer SMS
PARÁMETROS
$api_key - Clave API
$id - Identificación de alquiler recibida en la respuesta al ordenar 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 arrendamiento 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 - usted no alquila el número (identificación de alquiler incorrecta)
ALREADY_FINISH - el contrato de arrendamiento ya se ha completado
ALREADY_CANCEL - el contrato de arrendamiento ya ha sido cancelado
SQL_ERROR - error del servidor SQL
PARÁMETROS
$api_key - Clave API
Respuesta:
La respuesta del servicio estará en formato json:
{ "status": "success", "values": { "0": { "id": "123456", "phone": "79181234567" }, "1": { "id": "123457", "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 habitaciones
SQL_ERROR - error del servidor SQL
PARÁMETROS
$api_key - Clave API
$id - id alquiler
$api_key - tiempo de alquiler (por defecto 4 horas)
* parámetro opcional. Si no se especifica, se utilizará el parámetro predeterminado.
Respuesta:
La respuesta del servicio estará en formato json:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Posibles errores:
BAD_KEY - Clave API-erronea
BAD_ACTION - acción incorrecta
Responda en formato json:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Posibles respuestas en el campo "message":
NO_ID_RENT - sin identificación 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 arrendamiento no válido
RENT_DIE - el contrato de arrendamiento no se puede extender porque el número ha expirado
SERVER_ERROR - Error del Servidor
NO_BALANCE¡Fondos insuficientes!
este método solo está disponible para alquilar con el operador MTT.
PARÁMETROS
$api_key - Clave API
$id - id alquiler
Respuesta:
La respuesta del servicio estará en formato json:
{ "status": "success", "price": 6.33 }
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_ID_RENT - sin identificación de alquiler
INVALID_PHONE - ID de arrendamiento 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
SERVER_ERROR - Error del Servidor
API JAVA
Incluir la biblioteca en maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>
Puede ver un ejemplo de registro porссылке на MavenRepository
Importe la clase principal para interactuar con la API SMS-Activate.
Para usar la biblioteca, necesita una clave API, puede obtenerla en esta página y en el enlace a continuación.
SMS-Activate API-KeyPara obtener el saldo actual de su cuenta, utilice el métodogetBalance... Si está interesado en un reembolso además del saldo, llame al métodogetBalanceAndCashBack.
MétodogetBalanceAndCashBack devuelve un objeto de claseSMSActivateGetBalanceAndCashBack.
PARÁMETROS
NINGUNO
TIPO DE DEVOLUCIÓN:
BigDecimal
PARÁMETROS
NINGUNO
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
service(String) - Nombre corto del servicio.
forward*(boolean) -Necesito solicitar un número redirigido
operatorSet*(Set) - Un conjunto de operadores.
phoneException*(Set) - Prefijos exclusivos solo para Rusia, un conjunto de números del 3 al 6 (7918.7900111).
* campo opcional. Si no se especifica, por defecto, la cantidad se mostrará de acuerdo con la configuración en el menú de la izquierda.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
operatorSet*(Set) - El conjunto de operadores disponibles en el servicio.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - ID de activación.
service(String) - Nombre corto del servicio.
En lugar del identificador de activación, puede pasar el objeto de clase recibidoSMSActivateActivation después de usar el métodogetNumber o una de las activaciones después de su usogetMultiServiceNumber.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
serviceMap(Set) - El conjunto de servicios para los que se adquiere la activación.
multiForwardList(List) - Lista de servicios con reenvío.
operatorSet(Set) - Un conjunto de operadores.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
NINGUNO
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
service(String) - Nombre corto del servicio.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - ID de activación.
En lugar del identificador de activación, puede pasar el objeto de clase recibidoSMSActivateActivation después de usar el métodogetNumber o una de las activaciones después de su usogetMultiServiceNumber.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - ID de activación.
status(SMSActivateClientStatus) - El estado para establecer la activación.
En lugar del identificador de activación, puede pasar el objeto de clase recibidoSMSActivateActivation después de usar el métodogetNumber o una de las activaciones después de su usogetMultiServiceNumber.
TIPO DE DEVOLUCIÓN:
PARÁMETROS
NINGUNO
TIPO DE DEVOLUCIÓN:
PARÁMETROS
NINGUNO
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - ID de activación.
En lugar del identificador de activación, puede pasar el objeto de clase recibidoSMSActivateActivation después de usar el métodogetNumber o una de las activaciones después de su usogetMultiServiceNumber.
TIPO DE DEVOLUCIÓN:
Algoritmo para recibir el texto completo de SMS con activación
Obtenga el número usando el método getNumber, luego estarán disponibles las siguientes acciones:
CANCEL - Cancelar la activación (si el número no le convenía)
MESSAGE_WAS_SENT - Informar que se ha enviado SMS (Obligatorio para recibir el texto completo del sms)
Después de la configuración obligatoria del estado MESSAGE_WAS_SENT, configure la variable para recibir SMS utilizando el método waitSMS con los parámetros de activación y el tiempo de espera para el SMS.
Después de recibir el SMS, puede obtenerlo usando el método getFullSMS y luego mostrar el texto completo usando el método getText () getText()
Después de eso, puede configurar las activaciones en los siguientes estados:
Para activar con el estado 1: MESSAGE_WAS_SENT:
CANCEL - cancelar la activación
Inmediatamente después de recibir el código:
REQUEST_ONE_MORE_CODE - Solicita otro SMS
FINISH - Confirme el código SMS y complete la activación
Para activar con el estado 1: REQUEST_ONE_MORE_CODE:
FINISH - Confirme el código SMS y complete la activación
PARÁMETROS
countryId(Integer) - Identificador de país.
service(String) - Nombre corto del servicio
hours(Integer)* - Tiempo de alquiler.
operator(String)* - El nombre del operador de telefonía móvil.
urlWebhook(String)* - enlace para webhook (no se considera de forma predeterminada)
¿Qué es webHook?* parámetro opcional. Si no se especifica, el valor predeterminado será
TIPO DE DEVOLUCIÓN:
PARÁMETROS
countryId(Integer) - Identificador de país.
operatorSet(Set) - Conjunto de operadores celulares
hours(Integer)* - tiempo de alquiler
* parámetro opcional. Si no se especifica, el valor predeterminado será
TIPO DE DEVOLUCIÓN:
PARÁMETROS
rentId(Integer) - El identificador del número alquilado.
En lugar de rentId, puede pasar el objeto de clase resultante SMSActivateRentActivation
después de usar el métodogetRentNumber
TIPO DE DEVOLUCIÓN:
<?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." rub.\n";//Mostrar saldo
$balance = $sms->getBalanceAndCashBack();//Obtenga un saldo de reembolso
echo "En la cuenta " . $balance." rub.\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']." rub. ". $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
$sms->createTaskForCall(958874106, 78006007664);//Crea una solicitud de llamada saliente por activación N° 958874106, llama al número 78006007664
$sms->getOutgoingCalls('2022-07-27');//Ver solicitudes de llamada creadas el 27 de julio de 2022
$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 habitación
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 habitaciones alquiladas actualmente
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $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
import ru.sms_activate.SMSActivateApi;//Inclusión de una clase en un proyecto.
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Cree una instancia de la clase SMSActivate
BigDecimal balance = smsActivateApi.getBalance();//Obtenga el saldo actual de la cuenta
System.out.println("Balance: "+ balance)//Retirar el saldo recibido
SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Obtenga saldo actual y reembolso
System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Retirar la cantidad de saldo y reembolso
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Obtenga la activación para el servicio Vkontakte en Rusia
System.out.println(activation);//Retirar la activación recibida
SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Obtenga información sobre los servicios disponibles
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Obtener información sobre números para el servicio de Google
System.out.println("Short name service: " + go.getShortName();//Devuelve el nombre corto del servicio.
System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Devuelve el número de números de teléfono disponibles para activación.
System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Descubra si el servicio tiene un redireccionamiento
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Activaciones
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Configuración del estado MESSAGE_WAS_SENT después de enviar SMS para el número
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Solicitar una nueva activación para un servicio adicional
System.out.println(childActivation);//Visualización de información sobre activación adicional
Set<String>operatorSet= new HashSet<>();
operatorSet.add("mts");//Agregar un operador MTS al conjunto de operadores
Map<String,Boolean>serviceMap= new HashMap<>();
serviceMap.put("av",false);//Agregar el servicio Avito a la lista de servicios (especifique verdadero si necesita un servicio con redirección)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Obtener activación para múltiples servicios
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{
System.out.println("Id: " + activation.getId());
System.out.println("Number: " + activation.getNumber());
System.out.println("Service name: " + activation.getShortName());
}
//Visualización de información sobre activaciones recibidas
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Obtención de una lista de precios para Rusia en el servicio Vkontakte. Para obtener una lista completa de precios, utilice el método getAllPrices ();
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Obtener información sobre el servicio Vkontakte para Rusia
System.out.println(">>> Cost: "+ vk.getCost());//Obtenga el precio real del servicio.
System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Devuelve el número de números de teléfono disponibles para activación.
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Obtenga la activación para el servicio Vkontakte en Rusia
System.out.println(activation);//Retirar la activación recibida
SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Obtener un estado para la activación
System.out.println(getResponse.getSMSActivateGetStatus());//Visualización de información sobre el estado de activación
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Configuración del estado MESSAGE_WAS_SENT después de recibir SMS para el número
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Configuración del estado FINALIZAR después de recibir SMS para el número
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Obtener una lista de países con información
SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Obtener información sobre el primer país de la lista
System.out.println("Russian name: "+countryInfo.getRussianName();//Muestra el nombre ruso del país.
System.out.println("English name: "+countryInfo.getEnglishName();//Muestra el nombre ruso del país.
System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Mostrar si el país admite servicios múltiples
SMSActivateGetQiwiRequisitesResponse smsActivateGetQiwiRequisitesResponse=smsActivateApi.getQiwiRequisites();//Obtener información sobre Qiwi
System.out.println("Comment: "+smsActivateGetQiwiRequisitesResponse.getComment()//Visualización de un comentario a los detalles
System.out.println("Wallet: "+smsActivateGetQiwiRequisitesResponse.getWallet());//Retiro de billetera
System.out.println("Up to date: "+smsActivateGetQiwiRequisitesResponse.getUpToDate());//Solicitud de retirada está declinada
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Obtenga la activación para el servicio Vkontakte en Rusia
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Configuración del estado MESSAGE_WAS_SENT después de enviar SMS para el número
String code=smsActivateApi.waitSms(activation,2)//Configurar la recepción de sms en 2 minutos
if(code == null) {
smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Configuración del estado de CANCELAR si no ha llegado el SMS
}
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Recibir texto sms
System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//El retiro de los fondos
}
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Conseguir una habitación con alquiler
System.out.println(">> ID: "+rentActivation.getId());//Retiro de identificación de activación
System.out.println(">> Number: "+rentActivation.getId());//Solicitud de retirada está declinada
System.out.println(">> End date: "+rentActivation.getId());//Visualización de la fecha de vencimiento de la activación
SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Obtener información sobre servicios y países que admiten el alquiler.
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());
}
//Visualización de información sobre los servicios recibidos
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Conseguir una habitación con alquiler
SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Obtener el estado de activación
System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Visualización del número de sms en el número alquilado