Endereços

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óprio customer_uuid; um UUID diferente retorna 404.

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}/

Lista os endereços do cliente.

Resposta 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 id aceito em address no POST /order/{uuid}/freights/.

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"
}
CampoObrigatórioMáx.Observações
receiversim150Nome de quem recebe.
zipcodesim9Apenas dígitos; a pontuação é removida.
addresssim100Logradouro.
numbersim100
neighborhoodsim100
citysim100
statesim2Sigla da UF.
titlenão150Apelido do endereço.
complementnão100
referencenão255
phonenão20Apenas dígitos.
city_idnão50
code_ibgenão50Código IBGE do município.

Respostas

CódigoCorpo
201O endereço criado, no mesmo formato do GET.
400{"errors": [{"campo": "motivo"}, ...], "message": ""}

GET /addresses/{customer_uuid}/{pk}/

Retorna um endereço específico. 404 se pk não pertencer ao cliente.

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}/

Remove o endereço.

CódigoSignificado
200Removido. Corpo {}.
400Endereç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: true e 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).