API pública y servidor MCP
Consulta ROAS, cohortes e ingresos desde un script, o conecta Claude a tus datos de atribución. Una sola clave de API con permisos para la API REST y el MCP.
La API pública de Traqio es una API REST versionada (/v1) sobre los mismos informes que la consola: ROAS por campaña, ROAS diario, cohortes de instalación, ingresos, datos rechazados y enlaces de seguimiento. El servidor MCP de Traqio expone las mismas operaciones como herramientas para Claude, Cursor o cualquier cliente MCP. Ambos se autentican con una sola clave de API con permisos.
Autenticación
Crea una clave en la consola, en Organización → Claves de API, marca sus scopes y envíala como token «Bearer». Las claves empiezan por tq_live_ y se muestran una sola vez; solo guardamos un hash. Aquí se rechaza un token de sesión, y la consola rechaza una clave de API.
curl -H "Authorization: Bearer $TRAQIO_API_KEY" \
"https://api.traqio.app/v1/reports/roas?appId=<appId>&from=2026-09-01&to=2026-10-01"La referencia completa legible por máquina, sin autenticación: https://api.traqio.app/v1/openapi.json
Permisos (scopes)
| Scope | Qué permite |
|---|---|
| reports:read | GET /v1/apps y todas las rutas GET /v1/reports, además de las herramientas MCP equivalentes. |
| reports:write | POST /v1/reports/sync-spend — lanzar una sincronización o un backfill de la inversión. |
| links:read | Listar los enlaces de seguimiento de una app. |
| links:write | Crear enlaces de seguimiento. |
Ningún scope implica otro, y una clave nunca puede hacer más que el rol del miembro que la creó. Gestionar claves, credenciales o facturación siempre requiere una persona conectada: ningún scope lo concede.
Rutas
| Método | Ruta | Scope | Descripción |
|---|---|---|---|
| GET | /v1/apps | reports:read | Tus apps: id, nombre, ids de tienda. Nunca las claves del SDK. (list_apps) |
| GET | /v1/reports/roas | reports:read | ROAS por campaña, conjunto de anuncios o anuncio (level=). Inversión, ingresos atribuidos, instalaciones. (get_roas) |
| GET | /v1/reports/roas-daily | reports:read | Inversión, ingresos y ROAS por día. (get_roas_daily) |
| GET | /v1/reports/cohorts | reports:read | Cohortes por día de instalación: instalaciones, ingresos D0, ingresos totales. (get_cohorts) |
| GET | /v1/reports/revenue | reports:read | Todos los ingresos por moneda, divididos en atribuidos, orgánicos y sin emparejar. (get_revenue) |
| GET | /v1/reports/rejections | reports:read | Lo que Traqio rechazó (límite de tasa, reglas antifraude), por motivo y ruta. (get_rejections) |
| GET | /v1/reports/connectors | reports:read | Conectores de redes publicitarias con su última sincronización y último error. (get_connector_health) |
| POST | /v1/reports/sync-spend | reports:write | Obtiene ahora la inversión de un día (date=) o de un rango (from=, to=). Seguro si se repite. (sync_spend) |
| GET | /v1/links | links:read | Los enlaces de seguimiento de una app (appId=). (list_links) |
| POST | /v1/links | links:write | Crea un enlace de seguimiento. Devuelve su URL corta. (create_tracking_link) |
Convenciones
- Las fechas van en formato AAAA-MM-DD en UTC. from es inclusivo y to exclusivo: from=2026-09-01&to=2026-10-01 es septiembre.
- Las rutas de informes reciben appId, from y to; store=ios|android es opcional. GET /v1/links recibe appId.
- Los ingresos nunca se suman entre monedas: cada moneda tiene su propia fila.
- Los errores son JSON con un mensaje: 400 entrada inválida, 401 clave ausente, mal formada, revocada o caducada (o un token de sesión), 403 falta un scope o la app es de otra organización.
Servidor MCP
El servidor MCP ejecuta las mismas rutas /v1 como herramientas, con la misma clave y los mismos scopes, y solo ofrece a una clave las herramientas que puede usar. traqio_status indica al modelo la organización y los scopes que tiene.
Claude Code
claude mcp add --transport http traqio https://api.traqio.app/mcp \
--header "Authorization: Bearer $TRAQIO_API_KEY"Cursor (.cursor/mcp.json)
{
"mcpServers": {
"traqio": {
"url": "https://api.traqio.app/mcp",
"headers": {
"Authorization": "Bearer tq_live_…"
}
}
}
}Claude Desktop (claude_desktop_config.json), mediante el puente mcp-remote
{
"mcpServers": {
"traqio": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.traqio.app/mcp",
"--header",
"Authorization:${TRAQIO_AUTH}"
],
"env": {
"TRAQIO_AUTH": "Bearer tq_live_…"
}
}
}
}Preguntas
- ¿La API está incluida en todos los planes?
- Sí. La API y el servidor MCP no dependen del plan: cualquier cuenta puede crear claves.
- ¿Puede una clave crear otras claves o cambiar la facturación?
- No. Una clave lee informes y, con los scopes de escritura correspondientes, lanza una sincronización de la inversión o crea enlaces de seguimiento. Todo lo administrativo requiere una persona conectada.
- ¿Qué pasa cuando alguien deja el equipo?
- Una clave pertenece a la organización, no a la persona que la creó: una integración no se rompe cuando se va. Revoca desde la consola las claves que ya no quieras: cada una muestra su último uso, y una clave revocada se rechaza en la siguiente llamada.
- ¿Qué clientes MCP funcionan?
- Cualquier cliente que hable el transporte Streamable HTTP con una cabecera personalizada: Claude Code y Cursor de forma nativa, Claude Desktop mediante mcp-remote.