Recaudo Docs

MCP e agentes

Guia para agentes

Instruções para Claude Code, Codex, Cursor, Windsurf e outros assistentes de código

Se você está delegando a integração do Recaudo a um agente de inteligência artificial (Claude Code, OpenAI Codex, Cursor, Windsurf, GitHub Copilot etc.), copie o bloco de instruções a seguir e cole no seu prompt ou arquivo de contexto do projeto (CLAUDE.md, .cursorrules, AGENTS.md etc.). O agente terá tudo o que precisa para integrar corretamente.

CLAUDE.md / .cursorrules / AGENTS.md
# Integración con Recaudo — Guía para Agentes de IA

## Qué es Recaudo
Recaudo es una plataforma de orquestación de pagos con API REST. Permite crear links de pago,
cobrar con tarjeta, gestionar clientes, suscripciones, facturas, WhatsApp y más.

## Base URL
```
https://recaudo.app/api/v1
```

## Autenticación
Todas las peticiones requieren el header:
```
Authorization: Bearer {SECRET_KEY}
```
La Secret Key se obtiene desde el panel en Configuración → API Keys.
NUNCA exponer la Secret Key en código frontend.

## Montos
TODOS los montos son en DECIMALES (100.00 = $100 pesos). NO usar centavos.

## Endpoints principales

### Clientes
- `GET    /customers` — Listar clientes (paginado, ?search=, ?page=)
- `POST   /customers` — Crear cliente (name, email, phone?, city?, notes?)
- `GET    /customers/{id}` — Ver cliente
- `PUT    /customers/{id}` — Actualizar cliente
- `DELETE /customers/{id}` — Eliminar cliente

### Links de Pago
- `GET    /payment-links` — Listar links
- `POST   /payment-links` — Crear link (title, amount, currency?, description?, expiration_days?)
- `GET    /payment-links/{id}` — Ver link
- `PUT    /payment-links/{id}` — Actualizar link
- `DELETE /payment-links/{id}` — Eliminar link

### Cargos (cobro directo con tarjeta tokenizada)
- `POST   /charges` — Crear cargo (customer_id, amount, currency, payment_method_token, description?)
- `GET    /charges/{id}` — Ver cargo

### Tokenización (guardar tarjeta)
- `POST   /customers/{id}/payment-methods` — Tokenizar tarjeta (card_number, exp_month, exp_year, cvv, holder_name)
- `GET    /customers/{id}/payment-methods` — Listar métodos de pago
- `DELETE /customers/{id}/payment-methods/{pm_id}` — Eliminar método

### Suscripciones
- `GET    /subscriptions` — Listar suscripciones
- `POST   /subscriptions` — Crear (customer_id, plan_name, amount, currency, interval: monthly|yearly, payment_method_token?)
- `GET    /subscriptions/{id}` — Ver suscripción
- `POST   /subscriptions/{id}/cancel` — Cancelar
- `POST   /subscriptions/{id}/pause` — Pausar
- `POST   /subscriptions/{id}/resume` — Reanudar

### Facturas
- `GET    /invoices` — Listar facturas
- `POST   /invoices` — Crear factura (customer_id, items[{description, quantity, unit_price}], due_date?, notes?)
- `GET    /invoices/{id}` — Ver factura
- `POST   /invoices/{id}/send` — Enviar por email
- `POST   /invoices/{id}/mark-paid` — Marcar como pagada

### Webhooks
- `GET    /webhook-endpoints` — Listar endpoints
- `POST   /webhook-endpoints` — Crear endpoint (url, events[], description)
- `GET    /webhook-endpoints/{id}` — Ver detalle con secret
- `PUT    /webhook-endpoints/{id}` — Actualizar url, eventos, estado
- `DELETE /webhook-endpoints/{id}` — Eliminar endpoint
- `POST   /webhook-endpoints/{id}/test` — Enviar evento de prueba
- `POST   /webhook-endpoints/{id}/rotate-secret` — Rotar secret
- `GET    /webhook-endpoints/{id}/deliveries` — Ver entregas
- `POST   /webhook-endpoints/{id}/deliveries/{delivery_id}/resend` — Reenviar

