Bairros
Lista paginada, consulta, criação, alteração e exclusão de bairros de uma cidade, com faixa de CEP.
Bairro é o último nível: pertence a uma cidade e pode guardar a faixa de CEP que ele cobre. As zonas de áreas de frete e imposto podem apontar para bairros. O id é um UUID. Exige o privilégio manage_locations.
Listar bairros
/api/v1/admin/locations/districtsAdminLista bairros com paginação
Ordenados pelo nome. Quando city_id é informado e a cidade ainda não tem bairros em uma loja migrada, a plataforma os copia do catálogo de referência antes de responder.
Parâmetros de consulta
city_iduuidsearchstringpageintegerpadrão: 1per_pageintegerpadrão: 50Exemplo de requisição
curl "$BASE_URL/api/v1/admin/locations/districts?city_id=547ec948-c513-4936-b039-d2f673c91fa0&per_page=100" \
-H "Authorization: Bearer $TOKEN"{
"districts": [
{
"id": "8aa33183-c6a2-4554-8919-34957c718de6",
"city_id": "547ec948-c513-4936-b039-d2f673c91fa0",
"city_name": "Boa Vista",
"name": "13 de Setembro",
"cep_range_start": "69308000",
"cep_range_end": "69308470"
}
],
"total": 74426,
"page": 1,
"per_page": 50,
"total_pages": 1489
}Campos da resposta
districts[].iduuiddistricts[].city_iduuiddistricts[].city_namestringdistricts[].namestringdistricts[].cep_range_startstringdistricts[].cep_range_endstringtotalintegerpageintegerper_pageintegertotal_pagesintegerConsultar bairro
/api/v1/admin/locations/districts/{id}AdminConsulta um bairro pelo id
Parâmetros de caminho
iduuidobrigatórioA resposta 200 é um único objeto no formato de districts[].
Criar bairro
/api/v1/admin/locations/districtsAdminCadastra um bairro
A faixa de CEP não é validada pelo cadastro: grave 8 dígitos sem hífen, como o catálogo.
Corpo da requisição
city_iduuidobrigatórionamestringobrigatóriocep_range_startstringcep_range_endstring{
"id": "5f0e8b52-2f61-4a63-8c64-0c9a3d8d7b10",
"city_id": "547ec948-c513-4936-b039-d2f673c91fa0",
"city_name": "Boa Vista",
"name": "Bairro Exemplo",
"cep_range_start": "69300000",
"cep_range_end": "69300999"
}Alterar bairro
/api/v1/admin/locations/districts/{id}AdminAltera nome ou faixa de CEP de um bairro
Alteração parcial. A cidade do bairro não pode ser trocada.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
namestringcep_range_startstringcep_range_endstringA resposta 200 é o bairro atualizado.
Excluir bairro
/api/v1/admin/locations/districts/{id}AdminExclui um bairro
Parâmetros de caminho
iduuidobrigatório{ "message": "district deleted" }Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido; city_id ou name ausente; city_id ou id que não é UUID | {"error":"city_id and name are required"} ou {"error":"invalid city_id","detail":"city_id must be a valid UUID"} |
| 401 | Sem token ou token expirado | {"error":"missing authorization header"} |
| 403 | Sem o privilégio manage_locations | {"error":"insufficient privileges","required":"manage_locations"} |
| 404 | Id inexistente (consultar, alterar) | {"error":"district not found"} |
| 500 | city_id inexistente na criação, id inválido em alterar/excluir, ou excluir id que não existe | {"error":"failed to delete district","detail":"district ... not found"} |