{
  "name": "WinnerPay API Documentation",
  "version": "2.0.0",
  "base_url": "https://api.winnerpayy.com.br/api",
  "structure": [
    {
      "sidebar_group": "Guia de Implementação",
      "items": [
        {
          "id": "auth",
          "title": "Autenticação"
        },
        {
          "id": "webhooks-guide",
          "title": "Webhooks"
        },
        {
          "id": "sandbox",
          "title": "Sandbox"
        }
      ]
    },
    {
      "sidebar_group": "Cash In — Receber PIX",
      "items": [
        {
          "id": "cashin-rules",
          "title": "Regras de contrato"
        },
        {
          "id": "cashin-webhook",
          "title": "Webhook de pagamento"
        },
        {
          "id": "gerar-qr",
          "title": "POST Gerar QR Code PIX"
        },
        {
          "id": "listar-tx",
          "title": "GET Listar transações"
        },
        {
          "id": "estornar",
          "title": "POST Estornar transação"
        },
        {
          "id": "seller",
          "title": "GET Dados do Seller"
        }
      ]
    },
    {
      "sidebar_group": "Split",
      "items": [
        {
          "id": "split-payment",
          "title": "POST Split Payment"
        }
      ]
    },
    {
      "sidebar_group": "Cash Out — Transferências",
      "items": [
        {
          "id": "cashout-rules",
          "title": "Regras de contrato"
        },
        {
          "id": "cashout-webhook",
          "title": "Webhook de saque"
        },
        {
          "id": "transferencia-pix",
          "title": "POST Transferência PIX (saque)"
        }
      ]
    },
    {
      "sidebar_group": "Vendas & Clientes",
      "items": [
        {
          "id": "minhas-vendas",
          "title": "GET Listar vendas"
        },
        {
          "id": "stats-vendas",
          "title": "GET Stats de vendas"
        },
        {
          "id": "entries-stats",
          "title": "GET Stats de entradas"
        }
      ]
    },
    {
      "sidebar_group": "Referência",
      "items": [
        {
          "id": "status",
          "title": "Status de transações"
        },
        {
          "id": "http-codes",
          "title": "Códigos HTTP"
        },
        {
          "id": "taxas",
          "title": "Taxas & Limites"
        }
      ]
    }
  ],
  "sections": [
    {
      "id": "intro",
      "sidebar_group": null,
      "sidebar_title": "Bem-vindo à WinnerPay",
      "page_title": "Bem-vindo à WinnerPay",
      "page_subtitle": "Documentação oficial da API de pagamentos e transferências PIX do WinnerPay — Gateway para Vencedores.",
      "headings": [
        "Bem-vindo à documentação da WinnerPay",
        "Como funciona a integração",
        "Comece por aqui",
        "Base URL"
      ],
      "content_text": "Copiar link da página\nBem-vindo à documentação da WinnerPay\nAqui você encontra tudo que precisa para integrar sua aplicação à nossa plataforma de pagamentos. Navegue pelos módulos abaixo para começar.\nAntes de começar, certifique-se de que você possui uma conta ativa na WinnerPay e suas credenciais de acesso à API aprovadas. Caso ainda não tenha, acesse o Dashboard para criar sua conta.\n\nComo funciona a integração\nO WinnerPay atua como uma camada intermediária entre seu sistema e as adquirentes de pagamento. Quando você cria uma transação PIX, o sistema:\nBusca a adquirente ativa configurada no sistema\nCria a transação internamente no WinnerPay\nChama a API da adquirente ativa para processar o pagamento\nRetorna os dados do QR Code/cobrança para o checkout\nRecebe notificações via webhook da adquirente\nNormaliza os webhooks para um formato único e padronizado\nEnvia webhook normalizado para seu endpoint configurado\nAtualiza o status da transação automaticamente\nImportante: Você pode trocar de adquirente a qualquer momento SEM precisar alterar seu código! Todos os webhooks que você receberá seguem o mesmo formato independente da adquirente.\n\nComece por aqui\nAutenticaçãoSaiba como gerar suas chaves de API e autenticar requisições com segurança.WebhooksEntenda como receber notificações em tempo real sobre eventos da sua conta.Gere sua primeira vendaCrie um QR Code PIX e receba pagamentos imediatamente via API.Solicite um saqueTransfira saldo para qualquer chave PIX diretamente via API.Configure split paymentCrie cobranças PIX com divisão entre vendedor, plataforma e gateway.\nBase URL\nURLCopiar\n```\nhttps://api.winnerpayy.com.br/api\n```"
    },
    {
      "id": "auth",
      "sidebar_group": "Guia de Implementação",
      "sidebar_title": "Autenticação",
      "page_title": "Autenticação",
      "page_subtitle": "Como autenticar suas requisições à API WinnerPay usando Client Credentials.",
      "headings": [
        "Client Credentials",
        "Opção 1 — Authorization Header (recomendado)",
        "Opção 2 — Headers separados",
        "Autenticação do painel (Bearer Token)",
        "Registrar usuário"
      ],
      "content_text": "Client Credentials\nPara utilizar nossa API, você precisa de suas credenciais client_id e client_secret. Estas credenciais são geradas no painel WinnerPay, na seção API → Credenciais.\nNunca exponha suas credenciais no client-side. As chamadas devem sempre partir do seu servidor backend.\n\nOpção 1 — Authorization Header (recomendado)\nHTTP HeaderCopiar\n```\nAuthorization: Basic {base64(client_id:client_secret)}\n```\n\nOpção 2 — Headers separados\nHTTP HeadersCopiar\n```\nX-Client-Id: seu_client_id\nX-Client-Secret: seu_client_secret\n```\n\nAutenticação do painel (Bearer Token)\nPara endpoints do dashboard, use o Bearer Token obtido via login:\nHTTP HeaderCopiar\n```\nAuthorization: Bearer seu_jwt_token\n```\n\nRegistrar usuário\nPOST/api/auth/registerCampoTipoObrig.Descrição\nnamestringreqNome completo\nemailstringreqE-mail único\npasswordstringreqMínimo 8 caracteres\nusernamestringreqUsername único\nphonestringoptTelefone\ncnpjstringoptCNPJ da empresa\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"token\": \"eyJhbGciOiJIUzI1NiIs...\",\n\"user\": {\n\"id\": 1,\n\"name\": \"João Silva\",\n\"email\": \"joao@email.com\",\n\"kyc_status\": \"pending\",\n\"is_sandbox\": true\n}\n}\n```"
    },
    {
      "id": "webhooks-guide",
      "sidebar_group": "Guia de Implementação",
      "sidebar_title": "Webhooks",
      "page_title": "Webhooks",
      "page_subtitle": "Como receber notificações em tempo real sobre mudanças de status das suas transações.",
      "headings": [
        "Como funcionam os Webhooks",
        "Fluxo de entrega",
        "Verificação de assinatura HMAC",
        "Payload — Pagamento recebido (cash_in)",
        "Eventos disponíveis"
      ],
      "content_text": "Como funcionam os Webhooks\nOs webhooks são enviados automaticamente para a URL configurada no campo postbackUrl ao criar uma transação.\nO WinnerPay normaliza os webhooks de TODAS as adquirentes para um formato único. Independente da adquirente conectada, você sempre receberá o mesmo formato padronizado.\n\nFluxo de entrega\nAdquirente → envia webhook no formato dela ↓WinnerPay → recebe, normaliza e processa ↓Seu Endpoint → recebe webhook no formato padronizado WinnerPay\nVerificação de assinatura HMAC\nTodos os webhooks enviados incluem o header X-WinnerPay-Signature para validação:\nNode.js — VerificaçãoCopiar\n```\nconst crypto = require('crypto');\n\nfunction verifyWebhook(body, signature, secret) {\nconst expected = crypto\n.createHmac('sha256', secret)\n.update(JSON.stringify(body))\n.digest('hex');\nreturn `sha256=${expected}` === signature;\n}\n```\n\nPayload — Pagamento recebido (cash_in)\nJSON PayloadCopiar\n```\n{\n\"event\": \"transaction.status.updated\",\n\"transaction_id\": \"TXN_1697123456_ABC12345\",\n\"external_id\": \"TXN_1697123456_ABC12345\",\n\"acquirer_transaction_id\": \"PIXUP123456789\",\n\"status\": \"paid\",\n\"previous_status\": \"pending\",\n\"amount\": 150.00,\n\"fee\": 4.50,\n\"total_amount\": 154.50,\n\"type\": \"cash_in\",\n\"payment_method\": \"PIX\",\n\"payer\": {\n\"name\": \"João Silva\",\n\"email\": \"joao@email.com\",\n\"document\": \"12345678900\"\n},\n\"created_at\": \"2025-03-28T12:00:00.000Z\",\n\"updated_at\": \"2025-03-28T12:05:23.000Z\"\n}\n```\n\nEventos disponíveis\ntransaction.createdTransação criadatransaction.status.updatedStatus atualizadotransaction.completedCompletada com sucessotransaction.processingEm processamentotransaction.refusedRecusadatransaction.failedFalhoutransaction.refundedEstornadatransaction.cancelledCancelada"
    },
    {
      "id": "sandbox",
      "sidebar_group": "Guia de Implementação",
      "sidebar_title": "Sandbox",
      "page_title": "Sandbox",
      "page_subtitle": "Ambiente de testes para desenvolvimento e homologação.",
      "headings": [
        "Modo Sandbox",
        "Identificar ambiente"
      ],
      "content_text": "Modo Sandbox\nToda conta nova entra automaticamente em modo Sandbox até a aprovação dos documentos KYC. No sandbox, nenhuma transação real é processada.\nNo ambiente Sandbox, as credenciais contêm test no lugar de live. Os webhooks são simulados localmente.\n\nIdentificar ambiente\nO campo is_sandbox na resposta do login e kyc_status indicam o estado da conta:\nGET /api/auth/meCopiar\n```\n{\n\"kyc_status\": \"pending\",  // pending | approved | rejected\n\"is_sandbox\": true         // false quando aprovado\n}\n```"
    },
    {
      "id": "cashin-rules",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "Regras de contrato",
      "page_title": "Regras — Cash In",
      "page_subtitle": "Regras e limites para recebimento via PIX.",
      "headings": [
        "Regras de contrato"
      ],
      "content_text": "Regras de contrato\nValor mínimo: R$ 0,01\nValor máximo por transação: conforme limite da adquirente ativa\nTaxa: cobrada conforme acordado no contrato\nPrazo de liquidação: instantâneo após confirmação\nQR Code expira em: 30 minutos (padrão)\nIdempotência: cada transaction_id é único"
    },
    {
      "id": "cashin-webhook",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "Webhook de pagamento",
      "page_title": "Webhook de Pagamento",
      "page_subtitle": "Notificação enviada quando um pagamento PIX é confirmado.",
      "headings": [
        "Evento: transaction.status.updated"
      ],
      "content_text": "Evento: transaction.status.updated\nEnviado ao seu postbackUrl quando o status de um recebimento muda. Responda com HTTP 200 para confirmar recebimento.\nJSON Payload — Pagamento confirmadoCopiar\n```\n{\n\"event\": \"transaction.status.updated\",\n\"transaction_id\": \"TXN_1697123456_XYZ98765\",\n\"status\": \"paid\",\n\"previous_status\": \"pending\",\n\"amount\": 150.00,\n\"fee\": 4.50,\n\"type\": \"cash_in\",\n\"payment_method\": \"PIX\",\n\"payer\": {\n\"name\": \"João Silva\",\n\"email\": \"joao@email.com\",\n\"document\": \"12345678900\"\n},\n\"metadata\": {\n\"acquirer\": \"pixup_1\",\n\"original_status\": \"PAID\"\n},\n\"created_at\": \"2025-03-28T12:00:00.000Z\",\n\"updated_at\": \"2025-03-28T12:05:23.000Z\"\n}\n```"
    },
    {
      "id": "gerar-qr",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "POST Gerar QR Code PIX",
      "page_title": "Gerar QR Code PIX",
      "page_subtitle": "Crie uma cobrança PIX e receba pagamentos instantâneos.",
      "headings": [
        "Parâmetros"
      ],
      "content_text": "POST/api/financial/receber-pixGera um QR Code PIX para receber pagamentos. O postbackUrl recebe notificações de status automaticamente. Mesmos caminhos da documentação v1 e do Swagger em /api/docs (API v2): um único endpoint, sem quebrar integrações antigas.\nℹ️Coluna “Produto” no painel WinnerPay usa o que for enviado aqui: o ideal é metadata.product.name (doc v1) ou o atalho product_name / product na raiz (também aceitos). Só metadata.order_id não traz nome de produto — o painel mostra apenas a referência “Ordem …”. Inclua nome via description, items[].title ou payerQuestion se preferir.\nParâmetros\nCampoTipoObrig.Descrição\namountfloatoptValor em R$ (0 = QR dinâmico)\ndescriptionstringoptDescrição do pagamento\npostbackUrlstringoptURL para receber notificações webhook\nmetadataobjectoptDados adicionais (ex.: order_id, product: { name })\nuser_metadataobjectoptMesclado com metadata (atalho no body)\nproductstring | objectoptAtalho na raiz; string vira { name }\nproduct_namestringoptAtalho na raiz = nome do produto (painel)\ncustomerobjectoptDados do pagador (nome, CPF, email, endereço)\nitemsarrayoptItens da cobrança\npayerobjectoptFormato simplificado do pagador\nexternal_idstringoptID externo para referência\npayerQuestionstringoptTexto exibido ao pagador (opcional)\nRequest BodyCopiar\n```\n{\n\"amount\": 150.00,\n\"description\": \"Pagamento do Plano Premium\",\n\"postbackUrl\": \"https://meu-servidor.com/webhook/winnerpay\",\n\"metadata\": {\n\"order_id\": \"ORD-12345\",\n\"product\": { \"name\": \"Plano Premium\" }\n},\n\"customer\": {\n\"name\": \"João Silva\",\n\"email\": \"joao@email.com\",\n\"document\": { \"type\": \"CPF\", \"number\": \"12345678900\" }\n}\n}\n```\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"message\": \"QR Code PIX gerado com sucesso\",\n\"transaction\": {\n\"id\": 1,\n\"transaction_id\": \"TXN_1697123456_XYZ98765\",\n\"type\": \"receber_pix\",\n\"status\": \"pending\",\n\"amount\": 150.00,\n\"fee\": 0.00,\n\"created_at\": \"2025-03-28T12:00:00.000Z\"\n},\n\"pix_key\": \"contato@winnerpay.com.br\",\n\"qr_code_data\": \"PIX_TXN_1697123456_XYZ98765\",\n\"pix_copia_e_cola\": \"PIX_TXN_1697123456_XYZ98765\",\n\"acquirer\": \"PIX UP\"\n}\n```"
    },
    {
      "id": "listar-tx",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "GET Listar transações",
      "page_title": "Listar Transações",
      "page_subtitle": "Consulte o histórico paginado de todas as transações da conta.",
      "headings": [],
      "content_text": "GET/api/financial/transactionsQueryTipoDefaultDescrição\npageint1Página atual\nper_pageint15Itens por página\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"transactions\": {\n\"current_page\": 1,\n\"data\": [\n{\n\"id\": 1,\n\"transaction_id\": \"TXN_...\",\n\"type\": \"receber_pix\",\n\"status\": \"pending\",\n\"amount\": 150.00,\n\"description\": \"Pagamento do Plano Premium\",\n\"metadata\": { /* gravado na criação */ },\n\"product_name\": \"Plano Premium\",\n\"created_at\": \"2025-03-28T12:00:00.000Z\",\n\"updated_at\": \"2025-03-28T12:00:00.000Z\"\n}\n],\n\"total\": 50,\n\"per_page\": 15,\n\"last_page\": 4\n}\n}\n```"
    },
    {
      "id": "estornar",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "POST Estornar transação",
      "page_title": "Estornar Transação",
      "page_subtitle": "Estorne uma transação paga ou completada.",
      "headings": [],
      "content_text": "POST/api/financial/estornar/{transactionId}Apenas transações com status paid ou completed podem ser estornadas. Transferências PIX não podem ser estornadas.\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"message\": \"Transação estornada com sucesso\",\n\"transaction\": {\n\"transaction_id\": \"TXN_1697123456_ABC12345\",\n\"status\": \"refunded\",\n\"amount\": 100.50\n}\n}\n```\nResponse 400Copiar\n```\n{\n\"success\": false,\n\"message\": \"Apenas transações pagas/completas podem ser estornadas\"\n}\n```"
    },
    {
      "id": "seller",
      "sidebar_group": "Cash In — Receber PIX",
      "sidebar_title": "GET Dados do Seller",
      "page_title": "Dados do Seller",
      "page_subtitle": "Retorna os dados cadastrais da empresa vinculada às credenciais.",
      "headings": [],
      "content_text": "GET/api/sellerResponse 200Copiar\n```\n{\n\"success\": true,\n\"seller\": {\n\"id\": 123,\n\"company_name\": \"ACME LTDA\",\n\"document\": { \"type\": \"CNPJ\", \"number\": \"12345678000190\" },\n\"email\": \"contato@acme.com.br\",\n\"phone\": \"11999999999\",\n\"address\": {\n\"zipCode\": \"01001000\",\n\"city\": \"São Paulo\",\n\"state\": \"SP\"\n},\n\"status\": \"approved\"\n}\n}\n```"
    },
    {
      "id": "split-payment",
      "sidebar_group": "Split",
      "sidebar_title": "POST Split Payment",
      "page_title": "Split Payment",
      "page_subtitle": "Crie uma cobrança PIX com divisão configurada entre múltiplos recebedores.",
      "headings": [],
      "content_text": "Indicado para marketplaces e plataformas SaaS: o cliente final paga uma vez e a configuração de repasse fica vinculada à transação para auditoria, conciliação e processamento conforme a adquirente habilitada.\nPOST/api/transactions/splitCria uma cobrança PIX com o valor total em centavos e registra a divisão em splits. A soma das parcelas deve ser exatamente igual ao valor total enviado em amount. O valor mínimo para criar uma transação de split é R$ 3,00 (300 centavos).\nCampoTipoObrig.Descrição\namountintegerreqValor total da cobrança em centavos. Mínimo: 300.\nsplitsarrayreqLista de recebedores e respectivos valores em centavos.\nsplits[].recipientstringreqIdentificador/chave PIX do recebedor.\nsplits[].amountintegerreqParcela do recebedor em centavos.\ndescriptionstringoptDescrição da cobrança PIX.\npostbackUrlstringoptWebhook para atualização de status da cobrança.\nRequest BodyCopiar\n```\n{\n\"amount\": 10000,\n\"description\": \"Pedido Marketplace #123\",\n\"postbackUrl\": \"https://plataforma.com/webhooks/winnerpay\",\n\"splits\": [\n{\n\"recipient\": \"chave_pix_vendedor\",\n\"amount\": 9000\n},\n{\n\"recipient\": \"chave_pix_plataforma\",\n\"amount\": 1000\n}\n]\n}\n```\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"message\": \"QR Code PIX gerado com sucesso\",\n\"transaction\": {\n\"transaction_id\": \"TXN_1697123456_SPLIT01\",\n\"type\": \"receber_pix\",\n\"status\": \"pending\",\n\"amount\": 100.00,\n\"splits\": [\n{\n\"recipient\": \"chave_pix_vendedor\",\n\"amount_cents\": 9000,\n\"amount\": 90.00\n},\n{\n\"recipient\": \"chave_pix_plataforma\",\n\"amount_cents\": 1000,\n\"amount\": 10.00\n}\n]\n},\n\"split_summary\": {\n\"total_amount_cents\": 10000,\n\"recipients_count\": 2\n},\n\"pix_copia_e_cola\": \"PIX_TXN_1697123456_SPLIT01\"\n}\n```\nResponse 400 — Soma inválidaCopiar\n```\n{\n\"statusCode\": 400,\n\"message\": \"A soma dos splits deve ser exatamente igual ao valor total da transação\",\n\"error\": \"Bad Request\"\n}\n```\nResponse 400 — Valor mínimoCopiar\n```\n{\n\"statusCode\": 400,\n\"message\": \"O valor mínimo para split payment é de R$ 3,00\",\n\"error\": \"Bad Request\"\n}\n```"
    },
    {
      "id": "downloads",
      "sidebar_group": null,
      "sidebar_title": "Download Documentação",
      "page_title": "Download Documentação",
      "page_subtitle": "Baixe a documentacao da API nos formatos mais usados para compartilhar, arquivar ou integrar em outros sistemas.",
      "headings": [],
      "content_text": "Baixar JSONFormato estruturado para integracoes, parsers e automacoes.Baixar TXTFormato simples e leve para leitura rapida e compartilhamento.Baixar HTMLLeve a versao navegavel da documentacao completa em um arquivo unico.Os downloads abaixo sao gerados para facilitar distribuicao da referencia da API em ambientes tecnicos, suporte e integracoes."
    },
    {
      "id": "cashout-rules",
      "sidebar_group": "Cash Out — Transferências",
      "sidebar_title": "Regras de contrato",
      "page_title": "Regras — Cash Out",
      "page_subtitle": "Regras e limites para transferências PIX.",
      "headings": [
        "Regras de contrato"
      ],
      "content_text": "Regras de contrato\nValor mínimo: R$ 0,01\nTaxa: 3% sobre o valor transferido\nSaldo deve cobrir valor + taxa\nTransferências PIX são irreversíveis — não podem ser estornadas\nProcessamento: instantâneo após aprovação\nChaves aceitas: CPF, CNPJ, Email, Telefone, Chave Aleatória"
    },
    {
      "id": "cashout-webhook",
      "sidebar_group": "Cash Out — Transferências",
      "sidebar_title": "Webhook de saque",
      "page_title": "Webhook de Saque",
      "page_subtitle": "Notificação enviada quando uma transferência PIX é concluída.",
      "headings": [],
      "content_text": "JSON Payload — Transferência concluídaCopiar\n```\n{\n\"event\": \"transaction.completed\",\n\"transaction_id\": \"TXN_1697123456_XYZ98765\",\n\"status\": \"completed\",\n\"previous_status\": \"processing\",\n\"amount\": 100.00,\n\"fee\": 3.00,\n\"type\": \"cash_out\",\n\"payment_method\": \"PIX\",\n\"recipient\": {\n\"pix_key\": \"destinatario@email.com\",\n\"pix_key_type\": \"email\"\n},\n\"completed_at\": \"2025-03-28T12:15:30.000Z\"\n}\n```"
    },
    {
      "id": "transferencia-pix",
      "sidebar_group": "Cash Out — Transferências",
      "sidebar_title": "POST Transferência PIX (saque)",
      "page_title": "Transferência PIX (saque)",
      "page_subtitle": "Envie PIX para qualquer chave diretamente via API.",
      "headings": [],
      "content_text": "POST/api/financial/transferencia-pixCampoTipoObrig.Descrição\namountfloatreqValor em R$ (mín: 0.01)\nrecipient_keystringreqChave PIX do destinatário\nrecipient_documentstringoptCPF/CNPJ do destinatário\ndescriptionstringoptDescrição da transferência\npix_key_typestringoptemail | cpf | cnpj | phone | random\npostbackUrlstringoptURL para notificação de status\nRequest BodyCopiar\n```\n{\n\"amount\": 100.50,\n\"recipient_key\": \"usuario@email.com\",\n\"recipient_document\": \"12345678900\",\n\"description\": \"Pagamento de serviços\",\n\"pix_key_type\": \"email\",\n\"postbackUrl\": \"https://meu-servidor.com/webhook\"\n}\n```\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"message\": \"Transferência PIX criada com sucesso\",\n\"transaction\": {\n\"transaction_id\": \"TXN_1697123456_ABC12345\",\n\"type\": \"transferencia_pix\",\n\"status\": \"pending\",\n\"amount\": 100.50,\n\"fee\": 3.02,\n\"total_amount\": 103.52,\n\"recipient_key\": \"usuario@email.com\"\n}\n}\n```\nResponse 400 — Saldo insuficienteCopiar\n```\n{\n\"success\": false,\n\"message\": \"Saldo insuficiente para realizar a transferência\"\n}\n```"
    },
    {
      "id": "minhas-vendas",
      "sidebar_group": "Vendas & Clientes",
      "sidebar_title": "GET Listar vendas",
      "page_title": "Listar Vendas",
      "page_subtitle": "Consulte as vendas realizadas com filtro por status.",
      "headings": [],
      "content_text": "GET/api/sales/myQueryValoresDescrição\nstatusall | paid | pending | refundedFiltrar por status\npageintPágina atual\nper_pageint (default 10)Itens por página\nResponse 200Copiar\n```\n{\n\"success\": true,\n\"data\": {\n\"current_page\": 1,\n\"data\": [{\n\"transaction_id\": \"TXN_...\",\n\"payer_name\": \"João Silva\",\n\"amount\": 250.00,\n\"fee\": 8.75,\n\"fee_percentage\": 3.5,\n\"status\": \"paid\",\n\"payment_method\": \"PIX\",\n\"paid_at\": \"2025-03-28T12:05:00.000Z\"\n}],\n\"total\": 50,\n\"per_page\": 10,\n\"last_page\": 5\n}\n}\n```"
    },
    {
      "id": "stats-vendas",
      "sidebar_group": "Vendas & Clientes",
      "sidebar_title": "GET Stats de vendas",
      "page_title": "Estatísticas de Vendas",
      "page_subtitle": "Métricas consolidadas das vendas pagas.",
      "headings": [],
      "content_text": "GET/api/sales/statsResponse 200Copiar\n```\n{\n\"success\": true,\n\"data\": {\n\"total_transactions\": 150,\n\"total_processed\": 37500.50,\n\"total_fees\": 1312.52,\n\"average_ticket\": 250.00\n}\n}\n```"
    },
    {
      "id": "entries-stats",
      "sidebar_group": "Vendas & Clientes",
      "sidebar_title": "GET Stats de entradas",
      "page_title": "Estatísticas de Entradas",
      "page_subtitle": "Detalhamento de pagamentos confirmados e pendentes.",
      "headings": [],
      "content_text": "GET/api/sales/entries-statsResponse 200Copiar\n```\n{\n\"success\": true,\n\"data\": {\n\"confirmed_payments\": 145,\n\"pending_payments\": 5,\n\"total_billing\": 37500.50,\n\"average_ticket\": 258.62\n}\n}\n```"
    },
    {
      "id": "status",
      "sidebar_group": "Referência",
      "sidebar_title": "Status de transações",
      "page_title": "Status de Transações",
      "page_subtitle": "Todos os status possíveis de uma transação no WinnerPay.",
      "headings": [
        "Status padronizados"
      ],
      "content_text": "Status padronizados\npendingAguardando pagamentoprocessingEm processamentopaidPago (webhook cash_in)completedCompletadorefusedRecusado / NegadofailedFalhou / RejeitadocancelledCanceladorefundedReembolsadorefund_pendingEstorno em processo"
    },
    {
      "id": "http-codes",
      "sidebar_group": "Referência",
      "sidebar_title": "Códigos HTTP",
      "page_title": "Códigos HTTP",
      "page_subtitle": "Referência dos códigos de resposta da API.",
      "headings": [],
      "content_text": "CódigoStatusDescrição\n200OKRequisição bem-sucedida\n201CreatedRecurso criado com sucesso\n400Bad RequestParâmetro obrigatório ausente ou inválido\n401UnauthorizedToken inválido ou não fornecido\n403ForbiddenSem permissão ou credencial bloqueada\n404Not FoundRecurso não encontrado\n422UnprocessableDados inválidos na validação\n500Server ErrorErro interno no servidor"
    },
    {
      "id": "taxas",
      "sidebar_group": "Referência",
      "sidebar_title": "Taxas & Limites",
      "page_title": "Taxas & Limites",
      "page_subtitle": "Tabela de taxas operacionais do WinnerPay.",
      "headings": [
        "Taxas de operação"
      ],
      "content_text": "Taxas de operação\nOperaçãoTaxaObservação\nTransferência PIX (cash-out)3%Sobre o valor enviado\nReceber PIX (cash-in)Conforme contratoDefinido na aprovação KYC"
    }
  ]
}