Referência técnica de vendas, clientes e fornecedores
Domínios Order, Customer e Supplier da pepper-api; telas em pepper-front/src/app/{order,customer,supplier}. O id do registro aberto no detalhe fica no sessionStorage (chaves order, customer, supplier).
Entidades
| Coleção | Campos principais |
|---|---|
Order | business, customer, status (paid/notPaid), flowStatus (waiting/accepted/done/denied), payment (cash, creditCard, debitCard, transfer, pix, boleto), plots, invoice, billedValue, saleDate, dueDate, paymentDate, source (manual, marketplace, fair), softDelete/deletedAt; entrega (shippingAddress, recipient, fulfillment, shippingFee, shippingQuote), checkoutGroup, buyer, charge (ATLA Pay) |
OrderProduct | order, product, amount, value, discount (%), lote, acquisitionId |
Customer | business, type (PF/PJ), name, email, cellphone, cpfCnpj, rg, rgUf, income, address, avatar, tags, contacts[], source (UTM, feira, afiliação), requestDelete, softDelete |
ProfileSupplier / Supplier | perfil do fornecedor → name, fantasyName, productType, cnpj, phone, email, owner, address |
O total do pedido é calculado na consulta: soma de value × amount × (1 − discount/100).
Rotas principais
| Rota | Uso |
|---|---|
GET /order | Lista (business, ref = mês da venda, includeDeleted, customer, filtros) |
POST /order · GET/PUT/DELETE /order/:id | Criar, detalhar, editar, mandar para a lixeira |
PATCH /order/:id/status | Pagamento e andamento (dispara os efeitos de pago: acesso digital, códigos) |
PUT /order/:id/restore · DELETE /order/:id/force · POST /:id/clone · /:id/reprocess | Lixeira, exclusão definitiva, clonar e reprocessar |
/order/:id/ready · /posted · /label · /fiscal · /shipment/retry | Expedição e etiqueta (marketplace) |
GET /order/fair/:fairId · /labels | Pedidos da feira |
GET/POST /customer, GET/PUT/DELETE /customer/:id, GET /customer/:id/orders | Clientes |
/customer/me/* | Área do próprio cliente no app: dados, pedidos, avaliações, matrículas, notificações |
GET/POST /supplier, GET/PUT/DELETE /supplier/:id | Fornecedores |
Efeitos do pagamento (Order/on-paid.js)
- Acesso digital: o pedido dá acesso quando está pago, não recusado e fora da lixeira. Nesse caso, as matrículas dos produtos digitais são liberadas (
grantAccess) e os códigos de acesso do balcão são emitidos. - Revogação: estorno, recusa ou lixeira revogam as matrículas que vieram do pedido. O progresso do aluno é guardado.
Permissões
- RBAC: recursos
Order,CustomereSupplier. - Policies de pedidos e clientes: o registro precisa ser da empresa do perfil, e o
businessdeclarado na requisição passa pelowithDeclaredBusinessGuard. - Cliente (ProfileCustomer): só os próprios pedidos e dados.