Pedidos programados
Supervisiona as grades de entrega dos compradores: lista, projeta a demanda futura e pausa ou cancela uma grade.
Um pedido programado (standing order, ou "grade de entrega") é uma compra recorrente que o comprador B2B agenda: "toda segunda, 200 unidades deste item". Quem cria e edita a grade é o próprio comprador, pela vitrine. A loja usa estas rotas para enxergar todas as grades, projetar a demanda dos próximos meses (útil para estoque e compras) e intervir quando preciso, pausando ou cancelando.
Exigem o módulo b2b-pricing e o privilégio manage_b2b ou manage_orders.
O ciclo de uma grade
status | Significado | Próximos estados |
|---|---|---|
active | Gera um pedido real a cada data prevista. | paused, canceled |
paused | Parada. Pode ser pausada pelo comprador, pela loja ou automaticamente após 3 falhas seguidas. | active (só o comprador retoma), canceled |
canceled | Encerrada. Estado final. | nenhum |
completed | Chegou ao fim (data final ou número de ocorrências). Estado final. | nenhum |
Listar pedidos programados
Devolve as grades de toda a loja, da data mais próxima para a mais distante, já com os itens. Não há paginação.
/api/v1/admin/b2b/standing-ordersAdminLista os pedidos programados da loja
Parâmetros de consulta
user_iduuidstatusstringactivepausedcanceledcompletedExemplo de requisição
Resposta
Campos da resposta
iduuiduser_iduuidcorporate_account_iduuidcontract_iduuidnamestringstatusstringactivepausedcanceledcompletedfrequencystringweeklybiweeklymonthlynext_run_onstringYYYY-MM-DD.ends_onstringYYYY-MM-DD. Ausente quando a grade não tem fim.occurrences_totalintegeroccurrences_doneintegeron_contract_expiredstringpausecontinue_basepause para a grade, continue_base segue com o preço base.consecutive_failuresintegeranchor_dayinteger0 em grades antigas, sem referência gravada.shipping_addressobjectnull.payment_method_idstringitemsarrayid, product_id, quantity (inteiro, 1 ou mais), product_name e sku.created_atstringupdated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token | {"error":"missing authorization header"} |
| 403 | Sem privilégio | {"error":"insufficient privileges","privilege_required_any":["manage_b2b","manage_orders"]} |
| 403 | Módulo desligado | {"error":"module_disabled","module":"b2b-pricing"} |
| 500 | user_id que não é UUID, ou falha de consulta | {"error":"standing order operation failed","detail":"..."} |
Projetar a demanda
Soma, por mês e por produto, o que as grades ativas vão pedir nos próximos dias. Serve para antecipar compra e estoque.
/api/v1/admin/b2b/standing-orders/forecastAdminProjeta a demanda futura das grades ativas
Parâmetros de consulta
daysintegerpadrão: 90Exemplo de requisição
Resposta
Campos da resposta
bucketsarraymonthstringYYYY-MM.product_iduuidskustringproduct_namestringquantityintegerrevenue_centsintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 / 403 | Sem token, sem privilégio, módulo desligado | veja a lista acima |
Pausar uma grade
Para a geração de pedidos de uma grade active. Nada é cancelado: as datas futuras ficam guardadas até o comprador retomar.
/api/v1/admin/b2b/standing-orders/{id}/pauseAdminPausa um pedido programado
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Resposta
A resposta é a grade completa, com os campos da listagem, já no novo estado. O evento b2b.standing_order.paused é publicado.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 404 | Grade inexistente ou excluída | {"error":"standing order not found"} |
| 409 | Grade que não está active (já pausada, cancelada ou concluída) | {"error":"invalid status transition"} |
| 403 | Módulo desligado (checado também pelo serviço) | {"error":"b2b-pricing module is disabled"} |
| 500 | Id que não é UUID | {"error":"standing order operation failed","detail":"..."} |
Cancelar uma grade
Encerra a grade de forma definitiva. Pedidos já gerados não são afetados.
/api/v1/admin/b2b/standing-orders/{id}/cancelAdminCancela um pedido programado
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Resposta
Exemplo abreviado: a resposta real inclui items e os demais campos da listagem. O evento b2b.standing_order.canceled é publicado.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 404 | Grade inexistente ou excluída | {"error":"standing order not found"} |
| 409 | Grade já cancelada ou concluída | {"error":"invalid status transition"} |