Aracılığıyla paylaş


Bir adresi doğrulama

Şunlar 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ında 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 Address nesnesi örneği oluşturup doğrulanması gereken adresle doldurun. Ardından, IAggregatePartner.Validations özelliğinden Validations 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 üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

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

Adı Tip Gerekli* Açıklama
adres çizgisi1 Dize Y Adresin ilk satırı.
Addressline2 Dize N Adresin ikinci satırı. Bu özellik isteğe bağlıdır.
şehir Dize Y Şehir.
semt Dize Y Durum.
Postakodu Dize Y Posta kodu.
ülke Dize 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ğrulandı veya VerifiedShippable değilse, girdiğiniz adresi ve/veya önerilen adresi gözden geçirin. Arayan, müşteri için en uygun adresi seçmektir.

Çalıştırma Durumu Açıklama Döndürülen önerilen adres sayısı Durum yanıtı önerisi
Doğrulanmış sevk edilebilir Adres doğrulanır ve adresine gönderilebilir. Tekli Doğrulanmış adresle devam edin.
Doğrulandı Adres doğrulandı. Tekli Doğrulanmış adresle devam edin.
Etkileşim gerekli Önerilen adres önemli ölçüde değiştirildi ve kullanıcı onayı gerekiyor. Tekli 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.
Şirket içi kısmi Verilen şirket içi (bina numarası, paket numarası ve diğerleri) kısmidir ve daha fazla bilgiye ihtiyaç duyar. Birden çok— en fazla üç Kullanıcı tarafından onaylanan adresle devam edin.
Birden çok 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çbiri Adres yanlış. Hiçbiri Kullanıcı tarafından onaylanan adresle devam edin.
Doğrulanmamış Adres doğrulama işlemi aracılığıyla gönderilemedi. Hiçbiri 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: 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 yanıtı

Başarılı olursa, yöntem yanıt gövdesinde HTTP 200 durum koduyla bir AddressValidationResponse nesnesi 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: 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'"
}