Documentación API - SMSBower
API
Documentación API
Breve descripción del funcionamiento del protocolo
Método para solicitar la cantidad de números disponibles GET_SERVICES
Método para solicitar número GET_NUMBER
Método de entrega de SMS al servidor SMSBOWER – PUSH_SMS
Método para solicitar la finalización de la activación FINISH_ACTIVATION
Pruebas del protocolo
Tablas de estado
Tablas de datos

Breve descripción del funcionamiento del protocolo

El protocolo para socios está diseñado para proporcionar números de teléfono y mensajes SMS entrantes vía API directamente al servidor SMSBOWER .

Todas las solicitudes incluyen el parámetro - KEY. Esta clave es proporcionada por el equipo de soporte y está disponible en la cuenta personal .

Solicitudes de cantidad GET_SERVICES, Solicitudes de números GET_NUMBER y finalización de activación

FINISH_ACTIVATION se envían directamente desde nuestro servidor al servidor del socio .

Formato de URL — https://SMSBOWER donde SMSBOWER puede ser partner.ru:puerto/SMSBOWER o partner.ru/SMSBOWER.php

GET_SERVICES
GET_NUMBER
PUSH_SMS
FINISH_ACTIVATION
El servidor SMSBOWER envía una solicitud de cantidad de números de teléfono usando el GET_SERVICES aproximadamente cada 10-20 segundos.
Si responde con un conteo > 0, recibirá una solicitud para emitir un número de teléfono usando el método GET_NUMBER
Después de recibir la GET_NUMBER solicitud, debe proporcionar un número de teléfono que cumpla todos los criterios y reenviar todos los SMS entrantes a nosotros usando el PUSH_SMS. Esto es necesario para realizar un filtrado claro y objetivo y entregar los SMS relevantes al servicio correcto para nuestros clientes.
Al completar todas las tareas necesarias relacionadas con los números de teléfono, recibirá un estado 3 mediante el método FINISH_ACTIVATION. Este estado indica que el número de teléfono fue registrado con éxito y que ha sido recompensado por ello.

Requisitos

  • Formato de solicitud/respuesta: JSON
  • Codificación UTF-8
  • Siempre use un encabezado user-agent en las solicitudes al servidor SMSBOWER
  • Aplique compresión gzip a todas las solicitudes/respuestas

Tipos de campos:

  • int - valor entero en el rango de -2 147 483 648 a 2 147 483 647
  • Uint - valor entero sin signo en el rango de 0 a 2 147 483 647
  • long - valor entero en el rango de -9 223 372 036 854 775 808 a 9 223 372 036 854 775 807
  • Ulong - valor entero largo sin signo en el rango de 0 a 9 223 372 036 854 775 807
  • cur - valor real con hasta 2 decimales, por ejemplo, 177.77 ;
  • boolean - valores literales true o false
  • string - valor de cadena de longitud ilimitada

Método para solicitar la cantidad de números disponibles GET SERVICES

Esta solicitud nos proporciona información sobre la cantidad de números telefónicos para servicios disponibles para la venta .

La solicitud POST se envía del servidor SMSBOWER al servidor del socio .

! Tenga en cuenta: si su módem GSM está limitado en el número de módulos activos simultáneamente, debe proporcionar una cantidad igual al número de activos módulos.

Campos de la solicitud
Campo Tipo Obligatorio Descripción
action String GET_SERVICES
key String Clave del protocolo
Campos de la respuesta
Campo Tipo Obligatorio Descripción
status String Estado de la respuesta (ver Tablas de estado)
countryList Array Lista de países
CountryList
Campo Tipo Obligatorio Descripción
country String Estado de la respuesta (ver Status Table)
operatorMap* Array asociativo Clave - operador (ver Tablas de datos), valor - array asociativo de servicios **
Ejemplo de solicitud
{
     "action": "GET_SERVICES",
     "key": "qwerty123"
}
Copiado
Ejemplo de respuesta
{
     "countryList":
     [
          {
              "country": "russia",
               "operatorMap":
               {
                    "beeline":
                    {
                         "ok": 15,
                         "wa": 20
                    },
                    "megafon":
                    {
                         "vk": 3,
                         "ok": 10
                    }
               }
          },
          {
               "country": "ukraine",
               "operatorMap":
               {
                    "life":
                    {
                         "vk": 0,
                         "wa": 32
                    }
               }
          }
     ],
     "status": "SUCCESS"
}
Copiado

