Address API - Einzeilen-Autocomplete (Classic)

Support DQE
Support DQE
  • Aktualisiert
Autovervollständigung - Einzeilig - Standard-API

SINGLEV2 und COMPLV2 sind die klassischen DQE-Endpunkte für die einzeilige Adressautovervollständigung: Geben Sie einen beliebigen Teil einer Adresse in ein Feld ein, um sortierte Vorschläge zu erhalten, und rufen Sie anschließend verfügbare Gebäudedetails ab, sobald ein Ergebnis ausgewählt wurde.

Zweistufiger Autovervollständigungs-Ablauf

Der Nutzer tippt frei; SINGLEV2 liefert in Echtzeit sortierte Vorschläge. Nach der Auswahl ruft COMPLV2 Gebäudeoptionen ab (Gebäudenamen, Stockwerke, Wohnungsnummern).

Groß-/Kleinschreibung der Ausgabe - Die Groß-/Kleinschreibung folgt der postalischen Norm des jeweiligen Landes.

SINGLEV2

Standard-API-Endpunkt für die Adressautovervollständigung. Akzeptiert teilweise oder vollständige Freitexteingaben und liefert eine sortierte Liste von Adressvorschlägen. Jeder Vorschlag enthält eine IDVoie, die als Eingabe für COMPLV2 zur Gebäude-Vervollständigung verwendet wird.

Wann SINGLEV2 verwenden Verwenden Sie diesen Endpunkt, um Adressen vorzuschlagen, während der Nutzer tippt. Er verarbeitet Teileingaben (Straßenfragment, Postleitzahl, Stadtname) und liefert alle strukturierten Felder zum Ausfüllen eines Formulars. Um zu prüfen, ob eine bereits vollständige Adresse gültig und zustellbar ist, verwenden Sie RNVP stattdessen. Integrationsleitfaden ansehen →

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.
Die Adresseingabe muss URL-codiert sein - z. B. l'église → l%27%C3%A9glise.
GEThttps://{SERVER_ADDRESS}/SINGLEV2/?Adresse={INPUT}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}

cURL-Beispiele

Frankreich - Teileingabe

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, mit 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/

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

cURL-Beispiel

Frankreich - Teileingabe

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)) }

Parameter

Parameter Wert Beschreibung Pflicht/Optional
Licence {LICENCE_CODE} Ihr DQE-Lizenzschlüssel oder OAuth2-Token. Wenden Sie sich an den Support, falls Sie noch keinen haben. Pflicht
Adresse {INPUT} Freitext-Adresszeichenfolge, die vom Nutzer eingegeben wurde. Akzeptiert Teileingaben - Straßenfragment, Hausnummer, Postleitzahl oder Stadtname. Muss URL-codiert sein. Kein Pipe-Format erforderlich - die Zeichenfolge wird unverändert übergeben. Pflicht
Pays {COUNTRY_CODE} ISO-3166-1-Alpha-3-Ländercode für den Adresssuchbereich. Beispiel: FRA oder GBR. Pflicht
Taille {LENGTH} Maximale Zeichenlänge für zurückgegebene Adressvorschläge. Gilt nur für Adressen mit lateinischen Zeichen. Ein zu niedriger Wert kann Ergebnisse abschneiden. Standard: 38. Empfohlenes Minimum: 32. Optional
NbMax {NB} Maximale Anzahl zurückgegebener Adressvorschläge. Standard: 20. Optional
Version 1 Bei Einstellung auf 1 wird der Straßentyp aus dem Feld Voie extrahiert und in einem eigenen Feld TypeVoie zurückgegeben. Ohne diesen Parameter bleibt der Straßentyp Teil von Voie (z. B. RUE DE LA PAIX), und TypeVoie ist leer. Optional
Instance {INSTANCE} Wird bei diesem Endpunkt nicht in den Ergebnissen zurückgegeben - kann weggelassen werden. Optional
Langue {LANGUAGE} Filtert Ergebnisse nach Sprache/Schrift (z. B. JPN: JP = Kanji · JK = Katakana · EN = Romanisiert). Siehe Sprachleitfaden. Optional
Filter {FILTER} Nur Frankreich. Filtert CEDEX-Adressen: 1 alle Adressen; 2 nur Nicht-CEDEX; 3 nur CEDEX. Optional

