Desarrolladores
API de export
Bajá misiones y evidencias en JSON o CSV. Probá contra el sandbox antes de apuntar un proceso a tu cuenta.
Probar ahora
La clave de sandbox pública ya está cargada. Si pegás una clave live, la respuesta son los datos de esa cuenta.
Qué podés hacer
La API baja las misiones y las evidencias de tu cuenta para Excel, un script, Power BI u otro ETL. Cada fila es una misión sin envíos, o un envío con su estado de verificación y el puntaje de Perfect Store cuando la IA lo calculó.
- CSV o JSON, con los mismos campos.
- Filtros por fecha del envío, estado, región, canal, campaña y verificado.
- Páginas con
limitycursor. - Sandbox con datos de ejemplo (
rk_test_) y datos reales (rk_live_).
Autenticación
GET /api/cliente/export
Cabecera Authorization: Bearer <clave>. La clave live sale una sola vez al crearla en el panel, en API. También acepta la sesión del navegador y el access token de Supabase, para el botón Exportar JSON.
Clave pública de sandbox, para probar esta documentación sin cuenta:
rk_test_releva_docs_sandbox
Esa clave solo devuelve el dataset de ejemplo. Una clave rk_test_ de tu cuenta hace lo mismo y queda registrada a tu nombre. Una clave rk_live_ devuelve tus misiones. Hace falta un plan con Export CSV/JSON (Starter, Growth) o API (Scale, Enterprise).
Parámetros
| Nombre | Valor |
|---|---|
| format | json (default) o csv |
| from, to | ISO 8601. Filtran la fecha del envío. Una misión sin evidencia entra solo si ella misma cae en el rango. |
| status | active, paused, finished |
| region | amba, pampeana, noa, nea, cuyo, patagonia |
| channel | hiper, super, autoservicio, mayorista, farmacia, estacion |
| campaign | Texto de la campaña, sin distinguir mayúsculas. |
| verified | yes o no |
| limit | 1 a 1000. Con clave, el default es 100. Con sesión y sin limit, se devuelve el lote completo (tope 5000 filas). |
| cursor | El next_cursor de la página anterior. |
Ejemplo
curl -s \ -H "Authorization: Bearer rk_test_releva_docs_sandbox" \ "https://releva.com.ar/api/cliente/export?format=json®ion=amba&limit=100"
const res = await fetch("https://releva.com.ar/api/cliente/export?format=json&limit=100", {
headers: { Authorization: "Bearer " + process.env.RELEVA_API_KEY },
});
const body = await res.json();
// body.rows, body.next_cursor, body.sandboxLa respuesta JSON trae generated_at, environment (sandbox o live), rows y next_cursor. Si hay cursor, repetí el pedido hasta que venga null.
El CSV de sandbox empieza con una línea #. El CSV live no. Las columnas de región y canal salen con el nombre visible (AMBA, Supermercado); los filtros usan el código.
Cupos y errores
- Sandbox público: 20 pedidos por minuto y por IP.
- Clave de sandbox de tu cuenta: 30 por minuto.
- Clave live de Starter o Growth: 30 por minuto.
- Clave live de Scale o Enterprise (API): 120 por minuto.
Las respuestas traen X-RateLimit-Limit y X-RateLimit-Remaining. X-Releva-Environment dice live o sandbox.
- 400 bad_request — parámetro inválido.
- 401 unauthorized — clave ausente, inválida o revocada.
- 403 plan_required — la clave live no corresponde a un plan con export.
- 429 rate_limited — esperá la ventana de un minuto.
