Atualizar um endereço
Este endpoint permite atualizar os dados de um endereço existente a partir do seu identificador único (addr). É útil para corrigir informações de logradouro, complementar dados parciais e manter os en
Visão Geral
Este endpoint permite atualizar os dados de um endereço existente a partir do seu identificador único (addr_*). É útil para corrigir informações de logradouro, complementar dados parciais e manter os endereços de entrega/faturamento sempre atualizados.
Precauções
ATENÇÃO! Por favor, leia estas informações importantes antes de usar este endpoint.
- ID do Endereço: Confirme que o
addressIdno path corresponde ao endereço correto — atualizar o registro errado pode afetar entregas e faturamento. - Atualização parcial: Na rota standalone (
PUT /v1/addresses/{addressId}), todos os campos do corpo são opcionais — envie apenas os que deseja alterar; os omitidos permanecem inalterados. - Formato do CEP: Quando
postcodeé enviado, é validado no formato brasileiro (CEP) e armazenado apenas com os dígitos. - Escopo multi-tenant: Só é possível atualizar endereços que pertencem à sua conta (merchant).
Descrição
O endpoint Atualizar Endereço modifica os dados de um endereço já cadastrado. A identificação do endereço vem do path (addressId) e os novos valores vão no corpo da requisição. A resposta retorna o objeto de endereço completo, no nível raiz, acompanhado de merchant e _links (HATEOAS), no mesmo formato de Consultar e Criar.
Requisição
PUT /v1/addresses/{addressId}Parâmetros de Caminho (Path)
| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo | Localização |
|---|---|---|---|---|---|
addressId | string | Sim | ID público do endereço a ser atualizado (addr_*) | addr_01hqzvabc | Path |
Corpo da Requisição (Body)
{
"street": "Avenida Paulista",
"number": "1000",
"complement": "Apto 123",
"district": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"postcode": "01310-100"
}Atributos do Corpo da Requisição
Todos os campos são opcionais (atualização parcial). As mesmas regras de validação do Criar Endereço aplicam-se a cada campo enviado.
| Atributo | Tipo | Obrigatório | Descrição | Exemplo | Restrições |
|---|---|---|---|---|---|
country | string | Não | País (padrão ISO 3166-1) | "BR" | 2 a 3 caracteres |
postcode | string | Não | Código postal / CEP | "01310-100" | Formato brasileiro (CEP) |
street | string | Não | Nome da rua ou logradouro | "Avenida Paulista" | Máx. 255 caracteres |
number | string | Não | Número do endereço | "1000" | Máx. 100 caracteres |
complement | string | Não | Complemento (apartamento, sala, etc.) | "Apto 123" | Máx. 255 caracteres |
district | string | Não | Bairro ou distrito | "Bela Vista" | Máx. 100 caracteres |
city | string | Não | Cidade | "São Paulo" | Máx. 100 caracteres |
state | string | Não | Estado ou província | "SP" | Máx. 100 caracteres |
latitude | string | Não | Latitude | "-23.5505" | Máx. 16 caracteres |
longitude | string | Não | Longitude | "-46.6333" | Máx. 16 caracteres |
primary | boolean | Não | Marca como endereço principal | true | — |
metadata | object | Não | Metadados | {"type": "commercial"} | — |
Nota: Este endpoint não altera o vínculo do proprietário (
ownerType/ownerId).
Resposta - 200 OK
Se a requisição for bem-sucedida, o servidor retornará um código de status HTTP 200 OK e o objeto de endereço atualizado, no nível raiz, com merchant e _links.
Exemplo de Resposta
{
"id": "addr_01hqzvabc",
"ownerType": "customer",
"ownerId": "cus_01hqzvabc",
"street": "Av. Paulista",
"number": "1000",
"complement": "Apto 123",
"district": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"postcode": "01310100",
"latitude": null,
"longitude": null,
"primary": true,
"line": "Av. Paulista, 1000 - Bela Vista, São Paulo - SP, 01310100",
"line1": "Av. Paulista",
"line2": "1000",
"line3": "Bela Vista",
"metadata": {
"source": "checkout"
},
"updatedAt": "2026-04-12T17:56:33.000Z",
"createdAt": "2026-04-12T17:56:33.000Z",
"merchant": {
"name": "Seller Name",
"merchantId": "bus_1234567890",
"isSubAccount": false
},
"_links": {
"self": {
"href": "https://api.selectwin.io/v1/addresses/addr_01hqzvabc",
"method": "GET",
"description": "Read a address."
},
"create": {
"href": "https://api.selectwin.io/v1/addresses",
"method": "POST",
"description": "Create a new address."
},
"update": {
"href": "https://api.selectwin.io/v1/addresses/addr_01hqzvabc",
"method": "PUT",
"description": "Update the address."
},
"delete": {
"href": "https://api.selectwin.io/v1/addresses/addr_01hqzvabc",
"method": "DELETE",
"description": "Delete the address."
},
"list": {
"href": "https://api.selectwin.io/v1/addresses",
"method": "GET",
"description": "List all addresses."
}
}
}Atributos da Resposta
A resposta é o objeto completo no nível raiz + merchant e _links (mesmo formato de Consultar/Criar).
| Atributo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do endereço (addr_*) |
ownerType | string | Tipo do proprietário (vendor, customer, company ou user) |
ownerId | string | ID do proprietário (cus_* ou equivalente) |
street | string | null | Nome da rua ou logradouro |
number | string | null | Número do endereço |
complement | string | null | Complemento |
district | string | null | Bairro/distrito |
city | string | null | Cidade |
state | string | null | Estado |
country | string | null | País (ISO 3166-1) |
postcode | string | CEP/código postal (somente dígitos) |
latitude | string | null | Latitude |
longitude | string | null | Longitude |
primary | boolean | Se é o endereço principal |
line | string | null | Linha formatada completa |
line1 / line2 / line3 | string | null | Componentes da linha |
metadata | object | null | Metadados |
createdAt | string (date-time) | Criação (ISO) |
updatedAt | string (date-time) | Atualização (ISO) — refletirá o momento da atualização |
merchant | object | Merchant (name, merchantId, isSubAccount) |
_links | object | Links HATEOAS (self, create, update, delete, list) |
Respostas de Erro
400 Bad Request
Ocorre quando há erros de validação na requisição, como valores fora do formato esperado.
{
"error": {
"status": "Bad Request",
"statusCode": 400,
"category": "validation",
"message": "Validation errors occurred.",
"params": [
{
"postcode": "must be a Brazilian postal code"
}
]
}
}404 Not Found
Ocorre quando o addressId informado não existe ou não pertence à sua conta (addressIdNotFound).
{
"error": {
"status": "Not Found",
"statusCode": 404,
"category": "resource",
"message": "Address not found."
}
}Casos de Uso
- Correção de Endereço: Ajustar logradouro, número ou CEP digitados incorretamente
- Atualização Pós-Mudança: Atualizar o endereço quando o cliente muda de local
- Enriquecimento de Dados: Complementar um endereço cadastrado parcialmente (ex.: adicionar bairro e complemento)
- Padronização: Normalizar dados de endereço após validação de CEP
Melhores Práticas
- Consultar Antes de Atualizar: Use Consultar Endereço para obter os dados atuais antes de enviar a atualização
- Validação de CEP: Quando atualizar o
postcode, garanta um valor válido para evitar falhas de validação e inconsistências de entrega - Enviar Apenas o Necessário: Como é uma atualização parcial, envie somente os campos que deseja alterar
- Tratamento de Erros: Trate explicitamente
400(validação) e404(endereço inexistente)
Integração com Outros Endpoints
- Use Consultar Endereço para verificar os dados antes e depois da atualização
- Veja Endereços - Visão Geral para o ciclo de vida completo do recurso
- Use Criar Endereço para cadastrar novos endereços
How is this guide?