Referência da API
Métricas de faturas
Retorna métricas agregadas das Invoices da sua conta no período: contagens por status, totais em centavos, taxa de pagamento, série temporal diária (paid + created por dia), próximas 10 a vencer e 10 vencidas atuais. Útil pra dashboards e relatórios financeiros.
GET
/v2/invoices/metricsAutenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
period'7d' | '30d' | '90d' | 'mtd' (query)opcionalPeríodo da janela de análise. `7d` = últimos 7 dias, `30d` (default) = últimos 30 dias, `90d` = últimos 90 dias, `mtd` = mês até hoje.
Exemplo: 30d
Respostas
200
Métricas agregadas. Todos os valores monetários em centavos.
Campos do response:
period.days/from/to— janela analisada.counts— quantidades por status no período.amounts.paidTotal— soma deamountPaidem PAID.amounts.pendingTotal— soma deamountem PENDING.amounts.overdueTotal— soma deamountem OVERDUE + PENDING vencidas.amounts.refundedTotal— soma derefundedAmountem REFUNDED.rates.paymentRate/defaultRate— em % (paid / (paid + overdue) × 100).daily[]— série diária preenchida (dias sem dados vêm com 0).upcoming[]— próximas 10 PENDING a vencer (próximos 7 dias).overdue[]— 10 invoices vencidas atualmente.
JSON
{
"period": {
"days": 30,
"from": "2026-08-15T00:00:00.000Z",
"to": "2026-09-14T00:00:00.000Z"
},
"counts": {
"paid": 47,
"pending": 12,
"overdue": 3,
"canceled": 2,
"refunded": 1,
"total": 65
},
"amounts": {
"paidTotal": 230300,
"pendingTotal": 58800,
"overdueTotal": 14700,
"refundedTotal": 3000
},
"rates": {
"paymentRate": 94.0,
"defaultRate": 6.0
},
"daily": [
{ "date": "2026-08-15", "paid": 2, "paidAmount": 9800, "created": 3 },
{ "date": "2026-08-16", "paid": 1, "paidAmount": 4900, "created": 2 }
],
"upcoming": [
{
"id": "inv_222bbb",
"description": "Mensalidade Outubro",
"amount": 4900,
"dueDate": "2026-09-20T00:00:00.000Z",
"customerName": "Maria Souza",
"daysUntilDue": 6
}
],
"overdue": [
{
"id": "inv_333ccc",
"description": "Mensalidade Agosto",
"amount": 4900,
"dueDate": "2026-08-20T00:00:00.000Z",
"customerName": "Pedro Costa",
"daysOverdue": 25
}
]
}Exemplos
cURL
# Últimos 30 dias (default)
curl -X GET "https://api.pagnovo.com/v2/invoices/metrics" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"
# Mês até hoje
curl -X GET "https://api.pagnovo.com/v2/invoices/metrics?period=mtd" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"JavaScript
const token = Buffer.from("secret:" + process.env.PAGNOVO_SECRET_KEY).toString("base64");
const res = await fetch("https://api.pagnovo.com/v2/invoices/metrics?period=30d", {
headers: { Authorization: `Basic ${token}` },
});
const m = await res.json();
console.log(`Taxa de pagamento: ${m.rates.paymentRate}%`);
console.log(`Faturado: R$ ${(m.amounts.paidTotal / 100).toFixed(2)}`);
console.log(`Em aberto: R$ ${(m.amounts.pendingTotal / 100).toFixed(2)}`);
console.log(`Vencidas: ${m.counts.overdue} (R$ ${(m.amounts.overdueTotal / 100).toFixed(2)})`);