Compra B2B: atacado e pedidos programados
Como exibir preços de atacado e programar a recompra automática de uma cesta fixa.
Quem compra para revender ou abastecer uma empresa pensa em volume e recorrência: paga menos por unidade quando leva mais e quer repetir a mesma compra todo mês sem digitar de novo. Esta seção cobre as duas pontas na vitrine: a escada de preços de atacado (com a quantidade mínima) e a grade de entrega, o pedido programado que a plataforma gera sozinha.
Como funciona
O ciclo de uma grade:
status | Significado | Como entra |
|---|---|---|
active | Gera um pedido em cada data. | Criação ou retomada |
paused | Parada; nenhum pedido sai. | Pausa do cliente, 3 falhas seguidas ou contrato vencido (pause) |
completed | Chegou a occurrences_total ou passou de ends_on. Final. | Automático |
canceled | Cancelada pelo cliente. Final. | Cancelamento |
Transições permitidas: active para paused ou canceled; paused para active ou canceled. Qualquer outra devolve 409.
- Mostrar o preço de atacado
Faixas e quantidade mínima na página do produto.
- Programar a recompra
Crie a grade com cesta, periodicidade, primeira data e endereço.
- Deixar a plataforma gerar os pedidos
Todo dia, a partir das 05:00 (Brasília), a plataforma gera os pedidos que vencem. Mostre o histórico ao cliente.
Conceitos-chave
Preço no dia do pedido
A grade guarda produtos e quantidades, não preços. Cada pedido nasce com o preço vigente naquele dia (tabela, faixa de quantidade, regra B2B ou contrato). Se o preço mudar, o próximo pedido muda junto.
Contrato
Uma grade pode ficar presa a um contrato de preços (contract_id). Se o contrato vencer, on_contract_expired decide: pause (padrão) para a grade; continue_base segue ao preço normal.
Falhas e pausa automática
Se um pedido não pode ser gerado (por exemplo credit, limite insuficiente), a tentativa fica registrada como failed e o contador de falhas sobe. Ao chegar a 3 seguidas, a grade pausa sozinha; um pedido gerado com sucesso zera o contador.
Visualizador (viewer)
Em contas corporativas, quem tem o perfil só de leitura (viewer) pode consultar mas não criar nem alterar grades (403).
Endpoints
| Método e caminho | Para quê | Autenticação | Página |
|---|---|---|---|
GET /api/v1/storefront/b2b/products/{productId}/tiers | Faixas de preço por quantidade de um produto | Token do cliente | Preço de atacado |
GET /api/v1/storefront/b2b/products/{productId}/min-qty | Quantidade mínima de compra de um produto | Token do cliente | Preço de atacado |
GET /api/v1/storefront/b2b/standing-orders | Lista as grades de entrega do cliente | Token do cliente | Grades de entrega |
POST /api/v1/storefront/b2b/standing-orders | Cria uma grade de entrega | Token do cliente | Grades de entrega |
GET /api/v1/storefront/b2b/standing-orders/{id} | Detalhe de uma grade | Token do cliente | Grades de entrega |
PUT /api/v1/storefront/b2b/standing-orders/{id} | Renomeia e/ou troca a cesta da grade | Token do cliente | Grades de entrega |
POST /api/v1/storefront/b2b/standing-orders/{id}/pause | Pausa a grade | Token do cliente | Controlar uma grade |
POST /api/v1/storefront/b2b/standing-orders/{id}/resume | Retoma a grade | Token do cliente | Controlar uma grade |
POST /api/v1/storefront/b2b/standing-orders/{id}/cancel | Cancela a grade | Token do cliente | Controlar uma grade |
GET /api/v1/storefront/b2b/standing-orders/{id}/runs | Histórico das tentativas de gerar pedido | Token do cliente | Controlar uma grade |