Listar e consultar áreas
Lista as áreas de tarifa do seller ou devolve uma delas, com zonas e formas desenhadas.
Listar áreas
Devolve as áreas do seller, ordenadas por nome, sem paginação. Cada área já traz as zonas e as formas desenhadas.
/api/v1/vendor/rate-areasSellerLista as áreas de tarifa do seller
Parâmetros de consulta
statusstringpadrão: AADallactivedisabledA (ou active) só ativas, D (ou disabled) só desativadas, all todas.typestringshippingtaxFiltra por tipo:
shipping ou tax. Sem o parâmetro, vêm todos.Exemplo de requisição: listar
bash
curl "$BASE_URL/api/v1/vendor/rate-areas?status=all" \
-H "Authorization: Bearer $TOKEN"Resposta: listar
200Lista de áreas
json
{
"rate_areas": [
{
"id": "7c2e4b9a-1d3f-4a5c-8b6e-0f9d8c7b6a54",
"name": "Centro de São Paulo",
"description": "Entrega de motoboy no centro",
"type": "shipping",
"status": "A",
"vendor_id": "5f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"min_order_amount": 3000,
"shipping_rate_amount": 1500,
"zip_codes": "01310-*\n01311-*",
"cities": "",
"addresses": "",
"zones": [
{
"id": "258257fb-0790-49d9-b981-6acae95891af",
"rate_area_id": "7c2e4b9a-1d3f-4a5c-8b6e-0f9d8c7b6a54",
"country_code": "BR",
"state_code": "SP",
"cep_from": "01000000",
"cep_to": "01999999",
"min_order_amount": 0
}
],
"geofences": [
{
"id": "0e1d2c3b-4a59-4687-b6a5-948372615049",
"shape": "circle",
"center": {
"lat": -23.5614,
"lng": -46.6559
},
"radius_m": 8000
}
],
"created_at": "2026-10-01T14:20:11Z",
"updated_at": "2026-10-01T14:20:11Z"
}
],
"total": 1
}Campos da resposta
rate_areasarrayÁreas do seller (campos abaixo).
iduuidId da área.
namestringNome da área.
descriptionstringDescrição livre.
typestringshippingtaxshipping (frete) ou tax (imposto).statusstringADA ativa ou D desativada. Área desativada não casa com nenhum endereço.vendor_iduuidSeller dono. Nas rotas de seller é sempre o seu.
min_order_amountintegerPedido mínimo, em centavos, para entregar nesta área.
0 = sem mínimo.shipping_rate_amountintegerTarifa fixa de frete da área, em centavos.
0 = a área só delimita região.zip_codesstringPadrões de CEP, um por linha (
01310-*).citiesstringPadrões de cidade, um por linha.
addressesstringPadrões de endereço, um por linha.
zonesarrayZonas geográficas da área. Ausente quando não há.
iduuidId da zona.
rate_area_iduuidÁrea dona da zona.
country_codestringPaís, ex.:
BR.state_codestringUF, ex.:
SP. Vazio = qualquer estado.city_iduuidCidade do cadastro de localidades da loja. Ausente quando não usada.
district_iduuidBairro do cadastro de localidades. Ausente quando não usado.
cep_fromstringInício da faixa de CEP, 8 dígitos. Vazio quando a zona não usa faixa.
cep_tostringFim da faixa de CEP, 8 dígitos.
min_order_amountintegerPedido mínimo desta zona, em centavos.
geofencesarrayÁreas desenhadas no mapa. Ausente quando não há.
iduuidId da geometria.
shapestringpolygoncirclepolygon ou circle.geojsonobjectSó em
polygon: GeoJSON Polygon ou MultiPolygon, coordenadas [longitude, latitude].centerobjectSó em
circle: lat e lng do centro.radius_mintegerSó em
circle: raio em metros.created_atstringCriação, RFC 3339.
updated_atstringÚltima alteração, RFC 3339.
totalintegerQuantidade de áreas devolvidas.
Erros: listar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem cabeçalho Authorization, ou token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é um token de administrador). | {"error":"insufficient permissions"} |
| 403 | O seller não tem conta de vendedor vinculada ao usuário. | {"error":"vendor_profile_required"} |
| 500 | Falha ao consultar. | {"error":"failed to list rate areas"} |
Consultar uma área
Devolve uma área sua, sem envelope, com os mesmos campos de cada item de rate_areas.
/api/v1/vendor/rate-areas/{id}SellerMostra uma área de tarifa do seller
Parâmetros de caminho
iduuidobrigatórioId da área de tarifa.
Exemplo de requisição: consultar
bash
curl "$BASE_URL/api/v1/vendor/rate-areas/7c2e4b9a-1d3f-4a5c-8b6e-0f9d8c7b6a54" \
-H "Authorization: Bearer $TOKEN"Resposta: consultar
200Área encontrada
json
{
"id": "7c2e4b9a-1d3f-4a5c-8b6e-0f9d8c7b6a54",
"name": "Centro de São Paulo",
"description": "Entrega de motoboy no centro",
"type": "shipping",
"status": "A",
"vendor_id": "5f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"min_order_amount": 3000,
"shipping_rate_amount": 1500,
"zip_codes": "01310-*\n01311-*",
"cities": "",
"addresses": "",
"zones": [
{
"id": "258257fb-0790-49d9-b981-6acae95891af",
"rate_area_id": "7c2e4b9a-1d3f-4a5c-8b6e-0f9d8c7b6a54",
"country_code": "BR",
"state_code": "SP",
"cep_from": "01000000",
"cep_to": "01999999",
"min_order_amount": 0
}
],
"geofences": [
{
"id": "0e1d2c3b-4a59-4687-b6a5-948372615049",
"shape": "circle",
"center": {
"lat": -23.5614,
"lng": -46.6559
},
"radius_m": 8000
}
],
"created_at": "2026-10-01T14:20:11Z",
"updated_at": "2026-10-01T14:20:11Z"
}Campos da resposta
(campos)objectMesmos campos da lista.
Erros: consultar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O id é 0 ou um inteiro negativo. | {"error":"invalid id parameter"} |
| 401 | Sem cabeçalho Authorization, ou token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é um token de administrador). | {"error":"insufficient permissions"} |
| 403 | A área existe, mas é da plataforma ou de outro seller. | {"error":"forbidden","detail":"rate area does not belong to this vendor"} |
| 404 | Não existe área com esse id. | {"error":"rate area not found"} |
| 500 | O id não é um UUID. Esta rota não valida o formato: o detail vem em português. | {"error":"failed to get rate area","detail":"o valor \"abc\" não é um uuid válido. ..."} |