VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Áreas de tarifa e entrega

Delimite regiões de entrega do seller por CEP, estado, cidade ou desenho no mapa, e teste se um endereço é atendido.

Uma área de tarifa é uma região geográfica nomeada: "Centro de São Paulo", "Raio de 8 km da loja", "Grande BH". O seller usa a área para dizer onde entrega e, opcionalmente, quanto cobra por lá e qual pedido mínimo aceita. A mesma região pode ser descrita por padrões de CEP, por zonas (estado, cidade, bairro, faixa de CEP) ou por formas desenhadas no mapa (polígono ou círculo).

Pontos principais
  • O seller só enxerga e altera as suas áreas. Áreas da plataforma e de outros sellers respondem 403.
  • GET /rate-areas lista só as áreas ativas por padrão; use status=all para ver também as desativadas.
  • Um endereço pertence à área se casar com qualquer um dos padrões de CEP, zonas ou formas desenhadas. Área desativada não casa com nada.
  • Com shipping_rate_amount maior que zero, a área cria sozinha uma forma de envio de código rate_area_ + id.
  • Desenhar formas no mapa exige o módulo delivery-geofence; sem ele, geofences no corpo dá 403.
  • Dinheiro em centavos.
Idioma das mensagens

As mensagens de erro e alguns textos de pendência vêm do servidor em português ou em inglês, conforme a rota, e os exemplos desta seção as mostram exatamente como são devolvidas. Para lógica no seu código, use o status HTTP e os códigos (error, reason, code), nunca o texto.

Como funciona

Há duas maneiras de usar uma área. Na primeira, a área é só um filtro: você a liga a uma forma de envio pelo campo rate_area_id, e a forma só vale para endereços dentro dela. Na segunda, a área tem sua própria tarifa (shipping_rate_amount) e já vira uma opção de frete no checkout, sem criar a forma manualmente.

  1. Descreva a região
    Crie a área com POST /api/v1/vendor/rate-areas: padrões de CEP, zonas ou formas no mapa.
  2. Defina a tarifa (opcional)
    Com shipping_rate_amount a área já vira uma opção de frete.
  3. Ligue a uma forma (opcional)
    Passe o id em rate_area_id de uma forma de envio.
  4. Teste
    Use Testar um endereço para ver o que o checkout diria.

Conceitos-chave

Três jeitos de descrever a região

CampoComo casa um endereço
zip_codesPadrões de CEP com * e ?. 01310-* casa 01310-000 a 01310-999.
zonesEstado (state_code), cidade, bairro, ou faixa de CEP (cep_from a cep_to).
geofencesPolígono ou círculo no mapa. O endereço precisa ser localizado no mapa (CEP sozinho não basta).

Você pode combinar os três na mesma área; basta casar com um. cities e addresses guardam padrões de texto para compatibilidade, e o CEP continua sendo o jeito mais confiável.

Pedido mínimo

min_order_amount existe na área e em cada zona. Se o subtotal do carrinho é menor que o da área, o endereço é recusado. Se é menor que o de uma zona, só aquela zona é ignorada.

Tipo

shipping delimita frete; tax delimita regra de imposto. A lista usa type=shipping ou type=tax como filtro.

Endpoints

MétodoCaminhoPara que serveAutenticação
GET/api/v1/vendor/rate-areasLista as áreas do seller.vendor
GET/api/v1/vendor/rate-areas/{id}Mostra uma área.vendor
POST/api/v1/vendor/rate-areasCria uma área.vendor
PUT/api/v1/vendor/rate-areas/{id}Altera uma área.vendor
DELETE/api/v1/vendor/rate-areas/{id}Apaga uma área.vendor
POST/api/v1/vendor/delivery-areas/test-addressTesta um endereço contra as áreas desenhadas.vendor

Erros comuns

  1. Achar que a lista está vazia. Sem status, só vêm as ativas. Use status=all.
  2. Esquecer que PUT com zones troca todas as zonas. Enviar zones substitui a lista inteira; omitir mantém.
  3. Enviar só um extremo da faixa de CEP. cep_from e cep_to vão juntos.
  4. Mandar geofences com o módulo desligado. Resposta 403 module_disabled. Reenviar a mesma geometria já salva não conta como escrita.
  5. Apagar a área e esperar que as formas que a usam continuem restritas. Elas ficam apontando para uma área que não existe e deixam de casar. Revise rate_area_id antes.
  6. Usar reais no lugar de centavos em min_order_amount e shipping_rate_amount.
  7. Passar um id que não é UUID. Dá 500, não 400.

Próximos passos

Criar área de tarifa
Padrões, zonas e mapa.
Testar um endereço
Veja o veredito do checkout.
Formas de envio
Ligue a área a uma forma.
Anterior
Endereço de retirada
Próxima
Listar e consultar áreas
Nesta página
  • Como funciona
  • Conceitos-chave
  • Três jeitos de descrever a região
  • Pedido mínimo
  • Tipo
  • Endpoints
  • Erros comuns
  • Próximos passos