Formato de respuesta
Toda respuesta de la API de Folyo usa un envoltorio uniforme. En vez de retornar el payload pelado, la API lo envuelve junto a un indicador ok. Esto te permite programar contra una forma estable, sin importar el endpoint.
Envoltorio de éxito
Toda respuesta 2xx tiene la forma { "ok": true, "data": <payload> }. El payload real vive siempre dentro de data.
{
"ok": true,
"data": {
"job_id": "a1b2c3d4-...",
"estado": "en_proceso"
}
}
En los endpoints de lista, data es directamente el array de resultados:
{
"ok": true,
"data": [
{ "id": "...", "folio": 1024, "tipo": 33 },
{ "id": "...", "folio": 1025, "tipo": 33 }
]
}
Para leer el resultado, siempre accede a .data:
const res = await fetch("https://api.folyo.cl/v1/documentos", {
headers: { "X-API-Key": "<api_key>" },
});
const body = await res.json();
if (body.ok) {
const documentos = body.data; // el payload real
}
Envoltorio de error
Las respuestas de error tienen la forma { "ok": false, "error": "<mensaje legible>", "code": "<CODIGO>" }. El status HTTP acompaña e indica la categoría del problema.
{
"ok": false,
"error": "El período indicado no es válido",
"code": "INVALID_PERIODO"
}
codees un identificador estable, pensado para programar contra él. No cambia entre versiones.errores texto legible por humanos. Puede cambiar y no debes usarlo para tomar decisiones en código.
Códigos comunes
code |
Descripción |
|---|---|
INVALID_PERIODO |
El período tributario indicado no es válido |
PLAN_LIMIT |
Alcanzaste el límite de tu plan actual |
ACCOUNT_LOCKED |
La cuenta está bloqueada temporalmente |
Programa contra code, no contra el status HTTP ni contra error:
if (!body.ok) {
if (body.code === "PLAN_LIMIT") {
// sugerir upgrade de plan
}
}
Los ejemplos de la referencia muestran el envoltorio completo
Todos los ejemplos de Response en la API Reference muestran el envoltorio completo, no el payload pelado. Esto es intencional: puedes copiar el ejemplo tal cual y coincidirá byte a byte con lo que retorna la API, incluyendo el campo ok y la ubicación del payload en data.