Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se aplica a: Centro de socios | Centro de socios operado por 21Vianet | Centro de socios para Microsoft Cloud para el gobierno de EE.UU.
En este artículo se explica cómo validar una dirección mediante la API de validación de direcciones.
La API de validación de direcciones solo debe usarse para la validación previa de las actualizaciones de perfil de cliente. En función del estado de respuesta de la API, el autor de la llamada debe elegir la dirección más adecuada para el cliente.
Prerrequisitos
Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.
C#
Para validar una dirección, primero cree una instancia de un nuevo objeto Address y llénelo con la dirección que se va a validar. A continuación, recupere una interfaz para las operaciones de validaciones de la propiedad IAggregatePartner.Validations y llame al método IsAddressValid con el objeto address.
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();
}
Solicitud REST
Sintaxis de solicitud
| Método | Solicitud URI |
|---|---|
| POST | {baseURL}/v1/validations/address HTTP/1.1 |
Encabezados de solicitud
Para obtener más información, consulta Encabezados REST del Centro de partners.
Cuerpo de la solicitud
En esta tabla se describen las propiedades necesarias en el cuerpo de la solicitud.
| Nombre | Tipo | Obligatorio* | Descripción |
|---|---|---|---|
| addressline1 | cadena | Y | Primera línea de la dirección. |
| addressline2 | cadena | N | Segunda línea de la dirección. Esta propiedad es opcional. |
| ciudad | cadena | Y | La ciudad. |
| estado | cadena | Y | El estado. |
| código postal | cadena | Y | El código postal. |
| país | cadena | Y | Código de país ISO alfa-2 de dos caracteres. |
* Las propiedades requeridas pueden cambiar en función del país o región.
Detalles de la respuesta
La respuesta devuelve uno de los siguientes mensajes de estado. Si la respuesta de estado no es Verified ni VerifiedShippable, revise la dirección especificada o la dirección sugerida. Depende del autor de la llamada elegir la dirección más adecuada para el cliente.
| Estado | Descripción | Número de direcciones sugeridas devueltas | Recomendación de respuesta de estado |
|---|---|---|---|
| Verificado como apto para envío | La dirección está verificada y apta para el envío. | Soltero | Continúe con la dirección verificada. |
| Verificado | La dirección está verificada. | Soltero | Continúe con la dirección verificada. |
| Interacción necesaria | La dirección sugerida cambia significativamente y necesita confirmación del usuario. | Soltero | Continúe con la dirección confirmada por el usuario. |
| Street partial | La calle especificada en la dirección es parcial y necesita más información. | Múltiplo: máximo de tres | Continúe con la dirección confirmada por el usuario. |
| Premises partial | Los locales dados (número de edificio, número de oficina y otros) son parciales y requieren más información. | Múltiplo: máximo de tres | Continúe con la dirección confirmada por el usuario. |
| Varios | La dirección tiene varios campos que son parciales (también puede incluir Street partial y Premises partial). | Múltiplo: máximo de tres | Continúe con la dirección confirmada por el usuario. |
| Ninguno | La dirección es incorrecta. | Ninguno | Continúe con la dirección confirmada por el usuario. |
| No validado | La dirección no se pudo enviar a través del proceso de validación. | Ninguno | Continúe con la dirección confirmada por el usuario. |
Ejemplo de solicitud
# "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"
}
Respuesta REST
Si se ejecuta correctamente, el método devuelve un objeto AddressValidationResponse en el cuerpo de la respuesta, con un código de estado HTTP 200 . A continuación se muestra un ejemplo.
Códigos de error y de respuesta correctos
Cada respuesta incluye un código de estado HTTP que indica información de éxito o error y depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y otros parámetros. Para obtener la lista completa, consulte Códigos de error REST del Centro de partners.
Ejemplo de respuesta
# "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'"
}