Skip to content

Autenticacion

Mibizum usa API keys con scope, no OAuth ni sesiones. Cada tenant tiene dos pares de claves (live y test) y dentro de cada par dos roles (publica y privada).

Tipos de clave

TipoPrefijoDonde usarlaQue puede
Publica livemb_pk_live_Frontend del navegador, widget, SDK JS publicoSolo lectura: /search, /track, /widget-bootstrap
Privada livemb_sk_live_Backend de tu tienda, scripts de indexacion, server-to-serverLectura + escritura: indexar, gestionar sinonimos, reglas
Publica testmb_pk_test_Staging del frontendIgual que la publica live pero contra el tenant test
Privada testmb_sk_test_Staging del backendIgual que la privada live pero aislada

Critico

La clave privada nunca debe aparecer en HTML, JS del navegador, repos publicos, capturas o logs accesibles desde fuera. Si se filtra, rotarla inmediatamente desde Ajustes > API Keys.

Como autenticar

Todas las peticiones llevan la cabecera estandar:

http
Authorization: Bearer mb_pk_live_a1b2c3d4...

Ejemplo con curl:

bash
curl https://api.mibizum.io/v1/tu-tienda/search?q=hidratante \
  -H "Authorization: Bearer mb_pk_live_a1b2c3d4..."

Ejemplo con fetch desde el navegador (usar SIEMPRE la publica):

js
const r = await fetch(
  'https://api.mibizum.io/v1/tu-tienda/search?q=hidratante',
  { headers: { Authorization: `Bearer ${publicKey}` } },
);

Ejemplo con el SDK JS (el SDK maneja la cabecera por ti):

ts
import { Mibizum } from '@mibizum/sdk';
const mb = Mibizum.init({ tenant: 'tu-tienda', publicKey: 'mb_pk_live_...' });
const r = await mb.search('hidratante');

Codigos de respuesta de auth

CodigoSignificadoComo arreglarlo
401 unauthorizedCabecera ausente o token malformadoAnadir Authorization: Bearer <key>
401 invalid_keyLa clave no existe o esta revocadaVerifica en el panel; regenera si dudas
403 forbidden_scopeUsaste publica en endpoint de escrituraCambia a la privada en tu backend
403 tenant_mismatchLa clave pertenece a otro tenant del que llamasVerifica tenant_slug en la URL
429 rate_limitedSuperado el rate limitEspera el Retry-After

Rotacion de claves

Buenas practicas:

  • Rota las claves cada 90 dias o tras cualquier sospecha de filtracion.
  • Manten dos claves activas durante la rotacion para no romper produccion: crea la nueva, deploya, revoca la vieja.
  • Usa claves test para todo lo que no sea prod: el tenant test esta totalmente aislado, no contamina metricas reales.
  • Audita el uso en Ajustes > API Keys > Actividad: ves IPs, ultimas llamadas y posibles abusos.

Restricciones por IP (proximamente)

En la roadmap esta poder restringir cada clave privada a una lista de IPs o rangos CIDR. Mientras tanto, mantente las privadas solo en tu servidor.

Documentacion oficial de Mibizum.