Wenn Sie eine Adresse mithilfe der Address Validation API validieren möchten, rufen Sie die Methode validAddress (REST) oder ValidateAddress (gRPC) auf. In dieser Dokumentation wird REST als Beispiel verwendet, der Ansatz ähnelt aber gRPC.
Nachdem Sie eine Adresse validiert haben, können Sie optional Informationen zum Ergebnis der Adressbestätigung an Google zurückgeben, indem Sie die Methode ProvideValidationFeedback (REST) oder ProvideValidationFeedback (gRPC) aufrufen. Weitere Informationen und Beispiele finden Sie unter Feedback zur Adressüberprüfung bereitstellen.
Anfrage zur Adressbestätigung
Prüfen Sie die Adresse. Dazu senden Sie eine POST
-Anfrage an die Methode validAddress:
https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY
Übergeben Sie einen JSON-Textkörper an die Anfrage, mit der die Adresse für die Validierung definiert wird:
curl -X POST -d '{
"address": {
"regionCode": "US",
"locality": "Mountain View",
"addressLines": ["1600 Amphitheatre Pkwy"]
}
}' \
-H 'Content-Type: application/json' \
"https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY"
Das Feld address
im Anfragetext muss den Typ PostalAddress haben und muss mindestens einen Eintrag in addressLines
enthalten.
Das Feld
regionCode
ist optional. Wenn keine Angabe erfolgt, leitet die API die Region aus der Adresse ab. Für eine optimale Leistung empfehlen wir jedoch,regionCode
anzugeben, wenn Sie es kennen. Eine Liste der unterstützten Regionen finden Sie unter Unterstützte Regionen.Das Feld
address
darf maximal 280 Zeichen lang sein.
Optional die CASSTM-Funktion bei der Validierung einer Adresse aktivieren
Der United States Postal Service® (USPS®)1 verfügt über das Coding Accuracy Support System (CASSTM), um Anbieter von Adressbestätigungen zu unterstützen und zu zertifizieren. Ein CASS-zertifizierterTM Dienst, z. B. die Address Validation API, wurde bestätigt, weil er Informationen aus einer Adresse eintragen, standardisieren und aktualisieren kann, damit Sie die aktuelle und genaueste Adresse erhalten.
Für die Regionen „US“ und „PR“ können Sie optional die CASS-Verarbeitung aktivieren. Legen Sie dazu im Anfragetext enableUspsCass
auf true
fest.
Die besten Ergebnisse bei der Verwendung von CASS erhältst du, wenn du eine Adresse mit Straße und Hausnummer sowie Ort, Bundesland und Postleitzahl eingibst:
{
"address": {
"regionCode": "US",
"locality": "Mountain View",
"administrativeArea": "CA",
"postalCode": "94043",
"addressLines": ["1600 Amphitheatre Pkwy"]
},
"enableUspsCass": true
}
Sie können die vollständige Adresse auch als zwei Strings im Array addressLines
angeben:
{
"address": {
"regionCode": "US",
"addressLines": ["1600 Amphitheatre Pkwy", "Mountain View, CA, 94043"]
},
"enableUspsCass": true
}
Antwort zur Adressbestätigung
Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem HTTP-Statuscode 200 OK
und einem Antworttext, der Informationen zur validierten Adresse enthält.
Das Feld result
der Antwort enthält das Objekt ValidationResult. Dieses Objekt beinhaltet:
Das Feld
address
vom Typ Adresse mit ausführlichen Informationen zur Adresse.Das Feld
geocode
vom Typ Geocode mit Geocode-Informationen für die Adresse.Das Feld
verdict
vom Typ Verdict, das die Adresse und das Geocode-Ergebnis enthält.Das Feld
metadata
vom Typ AddressMetadata, das die Metadaten für die Adresse enthält.Ein
uspsData
-Feld vom Typ USPSData mit den USPS-Daten für die Adresse. Diese Daten sind nur für Adressen in den USA und Puerto Rico verfügbar.
Da in der folgenden Antwort addressComplete
auf true
gesetzt ist, gibt die Antwort an, dass diese Adresse vollständig gültig ist, sodass keine weitere Validierung erforderlich ist. Wenn die Antwort darauf hinweist, dass ein Teil der Adresse ungültig ist, bitten Sie den Nutzer, die Adresseingabe zu prüfen und zu bestätigen.
{
"result": {
"verdict": {
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
},
"address": {
"formattedAddress": "1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA",
"postalAddress": {
"regionCode": "US",
"languageCode": "en",
"postalCode": "94043-1351",
"administrativeArea": "CA",
"locality": "Mountain View",
"addressLines": [
"1600 Amphitheatre Pkwy"
]
},
"addressComponents": [
{
"componentName": {
"text": "1600",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "Amphitheatre Parkway",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "Mountain View",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "USA",
"languageCode": "en"
},
"componentType": "country",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "94043"
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "CA",
"languageCode": "en"
},
"componentType": "administrative_area_level_1",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1351"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
]
},
"geocode": {
"location": {
"latitude": 37.4223878,
"longitude": -122.0841877
},
"plusCode": {
"globalCode": "849VCWC8+X8"
},
"bounds": {
"low": {
"latitude": 37.4220699,
"longitude": -122.084958
},
"high": {
"latitude": 37.4226618,
"longitude": -122.0829302
}
},
"featureSizeMeters": 116.538734,
"placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g",
"placeTypes": [
"premise"
]
},
"metadata": {
"business": false,
"poBox": false
},
"uspsData": {
"standardizedAddress": {
"firstAddressLine": "1600 AMPHITHEATRE PKWY",
"cityStateZipAddressLine": "MOUNTAIN VIEW CA 94043-1351",
"city": "MOUNTAIN VIEW",
"state": "CA",
"zipCode": "94043",
"zipCodeExtension": "1351"
},
"deliveryPointCode": "00",
"deliveryPointCheckDigit": "0",
"dpvConfirmation": "Y",
"dpvFootnote": "AABB",
"dpvCmra": "N",
"dpvVacant": "N",
"dpvNoStat": "Y",
"carrierRoute": "C909",
"carrierRouteIndicator": "D",
"postOfficeCity": "MOUNTAIN VIEW",
"postOfficeState": "CA",
"fipsCountyCode": "085",
"county": "SANTA CLARA",
"elotNumber": "0103",
"elotFlag": "A",
"addressRecordType": "S"
}
},
"responseId": "de22bed8-7f52-44cb-8526-faceac57150a"
}
Aktualisierte Adresse validieren
In einigen Fällen müssen Sie mehrere Anfragen an die Address Validation API für eine einzelne Adresse senden. Beispielsweise kann der Nutzer Änderungen oder Korrekturen an seiner Adresse vornehmen, nachdem er die Ergebnisse der ersten Validierung gesehen hat. Anschließend führen Sie eine zweite Validierung der aktualisierten Adresse durch.
Jeder Address Validation API-Aufruf gibt im Feld responseId
der Antwort einen eindeutigen Wert zurück. Wenn eine Adresse, die Sie prüfen möchten, noch einmal validiert werden muss, übergeben Sie die responseId
aus der ersten Validierungsantwort im Feld previousResponseId
für alle Folgeanfragen an die Address Validation API.
Wenn Sie das Feld previousResponseId
in die neue Anfrage einbeziehen, können Sie die Genauigkeit der API insgesamt verbessern.
Die obige Antwort enthält beispielsweise das Feld responseId
:
"responseId": "de22bed8-7f52-44cb-8526-faceac57150a"
Sie sollten dann die Adresse noch einmal validieren, indem Sie die Hausnummer von 1600 bis 1500 ändern. Wenn Sie die Adresse noch einmal validieren, fügen Sie das Feld previousResponseId
mit dem Wert von responseId
aus der ersten Antwort ein:
{ "address": { "regionCode" : "US", "locality" : "Mountain View", "addressLines" : ["1500 Amphitheatre Pkwy"] }, "previousResponseId": "de22bed8-7f52-44cb-8526-faceac57150a" }
Bei einer Anfrage mit CASS:
{ "address": { "regionCode" : "US", "locality" : "Mountain View", "addressLines" : ["1500 Amphitheatre Pkwy"] }, "previousResponseId": "de22bed8-7f52-44cb-8526-faceac57150a", "enableUspsCass": true }
Die Ergebnisse jedes nachfolgenden Aufrufs geben einen neuen Wert im Feld responseId
zurück. Übergeben Sie aber bei allen nachfolgenden Aufrufen der Adresse den Wert von responseId
aus der ersten Antwort im Feld previousResponseId
.
Fehlerbehandlung
Die Address Validation API gibt im Rahmen der Antwort auf einen Methodenaufruf Fehlermeldungen zurück. Wenn Sie beispielsweise den API-Schlüssel in der Anfrage weglassen, gibt die Methode Folgendes zurück:
{ "error": { "code": 403, "message": "The request is missing a valid API key.", "status": "PERMISSION_DENIED" } }
Wenn ein erforderlicher Textparameter fehlt, z. B. addressLines
, gibt die Methode Folgendes zurück:
{ "error": { "code": 400, "message": "Address lines missing from request.", "status": "INVALID_ARGUMENT" } }
Weitere Informationen zu Fehlern und zur Fehlerbehandlung finden Sie unter Fehler.
-
Die Google Maps Platform ist ein nicht exklusiver Lizenznehmer des United States Post Service®. Die folgenden Marken sind Eigentum des United States Post Service® und werden mit Genehmigung verwendet: United States Postal Service®, CASSTM, CASS CertifiedTM. ↩