Address API - Autocompletado una línea (Classic)

Support DQE
Support DQE
  • Actualización
Autocompletado de texto libre - API Estándar

SINGLEV2 y COMPLV2 son los endpoints clásicos de DQE para el autocompletado de direcciones en una línea: el usuario escribe cualquier parte de una dirección en un solo campo para obtener sugerencias clasificadas, y luego recupera los detalles de sub-edificio disponibles una vez seleccionado un resultado.

Flujo de autocompletado en 2 pasos

El usuario escribe libremente; SINGLEV2 devuelve sugerencias clasificadas en tiempo real. Tras la selección, COMPLV2 recupera las opciones de sub-edificio (nombres de edificio, números de piso, números de apartamento).

Mayúsculas/minúsculas de salida - El uso de mayúsculas sigue la norma postal del país correspondiente.

SINGLEV2

Endpoint de la API Estándar para el autocompletado de direcciones. Acepta entrada de texto libre parcial o completa y devuelve una lista clasificada de sugerencias de dirección. Cada sugerencia lleva un IDVoie utilizado como entrada de COMPLV2 para la finalización de sub-edificio.

Cuándo usar SINGLEV2 Use 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, use en su lugar RNVP. Ver guía de integración →

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 de DQE para obtener estas credenciales.
La dirección introducida debe estar codificada en URL - ej. l'église → l%27%C3%A9glise.
GEThttps://{SERVER_ADDRESS}/SINGLEV2/?Adresse={INPUT}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}

Ejemplo cURL

France - saisie partielle

