Ověření adresy

Platí pro: Partnerské centrum | Partnerské centrum provozované společností 21Vianet | Partnerské centrum pro Microsoft Cloud pro státní správu USA

Tento článek vysvětluje, jak ověřit adresu pomocí rozhraní API pro ověření adresy.

Rozhraní API pro ověřování adres by se mělo používat pouze k předběžné aktualizaci profilů zákazníků. Na základě stavu odpovědi rozhraní API by volající měl zvolit nejvhodnější adresu pro zákazníka.

Požadavky

Přihlašovací údaje popsané v ověřování v Partnerském centru Tento scénář podporuje ověřování pomocí samostatných přihlašovacích údajů aplikace i aplikace a uživatele.

C#

Pokud chcete ověřit adresu, nejprve vytvořte instanci nového objektu Adresa a naplňte ji adresou, kterou chcete ověřit. Pak načtěte rozhraní pro validations operace z IAggregatePartner.Validations vlastnost a volání IsAddressValid metoda s objektem adresy.

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

Požadavek REST

Syntaxe požadavku

metoda Identifikátor URI žádosti
POST {baseURL}/v1/validations/address HTTP/1.1

Záhlaví žádosti

Další informace najdete v tématu Hlavičky REST Partnerského centra.

Text požadavku

Tato tabulka popisuje požadované vlastnosti v textu požadavku.

Name Type Požadované* Popis
addressline1 string Y První řádek adresy.
addressline2 string N Druhý řádek adresy. Tato vlastnost je nepovinná.
city string Y Město.
state string Y Stav
Postalcode string Y Poštovní směrovací číslo.
country string Y Dvouznakový kód země ISO alfa-2.

* Požadované vlastnosti se mohou změnit podle země nebo oblasti.

Podrobnosti odpovědi

Odpověď vrátí jednu z následujících stavových zpráv. Pokud odpověď na stav není ověřená nebo ověřená, zkontrolujte zadaná adresa nebo navrhovaná adresa. Volající může zvolit nejvhodnější adresu zákazníka.

Status Popis Počet vrácených navrhovaných adres Doporučení odpovědi na stav
Ověřená expedovatelná Adresa je ověřená a je možné ji odeslat. Jeden Pokračujte ověřenou adresou.
Ověřeno Adresa je ověřená. Jeden Pokračujte ověřenou adresou.
Vyžaduje se interakce Navrhovaná adresa se výrazně změní a vyžaduje potvrzení uživatele. Jeden Pokračujte s potvrzenou adresou uživatele.
Ulice částečná Daná ulice v adrese je částečná a potřebuje další informace. Násobek – maximálně tři Pokračujte s potvrzenou adresou uživatele.
Částečné místní prostředí Dané místní prostředí (číslo budovy, číslo sady a další) jsou částečné a potřebují další informace. Násobek – maximálně tři Pokračujte s potvrzenou adresou uživatele.
Více V adrese je několik polí, která jsou částečná (případně i částečná část ulice a místní). Násobek – maximálně tři Pokračujte s potvrzenou adresou uživatele.
Nic Adresa je nesprávná. Nic Pokračujte s potvrzenou adresou uživatele.
Neověřováno Adresu nebylo možné odeslat prostřednictvím procesu ověření. Nic Pokračujte s potvrzenou adresou uživatele.

Příklad požadavku

# "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: 29624f3c-90cb-4d34-a7e9-bd2de6d35218
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: 2c95c9bc-fdfb-4c6a-84f4-57c9b0826b43
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"
}

Odpověď REST

V případě úspěchu metoda vrátí AddressValidationResponse objekt v těle odpovědi se stavovým kódem HTTP 200 . Následuje příklad.

Kódy úspěšnosti a chyb odpovědi

Každá odpověď obsahuje stavový kód HTTP, který indikuje informace o úspěchu nebo selhání a ladění. Ke čtení tohoto kódu, typu chyby a dalších parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete v tématu Kódy chyb REST v Partnerském centru.

Příklad odpovědi

# "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: 29624f3c-90cb-4d34-a7e9-bd2de6d35218
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: 2c95c9bc-fdfb-4c6a-84f4-57c9b0826b43
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'"
}