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