Saltar al contenido principal

Autenticación

Neuroon expone dos credenciales según desde dónde llamas a la API. Elige la que corresponde al origen de la petición; no son intercambiables.

¿Cuál uso?

Tabla comparativa

MecanismoCabeceraFormatoTTLOrigenEndpoints
Widget TokenX-Widget-TokenCadena opaca24 hNavegador/api/widget/*
API KeyAuthorization: Bearer <key>Bearer tokenPermanente (hasta rotación)Tu servidor/api/integrations/v1/*

Flujo del Widget Token (frontend)

  1. Tu servidor firma el Widget Token localmente con la API Key como secreto HMAC (Base64URL(shopId:unixTimestamp:HMAC-SHA256(...))). Ver Recipe · Server-to-server token.
  2. Cachea el token (~23 h) y lo inyecta como data-token en el <script> que sirve tu HTML.
  3. El widget envía el token en cada request al backend como X-Widget-Token.
  4. Cuando hayan pasado >23 h, tu servidor vuelve a firmar y rota el token sin downtime.

Para casos manuales (demo, dev), también puedes generar un Widget Token desde Dashboard → Tiendas → "Generar widget token". El cliente JavaScript no firma nada: el token es opaco y la firma se valida server-side en cada request.

Flujo de la API Key (server-to-server)

  1. Obtienes tu API Key desde el Dashboard de Neuroon (shop settings).
  2. La guardas en tu secret manager.
  3. En cada request a /api/integrations/v1/* incluyes:
Authorization: Bearer <api-key>
  1. La API key está vinculada a una tienda específica — no necesitas incluir shopId en la URL. El backend resuelve la tienda automáticamente.
  2. Las llamadas deben ser server-to-server. Si se detecta un Origin de navegador, el backend rechazará la petición.

Errores comunes

SíntomaCausa probable
401 Unauthorized con cabecera presenteToken expirado, mal formado o de otro entorno
401 Unauthorized sin cabeceraOlvidaste poner el header Authorization: Bearer ...
404 Not FoundShop no encontrada para esta API key
402 Payment RequiredCuota excedida — upgrade your plan
422 Unprocessable EntityID de search log no encontrado o expirado (conversiones)
429 Too Many RequestsRate limit excedido — ver Retry-After

Detalle de cada uno: Errores.

Próximas lecturas