Phone API — Validar un número de teléfono (REST)

Support DQE
Support DQE
  • Actualización
Validación de teléfono - API RESTful

El endpoint phonelookup valida y formatea números de teléfono fijos o móviles, devolviendo información de operador, ubicación y tipo, con estado de actividad opcional.

Cuándo usar este endpoint - Utilice phonelookup para validar un número de teléfono y obtener su operador, tipo y ubicación en una única respuesta JSON. ¿Busca la integración heredada basada en XML/formularios? Consulte Classic Phone API (/TEL/) →

phonelookup

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear su cuenta. Póngase en contacto con su gestor de cuenta de DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/v1/phonelookup/?Number={NUMBER}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}&Format={FORMAT}&Activity={ACTIVITY}&TimeOut={TIMEOUT}&Separator={SEPARATOR}

Ejemplos de código

Número de móvil válido

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

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

Número de móvil válido

curl -X POST "https://{SERVER_ADDRESS}/v1/phonelookup/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Number=0606060606" \ -d "Country=FRA" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/phonelookup/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Number: "0606060606", Country: "FRA", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/v1/phonelookup/", data={ "Number": "0606060606", "Country": "FRA", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/v1/phonelookup/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Number' => '0606060606', '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/phonelookup/', qs.stringify({ Number: '0606060606', Country: 'FRA', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Number=0606060606&Country=FRA&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/v1/phonelookup/")) .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> { ["Number"] = "0606060606", ["Country"] = "FRA", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/v1/phonelookup/", 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("Number", "0606060606") form.Set("Country", "FRA") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/phonelookup/", 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
Number Número de teléfono a validar. Obligatorio
Country Código de país ISO de 3 letras. Obligatorio
Licence Su clave de licencia DQE. Póngase en contacto con soporte si todavía no tiene una. Obligatorio
Format Formato de salida deseado. Consulte la tabla de valores de formato a continuación. Opcional
Activity Y si desea obtener la actividad del número de teléfono. Opcional
TimeOut Tiempo máximo de consulta para la verificación, en segundos. Ejemplo: 0.5 para 500 ms. Opcional
Separator Carácter separador utilizado en el número de teléfono formateado. Valores aceptados: - y .. Solo funciona con los formatos que utilizan espacios (1, 2, 3, 4, 6) Opcional

Valores de formato

Los siguientes valores se aplican al parámetro Format tanto en solicitudes GET como POST.

Valor Descripción Ejemplos (Alemania / Francia / EE. UU.)
0 Formato nacional sin espacios 0301234567 / 0123456789 / (202)555-0123
1 Formato nacional con agrupación de dígitos específica del país 030 1234567 / 01 23 45 67 89 / (202) 555-0123
2 Formato internacional con agrupación de dígitos específica del país +49 30 1234567 / +33 1 23 45 67 89 / +1 202-555-0123
3 Formato internacional con espacio entre el código de país y el número de abonado +49 301234567 / +33 123456789 / +1 2025550123
4 Formato internacional con prefijo de línea y número de abonado compacto +49 (0)301234567 / +33 (0)123456789 / +1 (0)2025550123
5 Formato internacional sin espacios +49301234567 / +33123456789 / +12025550123
6 Formato internacional con prefijo de línea y agrupación de dígitos específica del país +49 (0) 30 1234567 / +33 (0) 1 23 45 67 89 / +1 (0) (202) 555-0123
7 Formato nacional con agrupación de dígitos específica del país separada por puntos 030.1234567 / 01.23.45.67.89 / (202).555-0123
8 Formato internacional con agrupación de dígitos específica del país separada por puntos +49.30.1234567 / +33.1.23.45.67.89 / +1.202-555-0123
9 Formato internacional sin espacios y sin signo más inicial 49301234567 / 33123456789 / 1202-555-0123

Respuesta

Si la solicitud se completa correctamente, la API devuelve un objeto JSON que contiene el número de resultados y un array de números de teléfono validados.

Interpretación: IdError indica el resultado detallado de la validación (0: número no válido o inexistente, 1: válido y atribuido, 2: solo sintaxis válida, no atribuido) — consulte la lista completa en la referencia de códigos de respuesta de la API.
Clave Descripción Tipo
Found Cantidad de números de teléfono devueltos. Integer
Phones Array de resultados de validación, una entrada por cada número de teléfono enviado. Array
IdError Código de retorno de la validación. Consulte la referencia de códigos de respuesta de la API. String
Ported Y si el número ha sido portado; vacío cuando no está disponible. String
InputNumber Número de teléfono tal como se envió en la solicitud. String
Carrier Operador actual del número de teléfono. String
Location Ubicación geográfica asociada al número de teléfono. String
OldCarrier Operador anterior del número de teléfono, cuando se conoce. String
NumberFormatted Número de teléfono formateado según el formato seleccionado. String
Type MOBILE o FIXED_LINE o vacío. String

Ejemplo de respuesta

Número de móvil válido
{ "Found": 1, "Phones": [ { "IdError": "1", "Ported": "", "InputNumber": "0606060606", "Carrier": "E*MESSAGE WIRELESS INFORMATION SERVICES FRANCE", "Location": "METROPOLE", "OldCarrier": "E*MESSAGE WIRELESS INFORMATION SERVICES FRANCE", "NumberFormatted": "0606060606", "Type": "MOBILE" } ] }

Errores

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

Probar la API

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

Abrir consola

Ver también

Relacionada con

¿Fue útil este artículo?

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