Infer Frankreich
AlphaMögliche französische Adressen aus einem String vorschlagen.
https://api.pro6pp.nl/v2/infer/frÜbersicht
Resolves a single query string into complete or probable addresses and returns a list of ranked suggestions.
Each suggestion includes a stage indicating the current resolution step or completion status.
Stage meanings:
empty: returned on an empty query.mixed: settlement and street suggestions.postcode: postal code suggestions.street_number: street number suggestions.addition: premise suggestions.direct: full address suggestions, with or without a premise.final: a fully validated and structured address.
Street and settlement name matching:
- One or two characters match names from the start (prefix).
- Three or more characters match anywhere in the name:
gebouwalso findsKlokgebouw. - Matches are ranked by quality: the exact name first, then names the query starts, then matches beginning at a word boundary, then mid-word matches. Ties within a rank go to the name covering the most addresses.
- When the names containing the query leave suggestion slots free, close matches fill them below the exact matches, absorbing typos.
ParameterQuery-String
String to generate suggestions from.
- Beispiel
Gap, Avenue Jean Jaurès, 16 bis
Maximum number of suggestions to return. Must be between 1 and 1000 when provided; omitting the parameter uses the default page size.
- Min.
1- Max.
1000
Sort mixed city and street suggestions by relevance (default) or distance.
Distance sorting requires the Infer Extended (infer::location) capability.
Distance sorting uses lat and lng when provided. Otherwise, it uses the
approximate location derived from the request IP. If that location is
unavailable, suggestions are sorted by relevance.
- Standard
"relevance"- Einer von
relevancedistance
Latitude of the origin used for distance sorting. When providing coordinates,
include both lat and lng.
- Min.
-90- Max.
90
Longitude of the origin used for distance sorting. When providing coordinates,
include both lat and lng.
- Min.
-180- Max.
180
Antworten
| Feld | Typ | Beschreibung |
|---|---|---|
| cities | array of objectKann null sein | Settlements matching the query, returned only in the mixed stage when any match. |
| cities[].label | string | The settlement name. |
| cities[].exact | boolean | False for a fuzzy match; left out for an exact one |
| cities[].matched_value | string | The value a fuzzy match found, in lowercase |
| cities[].diff_positions | array of integer | The 0-based positions in the query that differ from the fuzzy match |
| stage | string | The current stage of address inference |
| streets | array of objectKann null sein | Streets matching the query, returned only in the mixed stage when any match. |
| streets[].label | string | The street name. |
| streets[].subtitle | string | The settlement the street lies in, with its postal code when it has one |
| streets[].count | stringKann null sein | How many settlements ("3 places") or postal codes ("2 postcodes") the street name occurs in, when more than one. |
| streets[].exact | boolean | False for a fuzzy match; left out for an exact one |
| streets[].matched_value | string | The value a fuzzy match found, in lowercase |
| streets[].diff_positions | array of integer | The 0-based positions in the query that differ from the fuzzy match |
| suggestions | array of object | Suggestions for the next part of the address; in the mixed stage, the matching settlements and streets in ranked order. |
| suggestions[].label | string | Human-readable label for the suggestion |
| suggestions[].subtitle | stringKann null sein | Additional context information |
| suggestions[].count | stringKann null sein | Number of results for this suggestion |
| suggestions[].value | string | object | Canonical selection string or structured address data for address-detail suggestions. |
| suggestions[].exact | boolean | False for a fuzzy match; left out for an exact one |
| suggestions[].matched_value | string | The value a fuzzy match found, in lowercase |
| suggestions[].diff_positions | array of integer | The 0-based positions in the query that differ from the fuzzy match |
{
"stage": "final",
"suggestions": [
{
"label": "Avenue Jean Jaurès, 16, bis, 05000, Gap",
"value": {
"addition": "bis",
"city": "Gap",
"lat": 44.55476,
"lng": 6.0742,
"postcode": "05000",
"street": "Avenue Jean Jaurès",
"street_number": 16
}
}
]
}Fehler
Felder einer Fehlerantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| error_id | string | The reason the request failed, such as |
| errors | array of object | One entry per problem found in the request. |
| errors[].message | string | A readable explanation of the problem, in English. |
| errors[].help | string | A link to the documentation section that covers the problem. |
| errors[].parameter | any | The parameter the problem is about. Usually its name; a list when several parameters are involved, or a name with the values to choose from when the request must select one. |
| errors[].value | any | The value the request sent for |
MISSING_PARAMETERA parameter that other parameters depend on is missing. errors has one entry per missing parameter.
A parameter that other parameters depend on is missing. errors has one entry per missing parameter.
{
"error_id": "MISSING_PARAMETER",
"errors": [
{
"message": "Required parameter lat is missing",
"help": "https://pro6pp.nl/docs/v2/redoc",
"parameter": "lat"
}
]
}INVALID_PARAMETER_TYPEA value has the wrong type, such as text for a number.
A value has the wrong type, such as text for a number.
{
"error_id": "INVALID_PARAMETER_TYPE",
"errors": [
{
"message": "parameter: lat has invalid 1,0, should be number",
"help": "https://pro6pp.nl/docs/v2/redoc",
"parameter": "lat"
}
]
}INVALID_VALUEA required parameter is missing, or a value is malformed, out of bounds or cannot be found.
A required parameter is missing, or a value is malformed, out of bounds or cannot be found.
{
"error_id": "INVALID_VALUE",
"errors": [
{
"message": "value is invalid",
"help": "https://pro6pp.nl/docs/v2/redoc",
"parameter": "postalCode",
"value": "invalid"
}
]
}UNAUTHORIZEDThe API key is missing, unknown, revoked or expired, its subscription is not active, the request does not match the key's allowlist, or the subscription does not include this call.
The API key is missing, unknown, revoked or expired, its subscription is not active, the request does not match the key's allowlist, or the subscription does not include this call.
{
"error_id": "UNAUTHORIZED",
"errors": [
{
"message": "No authorization token provided",
"help": "https://pro6pp.nl/docs/v2/redoc#section/Authentication"
}
]
}Codebeispiele
curl "https://api.pro6pp.nl/v2/infer/fr?query=Gap%2C+Avenue+Jean+Jaur%C3%A8s%2C+16+bis&authKey=YOUR_API_KEY"Wir ermutigen Sie, Beispielcode in der von Ihnen bevorzugten Sprache anzufordern.
Schritt für Schritt
Richten Sie ein Schnellformular ein, um die Frankreich Infer-Funktionalität auszuprobieren, indem Sie die folgenden Schritte ausführen.
Erstellen der HTML-Seite
Wir beginnen mit der Erstellung einer leeren HTML-Seite, die eine minimale Webseitenstruktur enthält. Erstellen Sie eine neue Datei
.htmlmit dem Namenpro6pp_frankreich_infer.html. Fügen Sie den folgenden Code zwischen den Tags<body>und</body>hinzu. Es fügt die Eingabefelder für die Adresseingabe hinzu.<form class="form" id="form"> <div>Call</div> <div> <label for="query">query:</label> <input id="query" class="query" placeholder="Gap, Avenue Jean Jaurès, 16 bis"/> <label for="limit">limit:</label> <input id="limit" class="limit" placeholder=""/> <label for="sort">sort:</label> <input id="sort" class="sort" placeholder=""/> <label for="lat">lat:</label> <input id="lat" class="lat" placeholder=""/> <label for="lng">lng:</label> <input id="lng" class="lng" placeholder=""/> </div> <div> <span style="color: red" class="message"></span> </div> <div> <button type="submit">Submit</button> </div> <br /> <div>Response</div> <br /> <div>Full Response</div> <pre class="jsonResponse"></pre> </form>Interaktion hinzufügen
Fügen Sie den folgenden JavaScript-Code in eine separate
pro6pp_frankreich_infer.js-Datei ein. Die IDs und Klassennamen der HTML-Elemente sollten mit den in dieser JavaScript-Datei angegebenen übereinstimmen, um die richtigen Ergebnisse zu erhalten.document.addEventListener("DOMContentLoaded", function() { const pro6ppAuthKey = "AUTH_KEY"; // Replace with your actual authorization key let messageSpan = document.querySelector(".message"); let jsonResponseSpan = document.querySelector(".jsonResponse"); const BASE_URL = "https://api.pro6pp.nl/v2"; function fetchAddress(authKey) { const queryParams = { query: document.getElementById("query").value, authKey: authKey }; const optionalQueryParams = [ "limit", "sort", "lat", "lng", ]; for (const name of optionalQueryParams) { const value = document.getElementById(name).value; if (value !== "") { queryParams[name] = value; } } let encodedUrl = new URL(`${BASE_URL}/infer/fr`); encodedUrl.search = new URLSearchParams(queryParams); fetch(encodedUrl) .then(async (response) => { const data = await response.json(); if (data) { messageSpan.textContent = ""; jsonResponseSpan.textContent = JSON.stringify(data, null, 2); } }) .catch((error) => { console.error("Error fetching: ", error); messageSpan.textContent = error.message; }); } const form = document.getElementById("form"); form.onsubmit = function (event) { event.preventDefault(); fetchAddress(pro6ppAuthKey); } });Umsetzung in die Praxis
Verknüpfen Sie die JavaScript-Datei innerhalb des
pro6pp_frankreich_infer.htmldirekt vor dem Schließen des</body>-Tags.... <script src="pro6pp_frankreich_infer.js"></script> </body> </html>Um auf den Pro6PP-Webdienst zuzugreifen, müssen Sie Ihren persönlichen Autorisierungsschlüssel anfordern. Dieser Schlüssel wird Ihnen direkt nach der Anmeldung per E-Mail zugeschickt. Ersetzen Sie den obigen Platzhalter
AUTH_KEYdurch Ihren persönlichen Autorisierungsschlüssel.Wenn Sie noch kein Konto haben, melden Sie sich für einen kostenlosen 2 Monate Test an. Nachdem Sie Ihr Konto erstellt haben, gehen Sie zu Ihren Abonnementdetails und kopieren Sie Ihren
AUTH_KEY. Sie benötigen diesen Schlüssel, um Ihre Anfragen zu authentifizieren.In Aktion sehen
Wenn Sie die vorherigen Schritte abgeschlossen haben, ist es an der Zeit, das Formular lokal in Ihrem Browser auszuführen. Sie sollten nun zwei Dateien im selben Ordner auf Ihrem Computer haben:
pro6pp_frankreich_infer.html- die HTML-Seite mit dem Formular.pro6pp_frankreich_infer.js- die JavaScript-Datei, die die Interaktion steuert.
Sie können die HTML-Datei nun in Ihrem Browser öffnen, indem Sie einfach in Ihrem Datei-Explorer (z. B. Finder unter macOS oder Datei-Explorer unter Windows) auf die Datei doppelklicken. Alternativ können Sie die Datei auch manuell im Browser mit dem vollständigen
file:///-Pfad öffnen. Zum Beispiel:file:///C:/Users/YourName/Documents/pro6pp_frankreich_infer.html file:///Users/yourname/Desktop/pro6pp_frankreich_infer.htmlSobald die Seite geöffnet ist, geben Sie die Daten in die Formularfelder ein und klicken Sie auf Senden, um die API-Antwort im Abschnitt „Vollständige Antwort“ anzuzeigen.