Validar um endereçoValidate an address

Aplica-se aApplies To

  • Partner CenterPartner Center
  • Partner Center operado pela 21VianetPartner Center operated by 21Vianet
  • Partner Center do Microsoft Cloud GermanyPartner Center for Microsoft Cloud Germany
  • Partner Center do Microsoft Cloud for US GovernmentPartner Center for Microsoft Cloud for US Government

Como validar um endereço usando a API de validação de endereço.How to validate an address using the address validation API.

A API de validação de endereço deve ser usada somente para validação prévia de atualizações de perfil de cliente.The address validation API should only be used for pre-validation of customer profile updates. Use-o com o entendimento de que, se o país for o Estados Unidos, o Canadá, a China ou o México, o campo Estado será validado em relação a uma lista de Estados válidos para o respectivo país.Use it with the understanding that if the country is the United States, Canada, China, or Mexico, the state field is validated against a list of valid states for the respective country. Em todos os outros países, esse teste não ocorre e a API verifica apenas se o estado é uma cadeia de caracteres válida.In all other countries, this test does not occur, and the API only checks that the state is a valid string.

Pré-requisitosPrerequisites

Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Esse cenário dá suporte à autenticação com aplicativos autônomos e aplicativos + credenciais de usuário.This scenario supports authentication with both standalone App and App+User credentials.

C#C#

Para validar um endereço, primeiro crie uma instância de um novo objeto de endereço e preencha-o com o endereço a ser validado.To validate an address, first instantiate a new Address object and populate it with the address to validate. Em seguida, recupere uma interface para as operações de validações da propriedade IAggregatePartner. validations e chame o método IsAddressValid com o objeto address.Then, retrieve an interface to Validations operations from the IAggregatePartner.Validations property, and call the IsAddressValid method with the address object.

// 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.
bool result = partnerOperations.Validations.IsAddressValid(address);

// If the address is valid, the result should equal true.
Console.WriteLine("Result: " + result.ToString());

// The following is an example that causes address validation to fail.
try
{
    // Change to an invalid postal code for this address.
    address.PostalCode = "98007";

    // Validate the address.
    result = partnerOperations.Validations.IsAddressValid(address);

    Console.WriteLine("ERROR: The code should have thrown an exception - BadRequest(400).");
}
catch (PartnerException exception)
{
    if (exception.ErrorCategory == PartnerErrorCategory.BadInput)
    {
        Console.WriteLine(exception.ErrorCategory.ToString());
        Console.WriteLine("Exception:");
        Console.WriteLine("Message: {0}", exception.Message);
    }
    else
    {
        throw;
    }
}

JavaJava

Para validar um endereço, primeiro crie uma instância de um novo objeto de endereço e preencha-o com o endereço a ser validado.To validate an address, first instantiate a new Address object and populate it with the address to validate. Em seguida, recupere uma interface para as operações de validações da função IAggregatePartner. getvalidations e chame o método isAddressValid com o objeto address.Then, retrieve an interface to Validations operations from the IAggregatePartner.getValidations function, and call the isAddressValid method with the address object.

O SDK do Java do Partner Center geralmente é usado por parceiros para gerenciar os recursos do Partner Center.The Partner Center Java SDK is commonly used by partners to manage their Partner Center resources. É um projeto de software livre mantido pela comunidade de parceiros.It's an open-source project maintained by the partner community. Esse módulo é mantido pela comunidade de parceiros e, por isso, não tem suporte oficial da Microsoft.Since this module is maintained by the partner community, it isn't officially supported by Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.You can get help from the community or open an issue on GitHub if you experience a problem.

// IAggregatePartner partnerOperations;

// Create an address to validate.
Address address = new Address();

address.setAddressLine1("One Microsoft Way");
address.setCity("Redmond");
address.setState("WA");
address.setCountry("US");
address.setPostalCode("98052");

try
{
    // Validate the address
    Boolean validationResult = partnerOperations.getValidations().isAddressValid(address);

    System.out.println(validationResult ? "The address is valid." : "Invalid address");
}
catch (Exception exception)
{
    System.out.println("Address is invalid");

    if (! StringHelper.isNullOrWhiteSpace(exception.getMessage()))
    {
        System.out.println(exception.getMessage());
    }
}

PowerShellPowerShell

