Utiliza este endpoint para comparar los datos enviados por el usuario con los datos del operador, sin requerir el consentimiento del usuario (OTP). Devuelve una puntuación de similitud para cada campo.
Related ID Mobile documentation:
Matching without OTP
Solicitud
Se admiten tanto GET como POST. Esta es una llamada de un solo paso — el resultado de la comparación se devuelve directamente en la respuesta, no se requiere página de consentimiento ni paso de recuperación.
Sustituye los valores entre llaves por tu propia información — consulta la tabla de parámetros más abajo.
Ejemplos de código
Comparar los datos de identidad enviados con los del operador — aquí user_infos se muestra como el marcador de posición {INFORMATION}; consulta el ejemplo completo debajo de la tabla de parámetros para ver su forma real en JSON.
Añade los siguientes parámetros en el cuerpo de la solicitud usando Content-Type: application/x-www-form-urlencoded:
Ejemplos de código
Comparar los datos de identidad enviados con los del operador
Parámetros
| Parámetro | Descripción | Obl / Opc |
|---|---|---|
| SERVER_ADDRESS | Dirección del servidor DQE que procesará los datos. | Mandatory |
| licence | Número que se te asigna como código de licencia. | Mandatory |
| number | Número de teléfono. | Mandatory |
| token | Token obtenido mediante la autenticación. | Mandatory |
| mode |
2: autenticación por código. |
Mandatory |
| name | Nombre del partner en la base de datos de DQE Software, normalmente el nombre de tu empresa. | Mandatory |
| code_name | Campo opcional que contiene un código asociado a name. |
Optional |
| user_infos | Objeto JSON que contiene la información del cliente a comparar. Consulta la tabla de claves de user_infos más abajo. Obligatorio si el scope es matching_notp. |
Optional |
| scope | Valor estático. Debe ser matching_notp para este scope. |
Mandatory |
| redirect_uri | URL de redirección. DQE añade el token de sesión y el estado a la redirección. | Optional |
| country | Utilízalo solo para Matching without OTP internacional. Valor esperado: código de país ISO de 2 letras. | Optional |
| format | Código de formato del número de teléfono (consulta la documentación de la API DQE Phone) utilizado para reformatear el número de teléfono. | Optional |
| period | Ventana de validez para la comprobación de SIM swap, en horas (0 a 72). Solo relevante cuando se combina el scope simswap — consulta la nota más abajo. |
Optional |
matching_notp se puede combinar con simswap (prevención de fraude) en una sola solicitud, por ejemplo scope=matching_notp,simswap, y con info (información del número de teléfono) en cualquier combinación, por ejemplo scope=matching_notp,info. El parámetro format se utiliza cuando se combina el scope info, y period se vuelve relevante cuando se combina el scope simswap. Consulta los campos de info más abajo. Ponte en contacto con tu gestor de cuenta DQE para obtener orientación sobre la forma de respuesta completa combinada de matching_notp+simswap.Campos adicionales de info — se devuelven además de los campos propios de este endpoint cuando se incluye info en scope:
| Campo | Descripción | Ejemplo |
|---|---|---|
| telorigine | Número de teléfono de la solicitud. | 0600000000 |
| tel | Número de teléfono formateado. | +33600000000 |
| geolocation | Situación geográfica del número de teléfono. | FRANCE |
| operator | Operador actual del número de teléfono, si está suscrito. | ORANGE |
| oldoperator | Operador anterior del número de teléfono. | SFR |
| ported | Indica si el número de teléfono está portado, si está suscrito. | Y |
| type | Tipo de número de teléfono. | MOBILE |
| iderror | Código de error de la comprobación (0 o 1). |
1 |
Claves de user_infos — cada clave debe estar presente, aunque no se proporcione ningún valor:
| Clave | Descripción |
|---|---|
| street_address | Tipo y nombre de la calle. |
| postal_code | Código postal. |
| locality | Ciudad. |
| country | Nombre completo del país. |
| birthdate | Fecha de nacimiento en formato YYYY-MM-DD. |
| Dirección de correo electrónico. | |
| lastname | Apellido. |
| maiden_name | Apellido de soltera. |
| gender | Género: M o F. |
| firstname | Nombre. |
| phone | Número de teléfono. |
| number | Número de la calle. Esta clave debe estar presente en el payload JSON, pero no es necesario rellenarla. |
Ejemplo de valor de user_infos (todas las claves presentes, vacías si se desconocen)
Respuesta
La API devuelve un objeto JSON con una puntuación de similitud para cada campo:
| Clave | Descripción | Tipo |
|---|---|---|
| family_name | Puntuación de similitud del apellido. | Number |
| gender | Puntuación de similitud del tratamiento. | Number |
| birthdate | Puntuación de similitud de la fecha de nacimiento. | Number |
| given_name | Puntuación de similitud del nombre. | Number |
| address | Objeto que contiene las puntuaciones de similitud de la dirección. Claves: country, postal_code, street_address, locality. |
Object |
| Puntuación de similitud de la dirección de correo electrónico. | Number |
Ejemplo de respuesta
Ejemplo de respuesta correcta
Errores
En caso de error, la API devuelve un objeto JSON con status, error_type y error_id:
| ID de error | Tipo de error | Ejemplo de solicitud | Respuesta |
|---|---|---|---|
| 01 | invalid request |
https://{SERVER_ADDRESS}/IDMOBILE/?token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpEjemplo: falta el parámetro
number. |
{"status": "error", "error_type": "invalid request", "error_id": "01"} |
| 02 | invalid licence key | https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={INCORRECT_LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notp |
{"status": "error", "error_type": "invalid licence key", "error_id": "02"} |
| 04 | invalid scope | https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=wrongScope |
{"status": "error", "error_type": "invalid scope", "error_id": "04"} |
| 05 | missing or empty parameter (user_infos) for this scope |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=matching_notpEjemplo: falta el parámetro
user_infos. |
{"status": "error", "error_type": "missing or empty parameter (user_infos) for this scope", "error_id": "05"} |
| 06 | bad parameter format (user_infos) is not a valid JSON | https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos=not-valid-json&scope=matching_notp |
{"status": "error", "error_type": "bad parameter format (user_infos) is not a valid JSON", "error_id": "06"} |
| 07 | missing mandatory key in user informations (phone) |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos=%7B...no+phone+key...%7D&scope=matching_notpEjemplo: al objeto JSON
user_infos le falta la clave phone. |
{"status": "error", "error_type": "missing mandatory key in user informations (phone)", "error_id": "07"} |
| 09 | ineligible phone number | https://{SERVER_ADDRESS}/IDMOBILE/?number={INELIGIBLE_NUMBER}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notp |
{"status": "error", "error_type": "ineligible phone number", "error_id": "09"} |
| 10 | invalid phone number | https://{SERVER_ADDRESS}/IDMOBILE/?number={INVALID_NUMBER}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notp |
{"status": "error", "error_type": "invalid phone number", "error_id": "10"} |
| 11 | phone number is empty | https://{SERVER_ADDRESS}/IDMOBILE/?number=&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notp |
{"status": "error", "error_type": "phone number is empty", "error_id": "11"} |
| 12 | phone check failed |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador — una solicitud sintácticamente válida puede fallar aquí.
|
{"status": "error", "error_type": "phone check failed", "error_id": "12"} |
| 13 | operator [Operator Name] not found |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador.
|
{"status": "error", "error_type": "operator [Operator Name] not found", "error_id": "13"} |
| 14 | operator [Operator Name] not authorized for this licence |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador — tu licencia no está autorizada para este operador.
|
{"status": "error", "error_type": "operator [Operator Name] not authorized for this licence", "error_id": "14"} |
| 15 | operator [Operator Name] not supported yet |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador.
|
{"status": "error", "error_type": "operator [Operator Name] not supported yet", "error_id": "15"} |
| 16 | operator [Operator Name] unreachable |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador.
|
{"status": "error", "error_type": "operator [Operator Name] unreachable", "error_id": "16"} |
| 17 | scope not supported by this operator [Operator Name] yet |
https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notpCondición del lado del operador.
|
{"status": "error", "error_type": "scope not supported by this operator [Operator Name] yet", "error_id": "17"} |
| 30 | invalid or expired token | https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={EXPIRED_TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&user_infos={INFORMATION}&scope=matching_notp |
{"status": "error", "error_type": "invalid or expired token", "error_id": "30"} |
Example error response
Probar la API
Haz clic en el botón de abajo para probar este endpoint en directo en tu navegador.