API de Email — Sugerir una dirección de correo electrónico (REST)

Support DQE
Support DQE
  • Actualización
Sugerencia de Email - API Estándar

El endpoint emailsuggest sugiere direcciones de correo electrónico probables a medida que el usuario escribe, combinando su nombre, apellido y los caracteres ya introducidos para devolver sugerencias ordenadas.

Cuándo usar este endpoint - Llame a emailsuggest mientras el usuario todavía está escribiendo su dirección de correo, para ofrecer sugerencias de autocompletado basadas en su nombre. Para validar una dirección de correo completa, consulte API de Email — Validar una dirección de correo electrónico (REST) →

emailsuggest

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. Contacte con su gestor de cuenta DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/v1/emailsuggest/?FirstName={FIRST_NAME}&LastName={LAST_NAME}&Email={EMAIL}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Ejemplos de código

Francia - John Lim, parcial "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/

Envíe todos los parámetros en el cuerpo de la solicitud usando Content-Type: application/x-www-form-urlencoded. La dirección del servidor permanece en la URL.

Ejemplos de código

Francia - John Lim, parcial "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)) }

Parámetros

Parámetro Descripción Obl / Opc
FirstName Nombre introducido por el usuario. Obligatorio
LastName Apellido introducido por el usuario. Obligatorio
Email Parte de la dirección de correo ya introducida por el usuario. Obligatorio
Country Código de país ISO 3166-1 alpha-3.
Por defecto: FRA
Opcional
Licence Su clave de licencia DQE o token OAuth2. Contacte con soporte si aún no dispone de una. Obligatorio

Respuesta

En caso de éxito, la API devuelve un objeto JSON que contiene el número de resultados y un array de sugerencias de email.

Lectura de negocio: List contiene las sugerencias listas para mostrar en su menú de autocompletado, ordenadas de más a menos probable. Syntaxe indica si la parte del correo ya introducida tiene una sintaxis correcta.
Clave Descripción Tipo
Found Número de resultados de sugerencia devueltos. Integer
Suggestion Array de resultados de sugerencia, una entrada por combinación de datos enviada. Array
Instance Valor personalizado devuelto tal cual en la respuesta. String
InputEmail Valor del correo tal como se envió en la solicitud. String
Syntaxe ok o ko, según la sintaxis del correo ya introducido. String
List Lista de direcciones de correo sugeridas. Array
ListCount Número de direcciones de correo sugeridas en List. Integer

Ejemplo de respuesta

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

Errores

HTTP Tipo de error Cuerpo de la respuesta
400 Parámetro obligatorio ausente o vacío (ej. FirstName)
{"status": 400, "message": "Missing parameters", "details": "FirstName", "error": "bad request"}
401 Clave de licencia inválida o no autorizada
{"status": 401, "message": "Your licence is not allowed to cover this functionnality", "details": "{WRONG LICENSE}", "error": "unauthorized_client"}

Probar la API

Haga clic en el botón de abajo para probar este endpoint en vivo en su navegador.

Abrir consola

Ver también

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0