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.

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

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