Ambiente de simulação — nenhuma cobrança real. Os pagamentos, Pix e cartões deste sandbox são sintéticos.
W Wolf Sandbox Docs Criar conta
Navegação

Referência da API

Reports

Painel, finanças e checkouts abandonados do seller.

get/v1/dashboard

Painel (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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
from consulta string

Padrão ^\d{4}-\d{2}-\d{2}$

to consulta string

Padrão ^\d{4}-\d{2}-\d{2}$

currency consulta string

Padrão ^[A-Z]{3}$

period consulta string

Valores: today, 7d, 30d

wolf-organization-id cabeçalho string

Só para sessão do app do seller com mais de uma organização (senão 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Resumo.

Um destes formatos:

Exemplo de resposta 200 json
{
  "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

get/v1/finance

Saldos e journals (getFinance)

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
wolf-organization-id cabeçalho string

Só para sessão do app do seller com mais de uma organização (senão 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Saldos e journals recentes.

Objeto FinanceSnapshot

Resposta 200 de getFinance
Campo Tipo Detalhes
balances obrigatório object[]
balances[].code obrigatório string
balances[].currency obrigatório string

Padrão ^[A-Z]{3}$

balances[].balance_minor obrigatório string
journals obrigatório object[]
journals[].id obrigatório string

Começa com jrn_

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 ^[A-Z]{3}$

journals[].debit_minor obrigatório string
journals[].credit_minor obrigatório string
journals[].created_at obrigatório string
Exemplo de resposta 200 json
{
  "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

get/v1/finance/fees

Taxas 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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
wolf-organization-id cabeçalho string

Só para sessão do app do seller com mais de uma organização (senão 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Taxas.

Objeto FinanceFees

Resposta 200 de getFinanceFees
Campo Tipo Detalhes
overrides obrigatório object[]
overrides[].scope obrigatório string

Valores: global, seller, product, offer

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
Exemplo de resposta 200 json
{
  "default": {
    "scope": "global",
    "scope_id": null,
    "provider_id": "simulator",
    "fee_basis_points": 499,
    "reserve_basis_points": 0,
    "max_installments": 12,
    "version": "1"
  },
  "overrides": []
}

Erros

get/v1/finance/forecast

Previsã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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
currency consulta string

Padrão ^[A-Z]{3}$

Padrão: "BRL"

wolf-organization-id cabeçalho string

Só para sessão do app do seller com mais de uma organização (senão 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Previsão.

Objeto FinanceForecast

Resposta 200 de getFinanceForecast
Campo Tipo Detalhes
currency obrigatório string

Padrão ^[A-Z]{3}$

pending_minor obrigatório string

Padrão ^-?(0|[1-9][0-9]*)$

data obrigatório object[]
data[].date obrigatório string

Padrão ^\d{4}-\d{2}-\d{2}$

data[].amount_minor obrigatório string

Padrão ^(0|[1-9][0-9]*)$

data[].gross_minor string

Padrão ^(0|[1-9][0-9]*)$

data[].fee_minor string

Padrão ^(0|[1-9][0-9]*)$

data[].reserve_minor string

Padrão ^(0|[1-9][0-9]*)$

data[].payments integer

de 0 a 9007199254740991

data[].methods obrigatório object[]
data[].methods[].payment_method_type obrigatório string

Valores: card, pix

data[].methods[].amount_minor obrigatório string

Padrão ^(0|[1-9][0-9]*)$

data[].methods[].gross_minor obrigatório string

Padrão ^(0|[1-9][0-9]*)$

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: card, pix

terms[].days obrigatório integer

de 0 a 60

terms[].source obrigatório string

Valores: platform_default, seller_override

held obrigatório object
held.gross_minor obrigatório string

Padrão ^(0|[1-9][0-9]*)$

held.payments obrigatório integer

de 0 a 9007199254740991

held.reasons obrigatório object[]
held.reasons[].reason obrigatório string

Valores: dispute_open, refund_in_progress, settlement_in_progress, settlement_mismatch, seller_under_review, seller_suspended

held.reasons[].gross_minor obrigatório string

Padrão ^(0|[1-9][0-9]*)$

held.reasons[].payments obrigatório integer

de 0 a 9007199254740991

Exemplo de resposta 200 json
{
  "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

get/v1/finance/statement

Extrato 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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
currency consulta string

Padrão ^[A-Z]{3}$

Padrão: "BRL"

limit consulta integer

de 1 a 100

Padrão: 50

cursor consulta string

Padrão ^s1_[0-9a-f]+$

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 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Extrato.

Objeto FinanceStatement

Resposta 200 de getFinanceStatement
Campo Tipo Detalhes
currency obrigatório string

Padrão ^[A-Z]{3}$

account obrigatório "seller_available"
balance_minor obrigatório string

Padrão ^-?(0|[1-9][0-9]*)$

data obrigatório object[]
data[].id obrigatório string

Começa com pst_

data[].journal_id obrigatório string

Começa com jrn_

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 ^-?(0|[1-9][0-9]*)$

data[].balance_after_minor obrigatório string

Padrão ^-?(0|[1-9][0-9]*)$

data[].created_at obrigatório string
next_cursor obrigatório string | null
Exemplo de resposta 200 json
{
  "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

get/v1/notifications

Notificaçõ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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
since consulta string

Padrão ^n1_[0-9a-f]+$

até 512 caracteres

limit consulta integer

de 1 a 50

Padrão: 20

wolf-organization-id cabeçalho string

Só para sessão do app do seller com mais de uma organização (senão 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Notificações.

Objeto NotificationPage

Resposta 200 de listNotifications
Campo Tipo Detalhes
data obrigatório Notification[]
next_cursor obrigatório string

Padrão ^n1_[0-9a-f]+$

até 512 caracteres

has_more obrigatório boolean
Exemplo de resposta 200 json
{
  "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

get/v1/reports/abandoned-checkouts

Checkouts 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.

rate limit: api_authenticated
  • 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

NomeOndeTipoDetalhes
product_id consulta string

Padrão ^prd_[A-Za-z0-9]+$

até 128 caracteres

offer_id consulta string

Padrão ^off_[A-Za-z0-9]+$

até 128 caracteres

from consulta string

Padrão ^\d{4}-\d{2}-\d{2}$

to consulta string

Padrão ^\d{4}-\d{2}-\d{2}$

limit consulta integer

de 1 a 100

Padrão: 50

cursor consulta string

Padrão ^a1_[0-9a-f]+$

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 409 TENANT_SELECTION_REQUIRED). Ignorado para API keys.

Padrão ^org_

Resposta 200

Página de checkouts abandonados.

Objeto AbandonedCheckoutPage

Resposta 200 de listAbandonedCheckouts
Campo Tipo Detalhes
data obrigatório AbandonedCheckout[]
next_cursor obrigatório string | null
timezone obrigatório string
Exemplo de resposta 200 json
{
  "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