API Email — Suggérer une adresse email (REST)

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

L'endpoint emailsuggest suggère des adresses email probables à mesure que l'utilisateur tape, en combinant son prénom, son nom et les caractères déjà saisis, pour renvoyer des complétions classées.

Quand utiliser cet endpoint - Appelez emailsuggest pendant que l'utilisateur est encore en train de saisir son adresse email, afin de proposer des suggestions de saisie automatique basées sur son nom. Pour valider une adresse email complète, consultez plutôt API Email — Valider une adresse email (REST) →

emailsuggest

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/emailsuggest/?FirstName={FIRST_NAME}&LastName={LAST_NAME}&Email={EMAIL}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Exemples de code

France - John Lim, partie "jlim@gma"

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

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

France - John Lim, partie "jlim@gma"

curl -X POST "https://{SERVER_ADDRESS}/v1/emailsuggest/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "FirstName=John" \ -d "LastName=Lim" \ -d "Email=jlim@gma" \ -d "Country=FRA" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/emailsuggest/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ FirstName: "John", LastName: "Lim", Email: "jlim@gma", Country: "FRA", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/v1/emailsuggest/", data={ "FirstName": "John", "LastName": "Lim", "Email": "jlim@gma", "Country": "FRA", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/v1/emailsuggest/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'FirstName' => 'John', 'LastName' => 'Lim', 'Email' => 'jlim@gma', 'Country' => 'FRA', '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/emailsuggest/', qs.stringify({ FirstName: 'John', LastName: 'Lim', Email: 'jlim@gma', Country: 'FRA', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "FirstName=John&LastName=Lim&Email=jlim%40gma&Country=FRA&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/v1/emailsuggest/")) .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> { ["FirstName"] = "John", ["LastName"] = "Lim", ["Email"] = "jlim@gma", ["Country"] = "FRA", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/v1/emailsuggest/", 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("FirstName", "John") form.Set("LastName", "Lim") form.Set("Email", "jlim@gma") form.Set("Country", "FRA") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/emailsuggest/", 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
FirstName Prénom saisi par l'utilisateur. Obligatoire
LastName Nom saisi par l'utilisateur. Obligatoire
Email Partie de l'adresse email déjà saisie par l'utilisateur. Obligatoire
Country Code pays ISO 3166-1 alpha-3.
Par défaut : FRA
Facultatif
Licence Votre clé de licence DQE ou jeton OAuth2. Contactez le support si vous n'en avez pas encore. Obligatoire

Réponse

En cas de succès, l'API renvoie un objet JSON contenant le nombre de résultats et un tableau de suggestions d'email.

Lecture métier : List contient les suggestions prêtes à afficher dans votre liste déroulante de saisie automatique, classées de la plus probable à la moins probable. Syntaxe indique si la partie de l'adresse déjà saisie est elle-même bien formée.
Clé Description Type
Found Nombre de résultats de suggestion retournés. Integer
Suggestion Tableau des résultats de suggestion, une entrée par combinaison de saisie soumise. Array
Instance Valeur personnalisée renvoyée telle quelle dans la réponse. String
InputEmail Valeur de l'email telle que soumise dans la requête. String
Syntaxe ok ou ko, selon la syntaxe de l'email déjà saisi. String
List Liste des adresses email suggérées. Array
ListCount Nombre d'adresses email suggérées dans List. Integer

Exemple de réponse

France - John Lim, partie "jlim@gma"
{ "Found": 1, "Suggestion": [ { "Instance": "0", "InputEmail": "jlim@gma", "Syntaxe": "ok", "List": [ "jlim@gmail.com", "jlim@gmx.fr" ], "ListCount": 2 } ] }

Erreurs

HTTP Type d'erreur Corps de la réponse
400 Paramètre obligatoire manquant ou vide (ex. FirstName)
{"status": 400, "message": "Missing parameters", "details": "FirstName", "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

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

Utilisateurs qui ont trouvé cela utile : 0 sur 0