Documentación · Integrar · API v1 · versión 2026-10-22
Backend intermediario
Cómo usar Trevol desde una aplicación web (Next.js, Nuxt, SvelteKit, Angular) sin exponer la llave en el navegador.
No hay SDK para el navegador, porque la llave de la API nunca debe estar en el navegador: quien la vea puede emitir documentos a nombre de tu empresa.
El patrón es el de backend intermediario:
- Tu frontend llama a tu servidor (una ruta de tu aplicación), con la sesión de tu usuario.
- Tu servidor comprueba quién es y qué puede hacer, arma el documento desde tus propios datos (no reenvía el cuerpo que llegó del navegador), y llama a Trevol.
- Tu servidor responde al frontend lo que el usuario necesita (el estado y el número, no la llave).
Qué no hacer
- No pongas la llave en una variable pública (
NEXT_PUBLIC_…,VITE_…,PUBLIC_…,environment.tsde Angular): esas variables viajan al navegador. - No hagas un «proxy abierto» que reenvíe cualquier ruta y cuerpo a Trevol: cualquiera podría emitir lo que quiera.
- Deriva la
Idempotency-Keyde tu venta (VENTA-2026-000123), no de un valor que mande el navegador.
Los ejemplos con el SDK de Node.js (Next.js, Nuxt, SvelteKit y Angular) llegan cuando los SDK se publiquen. El patrón es el mismo con cualquier cliente HTTP: la ruta de tu servidor lee TREVOL_API_KEY del entorno, arma el documento desde tus datos y llama a POST https://api.trevol.si/v1/invoices con Authorization: Bearer, un Idempotency-Key derivado de tu venta y el cuerpo que describe la referencia.
Y los webhooks
Los avisos de Trevol también llegan a tu servidor, nunca al navegador. Recíbelos en una ruta tuya, verifica la firma con el cuerpo crudo y avisa a tu frontend por tu propio canal (WebSocket, SSE o sondeo de tu base). Ver Webhooks.