Antes de empezar: qué vas a conectar
La tienda tiene una API REST que expone lo mismo que ves en el panel: productos, precios por lista, categorías, listas de precios, clientes y pedidos. Un agente de IA es, en el fondo, un programa que sabe leer una referencia de API y hacer llamadas HTTP. Al conectarlo, le das manos para operar la tienda y vos te quedás con la voz: le pedís en castellano, él llama a la API.
Hay tres cosas que necesitas tener a mano antes del primer paso:
- La API activa en tu cuenta. Es un servicio adicional. Si en Configuración → ERP no aparece la opción API Token, o si todas las llamadas devuelven 403, pide la activación por soporte.
- Un usuario administrador. Solo los administradores (o un usuario con permiso ERP) ven y generan el token.
- La referencia de la API. Está en el panel, en la misma tarjeta del token (enlace a la documentación técnica), y resumida en el centro de ayuda. Es lo que le vas a pasar a la IA para que aprenda los endpoints.
Paso 1: genera el token de la API
- En el panel de administración, entra a Configuración → ERP.
- Elige la opción API Token entre las integraciones disponibles.
- Pulsa Generar Token. Se muestra una sola vez: copialo o descargalo (botón Descargar) en ese momento.
- Anota también la URL base: es el dominio de tu panel, y todos los endpoints cuelgan de
/api/v1/.
Prueba que funciona antes de seguir. Desde una terminal, con el token en una variable:
export VXM_TOKEN="pegá-acá-tu-token"
export VXM_URL="https://tu-panel.ventasxmayor.com"
curl -s "$VXM_URL/api/v1/products?limit=3" \
-H "Authorization: Bearer $VXM_TOKEN" Si vuelve un JSON con data, total, offset y limit, la puerta está abierta. Si vuelve 401 el token no viaja bien; si vuelve 403 la API no está activa en tu cuenta.
Paso 2: elige la vía según la IA que uses
Todas las IA llegan a la misma API; lo que cambia es el enchufe. Hay cuatro vías, de la más rápida a la más a medida:
| Vía | Para quién | Herramientas | Qué necesitas |
|---|---|---|---|
| A · Agente con terminal | El dueño o el equipo que quiere empezar hoy | Claude Code · Codex CLI · Gemini CLI · GitHub Copilot · Cursor · Windsurf | Token en una variable + la referencia |
| B · Conector MCP | Quien quiere operar desde la app de chat | Claude · ChatGPT · Gemini · Copilot Studio · Le Chat · VS Code | Un puente MCP (lo escribe la IA) |
| C · Acciones con OpenAPI | Quien arma un GPT o un agente para su equipo | GPT personalizado · Copilot Studio · Gems | Esquema OpenAPI (lo escribe la IA) |
| D · Automatizaciones y SDK | Tareas programadas y desarrolladores | n8n · Make · Zapier · Power Automate · SDKs de Anthropic, OpenAI, Google, Mistral | Nodo HTTP con el header Bearer |
Vía A: un agente con terminal (Claude Code, Codex, Gemini CLI, Copilot)
Estos agentes corren en tu computadora y pueden ejecutar comandos, así que llaman a la API directamente, sin ningún conector en el medio. Lo único que hay que hacer es dejarles el token a mano y explicarles la tienda en un archivo de contexto.
- Crea una carpeta de trabajo (por ejemplo
mi-tienda-ia) y abrí ahí el agente:claude,codex,geminiocopilot. - Deja el token en una variable de entorno, nunca dentro de un archivo del proyecto: en la terminal, antes de abrir el agente,
export VXM_TOKEN="…"yexport VXM_URL="https://tu-panel…". - Escribe el archivo de contexto que cada agente lee al arrancar:
CLAUDE.mdpara Claude Code,AGENTS.mdpara Codex,GEMINI.mdpara Gemini CLI,.github/copilot-instructions.mdpara Copilot. Mismo contenido para todos (abajo hay una plantilla). - Pídele algo de solo lectura para arrancar: «Listame los últimos 10 pedidos con cliente y total». El agente lee la referencia, arma el
curly te muestra la tabla.
Plantilla del archivo de contexto
Pégalo tal cual y ajusta la URL. Es lo que hace que la IA se comporte como un empleado prolijo y no como un script suelto:
# Tienda mayorista — reglas para operar por la API
Base URL: $VXM_URL/api/v1 (token en $VXM_TOKEN, header Authorization: Bearer)
Referencia: la documentación de la API del panel (Configuración → ERP → API Token)
y https://ventasxmayor.com.ar/centro-de-ayuda/integ-api
## Qué podés tocar
- products (por código), products/{code}/images, products/{code}/prices (por lista y variante)
- categories, price-lists
- customers (crear, editar, bloquear con blocked:true — nunca borrar)
- orders (listar, leer, PUT solo void o internal_notes — no se crean)
## Cómo trabajar
1. Antes de cualquier POST/PUT/DELETE, mostrame qué vas a cambiar y esperá mi OK.
2. En cambios masivos, primero una tabla previa (antes → después) y un conteo.
3. Paginá con limit=100. Si recibís 429, esperá y reintentá. Si recibís 409, releé el recurso.
4. Nunca imprimas el token ni lo guardes en archivos.
5. Al terminar, resumí qué cambió, cuántos registros y qué quedó pendiente. Vía B: un conector MCP para las apps de chat (Claude, ChatGPT, Gemini, Copilot)
Las apps de chat no ejecutan comandos en tu computadora: usan MCP (Model Context Protocol), el estándar con el que un asistente descubre y usa herramientas externas. Como VentasxMayor todavía no publica un conector MCP oficial, se levanta un puente: un pequeño servidor MCP que traduce cada herramienta («listar pedidos», «cambiar precio») a la llamada REST correspondiente, con el token guardado adentro del puente y no en el chat.
B1. Pídele a la IA que escriba el puente
Con el agente de la vía A abierto en la misma carpeta, un pedido así alcanza:
Escribí un servidor MCP (TypeScript o Python, SDK oficial de MCP) que exponga como
herramientas los endpoints de /api/v1 que están en la referencia: listar/leer/crear/editar
productos, precios por lista, categorías, listas de precios, clientes y pedidos (leer, anular,
notas internas). Base URL y token salen de VXM_URL y VXM_TOKEN. Transporte stdio para uso
local y Streamable HTTP para uso remoto. Cada herramienta de escritura debe describir
claramente qué cambia. Probalo contra la API real con una llamada de solo lectura. Alternativa sin escribir código: un puente genérico OpenAPI → MCP (hay varios de código abierto) que toma un esquema OpenAPI de la API y expone cada operación como herramienta. El esquema lo genera la IA a partir de la referencia, igual que en la vía C.
B2. Enchufa el puente en tu app
Hay dos modos. Local: el puente corre en tu computadora y lo usan las apps de escritorio. Remoto: el puente corre en un servidor con HTTPS y URL pública, y lo usan las apps web y móviles, que se conectan desde la nube del proveedor.
| App | Dónde se agrega | Modo |
|---|---|---|
| Claude (web y móvil) | Configurar → Conectores → Agregar conector personalizado → URL del puente. En Team y Enterprise lo agrega primero el administrador de la organización. | Remoto |
| Claude Desktop | Archivo claude_desktop_config.json, bloque mcpServers con el comando del puente; también acepta extensiones .mcpb. | Local |
| ChatGPT | Configuración → Apps y conectores → Configuración avanzada → Modo desarrollador → Crear conector con la URL del puente. Las herramientas de escritura requieren planes Business, Enterprise o Edu, habilitados por el administrador. | Remoto |
| Codex CLI | codex mcp add o bloque mcp_servers en config.toml. | Local o remoto |
| Gemini (app) | Configuración → Apps conectadas → App personalizada → URL del puente. | Remoto |
| Gemini CLI | gemini mcp add o bloque mcpServers en ~/.gemini/settings.json. | Local o remoto |
| Microsoft Copilot Studio | Herramientas → Agregar → Servidor MCP (transporte Streamable HTTP), con orquestación generativa activa. Cada herramienta del puente aparece como acción del agente. | Remoto |
| VS Code · Cursor · Windsurf | Archivo mcp.json del editor (o Settings → MCP), con el comando o la URL del puente. | Local o remoto |
| Mistral Le Chat | Conectores → Agregar conector personalizado → URL del puente. | Remoto |
Vía C: un GPT personalizado o un agente con acciones (OpenAPI)
Si quieres un asistente armado para tu equipo («Operador de la tienda») que cualquiera use desde ChatGPT o desde Microsoft 365 Copilot, la pieza es un esquema OpenAPI de la API con autenticación Bearer. Hoy la plataforma no publica ese esquema, pero la IA lo escribe a partir de la referencia:
Generá un esquema OpenAPI 3.1 en YAML de los endpoints /api/v1 de la referencia, con
securitySchemes bearerAuth (http, bearer), el servidor $VXM_URL, y descripciones claras
de cada operación y parámetro (offset, limit, category, customer). Marcá como
x-openai-isConsequential: true las operaciones POST, PUT y DELETE. - GPT personalizado (ChatGPT). Explorar GPTs → Crear → Configurar → Acciones → Crear nueva acción → pegar el esquema → Autenticación: Clave de API, tipo Bearer, pegar el token → Probar con una operación de lectura. Las operaciones marcadas como consecuentes piden confirmación antes de ejecutarse.
- Copilot Studio / Microsoft 365 Copilot. Herramientas → Agregar → Conector personalizado → Importar desde OpenAPI → autenticación por clave en el header
Authorization→ publicar el agente para tu equipo. - Gems de Gemini y Proyectos de Claude. No ejecutan acciones por sí mismos: usa el conector MCP de la vía B y guarda las reglas de la plantilla como instrucciones del Gem o del Proyecto.
Vía D: automatizaciones (n8n, Make, Zapier) y desarrolladores con SDK
Para las tareas que tienen que correr solas, sin que nadie las pida, la IA se combina con una plataforma de automatización:
- n8n, Make, Zapier, Power Automate. Un disparador (cada mañana a las 8, o cuando llega un mail), un nodo HTTP Request a
$VXM_URL/api/v1/orderscon el headerAuthorization: Bearer, y un nodo de IA (OpenAI, Anthropic, Google, Mistral) que resume, clasifica o decide. El resultado va a WhatsApp, Slack, un mail o una planilla. - SDKs de los proveedores. Si tu equipo programa, cualquier SDK con tool use o function calling (Anthropic, OpenAI, Google, Mistral) define las herramientas sobre los endpoints y deja el agente corriendo en tu infraestructura. Los modelos abiertos (Llama, DeepSeek, Qwen con Ollama) funcionan igual: la API es la misma.
- Sin webhooks salientes, por ahora. La API no avisa cuando pasa algo: la automatización pregunta cada tanto (por ejemplo, pedidos de los últimos 15 minutos) y actúa sobre lo nuevo.
Cómo manejarlo día a día: las reglas que conviene darle
Una IA conectada a la API tiene el mismo poder que un administrador. La diferencia entre una herramienta excelente y un susto está en seis reglas:
- Lectura primero. La primera semana, solo consultas y reportes. Cuando confíes en cómo interpreta la tienda, habilita escrituras.
- Confirmación antes de escribir. Todo POST, PUT o DELETE se anuncia y espera tu OK. En cambios masivos, tabla previa con el antes y el después.
- El código de producto es la clave. Los productos se direccionan por
code, lo demás porid. Antes de crear, buscar: así no se duplican productos por una tilde o un espacio. - Respetar los límites. 120 llamadas por minuto por método, páginas de hasta 100, cuerpos de hasta 5 MB. Ante 429 esperar; ante 409 releer el recurso y volver a intentar.
- El token no viaja por el chat. Vive en una variable de entorno, en el puente MCP o en la configuración de autenticación del GPT. Si alguna vez aparece en una conversación, pide uno nuevo por soporte.
- Cierre con resumen. Cada sesión termina con qué cambió, cuántos registros y qué quedó pendiente. En los pedidos, las notas internas dejan rastro de lo que hizo la IA y para quién.
Prompts para arrancar
Copiá y pega. Están ordenados de menor a mayor riesgo, y cada uno usa una parte distinta de la API:
- «Lístame los pedidos de hoy con cliente, total y estado. Marca cuáles no tienen pago registrado.»
- «¿Qué productos de la categoría Limpieza tienen stock cero? Ármame la tabla con código, nombre y última vez que se vendió.»
- «Compara los precios de la lista Mayorista A y la Mayorista B para los 50 productos más vendidos y muéstrame la diferencia porcentual.»
- «Sube un 8% todos los precios de la lista Mayorista B en la categoría Limpieza. Antes muéstrame la tabla y espera mi OK.»
- «Carga los productos de esta planilla: código, nombre, categoría, variantes y precio por lista. Los que ya existen, actualízalos; los nuevos, crealos. Dime cuántos de cada uno antes de ejecutar.»
- «Estos 12 clientes tienen deuda vencida (te paso los correos). Bloquéalos y anota en sus fichas el motivo y la fecha.»
- «Todos los lunes a las 8 arma el resumen semanal: pedidos por cliente, ticket promedio, productos sin stock, y déjalo listo como script programado.»
Errores frecuentes y qué significan
La API responde con códigos HTTP estándar y un cuerpo {"error": {"code": "…", "message": "…"}}. Los que vas a ver más seguido:
| Código | Qué pasó | Qué hace la IA |
|---|---|---|
401 | Falta el token o no es válido | Revisa el header Authorization: Bearer |
403 | La API no está activa en la cuenta | Se detiene y te pide activarla por soporte |
404 | La ruta o el recurso no existe | Busca el código o id correcto antes de reintentar |
409 | Otro usuario cambió el recurso mientras lo editabas | Vuelve a leerlo y aplica el cambio sobre la versión nueva |
413 | El cuerpo supera los 5 MB | Parte el lote (o la imagen) en pedazos más chicos |
422 | Los datos no pasaron la validación | Lee el mensaje, corrige el campo y te muestra qué cambió |
429 | Más de 120 llamadas en un minuto | Espera y reintenta con pausas |
Lo que la API no hace hoy
- No crea pedidos. Los pedidos nacen en el carrito de la tienda o en el panel, donde el motor de precios, listas y descuentos los calcula. La IA los lee, los anula y les deja notas.
- No borra clientes. Los bloquea con
blocked: true, y el historial queda. - No avisa sola. No hay webhooks salientes: las automatizaciones consultan periódicamente.
- Sin conector MCP ni esquema OpenAPI oficiales, por ahora. Ambos se arman en minutos con la IA a partir de la referencia, como se explica en las vías B y C.
¿Quieres que lo dejemos andando contigo?
Activamos la API, revisamos tu primera conexión y te ayudamos a definir las reglas para tu equipo.
