Ortsdetails
Alles, was Sie brauchen, sobald der Nutzer einen Vorschlag auswählt
Der Endpunkt /v1/places/details nimmt die id eines Autovervollständigungs-Vorschlags entgegen und liefert den vollständigen Datensatz: die gesamte Hierarchie, das Postleitzahlformat des Landes und die Daten, die ein Formular üblicherweise als Nächstes braucht — Telefonvorwahl, Währung, Zeitzonen.
Endpunkt
GET https://api.countrydataapi.com/v1/places/details
Query-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
apikey |
string | Ja | Ihr API-Authentifizierungsschlüssel |
id |
string | Ja | Die von /v1/places/autocomplete zurückgegebene id |
type |
string | Ja | country, state oder city — der type des Vorschlags |
lang |
string | Nein | Sprache der zurückgegebenen Namen. Standard: en |
sessiontoken |
string | Nein | Der in der Autovervollständigung verwendete Sitzungstoken. Macht diesen Aufruf kostenlos |
Anfragebeispiel
curl "https://api.countrydataapi.com/v1/places/details?apikey=ihr-api-schluessel&id=66c7a6c9e4bda21f4ab1a0f1&type=city&lang=de"
JavaScript
async function getDetails(suggestion, sessionToken) {
const params = new URLSearchParams({
apikey: 'ihr-api-schluessel',
id: suggestion.id,
type: suggestion.type,
lang: 'de',
sessiontoken: sessionToken,
});
const response = await fetch(
`https://api.countrydataapi.com/v1/places/details?${params}`
);
const { place } = await response.json();
return place;
}
TypeScript-SDK
const { place } = await api.places.details({
id: suggestion.id,
type: suggestion.type,
sessiontoken: session,
});
place.components.country?.phone_code; // "+34"
place.postal.regex; // "^\\d{5}$"
Antwortformat
{
"success": true,
"place": {
"id": "66c7a6c9e4bda21f4ab1a0f1",
"type": "city",
"name": "Madrid",
"description": "Madrid, Autonome Gemeinschaft Madrid, Spanien",
"components": {
"city": { "id": "66c7a6c9e4bda21f4ab1a0f1", "name": "Madrid" },
"state": { "id": "66c7a6c9e4bda21f4ab10a22", "name": "Autonome Gemeinschaft Madrid" },
"country": {
"id": "66c7a6c9e4bda21f4ab10ef2",
"name": "Spanien",
"iso2": "ES",
"iso3": "ESP",
"phone_code": "+34",
"flag": "🇪🇸"
}
},
"postal": {
"format": "#####",
"regex": "^\\d{5}$",
"example": "12345"
},
"location": null,
"country_info": {
"currencies": [{ "code": "EUR", "name": "Euro", "symbol": "€" }],
"languages": ["Spanisch"],
"timezones": ["UTC+01:00"],
"continent": "EU",
"region": "Europe"
}
},
"tokens_used": 0,
"remaining_tokens": 4871
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
place.components |
object | Vollständige Hierarchie: city, state, country |
place.postal.format |
string | Vorlage: # ist eine Ziffer, @ ist ein Buchstabe |
place.postal.regex |
string | Offizielles Postleitzahlmuster des Landes |
place.postal.example |
string | Beispielwert, aus format erzeugt und gegen regex geprüft |
place.location |
object | Koordinaten — siehe Hinweis unten |
place.country_info |
object | Währungen, Sprachen, Zeitzonen, Kontinent und Region |
Zu location
location ist nur bei type=country gefüllt und enthält dort den Mittelpunkt des Landes sowie "precision": "country".
Für Bundesländer und Städte ist es null. Der Datenbestand ist administrativ und enthält keine Koordinaten je Stadt; den Landesmittelpunkt als Stadt auszugeben wäre schlechter, als gar nichts zurückzugeben. Wenn Sie Koordinaten auf Stadtebene oder Geokodierung brauchen, ist dieser Endpunkt nicht das richtige Werkzeug.
Token-Verbrauch
- 0 Token, wenn
sessiontokenzu einer offenen Autovervollständigungs-Sitzung gehört. Die Sitzung wurde bereits beim ersten Tastendruck berechnet, und dieser Aufruf schließt sie. - 1 Token in allen anderen Fällen.
Ein vollständiges Adressfeld — beliebig viele Tastendrücke plus die abschließende Detailabfrage — kostet damit einen einzigen Token.
Fehlerantwort
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "No city found with id \"abc\".",
"status": 404
},
"message": "No city found with id \"abc\"."
}
Verwandte Endpunkte
- GET /v1/places/autocomplete - Suchen, während der Nutzer tippt
- GET /v1/places/validate - Eine vollständige Adresse validieren
- GET /v1/places/postal-format - Postleitzahlformat pro Land