Antwort

Bei Erfolg gibt die API ein JSON-Objekt zurück. Die Schlüssel sind Rangnummern von "1" bis "n", jeweils einem Dictionary mit Adressfeldern zugeordnet. Das erste Ergebnis ist die beste Übereinstimmung mit der Eingabe.

Fachliche Einordnung: Betrachten Sie die Antwort als eine sortierte Liste von Adressvorschlägen. "1" ist die beste Übereinstimmung; höhere Nummern sind alternative Kandidaten. Das Feld label enthält die anzeigefertige Zeichenfolge für Ihr Autovervollständigungs-Dropdown - alle anderen Felder liefern die strukturierten Komponenten zum Ausfüllen von Formularfeldern.
Schlüssel Beschreibung Frankreich International
label Anzeigefertige Zeichenfolge für ein Autovervollständigungs-Dropdown. Zahlen in [eckigen Klammern] zeigen an, dass die Nummer in den Referenzdaten nicht gefunden wurde. Siehe Feld Label - nur zur Anzeige für Nutzungshinweise.
Verwenden Sie label ausschließlich zum Befüllen des Vorschlags-Dropdowns - niemals um die Adresse zu speichern.Integrationsleitfaden ansehen →
String (255) String (255)
Voie Straßenname. String (38) String (150)
TypeVoie Straßentyp (z. B. RUE, AVENUE, BOULEVARD). Wird nur befüllt, wenn Version=1 gesetzt ist - in diesem Fall wird der Straßentyp aus Voie entfernt und stattdessen hier zurückgegeben. String (20) String (20)
Numero Vollständige Hausnummer einschließlich etwaiger Zusätze (bis, ter usw.). String (38) String (38)
Num Alias für Numero. Aus Kompatibilitätsgründen beibehalten - bevorzugen Sie Numero. String (38) String (38)
NumSeul Nur die Hausnummer, ohne etwaige Zusätze (bis, ter usw.). String (4) String (4)
NbNumero
auch: Nbnumero
Wenn die angefragte Hausnummer nicht gefunden wird oder fehlt, wird die Gesamtzahl gültiger Hausnummern für diese Straße zurückgegeben. Kann bei manchen internationalen Adressen eine leere Zeichenfolge sein, wenn diese Daten nicht verfügbar sind. String String
valid_num Gültigkeitsindikator für die Hausnummer. 1, wenn die Nummer in den Referenzdaten existiert, 0 andernfalls. Gibt bei manchen internationalen Adressen eine leere Zeichenfolge zurück, wenn keine Validierung auf Hausnummernebene verfügbar ist. Integer Integer
ListeNumero Durch Semikolon getrennte Liste gültiger Hausnummern. Enthält alle Nummern, wenn keine Nummer eingegeben wurde oder die eingegebene Nummer nicht gefunden wird; andernfalls enthält sie nur die übereinstimmende Nummer. String (1024) String (1024)
IDVoie
auch: CodeVoie
Eindeutige Straßenkennung. Wird als Eingabe für COMPLV2 verwendet. CodeVoie wird aus Kompatibilitätsgründen beibehalten. Bevorzugen Sie IDVoie bei neuen Integrationen. String (20) String (20)
CodePostal Postleitzahl der Adresse. String (10) String (10)
Localite Stadtname. String (38) String (50)
Cedex Gibt an, ob die Adresse eine CEDEX-Adresse ist. String String
SousLocalite Unterbezirk (Stadtteil, Bezirk, Vorort). Leer String (50)
LieuDit Benannter Ortsteil oder Weiler (Frankreich) oder entsprechendes Feld auf Bezirksebene (international). Verfügbarkeit variiert je nach Land. String (38) String (50)
IDLocalite Eindeutige Stadtkennung (INSEE-Code für Frankreich). String (20) String (20)
Insee Eindeutiger Code der Stadt. String Nicht verfügbar
Province ISO-Code des Bundeslands bzw. der Verwaltungsregion (z. B. 17 für Japan). Nicht verfügbar String (50)
Region1 ISO-Bezeichnung des Bundeslands bzw. der Verwaltungsregion (z. B. ISHIKAWA für Japan). Nicht verfügbar String (50)
Region2 Landkreis oder vergleichbare Verwaltungsebene. Nicht verfügbar String (50)
Region3 Landkreis oder vergleichbar (alternative Ebene). Nicht verfügbar String (50)
Region4 Zusätzliche regionale oder administrative Informationen. Nicht verfügbar String (50)
Suburb Vorort oder Stadtteil. Nicht verfügbar String (50)
Complement Zusätzliche Adressinformationen (Gebäudename, Stockwerk usw.). Verfügbarkeit variiert je nach Land - siehe Integrationsleitfaden. Leer String (50)
Complement2 Zweite Gebäudezusatzzeile. Wird bei bestimmten internationalen Adressen befüllt, wenn sowohl eine Gebäudekennung als auch eine Gebäudeteil-Kennung (Stockwerk, Wohnung, Suite) als separate Einträge vorliegen, sowie bei bestimmten organisatorischen CEDEX-Adressen. Nicht verfügbar String (50)
Entreprise Mit der Adresse verknüpfter Firmenname. String (38) String (38)
Thoroughfare Untergeordnete Straße. Nicht verfügbar Nur UK
Pays ISO-3166-1-Alpha-3-Ländercode. String (3) String (3)
Latitude Geokoordinaten der übereinstimmenden Adresse. Nicht für alle Länder verfügbar - siehe Abdeckung. Nicht verfügbar String
Longitude Geokoordinaten der übereinstimmenden Adresse. Nicht für alle Länder verfügbar - siehe Abdeckung. Nicht verfügbar String
Altitude Höhe der eingegebenen Adresse in Metern. String String
Saisie Normalisierte Form der übermittelten Adresse. Kann sich in Groß-/Kleinschreibung oder Formatierung von der Originaleingabe unterscheiden. Wird nicht für alle Länder befüllt. String (255) String (255)
Instance Internes Feld. Leer String

