Formas de envio do seller
Cadastre as opções de entrega do seller, como motoboy, transportadora ou retirada na loja, e defina quanto cada uma cobra.
Uma forma de envio é uma opção de entrega que o cliente escolhe no checkout: "Motoboy", "PAC", "Retirada na loja". Cada seller (lojista) cadastra as próprias formas, decide quanto elas cobram (valor fixo, faixas por peso, por valor do carrinho ou por número de itens, ou consulta à transportadora) e em quais regiões elas valem. Estas rotas só enxergam e só alteram as formas do seller dono do token. As formas que valem para a loja inteira são do administrador.
Como funciona
O cliente informa o CEP no carrinho. A plataforma percorre as formas ativas do seller dos itens e mantém só as que servem para aquele carrinho e destino. Depois calcula o preço de cada uma.
Uma forma entra na cotação quando: está ativa (A); o peso do carrinho está entre min_weight e max_weight (quando definidos); o endereço cai na área de tarifa, se houver rate_area_id; e o cliente pertence a um dos usergroup_ids, se houver. O preço sai, nesta ordem, de:
- Frete grátis:
free_shippingligado, ou subtotal do carrinho maior ou igual afree_shipping_threshold. - Faixas cadastradas em
/rates. - Consulta à transportadora, nas formas em tempo real ou de agregador.
- Peso, se
configtiverper_kg_rate. - Valor fixo
flat_rate.
No fim, surcharge e surcharge_percent são somados ao valor, exceto no frete grátis.
Fluxo típico de integração:
- Crie a área (opcional)Se a forma só vale para uma região, crie antes a área de tarifa.
- Crie a forma
POST /api/v1/vendor/shipping-methodscom nome, código e valor. - Defina faixas (opcional)
PUT /api/v1/vendor/shipping-methods/{id}/ratesquando o preço varia com peso, valor ou itens. - Confira
GET /api/v1/vendor/shipping-methodse simule um CEP na vitrine.
Conceitos-chave
Status
status | Significado |
|---|---|
A | Ativa: entra nas cotações. |
D | Desativada: continua cadastrada, mas não é oferecida. |
A API aceita também as palavras active e disabled, mas sempre devolve a letra. Outros valores não são validados e acabam em 500.
Retirada na loja
Uma forma é tratada como retirada quando o nome ou o código contém "retirada", "retirar" ou "pickup". Só essas formas aceitam um endereço de retirada; nas demais, essas rotas respondem 400.
Autorização
Basta um token de seller (veja Atores e APIs). Não há privilégio extra para estas rotas: o dono da conta e os usuários da equipe do seller podem usá-las.
Endpoints
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/vendor/shipping-methods | Lista as formas do seller. | vendor |
| GET | /api/v1/vendor/shipping-methods/{id} | Mostra uma forma. | vendor |
| POST | /api/v1/vendor/shipping-methods | Cria uma forma. | vendor |
| PUT | /api/v1/vendor/shipping-methods/{id} | Altera uma forma (parcial). | vendor |
| DELETE | /api/v1/vendor/shipping-methods/{id} | Apaga uma forma. | vendor |
| GET | /api/v1/vendor/shipping-methods/{id}/rates | Lista as faixas de preço. | vendor |
| PUT | /api/v1/vendor/shipping-methods/{id}/rates | Substitui todas as faixas. | vendor |
| DELETE | /api/v1/vendor/shipping-methods/{id}/rates/{tierId} | Apaga uma faixa. | vendor |
| GET | /api/v1/vendor/shipping-methods/{id}/pickup-point | Lê o endereço de retirada. | vendor |
| PUT | /api/v1/vendor/shipping-methods/{id}/pickup-point | Grava o endereço de retirada. | vendor |
Erros comuns
- Reaproveitar um
code. O código é único na loja inteira, inclusive entre sellers:409 code already exists. - Tentar mudar o
codecomPUT. O campo não existe na alteração; crie outra forma. - Enviar reais em vez de centavos.
15.00emflat_rateé recusado; envie1500. - Confundir peso em kg com gramas.
min_weightemax_weightda forma são kg;amountdas faixas de peso é grama. - Mandar
PUT /ratescom só a faixa nova. A rota substitui tudo: reenvie as faixas que quer manter. - Esperar que uma forma sem
rate_area_idvalha só em uma região. Sem área, ela vale para o país todo. - Usar
statuscom outras palavras. Fora deA,D,activeedisableda resposta é um500genérico.