Dela via


Verifiera en adress

gäller för: Partnercenter | Partnercenter som drivs av 21Vianet | Partnercenter för Microsoft Cloud for US Government

Den här artikeln beskriver hur du verifierar en adress med hjälp av API:et för adressverifiering.

API:et för adressverifiering bör endast användas för förhandsvalidering av kundprofiluppdateringar. Baserat på API-svarsstatusen bör anroparen välja den lämpligaste adressen för kunden.

Förutsättningar

Autentiseringsuppgifter enligt beskrivningen i PartnerCenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.

C#

Verifiera en adress genom att först instansiera ett nytt -adress objekt och fylla i det med den adress som ska verifieras. Hämta sedan ett gränssnitt för valideringsoperationer från egenskapen IAggregatePartner.Validations och anropa metoden IsAddressValid med adressobjektet.

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-begäran

Syntax för begäran

Metod Begäran-URI
POST {baseURL}/v1/validations/address HTTP/1.1

Begärandehuvuden

Mer information finns i REST-huvuden för Partnercenter.

Begärandetext

I den här tabellen beskrivs de nödvändiga egenskaperna i begärandetexten.

Namn Typ Krävs* Beskrivning
adressrad1 sträng Y Den första raden i adressen.
adressrad 2 sträng N Den andra raden i adressen. Den här egenskapen är valfri.
stad sträng Y Staden.
stat sträng Y Staten.
postnummer sträng Y Postnumret.
land sträng Y Landskoden iso alpha-2 med två tecken.

* Obligatoriska egenskaper kan ändras baserat på land eller region.

Svarsinformation

Svaret returnerar något av följande statusmeddelanden. Om statussvaret inte är Verifierad eller VerifiedShippablegranskar du din angivna adress och/eller föreslagna adress. Det är upp till uppringaren att välja den lämpligaste adressen för kunden.

Status Beskrivning Antal föreslagna adresser som returneras Rekommendation för statussvar
Verifierad leveransbar Adressen verifieras och kan skickas till. Singel Fortsätt med verifierad adress.
Verifierat Adressen har verifierats. Singel Fortsätt med verifierad adress.
Interaktion krävs Den föreslagna adressen ändras avsevärt och behöver användarbekräftelse. Singel Fortsätt med användarens bekräftade adress.
Del av gata Gatan som anges i adressen är ofullständig och behöver mer information. Flera – högst tre Fortsätt med den bekräftade användaradressen.
Delvis fastighet De angivna lokalerna (byggnadsnummer, svitnummer och andra) är partiella och behöver mer information. Flera – högst tre Fortsätt med användarens bekräftade adress.
Multipel Det finns flera fält i adressen som är ofullständiga (möjligen även inklusive ofullständig gatuadress och verksamhetsadress). Flera – högst tre Fortsätt med användarens bekräftade adress.
Ingen Adressen är felaktig. Ingen Fortsätt med användarbekräftad adress.
Inte verifierad Det gick inte att skicka adressen via valideringsprocessen. Ingen Fortsätt med den bekräftade användaradressen.

Exempel på begäran

# "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-svar

Om det lyckas returnerar metoden ett AddressValidationResponse- objekt i svarstexten med en HTTP 200- statuskod. Ett exempel följer.

Svarsframgång och felkoder

Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och andra parametrar. Den fullständiga listan finns i Partner Centers REST-felkoder.

Svarsexempel

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