Saltar al contenido
multi tenant y keys globales

Centro de ayuda

Guías paso a paso de cada parte de Ozom: qué hace cada botón, ejemplos reales y qué hacer si algo sale mal.

Multi-tenant: keys globales y COMMERCE_TENANT_ID

Cuando un mismo agente debe operar varias empresas, o cuando soporte de plataforma necesita entrar a cualquier cuenta, se usan API keys globales y la variable de entorno COMMERCE_TENANT_ID.

Las keys de tu empresa (las que crea Admin → API keys) están atadas a UNA sola empresa: solo pueden leer y operar la cuenta que las emitió. Para un agente que trabaja con tu tienda, eso es exactamente lo que querés. Pero hay dos casos donde eso no alcanza.

Caso 1: tu agente maneja varias empresas

Si vos o tu equipo operan más de una tienda en Ozom y querés que el mismo asistente (Claude Code en una sola máquina, por ejemplo) atienda a varias, la solución es crear una API key POR EMPRESA y, en el cliente MCP, levantar una instancia separada del servidor por cada una, cada una con su propia key.

# Claude Code: un servidor MCP por empresa
claude mcp add easysell-tienda-a \
  --env COMMERCE_API_KEY=npk_key_de_tienda_a \
  -- npx @cgalaviz/ozom-mcp

claude mcp add easysell-tienda-b \
  --env COMMERCE_API_KEY=npk_key_de_tienda_b \
  -- npx @cgalaviz/ozom-mcp

El nombre después de "add" (easysell-tienda-a, easysell-tienda-b) es solo un alias interno de Claude Code para que el agente sepa a cuál te referís cuando hay varios. Cada servidor sigue siendo el mismo paquete npm.

Caso 2: tu agente necesita entrar a CUALQUIER empresa (soporte de plataforma)

Esto ya no es una key por empresa. Es una key "global" que existe solo para super-admin de plataforma. La crea un humano desde Plataforma → API keys globales, no vos. Siempre lleva todos los scopes (no es configurable) y le sirve a un agente que hace soporte sobre cualquier cuenta.

Acotar una key global a UNA empresa (COMMERCE_TENANT_ID)

Una key global puede operar sobre cualquier empresa. Si querés que solo opere sobre una (por ejemplo, soporte a tienda-a hoy, tienda-b mañana), exportá la variable de entorno COMMERCE_TENANT_ID con el id de la empresa concreta. El servidor MCP la manda como header X-Tenant-Id en cada request.

claude mcp add easysell-soporte \
  --env COMMERCE_API_KEY=npk_global_xxxxxxxx \
  --env COMMERCE_TENANT_ID=uuid_de_tienda_a \
  -- npx @cgalaviz/ozom-mcp

Sin COMMERCE_TENANT_ID, la key global ve TODO (todos los tenants). Con ella, ve solo ese tenant. Si más adelante el agente necesita atender tienda-b, cambiás el valor de la env (o creás otro servidor MCP con la misma key global y otro tenant). La key global no cambia — solo cambia a qué empresa apunta cada proceso.

Sigue leyendo

¿No resolviste tu duda? Escríbenos y te ayudamos.

Ozom