Befüllt bei Version=1

Straße ohne Hausnummer ausgewählt?Integrationsleitfaden ansehen →

Antwortbeispiel

Vereinigtes Königreich - Eingabe "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": "" } }
Japan - Eingabe "三田", 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 }

Fehler

HTTP Fehlertyp Antwort-Body
400 Fehlend oder leer: Licence Bad Request Parameters empty fields
401 Ungültiger oder nicht autorisierter Lizenzschlüssel unauthorized_client
400 Fehlend oder leer: Adresse Bad Request Parameters empty fields
400 Fehlend oder leer: Pays Bad Request Parameters empty fields
400 Nicht erkannter Parametername (z. B. Tippfehler in Adresse) Bad Request Parameters empty fields

API testen

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

Konsole öffnen

COMPLV2

Zweiter Schritt des einzeiligen Ansatzes. Liefert anhand einer aus einem SINGLEV2-Ergebnis ausgewählten Straßenkennung und Hausnummer eine Liste von Gebäudevorschlägen: Gebäudenamen, Stockwerke, Firmennamen, Wohnungsnummern.

Wann COMPLV2 verwenden Verwenden Sie COMPLV2, nachdem der Nutzer eine Straße aus SINGLEV2 ausgewählt hat. Übergeben Sie IDVoie und IDNum, die von SINGLEV2 zurückgegeben wurden, um detaillierte Gebäudeoptionen zu erhalten. Wenn für die Adresse keine Gebäudeoptionen existieren, werden keine nummerierten Einträge zurückgegeben.

Anfrage

Sowohl GET als auch POST werden unterstützt.

