O que o agente faz
Do pedido de compra ao recibo assinado.
O agente propõe e paga. Uma pessoa entra só acima do teto por transação.
01
Pedido
Um pedido de compra chega de compras. O agente lê fornecedor, valor, vencimento e a linha digitável do boleto.
02
Mandato
O teto por transação e o teto mensal são verificados antes de qualquer envio. Um pagamento acima do teto mensal é recusado.
03
Pagamento
Abaixo do teto por transação, o boleto é pago. Acima dele, o pagamento espera uma pessoa no Dashboard; na aprovação roda o ciclo completo: saldo reservado, débito, recibo assinado.
04
Recibo
Cada boleto pago recebe um recibo assinado e um lançamento com categoria fornecedor; a referência do pedido vai na descrição.
Por trás
As partes que fazem isso rodar.
Três chamadas do agente. O resto é a plataforma: mandato, pagamento, aprovações, recibo.
Sandbox run · demo data
Cookbook
Um pagamento a fornecedor, de ponta a ponta.
O consumidor assina o mandato na página de consentimento; o agente faz três chamadas no código. Um pagamento acima do teto por transação aguarda aprovação no Dashboard; o agente lê o status.
- Uma chave de testeNo Dashboard. Chaves de teste são gratuitas; nada movimenta dinheiro real.
- Um mandatoTeto por transação e teto mensal. O Dashboard abre a página de consentimento; o consumidor assina.
- Um pedido de compraQualquer referência que o agente possa citar: número do PO, fornecedor, valor, a linha digitável do boleto.
// 1 · o consumidor assinou o mandato na página de consentimento: R$ 3.000,00 por transação, R$ 20.000,00 por mêsimport { CodeSpar, isApprovalRequired } from "@codespar/sdk";const session = await new CodeSpar().create("user_0000", { preset: "brazilian" }); // 2 · o agente paga o boleto do pedido de compraconst run = await session.send("pay the packaging supplier's boleto for PO-0418");const pay = run.tool_calls.find((c) => c.tool_name === "codespar_pay"); // 3 · abaixo do teto: pago · acima dele: aguarda aprovação no Dashboardif (pay && isApprovalRequired(pay.output)) console.log(pay.output.approval_id, pay.output.expires_at);else if (pay) console.log((await session.paymentStatus(pay.id)).payment_status); // "succeeded"Sandbox run · demo data