Endereços de entrega do cliente.
Endereços — API Pública v1
CRUD dos endereços de entrega de um cliente. Diferente do POST /customer/{uuid}/add-address/, que também aplica o endereço no carrinho, os endpoints desta página manipulam apenas a lista de endereços do cliente.
Base URL
https://{sua-loja}/api/v1/public/
Identificação do cliente
Envie o header
Authorization: Bearer {access_token}obtido no Login (SSO). O cliente só pode operar sobre o própriocustomer_uuid; um UUID diferente retorna404.
Todos os endpoints expõem apenas os endereços editáveis do cliente. Endereços somente-leitura (ex.: congelados em pedidos antigos) não aparecem.
GET /addresses/{customer_uuid}/
GET /addresses/{customer_uuid}/Lista os endereços do cliente.
Resposta 200 OK
200 OK[
{
"id": "P",
"title": "",
"receiver": "Caroline Tartaro",
"zipcode": "18055163",
"address": "Alameda dos Três Castelos",
"number": "123",
"complement": null,
"neighborhood": "Jardim Europa",
"reference": null,
"city": "Sorocaba",
"city_id": "3552205",
"state": "SP",
"code_ibge": "3552205",
"phone": "19999997676",
"is_valid": true,
"can_edit": true
},
{
"id": "504",
"title": "Trabalho",
"receiver": "Caroline Tartaro",
"zipcode": "06705862",
"address": "Rua São José",
"number": "45",
"complement": null,
"neighborhood": "Parque São José",
"reference": null,
"city": "Cotia",
"city_id": "3513009",
"state": "SP",
"code_ibge": "3513009",
"phone": "19999997676",
"session_key": false,
"is_valid": true,
"can_edit": true
}
]id = "P"é o endereço principal, gravado no próprio cadastro do cliente. Os demais usam o ID numérico do endereço.- É o mesmo
idaceito emaddressnoPOST /order/{uuid}/freights/.
POST /addresses/{customer_uuid}/
POST /addresses/{customer_uuid}/Cria um endereço para o cliente.
Body
{
"title": "Casa",
"receiver": "Caroline Tartaro",
"zipcode": "18055-163",
"address": "Alameda dos Três Castelos",
"number": "123",
"complement": "Apto 12",
"neighborhood": "Jardim Europa",
"reference": "Próximo ao mercado",
"city": "Sorocaba",
"state": "SP",
"phone": "19999997676",
"city_id": "3552205",
"code_ibge": "3552205"
}| Campo | Obrigatório | Máx. | Observações |
|---|---|---|---|
receiver | sim | 150 | Nome de quem recebe. |
zipcode | sim | 9 | Apenas dígitos; a pontuação é removida. |
address | sim | 100 | Logradouro. |
number | sim | 100 | |
neighborhood | sim | 100 | |
city | sim | 100 | |
state | sim | 2 | Sigla da UF. |
title | não | 150 | Apelido do endereço. |
complement | não | 100 | |
reference | não | 255 | |
phone | não | 20 | Apenas dígitos. |
city_id | não | 50 | |
code_ibge | não | 50 | Código IBGE do município. |
Respostas
| Código | Corpo |
|---|---|
201 | O endereço criado, no mesmo formato do GET. |
400 | {"errors": [{"campo": "motivo"}, ...], "message": ""} |
GET /addresses/{customer_uuid}/{pk}/
GET /addresses/{customer_uuid}/{pk}/Retorna um endereço específico. 404 se pk não pertencer ao cliente.
PUT /addresses/{customer_uuid}/{pk}/
PUT /addresses/{customer_uuid}/{pk}/Atualiza o endereço. Mesmo body e validações do POST. Retorna o objeto atualizado.
DELETE /addresses/{customer_uuid}/{pk}/
DELETE /addresses/{customer_uuid}/{pk}/Remove o endereço.
| Código | Significado |
|---|---|
200 | Removido. Corpo {}. |
400 | Endereço vinculado a uma assinatura ativa do cliente: Não é possível excluir este endereço, pois ele está associado a uma assinatura. |
Observações gerais
- Endereços criados por sessões anônimas (antes do login) vêm com
session_key: truee são promovidos a definitivos assim que o cliente autenticado atua sobre eles. - Para gravar o endereço e já usá-lo como entrega do carrinho em uma única chamada, use
POST /customer/{uuid}/add-address/(ver Clientes).