Reports
Painel, finanças e checkouts abandonados do seller.
- get
/v1/dashboard— Painel - get
/v1/finance— Saldos e journals - get
/v1/finance/fees— Taxas vigentes - get
/v1/finance/forecast— Previsão de liberações - get
/v1/finance/statement— Extrato do saldo disponível - get
/v1/notifications— Notificações ao vivo - get
/v1/reports/abandoned-checkouts— Checkouts abandonados - post
/v1/reports/abandoned-checkouts/{leadId}/recovery-link— Gerar link de recuperação
/v1/dashboardPainel (getDashboard)
Com period (today, 7d ou 30d; currency opcional, padrão BRL): visão geral do período no fuso da organização — "hoje" começa à meia-noite local — com KPIs contra o período anterior equivalente, série, métodos, Pix emitido × pago, saldos, waterfall e ritmo do dia. Formatos anteriores, mantidos por uma release: sem parâmetros, resumo de todos os pagamentos; com from, to (datas UTC AAAA-MM-DD) e currency — os três juntos — resumo do período. Misturar os formatos → 400 VALIDATION_FAILED.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
reports:read - URL:
https://api.v2.wolfpayteste.online/v1/dashboard
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
from | consulta | string | Padrão |
to | consulta | string | Padrão |
currency | consulta | string | Padrão |
period | consulta | string | Valores: |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Resumo.
Um destes formatos:
{
"period": "today",
"currency": "BRL",
"timezone": "America/Sao_Paulo",
"from": "2026-11-06T03:00:00.000Z",
"to": "2026-11-06T15:00:00.000Z",
"previous_from": "2026-11-05T03:00:00.000Z",
"previous_to": "2026-11-05T15:00:00.000Z",
"generated_at": "2026-11-06T15:00:00.120Z",
"kpis": {
"gross": {
"value": "29700",
"previous": "19800",
"delta": "9900"
},
"paid": {
"value": 3,
"previous": 2,
"delta": 1
},
"pix_conversion": {
"value": 6667,
"previous": 5000,
"delta": 1667,
"numerator": 2,
"denominator": 3,
"previous_numerator": 1,
"previous_denominator": 2
},
"card_approval": {
"value": 5000,
"previous": 10000,
"delta": -5000,
"numerator": 1,
"denominator": 2,
"previous_numerator": 1,
"previous_denominator": 1
}
},
"series": {
"granularity": "hour",
"buckets": [
{
"start": "2026-11-06T12:00:00.000Z",
"label": "2026-11-06T09:00",
"gross_minor": "19800",
"pix_minor": "19800",
"card_minor": "0",
"paid_count": 2
},
{
"start": "2026-11-06T13:00:00.000Z",
"label": "2026-11-06T10:00",
"gross_minor": "9900",
"pix_minor": "0",
"card_minor": "9900",
"paid_count": 1
}
]
},
"methods": [
{
"method": "pix",
"paid_count": 2,
"gross_minor": "19800"
},
{
"method": "card",
"paid_count": 1,
"gross_minor": "9900"
}
],
"pix": {
"emitted_count": 3,
"paid_count": 2,
"pending_count": 1,
"expired_count": 0,
"emitted_minor": "29700",
"paid_minor": "19800"
},
"balances": {
"available_minor": "9404",
"pending_minor": "29700",
"reserved_minor": "0",
"dispute_hold_minor": "0",
"payout_pending_minor": "0",
"paid_out_minor": "150000"
},
"waterfall": {
"gross_minor": "29700",
"refunds_minor": "4900",
"disputes_minor": "0",
"fees_minor": "0",
"net_minor": "24800",
"fees_settled_payments": 0,
"succeeded_payments": 3
},
"rhythm": {
"status": "insufficient_history",
"date": "2026-11-06",
"current_hour": 12,
"reason": "history_shorter_than_4_weeks"
},
"recent_sales": [
{
"payment_intent_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"order_id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
"amount_minor": "9900",
"currency": "BRL",
"status": "succeeded",
"display_status": "paid",
"payment_method": "card",
"created_at": "2026-11-06T12:00:00.000Z"
}
]
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/financeSaldos e journals (getFinance)
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
finance:read - URL:
https://api.v2.wolfpayteste.online/v1/finance
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Saldos e journals recentes.
Objeto FinanceSnapshot
| Campo | Tipo | Detalhes |
|---|---|---|
balances obrigatório | object[] | |
balances[].code obrigatório | string | |
balances[].currency obrigatório | string | Padrão |
balances[].balance_minor obrigatório | string | |
journals obrigatório | object[] | |
journals[].id obrigatório | string | Começa com |
journals[].source_type obrigatório | string | |
journals[].source_id obrigatório | string | |
journals[].operation_key obrigatório | string | |
journals[].currency obrigatório | string | Padrão |
journals[].debit_minor obrigatório | string | |
journals[].credit_minor obrigatório | string | |
journals[].created_at obrigatório | string |
{
"balances": [
{
"code": "seller_available",
"currency": "BRL",
"balance_minor": "9504"
}
],
"journals": [
{
"id": "jrn_1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f",
"source_type": "payment_intent",
"source_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"operation_key": "capture:pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"currency": "BRL",
"debit_minor": "9900",
"credit_minor": "9900",
"created_at": "2026-11-06T12:00:05.000Z"
}
]
}Erros
- 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/finance/feesTaxas vigentes (getFinanceFees)
Política de taxas vigente do seller em pontos-base (100 = 1 %): a do seller, se existir, senão a da plataforma; overrides lista as políticas por produto ou oferta.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
finance:read - URL:
https://api.v2.wolfpayteste.online/v1/finance/fees
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Taxas.
Objeto FinanceFees
| Campo | Tipo | Detalhes |
|---|---|---|
overrides obrigatório | object[] | |
overrides[].scope obrigatório | string | Valores: |
overrides[].scope_id obrigatório | string | null | |
overrides[].provider_id obrigatório | string | |
overrides[].fee_basis_points obrigatório | integer | de 0 a 10000 |
overrides[].reserve_basis_points obrigatório | integer | de 0 a 10000 |
overrides[].max_installments obrigatório | integer | de 1 a 24 |
overrides[].version obrigatório | string |
{
"default": {
"scope": "global",
"scope_id": null,
"provider_id": "simulator",
"fee_basis_points": 499,
"reserve_basis_points": 0,
"max_installments": 12,
"version": "1"
},
"overrides": []
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/finance/forecastPrevisão de liberações (getFinanceForecast)
Liberações previstas do saldo a liberar (liquidação sintética, nenhum dinheiro real). Cada pagamento aprovado tem o prazo congelado na aprovação, em dias corridos no fuso da organização (Pix D+1 e cartão de teste D+30, ou o prazo da conta definido pela Wolf), e fica disponível às 00:00 locais do dia do prazo. Com a liquidação automática ligada, data traz o valor líquido (depois da taxa e da reserva) por dia e método, uma liberação já vencida aparece com a data de hoje, held soma os pagamentos retidos (disputa aberta, reembolso em andamento, revisão) e reason é null. Com ela desligada, data vem vazio com reason: "no_canonical_settlement_schedule". terms lista os prazos vigentes para novos pagamentos e pending_minor o saldo a liberar.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
finance:read - URL:
https://api.v2.wolfpayteste.online/v1/finance/forecast
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
currency | consulta | string | Padrão Padrão: |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Previsão.
Objeto FinanceForecast
| Campo | Tipo | Detalhes |
|---|---|---|
currency obrigatório | string | Padrão |
pending_minor obrigatório | string | Padrão |
data obrigatório | object[] | |
data[].date obrigatório | string | Padrão |
data[].amount_minor obrigatório | string | Padrão |
data[].gross_minor | string | Padrão |
data[].fee_minor | string | Padrão |
data[].reserve_minor | string | Padrão |
data[].payments | integer | de 0 a 9007199254740991 |
data[].methods obrigatório | object[] | |
data[].methods[].payment_method_type obrigatório | string | Valores: |
data[].methods[].amount_minor obrigatório | string | Padrão |
data[].methods[].gross_minor obrigatório | string | Padrão |
data[].methods[].payments obrigatório | integer | de 0 a 9007199254740991 |
reason obrigatório | string | null | |
terms obrigatório | object[] | |
terms[].payment_method_type obrigatório | string | Valores: |
terms[].days obrigatório | integer | de 0 a 60 |
terms[].source obrigatório | string | Valores: |
held obrigatório | object | |
held.gross_minor obrigatório | string | Padrão |
held.payments obrigatório | integer | de 0 a 9007199254740991 |
held.reasons obrigatório | object[] | |
held.reasons[].reason obrigatório | string | Valores: |
held.reasons[].gross_minor obrigatório | string | Padrão |
held.reasons[].payments obrigatório | integer | de 0 a 9007199254740991 |
{
"currency": "BRL",
"pending_minor": "29700",
"reason": null,
"data": [
{
"date": "2026-09-29",
"amount_minor": "9406",
"gross_minor": "9900",
"fee_minor": "494",
"reserve_minor": "0",
"payments": 1,
"methods": [
{
"payment_method_type": "pix",
"amount_minor": "9406",
"gross_minor": "9900",
"payments": 1
}
]
},
{
"date": "2026-10-28",
"amount_minor": "18812",
"gross_minor": "19800",
"fee_minor": "988",
"reserve_minor": "0",
"payments": 2,
"methods": [
{
"payment_method_type": "card",
"amount_minor": "18812",
"gross_minor": "19800",
"payments": 2
}
]
}
],
"terms": [
{
"payment_method_type": "pix",
"days": 1,
"source": "platform_default"
},
{
"payment_method_type": "card",
"days": 30,
"source": "platform_default"
}
],
"held": {
"gross_minor": "0",
"payments": 0,
"reasons": []
}
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/finance/statementExtrato do saldo disponível (getFinanceStatement)
Lançamentos da conta de saldo disponível do seller, do mais recente ao mais antigo, com balance_after_minor (saldo logo após cada lançamento). Paginado por cursor.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
finance:read - URL:
https://api.v2.wolfpayteste.online/v1/finance/statement
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
currency | consulta | string | Padrão Padrão: |
limit | consulta | integer | de 1 a 100 Padrão: |
cursor | consulta | string | Padrão até 2048 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Extrato.
Objeto FinanceStatement
| Campo | Tipo | Detalhes |
|---|---|---|
currency obrigatório | string | Padrão |
account obrigatório | "seller_available" | |
balance_minor obrigatório | string | Padrão |
data obrigatório | object[] | |
data[].id obrigatório | string | Começa com |
data[].journal_id obrigatório | string | Começa com |
data[].source_type obrigatório | string | |
data[].source_id obrigatório | string | |
data[].payment_intent_id obrigatório | string | null | |
data[].amount_minor obrigatório | string | Padrão |
data[].balance_after_minor obrigatório | string | Padrão |
data[].created_at obrigatório | string | |
next_cursor obrigatório | string | null |
{
"currency": "BRL",
"account": "seller_available",
"balance_minor": "9404",
"data": [
{
"id": "pst_4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a",
"journal_id": "jrn_1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f",
"source_type": "settlement",
"source_id": "stl_6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b",
"payment_intent_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"amount_minor": "9404",
"balance_after_minor": "9404",
"created_at": "2026-11-06T12:00:05.000Z"
}
],
"next_cursor": null
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/notificationsNotificações ao vivo (listNotifications)
Eventos recentes da conta para os avisos ao vivo do app: Pix emitido, pagamento aprovado ou recusado, reembolso e saque (saques só para papéis com finance:read). Sem since: os mais recentes das últimas 24 h; com since (o next_cursor anterior): os eventos depois dele, em ordem. Pensado para polling a cada 15 s. Nunca traz nome, e-mail ou documento do comprador: só valor, método e uma referência curta.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
payments:read - URL:
https://api.v2.wolfpayteste.online/v1/notifications
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
since | consulta | string | Padrão até 512 caracteres |
limit | consulta | integer | de 1 a 50 Padrão: |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Notificações.
Objeto NotificationPage
| Campo | Tipo | Detalhes |
|---|---|---|
data obrigatório | Notification[] | |
next_cursor obrigatório | string | Padrão até 512 caracteres |
has_more obrigatório | boolean |
{
"data": [
{
"id": "evt_7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f",
"kind": "pix_issued",
"occurred_at": "2026-11-06T12:00:00.000000Z",
"amount_minor": "6873",
"currency": "BRL",
"resource_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"reference": "1B2C3D4E",
"payment_method": "pix",
"payout_origin": null
},
{
"id": "evt_8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a",
"kind": "payment_approved",
"occurred_at": "2026-11-06T12:01:30.000000Z",
"amount_minor": "6873",
"currency": "BRL",
"resource_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
"reference": "1B2C3D4E",
"payment_method": "pix",
"payout_origin": null
}
],
"next_cursor": "n1_5b22323032362d31312d30365431323a30313a33302e3030303030305a222c226576745f3864396530663161326233633464356536663761386239633064316532663361225d",
"has_more": false
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/reports/abandoned-checkoutsCheckouts abandonados (listAbandonedCheckouts)
Compradores que concluíram a etapa 1 do checkout e não pagaram: a sessão expirou ou passaram 30 minutos sem pagamento aprovado (um Pix emitido ou um cartão em processamento ainda não conta). Mais recentes primeiro, um por oferta e e-mail; some quando o mesmo e-mail compra a mesma oferta depois. from/to são dias no fuso da organização (timezone). Nome, e-mail e telefone vêm completos só para quem lê vendas (orders:read); para os demais, mascarados. Os dados ficam 30 dias. Sem exportação.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
reports:read - URL:
https://api.v2.wolfpayteste.online/v1/reports/abandoned-checkouts
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
product_id | consulta | string | Padrão até 128 caracteres |
offer_id | consulta | string | Padrão até 128 caracteres |
from | consulta | string | Padrão |
to | consulta | string | Padrão |
limit | consulta | integer | de 1 a 100 Padrão: |
cursor | consulta | string | Padrão até 2048 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Página de checkouts abandonados.
Objeto AbandonedCheckoutPage
| Campo | Tipo | Detalhes |
|---|---|---|
data obrigatório | AbandonedCheckout[] | |
next_cursor obrigatório | string | null | |
timezone obrigatório | string |
{
"data": [
{
"id": "lead_5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e",
"checkout_session_id": "cs_2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f",
"offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"product_name": "Curso de fotografia",
"amount_minor": "9900",
"currency": "BRL",
"customer": {
"name": "Ana Compradora",
"email": "ana@example.com",
"phone": "+5511987654321",
"visibility": "full"
},
"captured_at": "2026-11-06T12:00:00.000Z",
"reason": "expired"
}
],
"next_cursor": null,
"timezone": "America/Sao_Paulo"
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/reports/abandoned-checkouts/{leadId}/recovery-linkGerar link de recuperação (createCheckoutRecoveryLink)
Cria uma nova sessão de checkout para a oferta do abandono, válida por 24 horas, com o seu próprio client_secret (nunca o da sessão abandonada). A URL do comprador é https://checkout.<domínio>/{id}?secret={client_secret}, sem nenhum dado do comprador. Oferta inativa → 400; comprador que já pagou → 409 INVALID_STATE_TRANSITION. Auditado. Repetir a requisição com a mesma Idempotency-Key e o mesmo corpo devolve a mesma resposta com idempotent-replayed: true; corpo diferente → 409 IDEMPOTENCY_CONFLICT. Um replay devolve a sessão sem o segredo (secret_already_revealed: true).
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
orders:read,offers:read - URL:
https://api.v2.wolfpayteste.online/v1/reports/abandoned-checkouts/{leadId}/recovery-link
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
leadIdobrigatório | caminho | string | Id do checkout abandonado ( mínimo 1 caractere(s) |
Idempotency-Keyobrigatório | cabeçalho | string | Chave escolhida pelo cliente (8 a 255 caracteres). Mesma chave + mesmo corpo = mesma resposta; corpo diferente = 8 a 255 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição (opcional)
Objeto EmptyRequest
{}Resposta 201
Sessão de recuperação criada (ou replay sem o segredo).
Um destes formatos:
{
"id": "cs_8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b",
"offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"amount_minor": "9900",
"currency": "BRL",
"status": "open",
"payment_intent_id": null,
"expires_at": "2026-11-07T12:00:00.000Z",
"client_secret": "csec_EXEMPLO_segredo_novo_de_uso_unico",
"lead_id": "lead_5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e"
}