Udostępnij za pośrednictwem


Weryfikowanie adresu

Dotyczy: Centrum partnerskie | Centrum partnerskie obsługiwane przez firmę 21Vianet | Centrum partnerskie dla chmury firmy Microsoft dla instytucji rządowych USA

W tym artykule wyjaśniono, jak zweryfikować adres przy użyciu interfejsu API weryfikacji adresów.

Interfejs API sprawdzania poprawności adresów powinien być używany tylko do prewalidacji aktualizacji profilu klienta. Na podstawie stanu odpowiedzi interfejsu API obiekt wywołujący powinien wybrać najbardziej odpowiedni adres dla klienta.

Warunki wstępne

Poświadczenia, jak opisano w uwierzytelnianiu Centrum partnerskiego. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.

C#

Aby zweryfikować adres, najpierw utwórz wystąpienie nowego obiektu Address i wypełnij go adresem w celu zweryfikowania. Następnie pobierz interfejs w celu operacje weryfikacji z właściwości IAggregatePartner.Validations i wywołaj metodę IsAddressValid z obiektem adresu.

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

Żądanie REST

Składnia żądania

Metoda Identyfikator URI żądania
POST {baseURL}/v1/validations/address HTTP/1.1

Nagłówki żądań

Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.

Treść żądania

W tej tabeli opisano wymagane właściwości w treści żądania.

Nazwa Typ Wymagane* Opis
Adres linia 1 struna Y Pierwszy wiersz adresu.
dodatkowa_linia_adresu struna N Drugi wiersz adresu. Ta właściwość jest opcjonalna.
miasto struna Y Miasto.
stan struna Y Stan.
kod pocztowy struna Y Kod pocztowy.
kraj struna Y Dwuznaczny kod kraju ISO alfa-2.

* Wymagane właściwości mogą ulec zmianie w zależności od kraju lub regionu.

Szczegóły odpowiedzi

Odpowiedź zwraca jeden z następujących komunikatów o stanie. Jeśli odpowiedź na stan nie jest Zweryfikowany lub Gotowy do wysyłki, przejrzyj wprowadzony lub sugerowany adres. To osoba dzwoniąca wybiera najbardziej odpowiedni adres dla klienta.

Stan Opis Liczba zwróconych sugerowanych adresów Zalecenie dotyczące reakcji na status
Zweryfikowano możliwość wysyłki Adres jest zweryfikowany i można na niego wysyłać przesyłki. Singiel Postępuj ze zweryfikowanym adresem.
Zweryfikowano Adres jest weryfikowany. Singiel Kontynuuj z użyciem zweryfikowanego adresu.
Wymagana interakcja Sugerowany adres jest znacznie zmieniony i wymaga potwierdzenia użytkownika. Pojedynczy Przejdź do adresu potwierdzonego przez użytkownika.
Fragment ulicy Dana ulica w adresie jest częściowa i potrzebuje więcej informacji. Wielokrotność — maksymalnie trzy Przejdź do adresu potwierdzonego przez użytkownika.
Pomieszczenia częściowe Podane lokale (numer budynku, numer apartamentu i inne) są częściowe i wymagają dodatkowych informacji. Wiele — maksymalnie trzy Przejdź do adresu potwierdzonego przez użytkownika.
Wielokrotny Istnieje wiele pól, które są niekompletne w adresie (potencjalnie w tym także niepełne dane dotyczące ulicy i niepełne dane dotyczące lokalu). Wielokrotność — maksymalnie trzy Przejdź do adresu potwierdzonego przez użytkownika.
Żaden Adres jest niepoprawny. Żaden Kontynuuj wprowadzenie potwierdzonego adresu użytkownika.
Nie zweryfikowano Nie można wysłać adresu za pośrednictwem procesu weryfikacji. Żaden Przejdź do adresu potwierdzonego przez użytkownika.

Przykład żądania

# "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"
}

Odpowiedź REST

W przypadku powodzenia metoda zwraca obiekt AddressValidationResponse w treści odpowiedzi z kodem stanu HTTP 200 . Poniżej przedstawiono przykład.

Kody sukcesu i błędów odpowiedzi

Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów REST Centrum partnerskiego.

Przykład odpowiedzi

# "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'"
}