ID Check API — Verificar un documento de identidad

Support DQE
Support DQE
  • Actualización
ID Check API - Verify an identity document

Utilice este endpoint para verificar la identidad de una persona cruzando su dirección, nombre, fecha de nacimiento, correo electrónico y número de teléfono con la base de datos de DQE.

Documentación relacionada de ID Check - Para una visión general del servicio, consulte ID Check introduction →
Para la referencia del archivo de salida del procesamiento por lotes, consulte ID Check Plus output columns →

/SEARCH/

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. Póngase en contacto con su gestor de cuenta de DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/SEARCH/?Address={ADDRESS}&PostalCode={POSTAL_CODE}&City={CITY}&LastName={NAME}&FirstName={FIRST_NAME}&BirthDate={DATE}&Email={EMAIL}&Phone={PHONE}&Licence={LICENCE_CODE}&Version=2

Ejemplos de código

Verificación de identidad completa

curl "https://{SERVER_ADDRESS}/SEARCH/?Address=12%20Rue%20de%20la%20Paix&PostalCode=75002&City=Paris&LastName=Dupont&FirstName=Jean&BirthDate=1980-05-15&Email=jean.dupont%40example.com&Phone=0606060606&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/SEARCH/?" + new URLSearchParams({ Address: "12 Rue de la Paix", PostalCode: "75002", City: "Paris", LastName: "Dupont", FirstName: "Jean", BirthDate: "1980-05-15", Email: "jean.dupont@example.com", Phone: "0606060606", Licence: "{LICENCE_CODE}" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/SEARCH/", params={ "Address": "12 Rue de la Paix", "PostalCode": "75002", "City": "Paris", "LastName": "Dupont", "FirstName": "Jean", "BirthDate": "1980-05-15", "Email": "jean.dupont@example.com", "Phone": "0606060606", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $params = http_build_query([ 'Address' => '12 Rue de la Paix', 'PostalCode' => '75002', 'City' => 'Paris', 'LastName' => 'Dupont', 'FirstName' => 'Jean', 'BirthDate' => '1980-05-15', 'Email' => 'jean.dupont@example.com', 'Phone' => '0606060606', 'Licence' => '{LICENCE_CODE}', ]); $ch = curl_init("https://{SERVER_ADDRESS}/SEARCH/?{$params}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); axios.get('https://{SERVER_ADDRESS}/SEARCH/', { params: { Address: '12 Rue de la Paix', PostalCode: '75002', City: 'Paris', LastName: 'Dupont', FirstName: 'Jean', BirthDate: '1980-05-15', Email: 'jean.dupont@example.com', Phone: '0606060606', Licence: '{LICENCE_CODE}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/SEARCH/" + "?Address=12%20Rue%20de%20la%20Paix&PostalCode=75002&City=Paris" + "&LastName=Dupont&FirstName=Jean&BirthDate=1980-05-15" + "&Email=jean.dupont%40example.com&Phone=0606060606&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); var url = "https://{SERVER_ADDRESS}/SEARCH/" + "?Address=12%20Rue%20de%20la%20Paix&PostalCode=75002&City=Paris" + "&LastName=Dupont&FirstName=Jean&BirthDate=1980-05-15" + "&Email=jean.dupont%40example.com&Phone=0606060606&Licence={LICENCE_CODE}"; var response = await client.GetAsync(url); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "fmt" "io" "net/http" ) func main() { url := "https://{SERVER_ADDRESS}/SEARCH/" + "?Address=12%20Rue%20de%20la%20Paix&PostalCode=75002&City=Paris" + "&LastName=Dupont&FirstName=Jean&BirthDate=1980-05-15" + "&Email=jean.dupont%40example.com&Phone=0606060606&Licence={LICENCE_CODE}" resp, err := http.Get(url) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }
POSThttps://{SERVER_ADDRESS}/SEARCH/

Envíe todos los parámetros en el cuerpo de la solicitud usando Content-Type: application/x-www-form-urlencoded. La dirección del servidor permanece en la URL.

Ejemplos de código

Verificación de identidad completa

curl -X POST "https://{SERVER_ADDRESS}/SEARCH/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Licence={LICENCE_CODE}" \ -d "Address=12 Rue de la Paix" \ -d "PostalCode=75002" \ -d "City=Paris" \ -d "LastName=Dupont" \ -d "FirstName=Jean" \ -d "BirthDate=1980-05-15" \ -d "Email=jean.dupont@example.com" \ -d "Phone=0606060606"
fetch("https://{SERVER_ADDRESS}/SEARCH/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Licence: "{LICENCE_CODE}", Address: "12 Rue de la Paix", PostalCode: "75002", City: "Paris", LastName: "Dupont", FirstName: "Jean", BirthDate: "1980-05-15", Email: "jean.dupont@example.com", Phone: "0606060606" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/SEARCH/", data={ "Licence": "{LICENCE_CODE}", "Address": "12 Rue de la Paix", "PostalCode": "75002", "City": "Paris", "LastName": "Dupont", "FirstName": "Jean", "BirthDate": "1980-05-15", "Email": "jean.dupont@example.com", "Phone": "0606060606", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/SEARCH/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Licence' => '{LICENCE_CODE}', 'Address' => '12 Rue de la Paix', 'PostalCode' => '75002', 'City' => 'Paris', 'LastName' => 'Dupont', 'FirstName' => 'Jean', 'BirthDate' => '1980-05-15', 'Email' => 'jean.dupont@example.com', 'Phone' => '0606060606', ])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const qs = require('querystring'); axios.post('https://{SERVER_ADDRESS}/SEARCH/', qs.stringify({ Licence: '{LICENCE_CODE}', Address: '12 Rue de la Paix', PostalCode: '75002', City: 'Paris', LastName: 'Dupont', FirstName: 'Jean', BirthDate: '1980-05-15', Email: 'jean.dupont@example.com', Phone: '0606060606' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Licence={LICENCE_CODE}&Address=12%20Rue%20de%20la%20Paix&PostalCode=75002" + "&City=Paris&LastName=Dupont&FirstName=Jean&BirthDate=1980-05-15" + "&Email=jean.dupont%40example.com&Phone=0606060606"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/SEARCH/")) .header("Content-Type", "application/x-www-form-urlencoded") .POST(HttpRequest.BodyPublishers.ofString(form)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); var form = new Dictionary<string, string> { ["Licence"] = "{LICENCE_CODE}", ["Address"] = "12 Rue de la Paix", ["PostalCode"] = "75002", ["City"] = "Paris", ["LastName"] = "Dupont", ["FirstName"] = "Jean", ["BirthDate"] = "1980-05-15", ["Email"] = "jean.dupont@example.com", ["Phone"] = "0606060606" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/SEARCH/", new FormUrlEncodedContent(form)); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "fmt" "io" "net/http" "net/url" ) func main() { form := url.Values{} form.Set("Licence", "{LICENCE_CODE}") form.Set("Address", "12 Rue de la Paix") form.Set("PostalCode", "75002") form.Set("City", "Paris") form.Set("LastName", "Dupont") form.Set("FirstName", "Jean") form.Set("BirthDate", "1980-05-15") form.Set("Email", "jean.dupont@example.com") form.Set("Phone", "0606060606") resp, err := http.PostForm("https://{SERVER_ADDRESS}/SEARCH/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Parámetros

Parámetro Descripción Obl / Opc
Licence Su código de licencia DQE. Obligatorio
Address Número y nombre de la calle. Obligatorio
PostalCode Código postal. Obligatorio
City Nombre de la ciudad. Obligatorio
LastName Apellido de la persona a verificar. Obligatorio
FirstName Nombre de pila de la persona a verificar. Obligatorio
BirthDate Fecha de nacimiento en formato YYYY-MM-DD. Obligatorio
Email Dirección de correo electrónico a verificar. Obligatorio
Phone Número de teléfono a verificar. Obligatorio
Version Devuelve información sobre el estado de la licencia cuando se establece en 2. Opcional

Respuesta

Si tiene éxito, la API devuelve un objeto JSON que contiene un único objeto DATA1 con las siguientes claves.

Clave Valores posibles Descripción Tipo
Check_FirstName E, S, P, D, ? Resultado de la verificación del nombre de pila. STRING(1)
Check_BirthDate Ver los códigos de fecha de nacimiento a continuación. Resultado de la verificación de la fecha de nacimiento. STRING(3)
Check_Number True, False Indica si el número de calle coincide con la base de datos. STRING(5)
HOUSEHOLDID — Identificador único en la base de datos. STRING(30)
FirstName_Dist — Número de caracteres diferentes entre el nombre de pila enviado y el valor de la base de datos. STRING(2)
LastName_Dist — Número de caracteres diferentes entre el apellido enviado y el valor de la base de datos. STRING(2)
Result FOUND, NOT FOUND Indica si el hogar fue encontrado en función de los datos de dirección, correo electrónico o teléfono. STRING(9)
Check_Email E, D, ? Resultado de la verificación del correo electrónico. STRING(1)
Check_LastName E, S, P, D, ? Resultado de la verificación del apellido. STRING(1)
Check_City E, S, P, N, D, ? Resultado de la verificación de la ciudad. STRING(1)
Check_PostalCode E, N, D, ? Resultado de la verificación del código postal. STRING(1)
Check_Phone E, D, ? Resultado de la verificación del teléfono. STRING(1)
Check_Address E, S, P, N, D, ? Resultado de la verificación de la dirección. STRING(1)

Valores de los códigos de comparación

Valores genéricos de los códigos de comparación, utilizados por Check_FirstName, Check_LastName, Check_City, Check_PostalCode, Check_Phone, Check_Email y Check_Address:

Código Descripción
? El campo no se proporcionó, no está disponible, o el producto contratado no permite esta verificación.
E El valor de la base de datos es estrictamente idéntico al valor proporcionado en la solicitud.
S El valor de la base de datos es cercano al valor proporcionado en la solicitud, con una diferencia de hasta el 10%.
P El valor de la base de datos está bastante alejado del valor proporcionado en la solicitud, con una diferencia de hasta el 25%.
N Para dirección y ciudad: el valor está alejado del valor de la solicitud, con una diferencia de hasta el 35%. Para el código postal: coinciden los 3 primeros dígitos.
D El valor de la base de datos es completamente diferente del valor proporcionado en la solicitud.

Códigos de comparación de la fecha de nacimiento

Códigos de comparación específicos utilizados por Check_BirthDate:

Código Descripción
000 El año, el mes y el día son idénticos.
001 El año y el mes son idénticos, pero el día es diferente.
010 El año y el día son idénticos, pero el mes es diferente.
100 El mes y el día son idénticos, pero el año es diferente.
011 El año es idéntico, pero el mes y el día son diferentes.
101 El mes es idéntico, pero el año y el día son diferentes.
110 El día es idéntico, pero el año y el mes son diferentes.
111 El año, el mes y el día son diferentes.
--- No hay ninguna fecha disponible en la base de datos.

Ejemplo de respuesta

Hogar encontrado

{
  "DATA1": {
    "Check_FirstName": "E",
    "Check_BirthDate": "000",
    "Check_Number": "True",
    "HOUSEHOLDID": "3678263863104901575",
    "FirstName_Dist": "0",
    "LastName_Dist": "0",
    "Result": "FOUND",
    "Check_Email": "D",
    "Check_LastName": "E",
    "Check_City": "E",
    "Check_Address": "E",
    "Check_PostalCode": "E",
    "Check_Phone": "D"
  }
}

Errores

HTTP Tipo de error Cuerpo de respuesta
400 Parámetro obligatorio ausente o vacío (por ejemplo, Address, PostalCode, LastName, o cualquier otro campo obligatorio)
{"status": 400, "message": "Missing parameters", "details": "Address", "error": "bad request"}
401 Clave de licencia ausente, vacía o incorrecta
{"status": 401, "message": "Your licence is not allowed to cover this functionality", "details": "deded", "error": "unauthorized_client"}

Probar la API

Haga clic en el botón de abajo para probar este endpoint en directo desde su navegador.

Abrir consola

Ver también

Relacionada con

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0