Delen via


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