API Email — Valider une adresse e-mail

Support DQE
Support DQE
  • Mise à jour
Validation d'email - API Classic

L'endpoint DQEEMAILLOOKUP valide une adresse email et vérifie sa syntaxe et l'existence de son domaine, avec une suggestion de correction et un statut d'activité optionnels.

Quand utiliser cet endpoint - Appelez DQEEMAILLOOKUP une fois que l'utilisateur a saisi (ou quitté) une adresse email complète, pour confirmer qu'elle est valide et joignable avant de l'enregistrer. Pour proposer des suggestions pendant la saisie, consultez API Email — Suggestions d'adresse email →

DQEEMAILLOOKUP

Requête

Les méthodes GET et POST sont toutes deux prises en charge.

{SERVER_ADDRESS} et {LICENCE_CODE} sont fournis par DQE à la création de votre compte. Contactez votre chargé de compte DQE pour obtenir ces identifiants.
GEThttps://{SERVER_ADDRESS}/DQEEMAILLOOKUP/?Email={EMAIL}&Licence={LICENCE_CODE}&Rectify={RECTIFY}&extendedsyntax={SYNTAX}&checkuser={CHECKUSER}&TimeOut={TIME}

Exemples de code

Adresse valide, aucune correction appliquée

curl "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/?Email=test%40tesdedet.com&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/?" + new URLSearchParams({ Email: "test@tesdedet.com", Licence: "{LICENCE_CODE}" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", params={ "Email": "test@tesdedet.com", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $params = http_build_query([ 'Email' => 'test@tesdedet.com', 'Licence' => '{LICENCE_CODE}', ]); $ch = curl_init("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/?{$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}/DQEEMAILLOOKUP/', { params: { Email: 'test@tesdedet.com', Licence: '{LICENCE_CODE}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/" + "?Email=test%40tesdedet.com&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}/DQEEMAILLOOKUP/" + "?Email=test%40tesdedet.com&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}/DQEEMAILLOOKUP/" + "?Email=test%40tesdedet.com&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}/DQEEMAILLOOKUP/

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

Exemples de code

Adresse valide, aucune correction appliquée

curl -X POST "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Email=test@tesdedet.com" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Email: "test@tesdedet.com", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", data={ "Email": "test@tesdedet.com", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Email' => 'test@tesdedet.com', 'Licence' => '{LICENCE_CODE}', ])); 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}/DQEEMAILLOOKUP/', qs.stringify({ Email: 'test@tesdedet.com', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Email=test%40tesdedet.com&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/")) .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> { ["Email"] = "test@tesdedet.com", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", 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("Email", "test@tesdedet.com") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", 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 / Fac
Email Adresse email à valider. Obligatoire
Licence Votre clé de licence DQE. Contactez le support si vous n'en avez pas encore. Obligatoire
Rectify y pour proposer une correction de domaine lorsque le domaine saisi est inconnu ; n sinon.
Par défaut : n
Facultatif
extendedsyntax y pour accepter les adresses email à syntaxe étendue ; n pour limiter la vérification aux adresses standards.
Par défaut : n
Facultatif
checkuser y pour vérifier la partie avant le signe @ ; n pour ne vérifier que le domaine.
Par défaut : y
Facultatif
TimeOut Temps de requête maximum pour la vérification, en secondes. Exemple : 0.5 pour 500 ms.
Par défaut : 6
Facultatif

Réponse

En cas de succès, l'API renvoie un objet JSON avec une seule clé "1" — un artefact historique de l'implémentation de cet endpoint — qui englobe les champs de résultat ci-dessous.

Niveau 1 vs Niveau 2 - Redressement, eMailOrigine, IdError et eMail sont toujours renvoyés (vérification Niveau 1 : existence du domaine et syntaxe). CodeActivite n'est ajouté que si votre licence inclut la vérification du statut d'activité (vérification Niveau 2) — il est totalement absent de la réponse si vous n'y êtes pas éligible, plutôt que renvoyé vide.
Clé Description Type
Redressement 1 si le domaine a été corrigé ; 0 sinon. Integer
eMailOrigine Adresse email telle que saisie par l'utilisateur. String
IdError Code retour de validation. Voir les codes IdError ci-dessous. String
eMail Adresse email corrigée, lorsque Redressement=1. String
CodeActivite Statut d'activité de l'adresse email — présent uniquement avec la vérification Niveau 2. Voir les codes CodeActivite ci-dessous. String

Exemple de réponse

Niveau 1 (standard)
{ "1": { "Redressement": 0, "eMailOrigine": "test@tesdedet.com", "IdError": "92", "eMail": "test@tesdedet.com" } }
Niveau 2 (avec statut d'activité)
{ "1": { "Redressement": 0, "eMailOrigine": "test@tesdedet.com", "IdError": "92", "eMail": "test@tesdedet.com", "CodeActivite": "200" } }

Codes de réponse

Codes IdError

Code Description Message UI suggéré
00 Email valide. Valid email
01 Email correct mais le nom n'a pas pu être vérifié. Valid email
02 Adresse email introuvable pour ce domaine. Please check your email address
03 Boîte de réception pleine (soft bounce). Please check your email address
04 Email vide. Please check your email address
91 Erreur de syntaxe. Please check your email address
92 Domaine inconnu. Please check your email address
93 Email ou domaine blacklisté. Please check your email address
94 Nom d'utilisateur non autorisé. Please check your email address
95 Adresse email temporaire jetable. Please check your email address
99 Service indisponible. Valid email

Codes CodeActivite

Considérez M comme le mois en cours.

Code Description
100 L'email a été livré une fois.
200 L'email est valide.
201 Email actif le mois dernier.
202 Email actif entre M-1 et M-2.
203 Email actif entre M-2 et M-3.
204 Email actif entre M-3 et M-4.
206 Email actif entre M-4 et M-6.
209 Email actif entre M-6 et M-9.
212 Email actif entre M-9 et M-12.
300 Email inactif.

Erreurs

Type d'erreur Réponse
Paramètre Licence manquant ** LICENCE KO **
Paramètre Licence vide ** LICENCE KO **
Numéro de licence incorrect unauthorized_client
Paramètre Email manquant ou vide Réponse 200 normale avec IdError = 04
Faute de frappe dans un paramètre Réponse 200 normale avec IdError = 04

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