Email-API — E-Mail-Adresse vorschlagen (REST)

Support DQE
Support DQE
  • Aktualisiert
E-Mail-Vorschlag – Standard-API

Der Endpunkt emailsuggest schlägt wahrscheinliche E-Mail-Adressen vor, während ein Benutzer tippt, indem er Vorname, Nachname und die bereits eingegebenen Zeichen kombiniert, um bewertete Vervollständigungen zurückzugeben.

Wann dieser Endpunkt verwendet wird - Rufen Sie emailsuggest auf, während der Benutzer seine E-Mail-Adresse noch eingibt, um Autovervollständigungsvorschläge basierend auf seinem Namen anzubieten. Um stattdessen eine vollständige E-Mail-Adresse zu validieren, siehe Email-API — E-Mail-Adresse validieren (REST) →

emailsuggest

Anfrage

Sowohl GET als auch POST werden unterstützt.

{SERVER_ADDRESS} und {LICENCE_CODE} werden von DQE bei der Kontoerstellung bereitgestellt. Wenden Sie sich an Ihren DQE-Kundenbetreuer, um diese Zugangsdaten zu erhalten.
GEThttps://{SERVER_ADDRESS}/v1/emailsuggest/?FirstName={FIRST_NAME}&LastName={LAST_NAME}&Email={EMAIL}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Codebeispiele

Frankreich - John Lim, teilweise "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/

Senden Sie alle Parameter im Request-Body im Format Content-Type: application/x-www-form-urlencoded. Die Serveradresse bleibt in der URL.

Codebeispiele

Frankreich - John Lim, teilweise "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)) }

Parameter

Parameter Beschreibung Pflicht / Opt.
FirstName Vom Benutzer eingegebener Vorname. Erforderlich
LastName Vom Benutzer eingegebener Nachname. Erforderlich
Email Vom Benutzer bereits eingegebener Teil der E-Mail-Adresse. Erforderlich
Country ISO-3166-1-Alpha-3-Ländercode.
Standard: FRA
Optional
Licence Ihr DQE-Lizenzschlüssel oder OAuth2-Token. Wenden Sie sich an den Support, falls Sie noch keinen haben. Erforderlich

Antwort

Bei Erfolg gibt die API ein JSON-Objekt zurück, das die Anzahl der Ergebnisse und ein Array von E-Mail-Vorschlägen enthält.

Fachliche Lesart: List enthält die anzeigefertigen Vorschläge für Ihr Autovervollständigungs-Dropdown, nach Wahrscheinlichkeit sortiert. Syntaxe gibt an, ob der bereits eingegebene Teil der Adresse selbst wohlgeformt ist.
Schlüssel Beschreibung Typ
Found Anzahl der zurückgegebenen Vorschlagsergebnisse. Integer
Suggestion Array der Vorschlagsergebnisse, ein Eintrag pro übermittelter Eingabekombination. Array
Instance Benutzerdefinierter Wert, der unverändert in der Antwort zurückgegeben wird. String
InputEmail In der Anfrage übermittelter E-Mail-Wert. String
Syntaxe ok oder ko, je nach Syntax der bereits eingegebenen E-Mail. String
List Liste der vorgeschlagenen E-Mail-Adressen. Array
ListCount Anzahl der vorgeschlagenen E-Mail-Adressen in List. Integer

Antwortbeispiel

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

Fehler

HTTP Fehlertyp Antwort-Body
400 Fehlender oder leerer Pflichtparameter (z. B. FirstName)
{"status": 400, "message": "Missing parameters", "details": "FirstName", "error": "bad request"}
401 Ungültiger oder nicht autorisierter Lizenzschlüssel
{"status": 401, "message": "Your licence is not allowed to cover this functionnality", "details": "{WRONG LICENSE}", "error": "unauthorized_client"}

API testen

Klicken Sie auf die Schaltfläche unten, um diesen Endpunkt live in Ihrem Browser zu testen.

Konsole öffnen

Siehe auch

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich