Saltar al contenido
Guías

Herramientas para agentes

Entrega a un agente el flujo y el contrato exacto que debe implementar.

Última actualización:

Usa Markdown para explicar la tarea y OpenAPI para definir la llamada. Ninguno de los dos reemplaza la validación del servidor.

La documentaciónlas mismas páginas que lees túEl agentela lee entera, sin adivinar

Fuentes disponibles

  • llms.txt enumera las APIs y guías públicas.
  • llms-full.txt reúne la documentación pública en un archivo.
  • El menú de una página permite copiar o abrir su Markdown.

Chopper en el Admin

Chopper es el asistente de IA de Ecomiq. El chat del Admin usa el servicio ecomiq-ai, que ejecuta el modelo, consulta herramientas autorizadas y conserva la conversación. Sus rutas viven bajo /v1/assistant; no es una interfaz MCP.

Las capacidades dependen del modo, los permisos y los servicios configurados. El chat comercial puede consultar productos y sus variantes, recomendaciones, historial de precios, pedidos completos, despachos, reclamos, clientes, carritos, inventario, publicaciones, webhooks, impuestos y ajustes. Las búsquedas devuelven los identificadores que se usan para abrir detalles. La documentación no concede permisos ni convierte una operación del Admin en una herramienta del chat.

Para contar productos de un proveedor como VTEX, Chopper consulta las fuentes por providerId y envía sus IDs juntos en sourceIds a catalog_count_products. El resultado cuenta productos únicos vinculados a esas fuentes; no deduce el origen por marcas o imágenes ni cuenta filas de sincronización como productos.

En el editor de la tienda, las herramientas habilitadas pueden preparar cambios del borrador, generar imágenes de campaña y, con el workbench configurado, inspeccionar URLs de referencia y diseños candidatos. Inspeccionar una referencia no equivale a disponer de búsqueda web general. Una propuesta no publica la tienda.

Edición de productos desde el chat

Con permisos de lectura y edición de catálogo, Chopper puede preparar cambios en productos existentes y en variantes concretas: textos, etiquetas, estado, SKU y precios. También puede seleccionar y ordenar imágenes ya adjuntas o cambiar la principal. La tarjeta presenta Antes y Después; Aprobar y guardar aplica la edición en .NET. Las variantes omitidas se conservan.

catalog_product_edit_propose crea la propuesta y catalog_product_edit_get consulta su estado. Ninguna herramienta del modelo aprueba. El servidor revalida actor, tienda, vendedor, permisos y versiones; conserva idempotencia y auditoría. Si el producto cambió, hace falta una propuesta nueva. Si una parte falla, se revierte la edición completa. Este flujo no ajusta stock ni crea o borra variantes.

Imágenes de producto

El formulario de producto incluye una acción para generar una imagen. La persona revisa el resultado y lo aplica al formulario. La generación consume créditos; aplicar la imagen la guarda como archivo y la agrega a las imágenes del producto. Solo se marca principal automáticamente cuando el producto no tenía imágenes. Para reemplazar una principal existente, selecciona la nueva imagen como principal y guarda el producto.

Generar una imagen, subirla, asignarla y guardar el producto son pasos diferentes. Actualmente el chat no tiene una herramienta que complete ese flujo de principio a fin. La herramienta de campañas del editor tampoco cambia la imagen principal. Si el proveedor de imágenes no está configurado, el servicio no puede generar.

Las imágenes generadas pueden utilizarse en el catálogo. Deben representar con fidelidad el artículo; una ilustración generada no demuestra por sí misma cómo es el producto real. Esta distinción no es una prohibición de generación.

API MCP para agentes externos

El MCP público pertenece a Api.Agent, un servicio .NET independiente del chat. El cliente se conecta al endpoint /mcp del despliegue de Agent configurado para su entorno. ecomiq-ai no expone ese endpoint ni actúa como proxy.

