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