API para Inteligência Artificial

Você não precisa ler documentação pra integrar a Vexa: cole o prompt abaixo no seu agente de IA — Claude, Cursor, ChatGPT, n8n ou qualquer outro — e ele escreve a integração. A Vexa publica a documentação num formato que esses agentes leem sozinhos.

Cole isto no seu agente

Substitua pela sua chave de teste (sk_test_…) — a que aparece no painel quando você cria uma integração. Enquanto ela estiver em modo de teste, nenhuma cobrança é real.

Use a documentação da Vexa Pagamentos em https://vexapagamentos.com/llms-full.txt

Contexto:
- Base URL: https://api.vexapagamentos.com/v1
- Auth: Authorization: Bearer sk_test_...   (cole sua sk_test_ abaixo)
- Idempotency-Key obrigatório em todo POST de criação
- Webhooks: HMAC-SHA256, header X-Vexa-Signature: t=<unix>,v1=<hmac>
- Valores em centavos (amount_cents), bigint internamente

Implemente checkout PIX no meu projeto Next.js usando minha sk_test_...
Webhook em /api/webhooks/vexa com validação HMAC-SHA256 e dedupe por evt_id.

Depois de criar a primeira cobrança de teste, feche o ciclo chamando
POST /v1/charges/{id}/simulate — é isso que libera a produção no painel.

A última linha não é enfeite: a produção só destrava depois que a integração criou uma cobrança de teste e simulou o pagamento dela. É o que garante que nada quebrado chegue em cobrança real.

Onde a documentação vive

O prompt acima já aponta pro arquivo certo — você não precisa abrir nada disso na mão. Está aqui caso queira conferir ou apontar outra ferramenta:

  • /llms.txt — índice (~50 linhas, padrão llmstxt.org)
  • /llms-full.txt — doc completa (~1k linhas com schemas, exemplos, fluxos)
  • /openapi.json — spec OpenAPI 3.0 pra geração automática de SDK

Avançado — MCP Server

Opcional. Só vale a pena se você quer que o agente opere a Vexa (criar cobrança, consultar status) durante a conversa, em vez de só escrever o código. Se seu objetivo é integrar, o prompt acima basta.

Configurar o MCP Server

Endpoint hospedado: https://mcp.vexapagamentos.com/mcp. Expõe 5 tools que mapeiam pros endpoints REST.

Tools

  • createPixCharge — gera PIX com QR Code + copia-e-cola
  • createBoletoCharge — boleto registrado com PDF, código de barras, linha digitável
  • getCharge, listCharges — consulta status
  • simulateChargePayment — força paid no sandbox (sk_test_* only)

Cartão fica fora da MCP enquanto o SDK Vexa.js (tokenização in-place) não chega — pra cartão, o agente deve usar a API REST POST /v1/charges com method=card e devolver o checkout_url do Hosted Checkout pro usuário humano finalizar.

Claude Desktop / Cursor (stdio)

Edite claude_desktop_config.json (Linux: ~/.config/claude/; macOS: ~/Library/Application Support/Claude/):

{
  "mcpServers": {
    "vexa": {
      "command": "npx",
      "args": ["-y", "@vexagroup/mcp"],
      "env": {
        "VEXA_API_KEY": "sk_test_xxxxxxxxxxxxxxxx",
        "VEXA_API_BASE_URL": "https://api.vexapagamentos.com/v1"
      }
    }
  }
}

Reinicie o Claude Desktop e a conexão "vexa" aparece com 5 tools. Use a chave de teste aqui também até validar a integração.

n8n / agente HTTP

Aponte o cliente MCP do agente pra https://mcp.vexapagamentos.com/mcp com header Authorization: Bearer sk_test_… em todo request. Aceita ambos application/json e text/event-stream no Accept.

O server não persiste a chave: mantém só Map<sessionId, apiKey> em RAM enquanto a sessão estiver viva (TTL 30min). Restart limpa tudo.

Segurança

  • Sem acesso direto ao DB — wrapper de fetch() na API REST v1.
  • Bearer fora do padrão sk_(test|live)_\w{16,128} é rejeitado em 401 antes de alocar sessão (anti-DoS).
  • Logs sanitizados: PAN, CVV e chaves sk_* são redactados em qualquer linha de erro.
  • Isolamento por sessão — cada conexão tem sua própria instância de servidor MCP, sem state compartilhado entre tenants.

Suporte

Dúvidas: contato@vexapagamentos.com. Status: /status.