Address API - Autocompletado una línea (RESTful)

Support DQE
Support DQE
  • Actualización
Autocompletado - Una línea - RESTful

El flujo RESTful de autocompletado en una sola línea permite a los usuarios escribir una dirección en texto libre en un campo y recibir sugerencias ordenadas a través del endpoint single, para luego obtener las opciones de sub-edificio de compl una vez que eligen un resultado.

Flujo de autocompletado en dos pasos

El usuario escribe libremente; /single/ devuelve sugerencias ordenadas en tiempo real. Tras la selección, /compl/ obtiene las opciones de sub-edificio (nombres de edificio, números de planta, números de apartamento).

Mayúsculas y minúsculas - El formato sigue la norma postal del país correspondiente.

single

Endpoint RESTful para autocompletado de direcciones. Acepta entradas de texto libre, parciales o completas, y devuelve una lista ordenada de sugerencias de dirección. Cada sugerencia incluye un StreetId que se usa como entrada de compl para completar el sub-edificio.

Cuándo usar single Usa este endpoint para sugerir direcciones mientras el usuario escribe. Gestiona entradas parciales (fragmento de calle, código postal, nombre de ciudad) y devuelve todos los campos estructurados listos para rellenar un formulario. Para verificar que una dirección ya completa es válida y entregable, usa CheckAddress en su lugar. See integration guide →

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS}, {VERSION} y {LICENCE_CODE} los proporciona DQE al crear la cuenta. Contacta con tu gestor de cuenta DQE para obtener estas credenciales.
La dirección debe estar codificada en URL - p. ej. l'église → l%27%C3%A9glise.
GEThttps://{SERVER_ADDRESS}/{VERSION}/single/?Address={INPUT}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Ejemplos cURL

Francia - entrada parcial

