Pular para o conteúdo principal

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çãoCampos principais
Orderbusiness, 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)
OrderProductorder, product, amount, value, discount (%), lote, acquisitionId
Customerbusiness, type (PF/PJ), name, email, cellphone, cpfCnpj, rg, rgUf, income, address, avatar, tags, contacts[], source (UTM, feira, afiliação), requestDelete, softDelete
ProfileSupplier / Supplierperfil 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​

RotaUso
GET /orderLista (business, ref = mês da venda, includeDeleted, customer, filtros)
POST /order · GET/PUT/DELETE /order/:idCriar, detalhar, editar, mandar para a lixeira
PATCH /order/:id/statusPagamento e andamento (dispara os efeitos de pago: acesso digital, códigos)
PUT /order/:id/restore · DELETE /order/:id/force · POST /:id/clone · /:id/reprocessLixeira, exclusão definitiva, clonar e reprocessar
/order/:id/ready · /posted · /label · /fiscal · /shipment/retryExpedição e etiqueta (marketplace)
GET /order/fair/:fairId · /labelsPedidos da feira
GET/POST /customer, GET/PUT/DELETE /customer/:id, GET /customer/:id/ordersClientes
/customer/me/*Área do próprio cliente no app: dados, pedidos, avaliações, matrículas, notificações
GET/POST /supplier, GET/PUT/DELETE /supplier/:idFornecedores

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, Customer e Supplier.
  • Policies de pedidos e clientes: o registro precisa ser da empresa do perfil, e o business declarado na requisição passa pelo withDeclaredBusinessGuard.
  • Cliente (ProfileCustomer): só os próprios pedidos e dados.