Frete e regras de entrega
🛂 Permissões:
shipping.view,shipping.create,shipping.edit,shipping.delete📍 Caminho: Configurações → Frete
A loja só vende se conseguir cotar o frete. A 365 Vendas suporta quatro métodos de cálculo, e você pode ter várias configurações ativas ao mesmo tempo — o cliente escolhe a que prefere no checkout.
Métodos suportados
| Método | Descrição |
|---|---|
| FIXED_RATE | Valor fixo de frete para qualquer endereço. |
| DISTANCE_BASED | Frete calculado pela distância entre a loja e o cliente, em faixas. |
| STORE_PICKUP | Retirada na loja — frete zero. |
| REGION_BASED | Frete por região (macro-região, estado ou cidade). |
Cada configuração é nomeada (display_name) — o cliente vê esse nome no checkout (ex.: "Entrega Padrão", "Retirada na Loja", "Entrega Expressa").
Campos comuns
| Campo | Descrição |
|---|---|
| Nome de exibição | Como aparece no checkout. |
| Frete grátis acima de | Se o subtotal for ≥ esse valor, frete vai a zero (qualquer método exceto STORE_PICKUP). NULL = sem regra. |
| Prazo estimado mínimo / máximo (dias) | Faixa exibida ao cliente (ex.: 2–5 dias). |
| Ativo | Habilita/desabilita a configuração. |
| Padrão | Marca como configuração principal. |
Método 1 — Valor fixo (FIXED_RATE)
Use quando você cobra o mesmo frete para qualquer pedido (ex.: motoboy do bairro).
| Campo | Descrição |
|---|---|
| Valor fixo | Tarifa única em R$. |
Exemplo: "Entrega Padrão", flat_rate = 10.00, free_shipping_above = 150.00 → frete R$ 10 em pedidos comuns, grátis acima de R$ 150.
Método 2 — Por distância (DISTANCE_BASED)
⚠️ Pré-requisito: preencher latitude/longitude da loja em Configurações da loja.
Use para áreas extensas onde o custo varia com a distância.
Configure as faixas de distância como uma tabela (JSON internamente, editável via formulário no painel):
[
{ "from_km": 0, "to_km": 5, "price": 8.00 },
{ "from_km": 5, "to_km": 10, "price": 15.00 },
{ "from_km": 10, "to_km": 20, "price": 25.00 }
]
| Campo | Descrição |
|---|---|
| Faixas (km / preço) | Lista de intervalos. A faixa que contém a distância calculada define o preço. |
| Distância máxima (km) | Limite acima do qual o pedido é rejeitado (cliente vê "fora da área de entrega"). |
A distância é calculada via geolocalização do endereço de entrega ↔ coordenadas da loja.
Método 3 — Retirada na loja (STORE_PICKUP)
Frete zero — o cliente busca na loja física.
Sem campos extras: basta criar a configuração, dar o nome (ex.: "Retirada na loja") e ativar. O endereço da loja exibido ao cliente vem do cadastro em Configurações da loja.
Método 4 — Por região (REGION_BASED)
Use quando você precisa precificar por macro-região, estado ou cidade sem depender de geolocalização precisa.
Estrutura de regras (region_rules, JSON):
{
"type": "MACRO_REGION",
"default_price": 30.00,
"rules": [
{ "key": "SUL", "price": 25.00, "estimated_days_min": 3, "estimated_days_max": 7 },
{ "key": "SUDESTE", "price": 30.00, "estimated_days_min": 3, "estimated_days_max": 5 },
{ "key": "NORDESTE", "price": 45.00, "estimated_days_min": 5, "estimated_days_max": 10 }
]
}
| Campo | Descrição |
|---|---|
| Tipo | MACRO_REGION (Sul/Sudeste/Centro-Oeste/Norte/Nordeste), STATE (UF), CITY. |
| Preço padrão | Aplicado quando a região do cliente não bate com nenhuma regra. |
| Regras | Lista (chave → preço + prazo). |
Janela de entrega (delivery schedule)
Cada configuração pode ter uma agenda de entrega opcional, controlando dias da semana, horários e antecedência mínima:
{
"enabled": true,
"weekdays": [1, 2, 3, 4, 5],
"time_slots": ["09:00", "14:00"],
"cutoff_hours": 2
}
| Campo | Descrição |
|---|---|
| Dias da semana | Quais dias aceitam entrega. |
| Janelas de horário | Faixas (ex.: 09:00, 14:00) — o cliente escolhe uma. |
| Antecedência mínima (horas) | Tempo antes do slot em que o cliente ainda pode agendar. |
Os slots aparecem para o cliente no checkout e se refletem na Agenda do painel (Agenda).
Múltiplas configurações ao mesmo tempo
Você pode (e geralmente deve) cadastrar mais de uma configuração ativa, por exemplo:
- "Entrega Padrão" (FIXED_RATE R$ 10)
- "Retirada na Loja" (STORE_PICKUP)
- "Entrega Expressa Mesmo Dia" (FIXED_RATE R$ 25, com agenda restrita)
Marque uma como Padrão — ela é a opção pré-selecionada no checkout.
Boas práticas
- Sempre ofereça STORE_PICKUP se possível: zero atrito de frete e bom para conversão.
- Para áreas urbanas, DISTANCE_BASED é mais justo do que valor fixo.
- Use frete grátis acima de X como gatilho de upsell — defina X um pouco acima do ticket médio.
- Em DISTANCE_BASED, defina sempre uma distância máxima; sem ela, o sistema aceita pedidos de qualquer lugar.
- Use a agenda de entrega se você tem janela operacional limitada — evita prometer entregas impossíveis.