Freigeben über


Überprüfen einer Adresse

anwendbar auf: Partnerzentrum | Partnerzentrum betrieben von 21Vianet | Partnerzentrum für die Microsoft-Cloud für die US-Regierung

In diesem Artikel wird erläutert, wie Sie eine Adresse mithilfe der Adressüberprüfungs-API überprüfen.

Die Adressüberprüfungs-API sollte nur für die Vorabvalidierung von Kundenprofilupdates verwendet werden. Basierend auf dem API-Antwortstatus sollte der Aufrufer die am besten geeignete Adresse für den Kunden auswählen.

Voraussetzungen

Anmeldeinformationen wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.

C#

Um eine Adresse zu überprüfen, instanziieren Sie zuerst ein neues Address-Objekt und füllen Sie sie mit der zu überprüfenden Adresse auf. Rufen Sie dann eine Schnittstelle zu Validations-Vorgängen aus der IAggregatePartner.Validations-Eigenschaft ab, und rufen Sie die IsAddressValid-Methode mit dem Adressobjekt auf.

IAggregatePartner partnerOperations;

// Create an address to validate.
Address address = new Address()
{
    AddressLine1 = "One Microsoft Way",
    City = "Redmond",
    State = "WA",
    PostalCode = "98052",
    Country = "US"
};

// Validate the address.
AddressValidationResponse result = partnerOperations.Validations.IsAddressValid(address);

// If the request completes successfully, you can inspect the response object.

// See the status of the validation.
Console.WriteLine($"Status: {addressValidationResult.Status}");

// See the validation message returned.
Console.WriteLine($"Validation Message Returned: {addressValidationResult.ValidationMessage ?? "No message returned."}");

// See the original address submitted for validation.
Console.WriteLine($"Original Address:\n{this.DisplayAddress(addressValidationResult.OriginalAddress)}");

// See the suggested addresses returned by the API, if any exist.
Console.WriteLine($"Suggested Addresses Returned: {addressValidationResult.SuggestedAddresses?.Count ?? "None."}");

if (addressValidationResult.SuggestedAddresses != null && addressValidationResult.SuggestedAddresses.Any())
{
    addressValidationResult.SuggestedAddresses.ForEach(a => Console.WriteLine(this.DisplayAddress(a)));
}

// Helper method to pretty-print an Address object.
private string DisplayAddress(Address address)
{
    StringBuilder sb = new StringBuilder();

    foreach (var property in address.GetType().GetProperties())
    {
        sb.AppendLine($"{property.Name}: {property.GetValue(address) ?? "None to Display."}");
    }

    return sb.ToString();
}

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
POST {baseURL}/v1/validations/address HTTP/1.1

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center REST-Header.

Anforderungstext

In dieser Tabelle werden die erforderlichen Eigenschaften im Anforderungstext beschrieben.

Name Typ Erforderlich* Beschreibung
Adresszeile 1 Schnur Y Die erste Zeile der Adresse.
Addresszeile2 Schnur N Die zweite Zeile der Adresse. Diese Eigenschaft ist optional.
city Schnur Y Die Stadt.
Staat Schnur Y Das Land/die Region.
Postleitzahl Schnur Y Die Postleitzahl.
country Schnur Y Der zweistellige ISO-Alpha-2-Ländercode.

* Erforderliche Eigenschaften können sich je nach Land oder Region ändern.

Details zur Antwort

Die Antwort gibt eine der folgenden Statusmeldungen zurück. Wenn die Statusantwort nicht überprüft oder verifiedShippable ist, überprüfen Sie Ihre eingegebene Adresse und/oder vorgeschlagene Adresse. Es liegt bei dem Anrufer, die am besten geeignete Adresse für den Kunden auszuwählen.

