API y webhooks

Tu archivo, conectado a tus propias herramientas.

Un endpoint REST para leer lo que Findest ya ha archivado y un webhook saliente que se dispara en el instante en que un documento llega a tu nube. Sin rastrear tu Drive y sin consultar la API cada poco: los datos vienen a ti, firmados para que puedas fiarte de ellos.

Incluida en todos los planes, también en Free

Autenticación
Clave BearerUna por cuenta, se muestra una sola vez. Revocable cuando quieras.
Endpoint
1, solo lecturaGET /public-api/documents
Tamaño de página
Hasta 20050 por defecto, se ajusta con ?limit=.
Webhook
HMAC-SHA256POST firmado por cada documento archivado.
Pruébalo aquí

La API, sin salir de la página.

Monta una petición, firma un webhook y comprueba una URL. Todo lo de abajo se ejecuta en tu navegador: no hace falta clave y no se envía nada a ningún sitio.

GETMonta una petición

Petición
curl -H "Authorization: Bearer fk_live_YOUR_KEY" \
  "https://rlarmblikgtxmqlertzg.supabase.co/functions/v1/public-api/documents?limit=50"
Respuesta · 200 OK (datos de ejemplo)
POSTFirma y verifica un webhook

X-Findest-Signature

25c45852f702be8fee8261149bbf5647bce71a62bea1e94a479ec0b78418e1f0

¿Aceptará Findest esta URL de webhook?

Lectura

Un endpoint, todo tu Historial.

Crea una clave de API en la página API de la app y llama al endpoint para obtener los mismos registros que ves en tu Historial: nombre del fichero, tipo detectado, estado y destino final.

GET/public-api/documents
ParámetroDescripción
AuthorizationCabecera. Bearer <tu clave>. Una clave solo devuelve los documentos de su propia cuenta.
limitQuery, opcional. Cuántos documentos devolver, los más recientes primero. Por defecto 50, máximo 200.
Respuesta · 200 OK
{
  "documents": [
    {
      "id": "a1b2c3d4",
      "filename": "Factura_Endesa_2026-03-14.pdf",
      "doc_type": "Factura",
      "status": "uploaded",
      "destination": { "folder_name": "Facturas 2026" },
      "created_at": "2026-03-14T09:12:03Z"
    }
  ]
}
Webhook saliente

Entérate en el mismo momento.

Configura una URL de webhook una sola vez y, cada vez que se archiva un documento, Findest le envía un POST firmado. No hace falta consultar la API cada cierto tiempo.

POSThttps://tu-servidor.com/webhooks/findest
Contenido · document.archived
// Cabecera: X-Findest-Signature: <HMAC-SHA256 en hex del cuerpo en crudo>
{
  "event": "document.archived",
  "data": {
    "id": "a1b2c3d4",
    "filename": "Factura_Endesa_2026-03-14.pdf",
    "doc_type": "Factura",
    "folder_name": "Facturas 2026",
    "web_link": "https://drive.google.com/file/d/…"
  },
  "sent_at": "2026-03-14T09:12:04Z"
}
Verifica la firma · Node.js
import crypto from "node:crypto";

function isFromFindest(rawBody, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return signature?.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}

Comprueba que somos nosotros

Recalcula el HMAC-SHA256 del cuerpo en crudo de la petición con tu secreto de webhook y compáralo con X-Findest-Signature. Si no coincide, descarta la petición. El secreto se muestra una sola vez, al crear el webhook.

Entrega sin garantías

Si tu endpoint está caído o tarda demasiado, el archivado se completa igualmente. El webhook todavía no se reintenta: trátalo como un aviso y considera la API la fuente de verdad.

Solo HTTPS público

La URL debe ser https:// en el puerto 443 y apuntar a un host público. No se siguen redirecciones y cada llamada caduca a los 10 segundos.

Preguntas sobre la API

Lo que suele preguntarse.

Ver todas las preguntas

¿Dónde consigo una clave de API?

En la app, en la página API de la barra lateral. La clave en claro se muestra una sola vez, al crearla: Findest solo guarda su hash, así que cópiala antes de cerrar el diálogo.

¿Hay límite de peticiones?

GET /public-api/documents devuelve como máximo 200 registros por petición (50 por defecto, se ajusta con ?limit=). Todavía no hay un límite estricto por minuto, pero trátalo como un endpoint de lectura para tus propias integraciones, no como una API pública para terceros.

¿Puedo crear documentos o reglas desde la API?

Todavía no. Hoy la API pública es de solo lectura (documentos) más el webhook saliente. Las reglas, las conexiones y los equipos se gestionan desde la propia app.

¿El webhook reintenta si mi servidor está caído?

No, la entrega es de un único intento por ahora. Usa la API para recuperar lo que se te haya podido escapar en lugar de depender solo del webhook.

¿Cómo compruebo que un webhook viene de Findest?

Recalcula el HMAC-SHA256 del cuerpo en crudo de la petición con tu secreto de webhook y compáralo con la cabecera X-Findest-Signature. El secreto se muestra una sola vez, al crear el webhook.