{SERVER_ADDRESS} und {LICENCE_CODE} werden von DQE bei der Kontoerstellung bereitgestellt. {STREET_ID} wird aus der SINGLEV2-Antwort gewonnen. Wenden Sie sich an Ihren DQE-Kundenbetreuer, um diese Zugangsdaten zu erhalten.
GEThttps://{SERVER_ADDRESS}/COMPLV2/?IDVoie={STREET_ID}&IDNum={NUM}&Pays={COUNTRY_CODE}&Licence={LICENCE_CODE}

cURL-Beispiel

Frankreich

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/

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

cURL-Beispiel

Frankreich

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)) }

Parameter

Parameter Wert Beschreibung Pflicht/Optional
Licence {LICENCE_CODE} Ihr DQE-Lizenzschlüssel oder OAuth2-Token. Wenden Sie sich an den Support, falls Sie noch keinen haben. Pflicht
IDVoie {STREETID} Eindeutige Straßenkennung, die von SINGLEV2 im Feld IDVoie oder CodeVoie zurückgegeben wird. Pflicht
IDNum {STREETNUMBER} Vom Nutzer ausgewählte Hausnummer - entspricht dem Feld Numero aus der SINGLEV2-Antwort. Pflicht
Pays {COUNTRY_CODE} ISO-3166-1-Alpha-3-Ländercode für den Adresssuchbereich. Beispiel: FRA oder GBR. Pflicht
Taille {LENGTH} Maximale Zeichenlänge für zurückgegebene Adressfelder. Gilt nur für Adressen mit lateinischen Zeichen. Ein zu niedriger Wert kann Ergebnisse abschneiden. Standard: 38. Empfohlenes Minimum: 32. Optional
Filter {FILTER} Nur für die USA: Filtert Gebäudezusatz-Vorschläge basierend auf der Nutzereingabe. Übergeben Sie den eingegebenen Teil des Zusatztyps (z. B. FL, STE, RM) - es werden nur Zusatzeinträge zurückgegeben, die diesem Wert entsprechen. Optional

Antwort

Bei Erfolg gibt die API ein JSON-Objekt mit zwei Arten von Schlüsseln zurück. Nummerierte Schlüssel ("1" bis "n") stehen jeweils für eine Gebäudeoption. Geografische Schlüssel auf oberster Ebene (Latitude, Longitude) liefern die Geokoordinaten der übereinstimmenden Adresse. Die Geokodierungsabdeckung variiert je nach Land - siehe Geografische Abdeckung.

Fehlende Gebäudedaten sind kein Fehler.Integrationsleitfaden ansehen →
Schlüssel Beschreibung Frankreich International
Nummerierte Einträge ("1" bis "n") - einer pro Gebäudeoption
Batiment Zusätzliche Adressbezeichnung (Gebäudename, Stockwerk, Wohnung usw.). String (38) String (150)
CodePostal Für diese Untereinheit spezifische Postleitzahl, sofern verfügbar (z. B. ZIP+4 für die USA). Nicht verfügbar String (10)
Geografische Felder auf oberster Ebene
Latitude Geokoordinaten der übereinstimmenden Adresse. Nicht für alle Länder verfügbar - siehe Abdeckung. String String
Longitude Geokoordinaten der übereinstimmenden Adresse. Nicht für alle Länder verfügbar - siehe Abdeckung. String String
Oberste Ebene - optional, nur Frankreich (erfordert Iris/Ilot-Abonnement)
Status_IrisIlot Quelle der IRIS-/Ilot-Codes (z. B. INSEE). String (5) Nicht verfügbar
ilot Îlot-Code. String (9) Nicht verfügbar
iris IRIS-Code. String (9) Nicht verfügbar

Antwortbeispiel

Frankreich
{ "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" }

Fehler

HTTP Fehlertyp Antwort-Body
400 Fehlend oder leer: Licence Bad Request Parameters empty fields
401 Ungültiger oder nicht autorisierter Lizenzschlüssel unauthorized_client
400 Fehlend: IDVoie 400 Bad Request
400 Fehlend: Pays 400 Bad Request
400 Tippfehler im Parameternamen (nicht erkannter Schlüssel) 400 Bad Request

API testen

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

Konsole öffnen

Siehe auch

Verknüpfung mit

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich