API ID Check — Vérifier un document d'identité

Support DQE
Support DQE
  • Mise à jour
API ID Check - Vérifier un document d'identité

Utilisez cet endpoint pour vérifier l'identité d'une personne en croisant son adresse, son nom, sa date de naissance, son e-mail et son numéro de téléphone avec la base de données DQE.

Documentation ID Check associée - Pour une présentation du service, voir Introduction à ID Check →
Pour la référence des colonnes du fichier de sortie du traitement par lot, voir ID Check Plus output columns →

/SEARCH/

Requête

GET et POST sont toutes deux prises en charge.

{SERVER_ADDRESS} et {LICENCE_CODE} sont fournis par DQE à la création du compte. Contactez votre chargé de compte DQE pour obtenir ces identifiants.
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

Exemples de code

Vérification d'identité complète

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/

Envoyez tous les paramètres dans le corps de la requête en utilisant Content-Type: application/x-www-form-urlencoded. L'adresse du serveur reste dans l'URL.

Exemples de code

Vérification d'identité complète

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)) }

Paramètres

Paramètre Description Obl / Opt
Licence Votre code de licence DQE. Obligatoire
Address Numéro et nom de rue. Obligatoire
PostalCode Code postal. Obligatoire
City Nom de la ville. Obligatoire
LastName Nom de famille de la personne à vérifier. Obligatoire
FirstName Prénom de la personne à vérifier. Obligatoire
BirthDate Date de naissance au format YYYY-MM-DD. Obligatoire
Email Adresse e-mail à vérifier. Obligatoire
Phone Numéro de téléphone à vérifier. Obligatoire
Version Retourne les informations de statut de licence lorsque défini sur 2. Optionnel

Réponse

En cas de succès, l'API retourne un objet JSON contenant un unique objet DATA1 avec les clés suivantes.

Clé Valeurs possibles Description Type
Check_FirstName E, S, P, D, ? Résultat de la vérification du prénom. STRING(1)
Check_BirthDate Voir les codes de date de naissance ci-dessous. Résultat de la vérification de la date de naissance. STRING(3)
Check_Number True, False Indique si le numéro de rue correspond à la base de données. STRING(5)
HOUSEHOLDID — Identifiant unique dans la base de données. STRING(30)
FirstName_Dist — Nombre de caractères différents entre le prénom soumis et la valeur en base de données. STRING(2)
LastName_Dist — Nombre de caractères différents entre le nom de famille soumis et la valeur en base de données. STRING(2)
Result FOUND, NOT FOUND Indique si le foyer a été trouvé sur la base des données d'adresse, d'e-mail ou de téléphone. STRING(9)
Check_Email E, D, ? Résultat de la vérification de l'e-mail. STRING(1)
Check_LastName E, S, P, D, ? Résultat de la vérification du nom de famille. STRING(1)
Check_City E, S, P, N, D, ? Résultat de la vérification de la ville. STRING(1)
Check_PostalCode E, N, D, ? Résultat de la vérification du code postal. STRING(1)
Check_Phone E, D, ? Résultat de la vérification du téléphone. STRING(1)
Check_Address E, S, P, N, D, ? Résultat de la vérification de l'adresse. STRING(1)

Valeurs de code de comparaison

Valeurs de code de comparaison génériques, utilisées par Check_FirstName, Check_LastName, Check_City, Check_PostalCode, Check_Phone, Check_Email et Check_Address :

Code Description
? Le champ n'a pas été fourni, n'est pas disponible, ou le produit souscrit ne permet pas cette vérification.
E La valeur en base de données est strictement identique à la valeur fournie dans la requête.
S La valeur en base de données est proche de la valeur fournie dans la requête, jusqu'à 10 % de différence.
P La valeur en base de données est assez éloignée de la valeur fournie dans la requête, jusqu'à 25 % de différence.
N Pour l'adresse et la ville : la valeur est éloignée de la valeur de la requête, jusqu'à 35 % de différence. Pour le code postal : les 3 premiers chiffres correspondent.
D La valeur en base de données est complètement différente de la valeur fournie dans la requête.

Codes de comparaison de la date de naissance

Codes de comparaison spécifiques utilisés par Check_BirthDate :

Code Description
000 L'année, le mois et le jour sont identiques.
001 L'année et le mois sont identiques, mais le jour est différent.
010 L'année et le jour sont identiques, mais le mois est différent.
100 Le mois et le jour sont identiques, mais l'année est différente.
011 L'année est identique, mais le mois et le jour sont différents.
101 Le mois est identique, mais l'année et le jour sont différents.
110 Le jour est identique, mais l'année et le mois sont différents.
111 L'année, le mois et le jour sont différents.
--- Aucune date n'est disponible en base de données.

Exemple de réponse

Foyer trouvé

{
  "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"
  }
}

Erreurs

HTTP Type d'erreur Corps de la réponse
400 Paramètre obligatoire manquant ou vide (par exemple Address, PostalCode, LastName, ou tout autre champ requis)
{"status": 400, "message": "Missing parameters", "details": "Address", "error": "bad request"}
401 Clé de licence manquante, vide ou incorrecte
{"status": 401, "message": "Your licence is not allowed to cover this functionality", "details": "deded", "error": "unauthorized_client"}

Tester l'API

Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.

Ouvrir la console

Voir aussi

Associé à

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0