Status Beschreibung Anzahl der zurückgegebenen vorgeschlagenen Adressen Empfehlung zur Statusantwort
Versandbereit bestätigt Die Adresse wurde überprüft und an diese kann versendet werden. Ledig Fahren Sie mit der überprüften Adresse fort.
Verifiziert Die Adresse wird überprüft. Ledig Fahren Sie mit der überprüften Adresse fort.
Interaktion erforderlich Die vorgeschlagene Adresse wird erheblich geändert und erfordert eine Benutzerbestätigung. Ledig Fahren Sie mit der benutzerbestätigten Adresse fort.
Straßenabschnitt Die angegebene Straße in der Adresse ist unvollständig und benötigt weitere Informationen. Vielfaches – maximal drei Fahren Sie mit der benutzerbestätigten Adresse fort.
Räumlichkeiten teilweise Die angegebenen Räumlichkeiten (Gebäudenummer, Suitenummer und andere) sind teilweise und benötigen weitere Informationen. Vielfaches – maximal drei Fahren Sie mit der benutzerbestätigten Adresse fort.
Multiple Es gibt mehrere Felder, die teilweise in der Adresse enthalten sind (möglicherweise einschließlich Straßenteil und Gebäudeteil). Vielfaches – maximal drei Fahren Sie mit der benutzerbestätigten Adresse fort.
Nichts Die Adresse ist falsch. Nichts Fahren Sie mit der benutzerbestätigten Adresse fort.
Nicht überprüft Die Adresse konnte nicht über den Überprüfungsprozess gesendet werden. Nichts Fahren Sie mit der benutzerbestätigten Adresse fort.

Hinweis

Vorgeschlagene Adressen sind nicht garantiert und werden nach Bestem Vermögen bereitgestellt.

Beispielanfrage

# "VerifiedShippable" Request Example

POST https://api.partnercenter.microsoft.com/v1/validations/address HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <token>
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: eb55c2b8-6f4b-4b44-9557-f76df624b8c0
Host: api.partnercenter.microsoft.com
Content-Length: 137
X-Locale: en-US

{
    "AddressLine1": "1 Microsoft Way",
    "City": "Redmond",
    "State": "WA",
    "PostalCode": "98052",
    "Country": "US"
}

# "StreetPartial" Request Example

POST https://api.partnercenter.microsoft.com/v1/validations/address HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <token>
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: ee6cf74c-3ab5-48d6-9269-4a4b75bd59dc
Host: api.partnercenter.microsoft.com
Content-Length: 135
X-Locale: en-US

{
    "AddressLine1": "Microsoft Way",
    "City": "Redmond",
    "State": "WA",
    "PostalCode": "98052",
    "Country": "US"
}

REST-Antwort

Bei erfolgreicher Ausführung gibt die Methode ein AddressValidationResponse-Objekt im Antworttext mit einem HTTP 200-Statuscode zurück. Ein Beispiel folgt.

Antworterfolgs- und Fehlercodes

Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler und Debugginginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um diesen Code, fehlertyp und andere Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.

Antwortbeispiel

# "VerifiedShippable" Response Example

HTTP/1.1 200 OK
Date: Mon, 17 May 2021 23:19:19 GMT
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: eb55c2b8-6f4b-4b44-9557-f76df624b8c0
X-Locale: en-US
 
{
    "originalAddress": {
        "country": "US",
        "city": "Redmond",
        "state": "WA",
        "addressLine1": "1 Microsoft Way",
        "postalCode": "98052"
    },
    "suggestedAddresses": [
        {
            "country": "US",
            "city": "Redmond",
            "state": "WA",
            "addressLine1": "1 Microsoft Way",
            "postalCode": "98052-8300"
        }
    ],
    "status": "VerifiedShippable"
}

# "StreetPartial" Response Example

HTTP/1.1 200 OK
Date: Mon, 17 May 2021 23:34:08 GMT
Content-Type: application/json; charset=utf-8
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: ee6cf74c-3ab5-48d6-9269-4a4b75bd59dc
X-Locale: en-US
 
{
    "originalAddress": {
        "country": "US",
        "city": "Redmond",
        "state": "WA",
        "addressLine1": "Microsoft Way",
        "postalCode": "98052"
    },
    "suggestedAddresses": [
        {
            "country": "US",
            "city": "Redmond",
            "state": "WA",
            "addressLine1": "1 Microsoft Way",
            "postalCode": "98052-6399"
        }
    ],
    "status": "StreetPartial",
    "validationMessage": "Address field invalid for property: 'Region', 'PostalCode', 'City'"
}