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.
Vereisten
Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
C#
Als u een adres wilt valideren, instantieert u eerst een nieuw adresobject en vult u het in met het adres dat u wilt valideren. Haal vervolgens een interface op validatiebewerkingen op 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
Wijze | Aanvraag-URI |
---|---|
POST | {baseURL}/v1/validations/address HTTP/1.1 |
Aanvraagheaders
Zie Rest-headers in Partnercentrum voor meer informatie.
Aanvraagtekst
In deze tabel worden de vereiste eigenschappen in de aanvraagbody beschreven.
Name | Type | Vereist* | Beschrijving |
---|---|---|---|
adreslijn1 | tekenreeks | J | De eerste regel van het adres. |
adreslijn2 | tekenreeks | N | De tweede regel van het adres. Deze eigenschap is optioneel. |
plaats | tekenreeks | J | De plaats. |
staat | tekenreeks | J | De staat. |
postalcode | tekenreeks | J | De postcode. |
land | tekenreeks | J | De ISO-alfa-2-landcode van twee tekens. |
* Vereiste eigenschappen kunnen worden gewijzigd op basis van het land of de regio.
Responsdetails
Het antwoord retourneert een van de volgende statusberichten. Als het statusantwoord niet geverifieerd of GeverifieerdShippable is, 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. | Eén | Ga door met geverifieerd adres. |
Geverifieerd | Het adres is geverifieerd. | Eén | Ga door met geverifieerd adres. |
Interactie vereist | Het voorgestelde adres is aanzienlijk gewijzigd en heeft een bevestiging van de gebruiker nodig. | Eén | Ga door met het bevestigd 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 bevestigd adres van de gebruiker. |
Gedeeltelijke locatie | De opgegeven gebouwen (gebouwnummer, suitenummer en andere) zijn gedeeltelijk en hebben meer informatie nodig. | Meerdere( maximaal drie) | Ga door met het bevestigd adres van de gebruiker. |
Meerdere | 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 bevestigd adres van de gebruiker. |
Geen | Adres is onjuist. | Geen | Ga door met het bevestigd adres van de gebruiker. |
Niet gevalideerd | Het adres kan niet worden verzonden via het validatieproces. | Geen | Ga door met het bevestigd 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 dat de informatie over geslaagde of mislukte fouten en foutopsporing wordt aangegeven. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en andere parameters te lezen. Zie rest-foutcodes in Partnercentrum voor de volledige lijst.
Responsvoorbeeld
# "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'"
}