### Conversaciones (WhatsApp)
- `GET    /conversations` — Listar conversaciones
- `GET    /conversations/{id}` — Ver conversación con mensajes
- `POST   /conversations/{id}/messages` — Enviar mensaje (body)
- `POST   /conversations/{id}/close` — Cerrar conversación

### Templates de WhatsApp (HSM)
- `GET    /whatsapp-templates` — Listar templates aprobados
- `POST   /whatsapp-templates/{id}/send` — Enviar template (customer_id, parameters?)

### Seguimientos (Cobranza)
- `GET    /follow-ups` — Listar seguimientos (?status=pending|completed|overdue)
- `POST   /follow-ups` — Crear (customer_id, title, description?, due_date, type: call|email|whatsapp|visit|other)
- `PUT    /follow-ups/{id}` — Actualizar
- `POST   /follow-ups/{id}/complete` — Marcar completado

### Productos (Tienda)
- `GET    /products` — Listar productos
- `POST   /products` — Crear (name, price, description?, sku?, stock?)
- `PUT    /products/{id}` — Actualizar
- `DELETE /products/{id}` — Eliminar

### Pedidos (Tienda)
- `GET    /orders` — Listar pedidos
- `GET    /orders/{id}` — Ver pedido
- `PUT    /orders/{id}/status` — Cambiar status (status: pending|processing|shipped|delivered|cancelled)

### Equipo
- `GET    /team` — Listar miembros del equipo

### Fuentes de Clientes
- `GET    /customer-sources` — Listar fuentes de clientes

## Paginación
Todas las listas devuelven paginación:
```json
{
  "data": [...],
  "meta": { "current_page": 1, "last_page": 5, "per_page": 25, "total": 112 },
  "links": { "next": "...?page=2", "prev": null }
}
```
Parámetros: `?page=1&per_page=25` (máximo 100).

## Errores
```json
{
  "error": { "code": "validation_error", "message": "...", "details": {...} }
}
```
Códigos HTTP: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 422 Unprocessable, 429 Rate Limited, 500 Server Error.

## MCP Server (recomendado para Claude Code)
Si usas Claude Code, conecta el MCP server para acceso directo:
```bash
claude mcp add recaudo -e RECAUDO_API_KEY=sk_live_tu_key -- npx -y @recaudo/mcp-server
```
Esto te da 131 herramientas nativas sin necesidad de hacer requests HTTP manuales.

## Ejemplo rápido: crear cliente + link de pago
```bash
# 1. Crear cliente
curl -X POST https://recaudo.app/api/v1/customers \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Juan Pérez", "email": "juan@email.com", "phone": "+5255123456"}'

# 2. Crear link de pago
curl -X POST https://recaudo.app/api/v1/payment-links \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"title": "Consultoría", "amount": 1500.00, "currency": "MXN"}'
```

## Notas para el agente
- Siempre validar que la respuesta sea 2xx antes de proceder.
- Los IDs son UUIDs (formato: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
- El rate limit es 60 requests/minuto por API key.
- Para desarrollo, usa API keys de prueba (prefijo sk_test_).
- La moneda por defecto es MXN si no se especifica.

Claude Code

Cole as instruções em CLAUDE.md na raiz do seu projeto.

Cursor / Windsurf

Cole em .cursorrules o .windsurfrules na raiz.

Codex / Copilot

Cole em AGENTS.md ou inclua no prompt do sistema.

Dica: Se você usa o Claude Code, a melhor opção é conectar o servidor MCP diretamente. Assim o agente tem acesso a 131 ferramentas nativas sem precisar copiar estas instruções. Basta executar claude mcp add recaudo -e RECAUDO_API_KEY=sk_live_... -- npx -y @recaudo/mcp-server

Esta página ajudou? Obrigado por avisar.
Esc