curl "https://{SERVER_ADDRESS}/SINGLEV2/?Adresse=8%20rue%20Victor%20Hugo%20Levall&Pays=FRA&Licence={LICENCE_CODE}&Taille=38&NbMax=20&Version=1"
fetch("https://{SERVER_ADDRESS}/SINGLEV2/?" + new URLSearchParams({ Adresse: "8 rue Victor Hugo Levall", Pays: "FRA", Licence: "{LICENCE_CODE}", Taille: "38", NbMax: "20", Version: "1" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/SINGLEV2/", params={ "Adresse": "8 rue Victor Hugo Levall", "Pays": "FRA", "Licence": "{LICENCE_CODE}", "Taille": "38", "NbMax": "20", "Version": "1", }, ) print(response.json())
<?php $params = http_build_query([ 'Adresse' => '8 rue Victor Hugo Levall', 'Pays' => 'FRA', 'Licence' => '{LICENCE_CODE}', 'Taille' => '38', 'NbMax' => '20', 'Version' => '1', ]); $ch = curl_init("https://{SERVER_ADDRESS}/SINGLEV2/?{$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}/SINGLEV2/', { params: { Adresse: '8 rue Victor Hugo Levall', Pays: 'FRA', Licence: '{LICENCE_CODE}', Taille: '38', NbMax: '20', Version: '1' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/SINGLEV2/" + "?Adresse=8%20rue%20Victor%20Hugo%20Levall&Pays=FRA&Licence={LICENCE_CODE}&Taille=38&NbMax=20&Version=1"; 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}/SINGLEV2/" + "?Adresse=8%20rue%20Victor%20Hugo%20Levall&Pays=FRA&Licence={LICENCE_CODE}&Taille=38&NbMax=20&Version=1"; 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}/SINGLEV2/" + "?Adresse=8%20rue%20Victor%20Hugo%20Levall&Pays=FRA&Licence={LICENCE_CODE}&Taille=38&NbMax=20&Version=1" resp, err := http.Get(url) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Japan - Kanji, with Langue parameter

curl "https://{SERVER_ADDRESS}/SINGLEV2/?Adresse=108-6390&Pays=JPN&Taille=38&Langue=JP&Version=1&Licence={LICENCE_CODE}"
POSThttps://{SERVER_ADDRESS}/SINGLEV2/

Send all parameters in the request body using Content-Type: application/x-www-form-urlencoded. The server address remains in the URL.

Ejemplo cURL

France - saisie partielle

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

Parámetros

Parámetro Valor Description Oblig / Opc
Licence {LICENCE_CODE} Su clave de licencia DQE o token OAuth2. Póngase en contacto con soporte si aún no dispone de una. Obligatorio
Adresse {INPUT} Cadena de dirección de texto libre introducida por el usuario. Acepta entrada parcial - fragmento de calle, número de calle, código postal o nombre de ciudad. Debe estar codificada en URL. No se requiere formato con barras verticales - envíe la cadena tal cual se escribió. Obligatorio
Pays {COUNTRY_CODE} Código de país ISO 3166-1 alfa-3 para el ámbito de búsqueda de la dirección. Ejemplo: FRA o GBR. Obligatorio
Taille {LENGTH} Longitud máxima de caracteres para las sugerencias de dirección devueltas. Se aplica solo a direcciones en caracteres latinos. Un valor demasiado bajo puede truncar los resultados. Valor por defecto: 38. Mínimo recomendado: 32. Opcional
NbMax {NB} Número máximo de sugerencias de dirección devueltas. Valor por defecto: 20. Opcional
Version 1 Si se establece en 1, el tipo de vía se extrae de la clave Voie y se devuelve en un campo específico TypeVoie. Sin este parámetro, el tipo de vía permanece integrado en Voie (ej. RUE DE LA PAIX) y TypeVoie queda vacío. Opcional
Instance {INSTANCE} No se devuelve en los resultados de este endpoint - se puede omitir sin problema. Opcional
Langue {LANGUAGE} Filtra los resultados por idioma/escritura (ej. JPN: JP = Kanji · JK = Katakana · EN = Romanizado). Vea Guía de idiomas. Opcional
Filter {FILTER} Solo Francia. Filtra las direcciones CEDEX: 1 todas las direcciones; 2 solo sin CEDEX; 3 solo CEDEX. Opcional

Respuesta

Si tiene éxito, la API devuelve un objeto JSON. Las claves son números de orden de "1" a "n", cada uno asociado a un diccionario de campos de dirección. El primer resultado es la coincidencia más cercana a la entrada.

Lectura funcional: Piense en la respuesta como una lista clasificada de sugerencias de dirección. "1" es la mejor coincidencia; los números siguientes son candidatos alternativos. El campo label contiene la cadena lista para mostrar en su lista desplegable de autocompletado - todo lo demás le da los componentes estructurados para rellenar los campos del formulario.
Campo Description France International
label Cadena lista para mostrar en una lista desplegable de autocompletado. Los números entre [corchetes] indican que el número no se encontró en los datos de referencia. Vea Campo label - solo visualización para notas de uso.
Use label únicamente para rellenar la lista desplegable de sugerencias - nunca para almacenar la dirección.Ver guía de integración →
String (255) String (255)
Voie Nombre de la calle. String (38) String (150)
TypeVoie Tipo de vía (ej. RUE, AVENUE, BOULEVARD). Solo se completa cuando se establece Version=1 - en ese caso el tipo de vía se elimina de Voie y se devuelve aquí en su lugar. String (20) String (20)
Numero Número de calle completo, incluyendo cualquier complemento (bis, ter, etc.). String (38) String (38)
Num Alias de Numero. Se mantiene por compatibilidad - prefiera Numero. String (38) String (38)
NumSeul Número de calle solo, sin ningún complemento (bis, ter, etc.). String (4) String (4)
NbNumero
también: Nbnumero
Cuando el número buscado 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
valid_num 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
ListeNumero 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 únicamente el número encontrado. String (1024) String (1024)
IDVoie
también: CodeVoie
Identificador único de calle. Se utiliza como entrada de COMPLV2. CodeVoie se mantiene por compatibilidad. Prefiera IDVoie en nuevas integraciones. String (20) String (20)
CodePostal Código postal de la dirección. String (10) String (10)
Localite Nombre de la ciudad. String (38) String (50)
Cedex Indica si la dirección es una CEDEX. String String
SousLocalite Sublocalidad (distrito, barrio, suburbio). Empty String (50)
LieuDit Localidad o aldea con nombre propio (Francia) o campo equivalente a nivel de distrito (internacional). La disponibilidad varía según el país. String (38) String (50)
IDLocalite Identificador único de ciudad (código INSEE para Francia). String (20) String (20)
Insee Código único de la ciudad. String Not available
Province Código ISO del estado o región administrativa (ej. 17 para Japón). Not available String (50)
Region1 Etiqueta ISO del estado o región administrativa (ej. ISHIKAWA para Japón). Not available String (50)
Region2 Condado o nivel administrativo equivalente. Not available String (50)
Region3 Condado o equivalente (nivel alternativo). Not available String (50)
Region4 Información regional o administrativa adicional. Not available String (50)
Suburb Suburbio o distrito. Not available String (50)
Complement Información de dirección adicional (nombre de edificio, piso, etc.). La disponibilidad varía según el país - ver guía de integración. Empty String (50)
Complement2 Segunda línea de sub-edificio. Se completa para determinadas direcciones internacionales cuando se dispone de un identificador de edificio y un identificador de sub-edificio (piso, apartamento, suite) como entradas separadas, y para determinadas direcciones CEDEX organizacionales. Not available String (50)
Entreprise Nombre de la empresa asociada a la dirección. String (38) String (38)
Thoroughfare Calle dependiente. Not available UK only
Pays Código de país ISO 3166-1 alfa-3. String (3) String (3)
Latitude Geocoordenadas de la dirección encontrada. No disponible para todos los países - vea cobertura. Not available String
Longitude Geocoordenadas de la dirección encontrada. No disponible para todos los países - vea cobertura. Not available String
Altitude Altitud de la dirección introducida, en metros. String String
Saisie 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)
Instance Campo interno. Empty String

Completado con Version=1

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

Ejemplo de respuesta

Reino Unido - entrada "Abbey Road NW10 7TJ London"
{ "1": { "label": "Abbey Road (West London Waste)|NW10 7TJ LONDON", "valid_num": 1, "Num": "", "Numero": "", "ListeNumero": "", "Nbnumero": 0, "NbNumero": 0, "NumSeul": "", "Saisie": "ABBEY ROAD NW10 7TJ LONDON", "Pays": "GBR", "Complement": "", "Voie": "Abbey Road", "CodeVoie": "7831549_NW107TJ", "IDVoie": "7831549_NW107TJ", "IDLocalite": "1745994", "Insee": "", "Instance": 1, "CodePostal": "NW10 7TJ", "Localite": "LONDON", "Cedex": "0", "Province": "", "LieuDit": "", "Longitude": "", "Latitude": "", "Altitude": "0", "Suburb": "", "TypeVoie": "", "Entreprise": "West London Waste", "Thoroughfare": "" } }
Japón - entrada "三田", Langue=JP
{ "1": { "label": "〒108-6390 東京都港区三田", "valid_num": 1, "Num": "", "Numero": "", "ListeNumero": "", "Nbnumero": 0, "NbNumero": 0, "NumSeul": "", "Saisie": "三田", "Pays": "JPN", "Complement": "", "Voie": "三田", "CodeVoie": "558203", "IDVoie": "558203", "IDLocalite": "402573", "Insee": "", "Instance": 1, "CodePostal": "108-6390", "Localite": "港区", "Cedex": "0", "Province": "13", "LieuDit": "", "Longitude": "", "Latitude": "", "Region1": "東京都", "Region2": "港区", "Region3": "", "Altitude": "0", "Suburb": "", "TypeVoie": "" }, "2": { "label": "〒942-0054 新潟県上越市三田", "valid_num": 1, "Num": "", "Numero": "", "ListeNumero": "", "Nbnumero": 0, "NbNumero": 0, "NumSeul": "", "Saisie": "三田", "Pays": "JPN", "Complement": "", "Voie": "三田", "CodeVoie": "537719", "IDVoie": "537719", "IDLocalite": "387092", "Insee": "", "Instance": 1, "CodePostal": "942-0054", "Localite": "上越市", "Cedex": "0", "Province": "15", "LieuDit": "", "Longitude": "", "Latitude": "", "Region1": "新潟県", "Region2": "上越市", "Region3": "", "Altitude": "0", "Suburb": "", "TypeVoie": "" } // ... 18 more results }

Errores

HTTP Tipo de error Cuerpo de la respuesta
400 Falta o está vacío el parámetro Licence Bad Request Parameters empty fields
401 Clave de licencia no válida o no autorizada unauthorized_client
400 Falta o está vacío el parámetro Adresse Bad Request Parameters empty fields
400 Falta o está vacío el parámetro Pays Bad Request Parameters empty fields
400 Nombre de parámetro no reconocido (ej. error tipográfico en Adresse) Bad Request Parameters empty fields

Probar la API

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

Abrir consola

COMPLV2

Segundo paso del enfoque de una línea. Dada una calle y un número de calle seleccionados a partir de un resultado de SINGLEV2, devuelve una lista de sugerencias de sub-edificio: nombres de edificio, números de piso, nombres de empresa, números de apartamento.

Cuándo usar COMPLV2 Use COMPLV2 después de que el usuario haya seleccionado una calle de SINGLEV2. Pase el IDVoie y el IDNum devueltos por SINGLEV2 para obtener opciones de sub-edificio detalladas. 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} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. {STREET_ID} se obtiene de la respuesta de SINGLEV2. Póngase en contacto con su gestor de cuenta de DQE para obtener estas credenciales.
GEThttps://{SERVER_ADDRESS}/COMPLV2/?IDVoie={STREET_ID}&IDNum={NUM}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}

Ejemplo cURL

France

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

Send all parameters in the request body using Content-Type: application/x-www-form-urlencoded. The server address remains in the URL.

Ejemplo cURL

France

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

Parámetros

Parámetro Valor Description Oblig / Opc
Licence {LICENCE_CODE} Su clave de licencia DQE o token OAuth2. Póngase en contacto con soporte si aún no dispone de una. Obligatorio
IDVoie {STREETID} Identificador único de calle devuelto por SINGLEV2 en el campo IDVoie o CodeVoie. Obligatorio
IDNum {STREETNUMBER} Número de calle seleccionado por el usuario - corresponde al campo Numero de la respuesta de SINGLEV2. Obligatorio
Pays {COUNTRY_CODE} Código de país ISO 3166-1 alfa-3 para el ámbito de búsqueda de la dirección. Ejemplo: FRA o GBR. Obligatorio
Taille {LENGTH} Longitud máxima de caracteres para los campos de dirección devueltos. Se aplica solo a direcciones en caracteres latinos. Un valor demasiado bajo puede truncar los resultados. Valor por defecto: 38. Mínimo recomendado: 32. Opcional
Filter {FILTER} Para Estados Unidos: filtra las sugerencias de complemento según lo que el usuario haya escrito. Pase el tipo de complemento parcial introducido (ej. FL, STE, RM) - solo se devuelven las entradas de complemento que coincidan con ese valor. Opcional

Respuesta

Si tiene éxito, la respuesta es un objeto JSON con dos tipos de claves. Las claves numeradas ("1" a "n") representan cada una una opción de sub-edificio. Las claves geográficas de nivel raíz (Latitude, Longitude) dan las geocoordenadas de la dirección encontrada. La cobertura de geocodificación varía según el país - vea Cobertura geográfica.

La ausencia de datos de sub-edificio no es un error.Ver guía de integración →
Campo Description France International
Entradas numeradas ("1" a "n") - una por opción de sub-edificio
Batiment Etiqueta de dirección adicional (nombre de edificio, piso, apartamento, etc.). String (38) String (150)
CodePostal Código postal específico de esta sub-unidad, cuando está disponible (ej. ZIP+4 para EE. UU.). Not available String (10)
Campos geográficos de nivel raíz
Latitude Geocoordenadas de la dirección encontrada. No disponible para todos los países - vea cobertura. String String
Longitude Geocoordenadas de la dirección encontrada. No disponible para todos los países - vea cobertura. String String
Nivel raíz - opcional, solo Francia (requiere una suscripción Iris/Îlot)
Status_IrisIlot Origen de los códigos IRIS/Îlot (ej. INSEE). String (5) Not available
ilot Código îlot. String (9) Not available
iris Código IRIS. String (9) Not available

Ejemplo de respuesta

France
{ "1": { "Batiment": "BATIMENT A" }, "2": { "Batiment": "BATIMENT B" }, "3": { "Batiment": "BATIMENT C" }, "4": { "Batiment": "BATIMENT D" }, "5": { "Batiment": "BATIMENT E" }, "Latitude": "48.879024", "Longitude": "2.333291" }

Errores

HTTP Tipo de error Cuerpo de la respuesta
400 Falta o está vacío el parámetro Licence Bad Request Parameters empty fields
401 Clave de licencia no válida o no autorizada unauthorized_client
400 Falta IDVoie 400 Bad Request
400 Falta Pays 400 Bad Request
400 Error tipográfico en el nombre del parámetro (clave no reconocida) 400 Bad Request

Probar la API

Click the button below to test this endpoint live in your browser.

Abrir consola

Ver también

Relacionada con

¿Fue útil este artículo?

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