Brasil: preço por UF e destinos
Recursos específicos do mercado brasileiro: preço por estado, bloqueio ou liberação de entrega por destino e consultas de CNPJ, CNAE e UFs.
Vender no Brasil traz regras que não existem em outros mercados: o preço de um produto pode mudar conforme a UF do comprador, certos produtos só podem ser entregues em algumas regiões, e empresas são identificadas pelo CNPJ e classificadas por CNAE (a atividade econômica oficial). Esta área reúne essas ferramentas do painel.
Como funciona
Preço por UF
Cada regra diz: "para este produto, em SP, a partir de min_qty unidades, o preço é X". Na hora de calcular o preço (carrinho e checkout), a plataforma escolhe a regra ativa da UF cuja min_qty é a maior que não passa da quantidade pedida. Sem regra aplicável, vale o preço normal do produto (source: "default").
Destinos permitidos e bloqueados
Cada regra é allow (permitir) ou deny (bloquear) e se aplica a uma entidade: product, vendor, category ou global. Pode ser restrita por UF, cidade e faixa de CEP. Ao avaliar um destino a plataforma procura a regra mais específica: produto vence seller, que vence categoria, que vence global. Em empate de especificidade, deny vence allow. Sem nenhuma regra aplicável, a entrega é permitida.
Status das regras
A (ativa) e D (desativada). Nas entradas você pode enviar active/disabled ou a letra; nas respostas a letra sempre volta. Regras desativadas não entram no cálculo.
Endpoints
| Método | Caminho | Para quê |
|---|---|---|
| GET | /api/v1/admin/brazil/state-pricing/{productID} | Lista regras de um produto |
| POST | /api/v1/admin/brazil/state-pricing | Cria uma regra |
| PUT | /api/v1/admin/brazil/state-pricing/{id} | Altera uma regra |
| DELETE | /api/v1/admin/brazil/state-pricing/{id} | Remove uma regra |
| POST | /api/v1/admin/brazil/state-pricing/bulk | Grava várias regras |
| POST | /api/v1/admin/brazil/state-pricing/effective | Simula o preço efetivo |
| GET | /api/v1/admin/brazil/destination-permissions | Lista regras de destino |
| POST | /api/v1/admin/brazil/destination-permissions | Cria regra de destino |
| POST | /api/v1/admin/brazil/destination-permissions/check | Verifica um destino |
| PUT | /api/v1/admin/brazil/destination-permissions/{id} | Altera regra de destino |
| DELETE | /api/v1/admin/brazil/destination-permissions/{id} | Remove regra de destino |
| GET | /api/v1/admin/brazil/cnpj/{cnpj} | Consulta um CNPJ |
| GET | /api/v1/admin/brazil/cnae | Busca códigos CNAE |
| GET | /api/v1/admin/brazil/cnae/{code} | Consulta um CNAE |
| GET | /api/v1/admin/brazil/states | Lista as 27 UFs |
Erros comuns
- Usar o UUID em regra de destino.
entity_idé um número: odisplay_iddo produto ou do seller, ou olegacy_idda categoria. Um UUID é recusado como corpo inválido. - Esperar que o bloqueio valha para o catálogo. A regra de destino é conferida na criação do pedido. A vitrine continua mostrando o produto.
- Achar que
denyglobal bloqueia tudo. Uma regraallowmais específica (por exemplo, para um produto) vence a regra global. - Criar a mesma regra de preço duas vezes. O par (produto, UF,
min_qty) é único: a segunda criação volta 400. Use o endpoint de lote, que atualiza. - Confundir id de regra com id de produto. As rotas
{id}de preço e destino usam o id numérico da regra. - Contar com a paginação padrão. A lista de destinos aceita
pageeper_page, mas os campospageeper_pageda resposta vêm0quando você não os envia (a página real é 1 com 20 itens).