Suggestion d'email - API Classic
L'endpoint MAILSUGGEST suggère des adresses email probables à partir du nom, du prénom et des caractères déjà saisis par l'utilisateur, avec un biais optionnel vers les domaines courants d'un pays donné.
Quand utiliser cet endpoint - Appelez
MAILSUGGEST pendant que l'utilisateur est en train de saisir son adresse email, pour proposer des suggestions de saisie automatique basées sur son nom. Pour valider une adresse email complète, consultez API Email — Valider une adresse email →
MAILSUGGEST
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}/MAILSUGGEST/?Nom={NAME}&Prenom={FIRST_NAME}&Email={EMAIL}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}
Exemples de code
Testa Testb, aucun email partiel saisi
curl "https://{SERVER_ADDRESS}/MAILSUGGEST/?Nom=Testb&Prenom=Testa&Email=&Pays=FRA&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/MAILSUGGEST/?" + new URLSearchParams({
Nom: "Testb",
Prenom: "Testa",
Email: "",
Pays: "FRA",
Licence: "{LICENCE_CODE}"
}))
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.get(
"https://{SERVER_ADDRESS}/MAILSUGGEST/",
params={
"Nom": "Testb",
"Prenom": "Testa",
"Email": "",
"Pays": "FRA",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$params = http_build_query([
'Nom' => 'Testb',
'Prenom' => 'Testa',
'Email' => '',
'Pays' => 'FRA',
'Licence' => '{LICENCE_CODE}',
]);
$ch = curl_init("https://{SERVER_ADDRESS}/MAILSUGGEST/?{$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}/MAILSUGGEST/', {
params: {
Nom: 'Testb',
Prenom: 'Testa',
Email: '',
Pays: 'FRA',
Licence: '{LICENCE_CODE}'
}
})
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String url = "https://{SERVER_ADDRESS}/MAILSUGGEST/"
+ "?Nom=Testb&Prenom=Testa&Email=&Pays=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}/MAILSUGGEST/" +
"?Nom=Testb&Prenom=Testa&Email=&Pays=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}/MAILSUGGEST/" +
"?Nom=Testb&Prenom=Testa&Email=&Pays=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}/MAILSUGGEST/
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
Testa Testb, aucun email partiel saisi
curl -X POST "https://{SERVER_ADDRESS}/MAILSUGGEST/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "Nom=Testb" \
-d "Prenom=Testa" \
-d "Email=" \
-d "Pays=FRA" \
-d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/MAILSUGGEST/", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
Nom: "Testb",
Prenom: "Testa",
Email: "",
Pays: "FRA",
Licence: "{LICENCE_CODE}"
})
})
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.post(
"https://{SERVER_ADDRESS}/MAILSUGGEST/",
data={
"Nom": "Testb",
"Prenom": "Testa",
"Email": "",
"Pays": "FRA",
"Licence": "{LICENCE_CODE}",
},
)
print(response.json())
<?php
$ch = curl_init("https://{SERVER_ADDRESS}/MAILSUGGEST/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'Nom' => 'Testb',
'Prenom' => 'Testa',
'Email' => '',
'Pays' => '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}/MAILSUGGEST/', qs.stringify({
Nom: 'Testb',
Prenom: 'Testa',
Email: '',
Pays: 'FRA',
Licence: '{LICENCE_CODE}'
}))
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String form = "Nom=Testb&Prenom=Testa&Email=&Pays=FRA&Licence={LICENCE_CODE}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://{SERVER_ADDRESS}/MAILSUGGEST/"))
.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> {
["Nom"] = "Testb",
["Prenom"] = "Testa",
["Email"] = "",
["Pays"] = "FRA",
["Licence"] = "{LICENCE_CODE}"
};
var response = await client.PostAsync(
"https://{SERVER_ADDRESS}/MAILSUGGEST/",
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("Nom", "Testb")
form.Set("Prenom", "Testa")
form.Set("Email", "")
form.Set("Pays", "FRA")
form.Set("Licence", "{LICENCE_CODE}")
resp, err := http.PostForm("https://{SERVER_ADDRESS}/MAILSUGGEST/", 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 |
|---|---|---|
| Nom | Nom de famille saisi par l'utilisateur. Peut être laissé vide
|
Obligatoire |
| Prenom | Prénom saisi par l'utilisateur. Peut être laissé vide
|
Obligatoire |
| Partie de l'adresse email déjà saisie par l'utilisateur. Peut être laissé vide
|
Obligatoire | |
| Pays | Code pays ISO 3166-1 alpha-3, utilisé pour orienter les domaines suggérés vers un pays spécifique. Par défaut :
FRA
|
Facultatif |
| Licence | Votre clé de licence DQE. 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 les adresses email suggérées.
| Clé | Description | Type |
|---|---|---|
| Instance | Champ historique, plus utilisé. | String |
| syntaxe |
ok ou ko, selon la syntaxe de l'email déjà saisi. |
String |
| suggest | Liste des adresses email suggérées. | Array |
Exemple de réponse
Testa Testb, aucun email partiel saisi
{
"Instance": "0",
"suggest": [
"ttesta@",
"testat@",
"t.testa@",
"testbtesta@",
"ttestb@",
"testatestb@",
"testa.testb@",
"testb.testa@",
"testb-testa@",
"testa-testb@",
"t-testa@",
"testa-t@"
],
"syntaxe": "ok"
}
Erreurs
| HTTP | Type d'erreur | Réponse |
|---|---|---|
| 400 | Paramètre Licence manquant |
Bad Request |
| 400 | Paramètre Licence vide |
Bad Request |
| — | Numéro de licence incorrect | Corps de réponse vide (pas de code d'erreur) |
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Voir aussi
Associé à