O módulo PowerShell do Partner Center é normalmente usado por parceiros para gerenciar os recursos do Partner Center.The Partner Center PowerShell module is commonly used by partners to manage their Partner Center resources. É um projeto de software livre mantido pela comunidade de parceiros.It's an open-source project maintained by the partner community. Esse módulo é mantido pela comunidade de parceiros e, por isso, não tem suporte oficial da Microsoft.Since this module is maintained by the partner community, it isn't officially supported by Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.You can get help from the community or open an issue on GitHub if you experience a problem.

Para validar um endereço, execute o Test-PartnerAddress com os parâmetros de endereço populados.To validate an address, execute the Test-PartnerAddress with the address parameters populated.

Test-PartnerAddress -AddressLine1 '700 Bellevue Way NE' -City 'Bellevue' -Country 'US' -PostalCode '98004' -State 'WA'

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
POSTPOST {baseURL}/v1/validations/address http/1.1{baseURL}/v1/validations/address HTTP/1.1

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

Esta tabela descreve as propriedades necessárias no corpo da solicitação.This table describes the required properties in the request body.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
linha de endereço1addressline1 stringstring SY A primeira linha do endereço.The first line of the address.
linha de endereço2addressline2 stringstring NN A segunda linha do endereço.The second line of the address. Essa propriedade é opcional.This property is optional.
citycity stringstring SY A cidade.The city.
statestate stringstring SY O estado.The state.
postalcodepostalcode stringstring SY O código postal.The postal code.
countrycountry stringstring SY O código de país alpha-2 de ISO de dois caracteres.The two-character ISO alpha-2 country code.

Exemplo de solicitaçãoRequest example

POST https://api.partnercenter.microsoft.com/v1/validations/address HTTP/1.1
Content-Type: application/json
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 0b30452a-8be2-4b8b-b25b-2d4850f4345f
MS-CorrelationId: 8a853a1a-b0e6-4cb0-ae87-d6dd32ac3a0c
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Content-Length: 129

{
    "AddressLine1": "One Microsoft Way",
    "City": "Redmond",
    "State": "WA",
    "PostalCode": "98052",
    "Country": "US"
}

Resposta RESTREST response

Se for bem-sucedido, o método retornará um código de status 200, conforme demonstrado no exemplo de validação de resposta com êxito mostrado abaixo.If successful, the method returns a status code 200 as demonstrated in the Response - validation succeeded example shown below.

Se a solicitação falhar, o método retornará um código de status 400, conforme demonstrado no exemplo de falha na validação de resposta mostrado abaixo.If the request fails, the method returns a status code 400 as demonstrated in the Response - validation failed example shown below. O corpo da resposta contém uma carga JSON com informações adicionais sobre o erro.The response body contains a JSON payload with additional information about the error.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, confira Códigos de erro REST do Partner Center.For the full list, see Partner Center REST error codes.

Resposta-exemplo de validação bem-sucedidaResponse - validation succeeded example

HTTP/1.1 200 OK
Content-Length: 0
MS-CorrelationId: 8a853a1a-b0e6-4cb0-ae87-d6dd32ac3a0c
MS-RequestId: 0b30452a-8be2-4b8b-b25b-2d4850f4345f
MS-CV: IqhjoWVyq0Kl81dO.0
MS-ServerId: 030011719
Date: Mon, 13 Mar 2017 23:56:12 GMT

Resposta-exemplo de falha na validaçãoResponse - validation failed example

HTTP/1.1 400 Bad Request
Content-Length: 418
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 8a853a1a-b0e6-4cb0-ae87-d6dd32ac3a0c
MS-RequestId: 0b30452a-8be2-4b8b-b25b-2d4850f4345f
MS-CV: pdlItMyvtkmGHDWt.0
MS-ServerId: 101112012
Date: Tue, 14 Mar 2017 01:57:55 GMT

{
    "code": 2007,
    "description": "{\"code\":\"60071\",\"reason\":\"ZipCityInvalid - Details: Field - &#39;City&#39; is corrected from OldValue: &#39;Redmond&#39; to NewValue: &#39;BELLEVUE&#39;.\",\"corrected_address\":{\"country\":\"US\",\"region\":\"WA\",\"city\":\"BELLEVUE\",\"address_line1\":\"One Microsoft Way\",\"postal_code\":\"98007\"},\"object_type\":\"AddressValidation\",\"resource_status\":\"Active\"}",
    "data": [],
    "source": "PartnerFD"
}