Método de solicitud de número GET_NUMBER

Esta solicitud nos proporciona un número telefónico que pasamos al cliente .

La solicitud POST se envía del servidor SMSBOWER al servidor del socio .

Si el array exceptionPhoneSet contiene una lista de prefijos, por ejemplo 44742 y 44740, debe no proporcionar un número que comience con alguno de estos prefijos. La cantidad de dígitos no está limitada por el tamaño del prefijo .

Campos de la solicitud
Campo Tipo Obligatorio Descripción
action String GET_NUMBER
key String Tabla de datos
country String Tabla de datos
service String Tabla de datos
operator String Clave del protocolo
sum Cur La cantidad que recibirá por un servicio registrado con éxito
exceptionPhoneSet Array Lista de prefijos que están PROHIBIDOS
Campos de la respuesta
Campo Tipo Obligatorio Descripción
status String Estado de la respuesta (ver Tablas de estado)
number Ulong Número telefónico con código de país
activationId Ulong ID de activación en el sistema del socio
call String Llamada flash disponible para el número
voice String Llamada de voz disponible para el número
Ejemplo de solicitud
{
     "action": "GET_NUMBER",
     "key": "qwerty123",
     "country": "russia",
     "operator": "beeline",
     "service": "tg",
     "sum": "20.00"
}
Copiado
Ejemplo de respuesta
{
      "number": "79156537788",
      "activationId": "36532",
      "status": "SUCCESS",
      "call": "1",
      "voice": "1"
}
Copiado
Ejemplo de solicitud
{
      "action": "GET_NUMBER",
      "key": "qwerty123",
      "country": "russia",
      "operator": "any",
      "service": "vk",
      "sum": "10",
      "exceptionPhoneSet":
      [
          "7918",
          "79281",
      ]
}
Copiado

Método de entrega de SMS al servidor SMSBOWER PUSH_SMS

Esta solicitud POST se envía desde el servidor del socio al servidor SMSBOWER en la dirección : https://smsbower.online/agent/api/sms

Si recibe una respuesta con el estado SUCCESS, marque el SMS como entregado con éxito en su base de datos y no lo envíe nuevamente . Si un estado distinto de SUCCESS se devuelve, repita la solicitud con un retraso de 10 segundos hasta que reciba un estado SUCCESS .

Ejemplo de solicitud
Campo Tipo Obligatorio Descripción
action String PUSH_SMS
key String Clave del protocolo
smsId Ulong ID del SMS en el sistema del socio
phone Ulong Número telefónico (incluyendo código de país) al que se envió el SMS
phoneFrom String Nombre del remitente (puede ser alfanumérico o numérico) que envió el SMS
text String Texto del SMS
voice Boolean La solicitud es una llamada flash
call Boolean La solicitud es una llamada de voz con código
Campos de la respuesta
Campo Tipo Obligatorio Descripción
status String Estado de la respuesta (ver Tablas de estado)
Ejemplo de solicitud
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "Microsoft",
     "text": "Microsoft access code: 5015"
     "call": "0",
     "voice": "0"
}
Copiado
Example of a flash call request
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "446756540011",
     "text": "446756540011"
     "call": "1",
     "voice": "0"
}
Copiado
Example of a voice call request
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "446756540011",
     "text": "12345"
     "call": "0",
     "voice": "1"
}
Copiado
Campos de la respuesta
{
      "status": "SUCCESS"
}
Copiado

Método para solicitar la finalización de la activación FINISH_ACTIVATION

Esta solicitud se transmite del servidor SMSBOWER al servidor del socio para completar activación.

POST solicitud iniciada desde el SMSBOWER al servidor del socio.

La gestión de activaciones es totalmente controlada por SMSBOWER. Por factores fuera de nuestro control, puede que no recibamos respuesta de usted sobre un cambio exitoso de estado. Por lo tanto, si SMSBOWER envía una solicitud repetida para completar activación, debe verificar la existencia de la activación ID en su sistema. Si la activación existe, envíe un estado de SUCCESS en respuesta.

