Áreas do método
Vincula um método de envio a regiões de tarifa e define o prazo de entrega de cada uma, incluindo o vínculo padrão para os demais destinos.
Um método de envio raramente entrega no mesmo prazo para o país inteiro. O vínculo método/área liga o método a uma área de tarifa (uma região cadastrada à parte, por estado, cidade ou faixa de CEP) e guarda o prazo daquela região em dias úteis. As faixas de preço com o mesmo rate_area_id são o preço daquela região.
O vínculo com rate_area_id vazio é o padrão: vale para todos os destinos que nenhuma outra área do método cobre. Cada método aceita um vínculo padrão.
Listar vínculos
Cada vínculo vem com as suas faixas de preço (tiers) já carregadas, o que dá a tabela completa do método numa chamada. Ordem: por position, com o vínculo padrão por último.
/api/v1/admin/shipping-methods/{id}/areasAdminLista os vínculos método/área
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/admin/shipping-methods/$METHOD_ID/areas" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"areas": [
{
"id": "7a6849c3-7b89-4721-b0f3-6814f383588a",
"shipping_method_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"rate_area_id": "7bce1201-0e92-49d1-8e25-846f35fa697e",
"rate_area_name": "Norte",
"min_delivery_days": 8,
"max_delivery_days": 12,
"position": 0,
"created_at": "2026-09-09T16:06:04.11883Z",
"updated_at": "2026-09-09T16:06:04.11883Z"
},
{
"id": "3385159f-f6dd-4833-a4a9-bff962da8af8",
"shipping_method_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"min_delivery_days": 10,
"max_delivery_days": 10,
"position": 0,
"created_at": "2026-04-24T13:46:27.010854Z",
"updated_at": "2026-04-24T13:46:27.010854Z",
"tiers": [
{
"id": "16ed1d7f-c392-4a76-b4e9-53563fa5e5ea",
"shipping_method_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"min_weight": 0,
"max_weight": 0,
"min_order_value": 0,
"max_order_value": 0,
"rate": 1000,
"rate_area_id": null,
"min_items": 0,
"max_items": 0,
"created_at": "2026-07-11T21:58:14.099586Z"
}
]
}
],
"total": 2
}Campos da resposta
areasarraynull quando não há nenhum.totalintegerareas[].iduuidareas[].shipping_method_iduuidareas[].rate_area_iduuidareas[].rate_area_namestringareas[].min_delivery_daysintegerareas[].max_delivery_daysinteger0 = não informado.areas[].positionintegerareas[].created_atstringareas[].updated_atstringareas[].tiersarrayCriar um vínculo
/api/v1/admin/shipping-methods/{id}/areasAdminCria um vínculo método/área
Exige manage_shipping.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
rate_area_iduuidmin_delivery_daysintegermax_delivery_daysintegerpositionintegerExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/shipping-methods/$METHOD_ID/areas" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rate_area_id": "7bce1201-0e92-49d1-8e25-846f35fa697e",
"min_delivery_days": 8,
"max_delivery_days": 12
}'Resposta
{
"id": "7a6849c3-7b89-4721-b0f3-6814f383588a",
"shipping_method_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"rate_area_id": "7bce1201-0e92-49d1-8e25-846f35fa697e",
"rate_area_name": "Norte",
"min_delivery_days": 8,
"max_delivery_days": 12,
"position": 0,
"created_at": "2026-09-09T16:06:04.11883Z",
"updated_at": "2026-09-09T16:06:04.11883Z"
}Alterar um vínculo
Alteração parcial. Atenção ao caminho: esta rota e a de apagar ficam em /shipping/areas/{areaID}, sem o id do método, porque o areaID é o id do vínculo (não o da área de tarifa).
/api/v1/admin/shipping/areas/{areaID}AdminAltera um vínculo método/área
Exige manage_shipping.
Parâmetros de caminho
areaIDuuidobrigatórioid da listagem).Corpo da requisição
rate_area_iduuidmin_delivery_daysintegermax_delivery_daysintegerpositionintegerExemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/shipping/areas/$PAIRING_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"min_delivery_days": 6,
"max_delivery_days": 10
}'Resposta
{
"id": "7a6849c3-7b89-4721-b0f3-6814f383588a",
"shipping_method_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"rate_area_id": "7bce1201-0e92-49d1-8e25-846f35fa697e",
"rate_area_name": "Norte",
"min_delivery_days": 6,
"max_delivery_days": 10,
"position": 0,
"created_at": "2026-09-09T16:06:04.11883Z",
"updated_at": "2026-09-09T16:06:04.11883Z"
}Apagar um vínculo
Apaga o vínculo e as faixas de preço do método que pertencem à mesma área.
/api/v1/admin/shipping/areas/{areaID}AdminApaga um vínculo método/área
Exige manage_shipping.
Parâmetros de caminho
areaIDuuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/admin/shipping/areas/$PAIRING_ID" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"message": "method area deleted"
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado | {"error":"invalid or expired token"} |
| 403 | Usuário sem o privilégio manage_shipping | {"error":"insufficient privileges","privilege_required_any":["manage_shipping"]} |
| 400 | Corpo que não é JSON, ou areaID que não é UUID | {"error":"invalid request body","detail":"..."} |
| 500 | Dias negativos, max_delivery_days menor que o mínimo, segundo vínculo padrão no mesmo método, vínculo repetido para a mesma área, ou método/área inexistente | {"error":"failed to create method area","detail":"já existe um registro com esse valor (regra de unicidade/integridade do recurso)..."} |