1. Genera la API key en Holded
En Holded entra a Configuración → Desarrolladores → API → Nueva API key. Copia el valor — Holded solo lo muestra una vez. Necesitas permisos de lectura sobre Contactos, Documentos y Catálogo.
Conecta tu cuenta de Holded a Isaak con la API key del ERP. Las keys se cifran AES-256-GCM antes de guardarse — nunca viajan en claro entre apps.
En Holded entra a Configuración → Desarrolladores → API → Nueva API key. Copia el valor — Holded solo lo muestra una vez. Necesitas permisos de lectura sobre Contactos, Documentos y Catálogo.
POST /api/v1/integrations/holded/api-key con la key en el body. Isaak la cifra con AES-256-GCM usando HOLDED_KEY_SECRET y la guarda en tu fila de tenant. Nunca queda en logs ni en respuestas.
curl -X POST https://isaak.verifactu.business/api/v1/integrations/holded/api-key \
-H "Authorization: Bearer $ISAAK_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "holdedApiKey": "TU_HOLDED_API_KEY" }'{
"ok": true,
"data": {
"connected": true,
"holdedAccountName": "Acme SL",
"lastSyncAt": null
}
}El sync extrae contactos, facturas emitidas y recibidas. Lo lanzas a demanda — Isaak no lo programa automáticamente para no consumir tu quota Holded.
curl -X POST https://isaak.verifactu.business/api/v1/integrations/holded/sync \
-H "Authorization: Bearer $ISAAK_API_KEY"GET /api/v1/integrations/accounting/status devuelve el estado de todas tus integraciones contables (Holded, Chift cuando esté activo, etc.). Útil para mostrar un "conectado" en tu propio UI.
curl https://isaak.verifactu.business/api/v1/integrations/accounting/status \
-H "Authorization: Bearer $ISAAK_API_KEY"DELETE elimina la API key cifrada. Tras esto Isaak no puede leer ni escribir en Holded. Los datos ya sincronizados quedan en Isaak, pero no se actualizan más.
curl -X DELETE https://isaak.verifactu.business/api/v1/integrations/holded/api-key \
-H "Authorization: Bearer $ISAAK_API_KEY"