El cliente usa OAuth con scope api_agent y audience igual a la URL MCP canónica (https://chopper.ecomiq.pe/mcp en producción). No debe reenviar un bearer api_admin. Agent valida la instalación, el usuario, tenant, tienda, seller y permisos; el prompt no puede cambiar ese alcance. Usa la metadata OAuth del servicio y el catálogo vivo de tools/list.

El catálogo público ofrece:

HerramientaResultado
organization_current_store_getLee la tienda de la instalación OAuth validada.
catalog_products_listLista o busca productos por nombre, descripción, SKU o código de barras de variante, con paginación por cursor.
catalog_products_countCuenta productos con los mismos filtros e indica si el resultado es exacto o un mínimo.
catalog_product_getLee descripción, precios, estado, etiquetas, imágenes, especificaciones y variantes de un producto.
catalog_product_draft_proposeCrea una propuesta idempotente de producto borrador para revisión humana.
catalog_product_draft_proposal_getConsulta una propuesta de esa instalación.
analytics_metrics_listConsulta las métricas y dimensiones disponibles.
analytics_metrics_queryConsulta métricas por período y dimensiones, con comparación.
orders_listLista órdenes de la tienda y vendedor conectados.
orders_getConsulta importes, artículos, pagos y estado de una orden.
channels_sources_listLista fuentes de importación y su estado.
channels_source_getConsulta sincronización y errores de una fuente.
channels_listLista canales de venta.
channels_product_publications_listConsulta los orígenes y publicaciones de un producto.
channels_listings_listLista productos y bloqueos de publicación de un canal.
channels_mappings_listConsulta mapeos de categorías, marcas y atributos, indicando dirección y propietario.
channels_mapping_candidates_listLista candidatos de mapeo pendientes en una fuente.
storefront_project_getConsulta el proyecto de la tienda.
storefront_draft_getLee el borrador y su versión.
storefront_theme_catalog_getConsulta el manifiesto y schemas del theme.
storefront_draft_patch_proposePrepara cambios del theme con preview y URL de aprobación.
storefront_draft_patch_getConsulta el estado y recibo de una propuesta del theme.

Las consultas de productos requieren catalog:read tanto en la aplicación como en los permisos del usuario. La tienda y el vendedor provienen de la conexión; no se pueden cambiar mediante argumentos. Los registros OAuth dinámicos nuevos solicitan lectura y creación de catálogo, lectura de métricas, órdenes y canales, y lectura/edición de contenido, limitadas a los permisos del usuario. Las conexiones anteriores que solo tienen catalog:create necesitan actualizar los permisos de su aplicación u obtener un nuevo registro OAuth con lectura. Renovar el token o volver a autorizar el mismo cliente no agrega ese permiso.

Las métricas requieren analytics:read; órdenes, order:read; fuentes, canales y mapeos, channel:read. El editor requiere content:read para consultas y además content:update para propuestas. Fuentes, canales, mapeos y themes requieren alcance de tienda, sin vendedor. Las publicaciones de un producto siguen su alcance de catálogo y requieren catalog:read.

Los cambios del theme requieren leer proyecto, borrador y manifiesto antes de proponer hasta 50 operaciones con sus versiones. La respuesta incluye preview y approvalUrl: la persona revisa y aprueba en Ecomiq. El agente consulta el estado con storefront_draft_patch_get; succeeded y responseAudit confirman que cambió el borrador. La publicación es independiente. En chat interno también se puede proponer un cambio del theme sin abrir primero el builder.

En catalog_products_list, omite options.search para listar o úsalo para buscar. La página tiene 20 productos por defecto y admite hasta 100. Para continuar, envía nextCursor como options.cursor y conserva los filtros. Los borradores están incluidos; los archivados se incluyen con options.includeArchived: true o options.status: "archived". catalog_product_get recibe productId del listado, incluso para archivados. options.sourceIds filtra por IDs de fuentes obtenidos del listado de fuentes. Estas herramientas consultan catálogo; no devuelven disponibilidad de inventario.

El conteo devuelve total, precision y limit. El límite predeterminado es 10 000 y puede aumentarse hasta 100 000. precision: "exact" identifica un total exacto; precision: "atLeast" debe comunicarse como «al menos», nunca como total exacto. El número de resultados de una página no es el total del catálogo.

Crear la propuesta no crea ni publica el producto. La aprobación se realiza en la interfaz first-party autenticada y la ejecución conserva permisos, idempotencia y auditoría de dominio. El cliente delegado que propone no puede autoaprobar. Las herramientas internas del chat no forman parte de este catálogo por estar registradas en ecomiq-ai.

El servidor MCP entrega operaciones y datos estructurados; el modelo del cliente externo redacta su respuesta. Esto es distinto del chat de Chopper en Admin, donde Ecomiq ejecuta el modelo. Los embeddings de la búsqueda documental recuperan fragmentos, no generan respuestas ni ejecutan cambios.

Conectar desde ChatGPT o Claude

Agrega https://chopper.ecomiq.pe/mcp como conector personalizado, inicia sesión en Ecomiq y elige la tienda que quieres conectar. Necesitas permiso para conectar aplicaciones y acceso de lectura de catálogo para consultar productos. El registro OAuth dinámico, el consentimiento, PKCE y la renovación de tokens se gestionan entre el cliente y Ecomiq. No pegues contraseñas ni tokens en el chat.

Cada instalación conserva su tienda y sus permisos aunque otros comercios usen el mismo cliente. Para cambiar de tienda, realiza una nueva conexión. Para revocar acceso, abre Configuración → Desarrolladores → Apps y elige Desconectar. Se impiden nuevas renovaciones; un token ya emitido puede conservar acceso hasta diez minutos. Desconectar una tienda no desconecta otras.

Puedes pedir «¿Qué tienda conecté?», «Busca el SKU …», «¿Cuántos productos tengo?» o «Prepara una propuesta de producto». La disponibilidad en los directorios de ChatGPT y Claude depende de su revisión; conectar un servidor personalizado no significa que ya esté publicado en esos directorios.

Datos compartidos

El conector recibe los argumentos de las herramientas solicitadas y la identidad OAuth necesaria para comprobar permisos. Envía al cliente externo la tienda, productos, órdenes, métricas, fuentes, canales, mapeos, contenido del theme o propuestas que se consulten. No recibe automáticamente el historial completo de la conversación. ChatGPT o Claude procesan las respuestas según sus propias políticas; Ecomiq conserva los datos y registros bajo su política de privacidad. La desconexión no elimina propuestas ni registros de auditoría existentes.

Contratos OpenAPI

Entrega solo el contrato de la API que usará el agente. Admin, Storefront, Auth y UCP no comparten todas las reglas de autenticación, contexto, paginación o error.

Qué debe tomar de cada fuente

FuenteÚsala para
Guía MarkdownOrden del flujo, decisiones y restricciones operativas.
OpenAPIMétodo, ruta, parámetros, cuerpo, esquemas, respuestas y seguridad publicada.
Página del endpointPresentación legible del contrato de esa operación.

Si un permiso, ejemplo o regla no aparece en esas fuentes, el agente debe marcarlo como desconocido. No debe inventarlo a partir del nombre del endpoint.

Instrucción recomendada

Prompt
Implementa esta operación con la guía y el OpenAPI adjuntos.
Conserva método, ruta, operationId, parámetros y esquemas.
No inventes campos, permisos, respuestas ni ejemplos.
Distingue Admin, Storefront, Auth y UCP.
Antes de reintentar, comprueba la idempotencia de la operación.

Flujo de trabajo

  1. Elige una API y una operación concreta.
  2. Adjunta la guía del flujo y el fragmento OpenAPI de esa operación.
  3. Pide un cliente tipado que use solo los campos del contrato.
  4. Ejecuta contra credenciales y datos de desarrollo.
  5. Compara la petición y la respuesta reales con el contrato publicado.

No deduzcas autorización

Que una operación aparezca en OpenAPI no concede acceso. Usa la seguridad publicada y la respuesta del servidor; no supongas nombres de permisos que el contrato no declara.

No compartas client_secret, access tokens, datos personales ni respuestas de producción en el prompt. Sustituye los valores antes de adjuntar ejemplos.

En esta página