API de Validación de Resultados
Descripción
El servidor de la APP llama a esta interfaz para enviar los datos cifrados (payload) devueltos por el SDK de Engagelab al servidor de Engagelab para verificar la coincidencia del número de teléfono.
Información de la Interfaz
| Elemento | Descripción |
|---|---|
| Ruta de la solicitud | POST /v1/verify |
| Protocolo | HTTPS |
| Autenticación | HTTP Basic Auth |
| Content-Type | application/json |
Dominio más reciente: authapi.engagelab.com
Ejemplo de Solicitud
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
Este bloque de código se muestra en una ventana flotante
Autenticación
Use HTTP Basic Auth para la autenticación:
Authorization: Basic base64(appKey:appSecret)
Authorization: Basic base64(appKey:appSecret)
Este bloque de código se muestra en una ventana flotante
Ejemplo:
- appKey:
tn4nm0qx032yx6f17q2tsa8f - appSecret:
your_app_secret_here - codificación base64:
dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Este bloque de código se muestra en una ventana flotante
Parámetros de la Solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| payload | string | Sí | Los datos cifrados devueltos por el SDK de Engagelab, transmitidos por la APP |
Ejemplo del cuerpo de la solicitud:
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
Este bloque de código se muestra en una ventana flotante
Parámetros de la Respuesta
Respuesta Correcta (HTTP 200)
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | int | Código de estado; 0 significa éxito |
| msg | string | Descripción del estado |
| data | object | Datos de la respuesta |
| data.message_id | string | Identificador único del mensaje, puede usarse para la resolución de problemas |
| data.verified | boolean | Resultado de la verificación del número; true significa coincidente, false significa no coincidente |
Ejemplo correcto (verificación aprobada):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
Este bloque de código se muestra en una ventana flotante
Ejemplo correcto (verificación no aprobada):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
Este bloque de código se muestra en una ventana flotante
Respuesta de Error (HTTP 4xx/5xx)
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | int | Código de error |
| msg | string | Descripción del error |
Ejemplo de error:
{
"code": 2001,
"msg": "auth failed"
}
{
"code": 2001,
"msg": "auth failed"
}
Este bloque de código se muestra en una ventana flotante
Códigos de Error
| Código de error | Código de estado HTTP | Descripción | Sugerencia de gestión |
|---|---|---|---|
| 1000 | 500 | Error interno del servidor | Vuelva a intentarlo más tarde; si persiste, póngase en contacto con el soporte técnico |
| 2001 | 401 | Autenticación fallida | Compruebe si appKey y appSecret son correctos y si el formato de Authorization cumple la especificación |
| 2004 | 401 | appKey no válido | Compruebe si el appKey es correcto, o póngase en contacto con el soporte técnico para confirmar si el servicio está activado |
| 3001 | 400 | Formato de parámetro no válido | Compruebe si el cuerpo de la solicitud es un JSON válido |
| 3002 | 400 | Validación de parámetros fallida | Compruebe si el parámetro payload existe y tiene el formato correcto |
| 3003 | 400 | appKey no coincide | El appKey del payload no coincide con el appKey del encabezado de autenticación; asegúrese de usar el par de claves correcto |
| 3004 | 400 | Configuración no habilitada | La configuración del servicio aún no está habilitada; póngase en contacto con el soporte técnico para activarla |
| 3005 | 400 | Saldo insuficiente | El saldo de la cuenta es insuficiente; recargue y vuelva a intentarlo |
| 4001 | 400 | Configuración no encontrada | No se encontró la configuración de servicio correspondiente; póngase en contacto con el soporte técnico |
| 5001 | 400 | Verificación fallida | Se produjo una excepción durante el proceso de autenticación del operador; investigue según los detalles de msg o póngase en contacto con el soporte técnico |
Notas
- Transmisión del payload: Después de que la APP reciba el payload devuelto por el SDK de Engagelab, debe enviarlo tal cual al servidor de la APP, que luego llama a esta interfaz. No modifique el payload de ninguna manera.
- Recomendación de seguridad: Guarde el appSecret de forma segura y úselo solo en el lado del servidor; no lo exponga en la APP.
- Resultado de la verificación: Un valor de
verifiedigual afalsesignifica que el número de teléfono introducido por el usuario no coincide con el número de la tarjeta SIM, y se debe rechazar el inicio de sesión del usuario.










