SDK JS
El @mibizum/sdk es una libreria JavaScript ligera (<10 KB gzip) que envuelve el API REST. Pensada para correr en el navegador del cliente final, integrarse en cualquier carrito y manejar tracking, session ID y errores comunes por ti.
Caracteristicas
- TypeScript first: tipos generados desde el schema del API.
- Cero dependencias en runtime.
- SSR-friendly: compatible con Next.js, Nuxt, SvelteKit, Astro.
- Auto-tracking de sesion + eventos.
- Reintentos automaticos con backoff para errores
5xx. - Debouncing configurable para inputs de busqueda.
Diagrama de dependencias
text
@mibizum/sdk (este paquete - publico en npm)
├─ no runtime deps
└─ types-only ─> @mibizum/core (shared schema, privado)El SDK NO depende de Vue, React, Svelte ni de ningun framework. Es vanilla JS / TS. Cualquier framework puede consumirlo.
Llamadas que expone
| Funcion | Endpoint REST equivalente |
|---|---|
Mibizum.init(opts) | (configuracion local) |
mb.search(q, opts) | GET /v1/{tenant}/search |
mb.trackClick(itemId, opts) | POST /v1/{tenant}/track/click |
mb.trackConversion(opts) | POST /v1/{tenant}/track/conversion |
mb.getSessionId() | (lectura local) |
mb.on(event, handler) | (eventos in-process) |
Cada una documentada en su seccion del menu izquierdo.
Compatibilidad
- Node.js: >= 18 (para uso en SSR)
- Navegadores: ultimos 2 anos (Chrome, Firefox, Safari, Edge). Compilado a ES2020.
- Bundlers: tree-shakeable. Compatible con Vite, Webpack 5, Rollup, esbuild.
Filosofia
El SDK es deliberadamente finito. Si necesitas algo que no expone, llama al API REST directamente con fetch. La superficie pequena es a proposito: facil de auditar, facil de mantener, facil de reemplazar si decides irte.