Campos de la solicitud
Campo Tipo Obligatorio Descripción
action String FINISH_ACTIVATION
key String Clave del protocolo
activationId Ulong ID de activación obtenido en la segunda solicitud
status Unit Estado de la respuesta (ver Tablas de estado)
Campos de la respuesta
Campo Tipo Obligatorio Descripción
status String Estado de la respuesta (ver Tablas de estado)
Ejemplo de solicitud
{
     "action": "FINISH_ACTIVATION",
     "key": "qwerty123",
     "activationId": 100,
     "status": 3,
}
Copiado
Ejemplo de respuesta
{
      "status": "SUCCESS"
}
Copiado

Pruebas del protocolo

Después de implementar el protocolo, debe contactar a nuestro equipo de soporte técnico, proporcionando URL, y nuestro personal realizará pruebas. Si la verificación pasa todos los parámetros con éxito, estará conectado a SMSBOWER .

Emisión simultánea de números

Debe manejar las solicitudes simultáneas correctamente y no emitir números repetidamente. Por ejemplo, si tiene 100 números para Telegram Reino Unido, y SMSBOWER realiza simultáneamente 100 solicitudes para Telegram Reino Unido, el servidor del socio debe proporcionar 100 únicos números. Si un número se emite varias veces, la prueba falla .

Finalización correcta de activación

El cambio en el estado de activación está completamente controlado por SMSBOWER. El servidor del socio debe no completar activaciones de forma autónoma.

Verificación de entrega de SMS

Una vez que reciba un SMS, debe inmediatamente reenviarlo al servidor SMSBOWER. Si recibe un estado SUCCESS, no debe reenviar el SMS nuevamente. Sin embargo, si recibe un estado diferente, debe reintentar la solicitud cada 10-20 segundos. Si un SMS se emite nuevamente después de recibir un estado SUCCESS, la prueba falla .

Verificación de tipo de campo

Revise minuciosamente los tipos de campo, especificados en esta documentación. Si esta condición se viola, la prueba falla .

Código de país en el número de teléfono

La emisión del número de teléfono debe ser en formato digital e incluir el código de país .

Verificación del tiempo de emisión de número

Debe emitir números con un retraso de menos de 3 segundos. Si toma más de 3 segundos, la prueba falla .

Verificación de cantidad de números

Si emite 1000 números en una solicitud de cantidad, pero solo emite 100 al mismo tiempo, la prueba falla .

Verificación de manejo de excepciones

Si maneja incorrectamente las excepciones para emitir un número, la prueba falla .

Estado de respuesta
Estado Descripción
SUCCESS La solicitud fue completada con éxito
ERROR Error durante la ejecución de la solicitud. El campo ERROR debe llenarse con una descripción
NO_NUMBER No hay números disponibles. Esta respuesta se devuelve solo para una solicitud de número.
Estado de activación
Estado Descripción
1 Emitir un número para este servicio está prohibido
3 La activación fue con éxito vendida. Usted ha recibido una recompensa
4 La activación fue cancelada*
5 La activación ha sido devuelta. Al cliente se le ha reembolsado la activación. Es posible que este número ya estuviera registrado previamente y que tenga activada la autenticación de dos factores

* El mecanismo de cancelación funciona de la siguiente manera: Si un número de teléfono ha sido cancelado 5 veces, no debe emitir ese mismo número nuevamente. Es posible que el número no fuera adecuado para el cliente o ya estuviera registrado para el servicio específico.

Respuesta exitosa a la solicitud
{
     "status": "SUCCESS",
     //Información
}
Copiado
Respuesta en caso de error
{
      "status": "ERROR",
      "error": "Descripción del error"
}
Copiado

Tablas de datos

Lista de países

La lista completa de países con nombres e IDs se encuentra en el enlace https://smsbower.org /api#countries.

Lista de operadores

Actualmente, la distribución por operadores está en desarrollo, por lo que debe pasar el valor any. Una vez que esta funcionalidad esté implementada, notificaremos a través del chat de soporte técnico .

Lista de servicios

La lista completa de servicios con nombres e IDs se encuentra en el enlace https://smsbower.org /api#services

Example Postman