Een adres valideren
van toepassing op: Partnercentrum | Partnercentrum beheerd door 21Vianet | Partnercentrum voor Microsoft Cloud voor de Amerikaanse overheid
In dit artikel wordt uitgelegd hoe u een adres valideert met behulp van de adresvalidatie-API.
De adresvalidatie-API mag alleen worden gebruikt voor het valideren van updates van het klantprofiel. Op basis van de API-antwoordstatus moet de aanroeper het meest geschikte adres voor de klant kiezen.
Voorwaarden
Referenties zoals beschreven in Partnercentrum-authenticatie. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
C#
Als u een adres wilt valideren, instantieert u eerst een nieuw Adres-object en vult u het met het adres dat u wilt valideren. Haal vervolgens een interface op voor Validaties bewerkingen uit de eigenschap IAggregatePartner.Validations, en roep de methode IsAddressValid aan met het adresobject.
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-aanvraag
Aanvraagsyntaxis
Methode | Aanvraag URI |
---|---|
POST | {baseURL}/v1/validations/address HTTP/1.1 |
Aanvraagheaders
Zie Partnercentrum REST-headersvoor meer informatie.
Verzoekinhoud
In deze tabel worden de vereiste eigenschappen in de aanvraagbody beschreven.
Naam | Type | Vereist* | Beschrijving |
---|---|---|---|
adreslijn 1 | koord | Y | De eerste regel van het adres. |
adreslijn 2 | snaar | N | De tweede regel van het adres. Deze eigenschap is optioneel. |
stad | snaar | Y | De stad. |
staat | touwtje | Y | De staat. |
postcode | tekenreeks | Y | De postcode. |
land | snaar | Y | De ISO-alfa-2-landcode van twee tekens. |
* Vereiste eigenschappen kunnen worden gewijzigd op basis van het land of de regio.
Antwoorddetails
Het antwoord retourneert een van de volgende statusberichten. Als het statusantwoord niet is Geverifieerde of VerifiedShippable, controleert u het ingevoerde adres en/of het voorgestelde adres. Het is aan de beller om het meest geschikte adres voor de klant te kiezen.
Status | Beschrijving | Aantal voorgestelde adressen geretourneerd | Aanbeveling voor statusreactie |
---|---|---|---|
Geverifieerd verzendbaar | Adres is geverifieerd en kan worden verzonden naar. | Ongetrouwd | Ga door met het geverifieerde adres. |
Geverifieerd | Het adres is geverifieerd. | Vrijgezel | Gebruik het geverifieerde adres. |
Interactie vereist | Het voorgestelde adres is aanzienlijk gewijzigd en heeft een bevestiging van de gebruiker nodig. | Ongetrouwd | Ga door met het bevestigde adres van de gebruiker. |
Straat gedeeltelijk | De opgegeven straat in het adres is gedeeltelijk en heeft meer informatie nodig. | Meerdere( maximaal drie) | Ga door met het door de gebruiker bevestigde adres. |
Gedeeltelijke panden | De opgegeven gebouwen (gebouwnummer, suitenummer en andere) zijn gedeeltelijk en hebben meer informatie nodig. | Meerdere( maximaal drie) | Ga door met het door de gebruiker bevestigde adres. |
Veelvoud | Er zijn meerdere velden die gedeeltelijk in het adres staan (mogelijk ook inclusief een gedeeltelijke straat en een gedeeltelijke locatie). | Meerdere( maximaal drie) | Ga door met het bevestigde adres van de gebruiker. |
Geen | Adres is onjuist. | Geen | Ga door met het door de gebruiker bevestigde adres. |
Niet gevalideerd | Het adres kan niet worden verzonden via het validatieproces. | Geen | Ga door met het bevestigde adres van de gebruiker. |
Aanvraagvoorbeeld
# "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-antwoord
Als dit lukt, retourneert de methode een AddressValidationResponse--object in de hoofdtekst van het antwoord, met een HTTP 200 statuscode. Hier volgt een voorbeeld.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft of de actie geslaagd of mislukt is, samen met informatie voor foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en andere parameters te lezen. Zie Partnercentrum REST-foutcodesvoor de volledige lijst.
Voorbeeld van antwoord
# "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'"
}