Email API — Validar una dirección de correo electrónico

Support DQE
Support DQE
  • Actualización
Validación de Email - API Clásica

El endpoint DQEEMAILLOOKUP valida una dirección de correo electrónico e informa de su sintaxis y de la existencia del dominio, con una sugerencia de corrección opcional y el estado de actividad.

Cuándo usar este endpoint - Llame a DQEEMAILLOOKUP una vez que el usuario haya introducido (o abandonado) una dirección de correo completa, para confirmar que es válida y entregable antes de guardarla. Para sugerir direcciones mientras el usuario todavía está escribiendo, consulte API de Email — Sugerencias de dirección de correo →

DQEEMAILLOOKUP

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. Póngase en contacto con su gestor de cuenta DQE para obtenerlos.
GEThttps://{SERVER_ADDRESS}/DQEEMAILLOOKUP/?Email={EMAIL}&Licence={LICENCE_CODE}&Rectify={RECTIFY}&extendedsyntax={SYNTAX}&checkuser={CHECKUSER}&TimeOut={TIME}

Ejemplos de código

Dirección válida, sin corrección aplicada

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

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

Dirección válida, sin corrección aplicada

curl -X POST "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Email=test@tesdedet.com" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Email: "test@tesdedet.com", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", data={ "Email": "test@tesdedet.com", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Email' => 'test@tesdedet.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}/DQEEMAILLOOKUP/', qs.stringify({ Email: 'test@tesdedet.com', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Email=test%40tesdedet.com&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/")) .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"] = "test@tesdedet.com", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", 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", "test@tesdedet.com") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/DQEEMAILLOOKUP/", 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
Email Dirección de correo electrónico a validar. Obligatorio
Licence Su clave de licencia DQE. Póngase en contacto con soporte si aún no tiene una. Obligatorio
Rectify y para proponer una corrección del dominio cuando el dominio introducido es desconocido; n en caso contrario.
Por defecto: n
Opcional
extendedsyntax y para aceptar direcciones de correo con sintaxis extendida; n para limitar las comprobaciones a direcciones de correo estándar.
Por defecto: n
Opcional
checkuser y para verificar la parte antes del signo @; n para verificar solo el dominio.
Por defecto: y
Opcional
TimeOut Tiempo máximo de consulta para la verificación, en segundos. Ejemplo: 0.5 para 500 ms.
Por defecto: 6
Opcional

Respuesta

Si tiene éxito, la API devuelve un objeto JSON con una única clave "1" — un artefacto heredado de la implementación de este endpoint — que envuelve los campos de resultado que se describen a continuación.

Nivel 1 vs Nivel 2 - Redressement, eMailOrigine, IdError y eMail siempre se devuelven (verificación de Nivel 1: existencia del dominio y sintaxis). CodeActivite solo se añade cuando su licencia incluye la verificación del estado de actividad (verificación de Nivel 2) — se omite por completo de la respuesta cuando no está habilitado, en lugar de devolverse vacío.
Clave Descripción Tipo
Redressement 1 si se corrigió el dominio; 0 si no. Integer
eMailOrigine Dirección de correo tal como la introdujo el usuario. String
IdError Código de retorno de la validación. Consulte los códigos IdError más abajo. String
eMail Dirección de correo corregida, cuando Redressement=1. String
CodeActivite Estado de actividad de la dirección de correo — solo presente con la verificación de Nivel 2. Consulte los códigos CodeActivite más abajo. String

Ejemplo de respuesta

Nivel 1 (estándar)
{ "1": { "Redressement": 0, "eMailOrigine": "test@tesdedet.com", "IdError": "92", "eMail": "test@tesdedet.com" } }
Nivel 2 (con estado de actividad)
{ "1": { "Redressement": 0, "eMailOrigine": "test@tesdedet.com", "IdError": "92", "eMail": "test@tesdedet.com", "CodeActivite": "200" } }

Códigos de respuesta

Códigos IdError

Código Descripción Mensaje sugerido para la interfaz
00 Correo válido. Correo válido
01 Correo correcto pero no se pudo verificar el nombre. Correo válido
02 No se encontró la dirección de correo para este dominio. Compruebe su dirección de correo
03 Buzón lleno (rebote suave). Compruebe su dirección de correo
04 Correo vacío. Compruebe su dirección de correo
91 Error de sintaxis. Compruebe su dirección de correo
92 Dominio desconocido. Compruebe su dirección de correo
93 Correo o dominio en lista negra. Compruebe su dirección de correo
94 Nombre de usuario no autorizado. Compruebe su dirección de correo
95 Dirección de correo temporal desechable. Compruebe su dirección de correo
99 Servicio no disponible. Correo válido

Códigos CodeActivite

Considere M como el mes actual.

Código Descripción
100 El correo se entregó una vez.
200 El correo es válido.
201 El correo estuvo activo el mes pasado.
202 El correo estuvo activo entre M-1 y M-2.
203 El correo estuvo activo entre M-2 y M-3.
204 El correo estuvo activo entre M-3 y M-4.
206 El correo estuvo activo entre M-4 y M-6.
209 El correo estuvo activo entre M-6 y M-9.
212 El correo estuvo activo entre M-9 y M-12.
300 Correo inactivo.

Errores

Tipo de error Respuesta
Falta el parámetro Licence ** LICENCE KO **
Parámetro Licence vacío ** LICENCE KO **
Número de licencia incorrecto unauthorized_client
Falta o está vacío el parámetro Email Respuesta 200 normal con IdError = 04
Error tipográfico en un parámetro Respuesta 200 normal con IdError = 04

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

Relacionada con

¿Fue útil este artículo?

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