curl "https://{SERVER_ADDRESS}/v1/single/?Address=8%20rue%20Victor%20Hugo%20Levall&Country=FRA&Length=38&Limit=20&Version=1&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/single/?" + new URLSearchParams({ Address: "8 rue Victor Hugo Levall", Country: "FRA", Length: "38", Limit: "20", Version: "1", Licence: "{LICENCE_CODE}" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/v1/single/", params={ "Address": "8 rue Victor Hugo Levall", "Country": "FRA", "Length": "38", "Limit": "20", "Version": "1", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $params = http_build_query([ 'Address' => '8 rue Victor Hugo Levall', 'Country' => 'FRA', 'Length' => '38', 'Limit' => '20', 'Version' => '1', 'Licence' => '{LICENCE_CODE}', ]); $ch = curl_init("https://{SERVER_ADDRESS}/v1/single/?{$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/single/', { params: { Address: '8 rue Victor Hugo Levall', Country: 'FRA', Length: '38', Limit: '20', Version: '1', Licence: '{LICENCE_CODE}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/v1/single/" + "?Address=8%20rue%20Victor%20Hugo%20Levall&Country=FRA&Length=38&Limit=20&Version=1&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/single/" + "?Address=8%20rue%20Victor%20Hugo%20Levall&Country=FRA&Length=38&Limit=20&Version=1&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/single/" + "?Address=8%20rue%20Victor%20Hugo%20Levall&Country=FRA&Length=38&Limit=20&Version=1&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)) }

Japón - Kanji, con parámetro Langue

curl "https://{SERVER_ADDRESS}/v1/single/?Address=108-6390&Country=JPN&Length=38&Langue=JP&Version=1&Licence={LICENCE_CODE}"
POSThttps://{SERVER_ADDRESS}/{VERSION}/single/

Envía 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.

Ejemplo cURL

Francia - entrada parcial

curl -X POST "https://{SERVER_ADDRESS}/v1/single/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Address=8 rue Victor Hugo Levall" \ -d "Country=FRA" \ -d "Length=38" \ -d "Limit=20" \ -d "Version=1" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/single/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Address: "8 rue Victor Hugo Levall", Country: "FRA", Length: "38", Limit: "20", Version: "1", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/v1/single/", data={ "Address": "8 rue Victor Hugo Levall", "Country": "FRA", "Length": "38", "Limit": "20", "Version": "1", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/v1/single/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Address' => '8 rue Victor Hugo Levall', 'Country' => 'FRA', 'Length' => '38', 'Limit' => '20', 'Version' => '1', '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/single/', qs.stringify({ Address: '8 rue Victor Hugo Levall', Country: 'FRA', Length: '38', Limit: '20', Version: '1', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Address=8%20rue%20Victor%20Hugo%20Levall&Country=FRA&Length=38&Limit=20&Version=1&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/v1/single/")) .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> { ["Address"] = "8 rue Victor Hugo Levall", ["Country"] = "FRA", ["Length"] = "38", ["Limit"] = "20", ["Version"] = "1", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/v1/single/", 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("Address", "8 rue Victor Hugo Levall") form.Set("Country", "FRA") form.Set("Length", "38") form.Set("Limit", "20") form.Set("Version", "1") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/single/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Parámetros

Parámetro Valor Descripción Oblig. / Opc.
Licence {LICENCE_CODE} Tu clave de licencia DQE o token OAuth2. Contacta con soporte si todavía no tienes una. Obligatorio
Address {INPUT} Cadena de dirección en texto libre introducida por el usuario. Acepta entradas parciales - fragmento de calle, número de calle, código postal o nombre de ciudad. Debe estar codificada en URL. No se requiere formato de barras - pasa la cadena tal cual se escribió. Obligatorio
Country {COUNTRY_CODE} Código de país ISO 3166-1 alfa-3 para el ámbito de búsqueda de dirección. Ejemplo: FRA o GBR. Obligatorio
Length {LENGTH} Longitud máxima de caracteres para las direcciones sugeridas devueltas. Se aplica solo a direcciones con caracteres latinos. Un valor demasiado bajo puede truncar los resultados. Por defecto: 38. Mínimo recomendado: 32. Opcional
Limit {NB} Número máximo de sugerencias de dirección devueltas. Por defecto: 20. Opcional
Version 1 Si se establece en 1, el tipo de vía se extrae de la clave Street y se devuelve en un campo específico StreetType. Sin este parámetro, el tipo de vía permanece dentro de Street (p. ej., RUE DE LA PAIX) y StreetType queda vacío. Opcional
Langue {LANGUAGE} Filtra los resultados por idioma/escritura (p. ej. JPN: JP = Kanji · JK = Katakana · EN = Romanizado). Consulta Guía de idiomas. Opcional
Filter {FILTER} Solo Francia. Filtra las direcciones CEDEX: 1 todas las direcciones; 2 solo no-CEDEX; 3 solo CEDEX. Opcional

Respuesta

En caso de éxito, la respuesta es un objeto JSON con dos claves de nivel superior: Found (entero) y Addresses (array de objetos de sugerencia de dirección, hasta Limit elementos). El primer resultado es el más cercano a la entrada.

Lectura funcional: Piensa en la respuesta como una lista ordenada de sugerencias de dirección. Addresses[0] es la mejor coincidencia; los elementos más abajo en el array son candidatos alternativos. El campo Label contiene la cadena lista para mostrar en tu menú desplegable de autocompletado - el resto te da los componentes estructurados para rellenar un formulario.

Nivel superior

Clave Descripción Tipo
Found Número de objetos de sugerencia de dirección devueltos. Integer
Addresses Array de objetos de sugerencia de dirección. Array

Objeto de sugerencia de dirección - Addresses[n]

Clave Descripción Francia Internacional
Label Cadena lista para mostrar en un menú desplegable de autocompletado. Los números entre [corchetes] indican que el número no se encontró en los datos de referencia. Consulta Campo label - solo visualización para notas de uso.
Usa Label únicamente para rellenar el menú desplegable de sugerencias - nunca para guardar la dirección.Ver guía de integración →
String (255) String (255)
Street Nombre de calle. String (38) String (150)
StreetType Tipo de vía (p. ej., RUE, AVENUE, BOULEVARD). Solo se completa cuando se establece Version=1 - en ese caso el tipo de vía se elimina de Street y se devuelve aquí en su lugar. String (20) String (20)
StreetNumber Número de calle completo, incluyendo cualquier complemento (bis, ter, etc.). String (38) String (38)
StreetNumberOnly Solo el número de calle, sin ningún complemento (bis, ter, etc.). String (4) String (4)
StreetNumberListCount Cuando el número consultado no se encuentra o falta, devuelve el recuento total de números de calle válidos para esta calle. Puede ser una cadena vacía para algunas direcciones internacionales donde este dato no está disponible. String String
IsValidStreetNumber Indicador de validez del número de calle. 1 si el número existe en los datos de referencia, 0 en caso contrario. Devuelve una cadena vacía para algunas direcciones internacionales donde la validación a nivel de número no está disponible. Integer Integer
StreetNumberList Lista de números de calle válidos separados por punto y coma. Contiene todos los números cuando no se introdujo ningún número o cuando el número introducido no se encuentra; en caso contrario contiene solo el número coincidente. String (1024) String (1024)
StreetId Identificador único de calle. Se usa como entrada para compl. String (20) String (20)
PostalCode Código postal de la dirección. String (10) String (10)
City Nombre de ciudad. String (38) String (50)
Hamlet Localidad o aldea con nombre (Francia) o campo equivalente de nivel de distrito (internacional). La disponibilidad varía según el país. String (38) String (50)
SubLocality Sublocalidad (distrito, municipio, barrio). Empty String (50)
SpecialDistribution No se usa. Siempre se devuelve como una cadena vacía. String String
CityId Identificador único de ciudad (código INSEE para Francia). String (20) String (20)
StateCode Código ISO de la región o estado (p. ej. 17 para Japón). Empty String (50)
StateLabel Etiqueta ISO de la región o estado (p. ej. ISHIKAWA para Japón). Not available String (50)
AdministrativeArea Condado o nivel administrativo equivalente. Empty String (50)
Suburb Barrio o distrito. Empty String (50)
AdditionalAddress Información adicional de dirección (nombre de edificio, planta, etc.). La disponibilidad varía según el país - consulta la guía de integración. Empty String (50)
Company Nombre de empresa asociado a la dirección. String (38) String (38)
Input Forma normalizada de la dirección enviada. Puede diferir de la entrada original en mayúsculas/minúsculas o formato. No se completa para todos los países. String (255) String (255)
Country ISO 3166-1 alpha-3 country code. String (3) String (3)
Latitude Coordenadas geográficas de la dirección encontrada. No disponible para todos los países - consulta la cobertura. String String
Longitude Coordenadas geográficas de la dirección encontrada. No disponible para todos los países - consulta la cobertura. String String

Populated with Version=1

¿Calle seleccionada sin número?  Ver guía de integración →

Ejemplo de respuesta

Reino Unido - entrada "Abbey Road NW10 7TJ London"
{ "Found": 1, "Addresses": [ { "PostalCode": "NW10 7TJ", "City": "LONDON", "Hamlet": "", "SpecialDistribution": "", "Country": "GBR", "StateCode": "", "SubLocality": "", "CityId": "1745994", "Input": "ABBEY ROAD NW10 7TJ LONDON", "Label": "Abbey Road (West London Waste)|NW10 7TJ LONDON", "AdditionalAddress": "", "StreetNumber": "", "StreetType": "", "Street": "Abbey Road", "StreetId": "7831549_NW107TJ", "IsValidStreetNumber": 1, "StreetNumberListCount":0, "StreetNumberList": "", "StreetNumberOnly": "", "StateLabel": "", "AdministrativeArea": "", "Suburb": "", "Company": "West London Waste", "Latitude": "", "Longitude": "" } ] }
Japón - entrada "三田", Langue=JP
{ "Found": 20, "Addresses": [ { "PostalCode": "108-6390", "City": "港区", "Hamlet": "", "SpecialDistribution": "", "Country": "JPN", "StateCode": "13", "SubLocality": "", "CityId": "402573", "Input": "三田", "Label": "〒108-6390 東京都港区三田", "AdditionalAddress": "", "StreetNumber": "", "StreetType": "", "Street": "三田", "StreetId": "558203", "IsValidStreetNumber": 1, "StreetNumberListCount":0, "StreetNumberList": "", "StreetNumberOnly": "", "StateLabel": "東京都", "AdministrativeArea": "港区", "Suburb": "", "Company": "", "Latitude": "", "Longitude": "" }, { "PostalCode": "942-0054", "City": "上越市", "Hamlet": "", "SpecialDistribution": "", "Country": "JPN", "StateCode": "15", "SubLocality": "", "CityId": "387092", "Input": "三田", "Label": "〒942-0054 新潟県上越市三田", "AdditionalAddress": "", "StreetNumber": "", "StreetType": "", "Street": "三田", "StreetId": "537719", "IsValidStreetNumber": 1, "StreetNumberListCount":0, "StreetNumberList": "", "StreetNumberOnly": "", "StateLabel": "新潟県", "AdministrativeArea": "上越市", "Suburb": "", "Company": "", "Latitude": "", "Longitude": "" } // ... 18 more results ] }

Errores

El endpoint RESTful devuelve un cuerpo de error JSON estructurado con un código de estado HTTP, un mensaje y un identificador de error.

HTTP Tipo de error Cuerpo de la respuesta
400 Falta el parámetro Licence
{"status":400,"message":"Missing parameters","details":"Licence","error":"bad request"}
400 Parámetro Licence vacío
{"status":400,"message":"Licence must be filled","details":"Empty","error":"bad request"}
401 Número de licencia incorrecto
{"status":401,"message":"Your licence is not allowed to cover this functionnality","details":"{WRONG}","error":"unauthorized_client"}
400 Falta el parámetro Address
{"status":400,"message":"Missing parameters","details":"Address","error":"bad request"}
400 Falta el parámetro Country
{"status":400,"message":"Missing parameters","details":"Country","error":"bad request"}
400 Parámetro Country vacío
{"status":400,"message":"Country must be filled","details":"Empty","error":"bad request"}
400 Error tipográfico en el nombre del parámetro
{"status":400,"message":"Missing parameters","details":"Address","error":"bad request"}

Test the API

Haz clic en el botón de abajo para probar este endpoint en vivo en tu navegador.

Abrir consola

compl

Segundo paso del enfoque de una sola línea. Dado un ID de calle y un número de calle seleccionados de un resultado de single, devuelve una lista de sugerencias de sub-edificio: nombres de edificio, números de planta, nombres de empresa, números de apartamento.

Cuándo usar compl Usa compl después de que el usuario haya seleccionado una calle de single. Pasa StreetId y StreetNumber devueltos por single para obtener opciones detalladas de sub-edificio. Si no existen opciones de sub-edificio para la dirección, no se devuelve ninguna entrada numerada.

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS}, {VERSION} y {LICENCE_CODE} los proporciona DQE al crear la cuenta. {STREETID} se obtiene de la respuesta de single. Contacta con tu gestor de cuenta DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/{VERSION}/compl/?StreetId={STREETID}&StreetNumber={STREETNUMBER}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}

Ejemplo cURL

France

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

Envía 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.

Ejemplo cURL

France

curl -X POST "https://{SERVER_ADDRESS}/v1/compl/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "StreetId=1454602" \ -d "StreetNumber=20" \ -d "Country=FRA" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/v1/compl/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ StreetId: "1454602", StreetNumber: "20", Country: "FRA", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/v1/compl/", data={ "StreetId": "1454602", "StreetNumber": "20", "Country": "FRA", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/v1/compl/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'StreetId' => '1454602', 'StreetNumber' => '20', '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/compl/', qs.stringify({ StreetId: '1454602', StreetNumber: '20', Country: 'FRA', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "StreetId=1454602&StreetNumber=20&Country=FRA&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/v1/compl/")) .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> { ["StreetId"] = "1454602", ["StreetNumber"] = "20", ["Country"] = "FRA", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/v1/compl/", 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("StreetId", "1454602") form.Set("StreetNumber", "20") form.Set("Country", "FRA") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/v1/compl/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Parámetros

Parámetro Valor Descripción Oblig. / Opc.
Licence {LICENCE_CODE} Tu clave de licencia DQE o token OAuth2. Contacta con soporte si todavía no tienes una. Obligatorio
StreetId {STREETID} Identificador único de calle devuelto por single en el campo StreetId. Obligatorio
StreetNumber {STREETNUMBER} Número de calle seleccionado por el usuario - corresponde al campo StreetNumber de la respuesta de single. Obligatorio
Country {COUNTRY_CODE} Código de país ISO 3166-1 alfa-3 para el ámbito de búsqueda de dirección. Ejemplo: FRA o GBR. Obligatorio
Length {LENGTH} Longitud máxima de caracteres para los campos de dirección devueltos. Se aplica solo a direcciones con caracteres latinos. Un valor demasiado bajo puede truncar los resultados. Por defecto: 38. Mínimo recomendado: 32. Opcional
Search {SEARCH} Para Estados Unidos: filtra las sugerencias de complemento según lo que haya escrito el usuario. Pasa el tipo de complemento parcial introducido (p. ej., FL, STE, RM) - solo se devuelven las entradas de complemento que coincidan con ese valor. Opcional

Respuesta

En caso de éxito, la respuesta es un objeto JSON con dos claves de nivel superior: Found y AdditionalAddresses (array), además de un objeto Geolocalisation. La cobertura de geocodificación varía según el país - consulta Geographic coverage.

Que no haya datos de sub-edificio no es un error.Ver guía de integración →
Clave Descripción Francia Internacional
Found Número de complementos de dirección encontrados. Integer Integer
AdditionalAddresses Array de objetos de dirección adicional. Array Array
AdditionalAddresses[0].
AdditionalAddress
Etiqueta de dirección adicional (nombre de edificio, planta, apartamento, etc.). String (38) String (150)
AdditionalAddresses[0].
PostalCode
Código postal específico de esta sub-unidad, cuando está disponible (p. ej. ZIP+4 para EE. UU.). Empty String (10)
Geolocalisation Información de geolocalización de la dirección. Object Object
Geolocalisation.
Latitude
Coordenadas geográficas de la dirección encontrada. No disponible para todos los países - consulta la cobertura. String String
Geolocalisation.
Longitude
Coordenadas geográficas de la dirección encontrada. No disponible para todos los países - consulta la cobertura. String String

Ejemplo de respuesta

France
{ "Found": 5, "AdditionalAddresses": [ { "AdditionalAddress": "BATIMENT A", "PostalCode": "" }, { "AdditionalAddress": "BATIMENT B", "PostalCode": "" }, { "AdditionalAddress": "BATIMENT C", "PostalCode": "" }, { "AdditionalAddress": "BATIMENT D", "PostalCode": "" }, { "AdditionalAddress": "BATIMENT E", "PostalCode": "" } ], "Geolocalisation": { "Latitude": "48.879024", "Longitude": "2.333291" } }

Errores

HTTP Tipo de error Cuerpo de la respuesta
400 Falta StreetId
{"status":400,"message":"Missing parameters","details":"StreetId","error":"bad request"}
400 Falta StreetNumber
{"status":400,"message":"Missing parameters","details":"StreetNumber","error":"bad request"}
400 Falta Country
{"status":400,"message":"Missing parameters","details":"Country","error":"bad request"}
400 Falta Licence
{"status":400,"message":"Missing parameters","details":"Licence","error":"bad request"}
401 Cliente no autorizado (licencia no válida, caducada o fuera de alcance)
{"status":401,"message":"Your licence is not allowed to cover this functionnality","details":"{INVALID_LICENCE}","error":"unauthorized_client"}

Test the API

Haz clic en el botón de abajo para probar este endpoint en vivo en tu navegador.

Abrir consola

Ver también

Relacionada con

¿Fue útil este artículo?

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