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
Requisitos
Tipos de campos:
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.
Campo | Tipo | Obligatorio | Descripción |
action | String | GET_SERVICES | |
key | String | Clave del protocolo |
Campo | Tipo | Obligatorio | Descripción |
status | String | Estado de la respuesta (ver Tablas de estado) | |
countryList | Array | Lista de países |
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 ** |
{
"action": "GET_SERVICES",
"key": "qwerty123"
}
{
"countryList":
[
{
"country": "russia",
"operatorMap":
{
"beeline":
{
"ok": 15,
"wa": 20
},
"megafon":
{
"vk": 3,
"ok": 10
}
}
},
{
"country": "ukraine",
"operatorMap":
{
"life":
{
"vk": 0,
"wa": 32
}
}
}
],
"status": "SUCCESS"
}
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 .
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 |
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 |
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "beeline",
"service": "tg",
"sum": "20.00"
}
{
"number": "79156537788",
"activationId": "36532",
"status": "SUCCESS",
"call": "1",
"voice": "1"
}
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "any",
"service": "vk",
"sum": "10",
"exceptionPhoneSet":
[
"7918",
"79281",
]
}
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 .
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 |
Campo | Tipo | Obligatorio | Descripción |
status | String | Estado de la respuesta (ver Tablas de estado) |
{
"action": "PUSH_SMS",
"key": "qwerty123",
"smsId": 1,
"phone": 447472190082,
"phoneFrom": "Microsoft",
"text": "Microsoft access code: 5015"
"call": "0",
"voice": "0"
}
{
"action": "PUSH_SMS",
"key": "qwerty123",
"smsId": 1,
"phone": 447472190082,
"phoneFrom": "446756540011",
"text": "446756540011"
"call": "1",
"voice": "0"
}
{
"action": "PUSH_SMS",
"key": "qwerty123",
"smsId": 1,
"phone": 447472190082,
"phoneFrom": "446756540011",
"text": "12345"
"call": "0",
"voice": "1"
}
{
"status": "SUCCESS"
}
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.
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) |
Campo | Tipo | Obligatorio | Descripción |
status | String | Estado de la respuesta (ver Tablas de estado) |
{
"action": "FINISH_ACTIVATION",
"key": "qwerty123",
"activationId": 100,
"status": 3,
}
{
"status": "SUCCESS"
}
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 | 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.
{
"status": "SUCCESS",
//Información
}
{
"status": "ERROR",
"error": "Descripción del error"
}
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