API Email — Valider une adresse email (REST)

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

L'endpoint lookupemail valide une adresse email complète et indique sa syntaxe, son domaine et son statut de boîte mail, avec une suggestion de correction optionnelle.

Quand utiliser cet endpoint - Appelez lookupemail une fois que l'utilisateur a saisi (ou quitté) une adresse email complète, afin de confirmer qu'elle est valide et délivrable avant de l'enregistrer. Pour proposer des complétions pendant que l'utilisateur tape encore, consultez plutôt API Email — Suggérer une adresse email (REST) →

lookupemail

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 du compte. Contactez votre chargé de compte DQE pour obtenir ces identifiants.
GEThttps://{SERVER_ADDRESS}/v1/lookupemail/?Email={EMAIL}&Licence={LICENCE_CODE}&Rectify={RECTIFY}&CheckUser={CHECK_USER}&TimeOut={TIME_OUT}

Exemples de code

Adresse valide, syntaxe et domaine OK

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

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, syntaxe et domaine OK

curl -X POST "https://{SERVER_ADDRESS}/v1/lookupemail/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Email=toto@gmail.com" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/lookupemail/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Email: "toto@gmail.com", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/v1/lookupemail/", data={ "Email": "toto@gmail.com", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/v1/lookupemail/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Email' => 'toto@gmail.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}/v1/lookupemail/', qs.stringify({ Email: 'toto@gmail.com', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Email=toto%40gmail.com&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/v1/lookupemail/")) .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"] = "toto@gmail.com", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/v1/lookupemail/", 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", "toto@gmail.com") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/lookupemail/", 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 L'adresse email à valider. Obligatoire
Licence Votre clé de licence DQE ou jeton OAuth2. Contactez le support si vous n'en avez pas encore. Obligatoire
Rectify Y pour recevoir une suggestion de correction lorsque la syntaxe est invalide ou le domaine inconnu.
Par défaut : N (aucune correction suggérée)
Facultatif
CheckUser N si vous ne souhaitez pas vérifier la partie avant le signe @ (nom d'utilisateur).
Par défaut : Y (le nom d'utilisateur est vérifié)
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 contenant le nombre de résultats et un tableau des adresses email validées.

Lecture métier : IdError et ActivityCode portent le résultat détaillé de la validation - voir la liste complète dans la référence des codes de réponse de l'API. SuggestedEmail n'est renseigné que lorsque Rectify=Y et qu'une correction a été trouvée.
Clé Description Type
Found Nombre d'adresses email retournées. Integer
Emails Tableau des résultats de validation, une entrée par adresse email soumise. Array
ActivityCode Statut d'activité de l'adresse email. Voir la référence des codes de réponse de l'API. String
IdError Code retour de validation. Voir la référence des codes de réponse de l'API. String
Corrected 1 si une correction a été appliquée ; 0 sinon. Integer
SuggestedEmail Adresse email corrigée, renvoyée quand Rectify=Y et qu'une correction a été trouvée. String
InputEmail Adresse email telle que soumise dans la requête. String

Exemple de réponse

Adresse valide, aucune correction appliquée
{ "Found": 1, "Emails": [ { "ActivityCode": "", "IdError": "02", "Corrected": 0, "SuggestedEmail": "toto@gmail.com", "InputEmail": "toto@gmail.com" } ] }

Codes de réponse

Codes IdError

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

Codes ActivityCode

Considérez M comme le mois en cours.

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

Erreurs

HTTP Type d'erreur Corps de la réponse
400 Paramètre obligatoire manquant ou vide (ex. Email)
{"status": 400, "message": "Missing parameters", "details": "Email", "error": "bad request"}
401 Clé de licence invalide ou non autorisée
{"status": 401, "message": "Your licence is not allowed to cover this functionnality", "details": "{WRONG LICENSE}", "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