Aracılığıyla paylaş


Adresi doğrulama

için geçerlidir: İş Ortağı Merkezi | 21Vianet tarafından işletilen İş Ortağı Merkezi | ABD Kamu için Microsoft Bulut İş Ortağı Merkezi

Bu makalede, adres doğrulama API'sini kullanarak bir adresin nasıl doğrulanması açıklanır.

Adres doğrulama API'si yalnızca müşteri profili güncelleştirmelerinin ön doğrulaması için kullanılmalıdır. API yanıt durumuna bağlı olarak, arayanın müşteri için en uygun adresi seçmesi gerekir.

Önkoşullar

İş Ortağı Merkezi kimlik doğrulaması'nde açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

C#

Bir adresi doğrulamak için önce yeni bir Adresi nesnesi örneği oluşturup doğrulanması gereken adresle doldurun. Ardından IAggregatePartner.Validations özelliğinden Doğrulamaları işlemlerine bir arabirim alın ve adres nesnesiyle IsAddressValid yöntemini çağırın.

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 isteği

İstek söz dizimi

Yöntem İstek URI'si
POST {baseURL}/v1/validations/address HTTP/1.1

İstek başlıkları

Daha fazla bilgi için bkz. İş Ortağı Merkezi REST başlıkları.

İstek gövdesi

Bu tablo, istek gövdesindeki gerekli özellikleri açıklar.

Ad Tür Gerekli* Açıklama
adres çizgisi1 dizgi Y Adresin ilk satırı.
adres çizgisi2 dizgi N Adresin ikinci satırı. Bu özellik isteğe bağlıdır.
şehir dizgi Y Şehir.
devlet dizgi Y Eyalet.
posta kodu metin Y Posta kodu.
ülke dizgi Y İki karakterli ISO alfa-2 ülke kodu.

* Gerekli özellikler ülkeye veya bölgeye göre değişebilir.

Yanıt ayrıntıları

Yanıt aşağıdaki durum iletilerinden birini döndürür. Durum yanıtı Doğrulanmış veya DoğrulanmışGönderilebilirdeğilse, girdiğiniz adresi ve/veya önerilen adresi gözden geçirin. Arayan, müşteri için en uygun adresi seçmektir.

Durum Açıklama Döndürülen adres öneri sayısı Durum yanıtı önerisi
Doğrulanmış sevk edilebilir Adres doğrulandı ve gönderim yapılabilir. Tek Doğrulanmış adresle devam edin.
Doğrulandı Adres doğrulandı. Tek Doğrulanmış adresle devam edin.
Etkileşim gerekli Önerilen adres önemli ölçüde değiştirildi ve kullanıcı onayı gerekiyor. Tek Kullanıcı tarafından onaylanan adresle devam edin.
Sokak kısmi Adresteki belirtilen sokak kısmidir ve daha fazla bilgiye ihtiyaç duyar. Birden çok— en fazla üç Kullanıcı tarafından onaylanan adresle devam edin.
Tesislerin kısmi Verilen tesis (bina numarası, süite numarası ve diğerleri) eksiktir ve daha fazla bilgiye ihtiyaç duyar. Birden çok—en fazla üç Kullanıcı tarafından onaylanan adresle devam edin.
Çoklu Adreste kısmi olan birden çok alan vardır (potansiyel olarak sokak kısmi ve şirket içi kısmi de dahil). Birden çok—en fazla üç Kullanıcı tarafından onaylanan adresle devam edin.
Hiç kimse Adres yanlış. Hiç kimse Kullanıcı tarafından onaylanan adresle devam edin.
Doğrulanmamış Adres doğrulama işlemi aracılığıyla gönderilemedi. Hiç kimse Kullanıcı tarafından onaylanan adresle devam edin.

İstek örneği

# "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 yanıtı

Başarılı olursa, yöntem yanıt gövdesinde bir AddressValidationResponse nesnesini, HTTP 200 durum koduyla birlikte döndürür. Bir örnek aşağıda verilmiştir.

Yanıt başarısı ve hata kodları

Her yanıt, başarılı veya başarısız olduğunu ve hata ayıklama bilgilerini gösteren bir HTTP durum koduyla birlikte gelir. Bu kodu, hata türünü ve diğer parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. İş Ortağı Merkezi REST hata kodları.

Yanıt örneği

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