Caso de estudio · Atravesar Services · atravesar.ca
Una capa de asistente de IA sobre una operación real de reparación y logística inversa
Para Atravesar Services —una empresa canadiense de reparación, reacondicionamiento y logística inversa de electrónica— SolvoSync construyó el sitio web público, la plataforma de negocio que lo sostiene y un asistente de IA que responde a los clientes en nueve idiomas mediante generación aumentada por recuperación y herramientas del Model Context Protocol. Presentado en vivo en NATEA Toronto el 21 de octubre de 2026.
- servicios internos
- 9
- líneas de Python
- ~175K
- idiomas, una sola base de conocimiento
- 9
- herramientas del asistente en lista de permitidos
- 10
- por respuesta de IA a precio de lista
- US$0.004
- del código es la capa de IA
- ≈3%
El cliente
De las devoluciones de clientes a la devolución al cliente
Atravesar Services es una empresa canadiense de reparación, reacondicionamiento y logística inversa de electrónica, con oficina en Richmond Hill y un taller de reparación y almacén en Markham, que atiende a todo el país por mensajería. Gestiona programas B2B de reparación y devoluciones para fabricantes y minoristas, ofrece reparación por correo al consumidor y es el proveedor exclusivo autorizado de posventa de Narwal en Canadá, con soporte para ECOVACS y Segway/Ninebot.
Cada día el equipo respondía las mismas preguntas: ¿Dónde está mi paquete? ¿Qué significa el error E12? ¿Cuánto cuesta la reparación con impuestos en Quebec? ¿Mi orden de trabajo ya está en reparación? Cada respuesta ya existía: en un documento, una base de datos o la API de un transportista. El encargo: dejar que el software las responda, con seguridad, las 24 horas, en el idioma del cliente.
-
Oficina en Richmond Hill · Taller de reparación y almacén en Markham · Servicio en todo Canadá por mensajería
-
Proveedor exclusivo autorizado de posventa de Narwal en Canadá · Soporte para ECOVACS y Segway/Ninebot
-
Robots aspiradores · patinetes eléctricos · teléfonos inteligentes · tabletas · portátiles · consolas · pequeños electrodomésticos
-
EN简体繁體日本語한국어Tiếng ViệtESITFR
Principio de diseño
La IA lee, entiende y conversa. El software decide, registra y paga.
La arquitectura traza una línea explícita. Una capa de asistente se sitúa sobre el flujo de trabajo diario y llega al negocio solo a través de puertas estrechas, con nombre y registradas: herramientas y API. Debajo, software ordinario con autenticación, autorización y trazabilidad decide precios, registra órdenes de trabajo y mueve el dinero.
-
Capa de asistente de IA
Lee, entiende, consulta y responde a las personas, en su idioma y a cualquier hora.
-
Puertas estrechas, con nombre y registradas
Pedidos, pagos, almacén, envíos, rastreo y soporte solo son accesibles mediante herramientas en lista de permitidos con esquemas JSON. El modelo nunca toca una base de datos.
-
Seguridad y control
Autenticación (¿quién eres?), autorización (¿qué puedes ver o hacer?) y trazabilidad (¿qué pasó?, registrado y auditable).
Lo que ya hacía funcionar el negocio
Nueve servicios, unas 175 000 líneas de Python
El sitio web es la parte visible. Detrás, SolvoSync diseñó y opera la plataforma que hace funcionar la empresa: gestión de almacén y RMA, envíos con múltiples transportistas, pagos e impuestos, identidad, inspecciones e integraciones con fabricantes. La capa de IA es aproximadamente el 3 % del código; todo lo demás es la disciplina que hereda.
-
7.7K LOC
www · Sitio web público
9 idiomas · páginas de servicios y guías · formulario fuera de garantía · widget de chatbot · carga de conocimiento por el administrador · llms.txt
-
59.5K LOC
Flow · WMS / RMA
Recepción · inventario · piezas · RMA · órdenes de entrega · palés · ECOVACS ESB · Mammotion FS Cloud · LSS · 31 archivos de pruebas
-
50.6K LOC
Fulfill · Envíos
UPS · Canpar · Canada Post · Purolator (ShipEngine) · Freightcom · tarifas, etiquetas, recogidas, manifiestos, rastreo · auditoría de facturación EDI 210
-
5.2K LOC
Payment · Pagos e impuestos
Stripe Checkout + webhooks · impuestos canadienses por código postal (GST/HST/PST/QST) · facturas a S3 · informe semanal
-
2.6K LOC
SSO · Identidad
Cuentas · OAuth2 client-credentials · roles ADMIN, CUSTOMER, DEALER, RECEIVER, REPAIR, TECH, SHIPPER · alcances por proveedor
-
35.4K LOC
Track · Sistema digital
Sistema anterior de inventario / RMA · interfaz React + TypeScript
-
10.0K LOC
Maintain · Inspección de equipos
Listas de verificación, fotos, firmas, informes programados
-
2.8K LOC
Mammotion · Scripts de fabricante
Reparación en depósito FS Cloud, repuestos, RMA y exportaciones de envíos pendientes
-
0.6K LOC
Inventario físico
Escaneo de etiquetas AVS ↔ EAN, detección de unidades faltantes, exportación a Excel
- AWS EC2 (Ubuntu)
- RDS MySQL
- S3
- Redis
- nginx + gunicorn
- Flask
- React + TypeScript
- Qdrant
- Gemini API
- Stripe
- Google Places
LOC = líneas de Python sin contar entornos virtuales, migraciones ni paquetes de terceros, contadas en octubre de 2026.
La capa de asistente de IA
Gemini + RAG + MCP: dónde se conecta el asistente
El asistente AVS vive en www.atravesar.ca, protegido por un token ligado a la sesión y límites de tasa. Funciona con Gemini Flash y llamadas a funciones —como máximo cuatro rondas de herramientas por respuesta—, recupera conocimiento de una base de datos vectorial Qdrant y accede a envíos, impuestos e identidad mediante endpoints MCP y de funciones, cada uno con su propia autenticación, límites y registros.
-
1
Asistente de conocimiento (RAG)
El personal sube PDF, Markdown o texto desde una página de administración. Los documentos se fragmentan (≈1000 caracteres, 150 de solapamiento), se vectorizan con gemini-embedding-001 en vectores de 768 dimensiones y se almacenan en Qdrant. Cada pregunta recupera los cinco mejores pasajes por similitud coseno y el modelo responde a partir de ellos, citando la fuente. Documentos en inglés responden preguntas en nueve idiomas.
-
2
Asistente con herramientas (llamadas a funciones y MCP)
Una herramienta es un nombre, una descripción y un esquema JSON. El modelo elige la herramienta y los argumentos, nuestro código la ejecuta con un token de servicio OAuth2 y el modelo explica el resultado. El servidor MCP de envíos habla MCP sobre Streamable HTTP (JSON-RPC 2.0), así que una sola integración sirve hoy al chatbot del sitio web, mañana a un asistente de escritorio para el personal y más adelante a agentes de socios con claves de alcance limitado.
-
3
Automatización de flujos (sin modelo)
Pago confirmado → crear etiqueta → crear orden de trabajo → correo. Las reglas de precio, impuestos, numeración y transiciones de etapa viven en código determinista y probado: aquí es donde se mueven el dinero y los registros.
El catálogo de herramientas, tal como está desplegado
Regla de diseño n.º 1: el modelo nunca toca la base de datos; pide herramientas.
| Herramienta | Se ejecuta en | Qué hace | Salvaguarda |
|---|---|---|---|
| search_knowledge_base | www → Qdrant | Búsqueda semántica; devuelve los cinco mejores pasajes con fuente y título. | Solo lectura; el modelo debe citar y nunca inventar. |
| share_oow_webform | www | Devuelve la URL del formulario fuera de garantía en el idioma del usuario. | El modelo no puede recoger campos del formulario en el chat. |
| list_provincial_tax_rates calculate_tax |
Payment | GST/HST/PST/QST por provincia o código postal; bienes vs. servicios. | Cálculo Decimal determinista; el modelo nunca calcula impuestos. |
| rate_shipment track_shipment |
Shipment MCP (fulfillapi) | Tarifas de transportistas; rastreo por UPS 1Z / Canpar D / PIN de Canada Post o referencia del cliente. | Token de servicio OAuth2; solo lectura. |
| email_waybill validate_address |
Shipment MCP (fulfillapi) | Reenvía una etiqueta a la dirección registrada; coincidencia de dirección verificada por Google. | Correo solo al contacto del propio envío; solo Canadá/EE. UU. |
| get_account_info get_account_access |
SSO MCP | Perfil de la cuenta y qué datos de proveedores puede ver un usuario. | Token del lado del servidor; limitado al proveedor. |
| clear_chat_history | www | Borra la conversación de este navegador. | Limitado a la sesión. |
Límites: como máximo 4 rondas de herramientas por respuesta · cada resultado de herramienta ≤ 12 000 caracteres · 5 pasajes por búsqueda · ninguna herramienta escribe en la base de datos · ninguna herramienta mueve dinero.
Un flujo de trabajo, de extremo a extremo
El recorrido de reparación fuera de garantía
IA al principio y al final: la conversación. En medio, software ordinario y comprobable. Construido por un equipo pequeño sobre sistemas que la empresa ya tenía.
-
Un cliente pregunta al asistente: «Mi Narwal está fuera de garantía, ¿pueden repararlo?». La herramienta share_oow_webform devuelve el enlace del formulario en el idioma del cliente; no se recogen datos personales en el chat.
-
El formulario de cuatro pasos recoge dispositivo, problema y dirección —validada con Google Places—, con opción de entrega en persona o envío.
-
La cotización la calcula el código: una tarifa de inspección de 40 $, los impuestos del código postal según el servicio de pagos y la tarifa de mensajería en vivo más baja (transportistas consultados en paralelo) con un margen fijo.
-
Stripe Checkout cobra la inspección y el envío; se envía por correo una factura PDF con plazo de 15 días.
-
Un webhook verificado crea la orden de trabajo AVSOOW{AAMMDD}#### y la abre en Flow en la etapa «Receiving»; se envía al cliente por correo una etiqueta de envío con el transportista más barato y un código QR.
-
El dispositivo se recibe e inspecciona, se emite una cotización de reparación que se paga con un segundo pago de Stripe y la orden de trabajo pasa a «Repair».
-
El dispositivo reparado se envía de vuelta con el rastreo por correo, y el asistente responde «¿Dónde está mi envío?» durante todo el proceso a través del MCP de envíos.
La automatización sencilla aporta la mayor parte del valor
Donde deliberadamente no usamos IA
- Precios e impuestos
- Cálculo Decimal con redondeo bancario y reglas provinciales por prefijo postal, en el servicio de pagos.
- Elección del transportista
- Reglas: apartado postal → Canada Post; fabricantes preferidos → Canpar; límite de tasa de UPS → alternativa; en caso contrario, la tarifa en vivo más barata.
- Órdenes de trabajo y etapas
- Números únicos y una máquina de etapas (Receiving → Repair → …) en Flow, cubierta por 31 archivos de pruebas.
- Auditoría de facturación
- Análisis nocturno de facturas EDI 210 (UPS, Canpar) frente a la tarifa cotizada, con informes automáticos de sobrecargos.
- Pagos e identidad
- Stripe Checkout con webhooks verificados, facturas y recibos en S3; SSO con roles, OAuth2 client-credentials entre servicios y MFA para el personal.
- Tareas programadas e integraciones con fabricantes
- Rastreo dos veces cada día laborable, un correo de alerta semanal, importaciones de fabricantes tres veces al día; ECOVACS SEEBURGER ESB, Mammotion FS Cloud y LSS: contratos, no conversaciones.
Regla general: si el resultado debe ser exacto, repetible y explicable a un contador o a un abogado, es código. La IA se sitúa al lado, explicando y orientando.
Seguridad y control debajo
Autenticación, autorización, trazabilidad
Autenticación: ¿quién eres?
- SSO para personal y socios; MFA en los inicios de sesión del sistema de envíos.
- Tokens OAuth2 client-credentials entre servicios (Fulfill, Payment, SSO).
- Sesión del chatbot: JWT HttpOnly ligado a IP y navegador durante 30 minutos; comprobación de mismo origen y lista negra en Redis contra abusos.
Autorización: ¿qué puedes ver o hacer?
- Roles ADMIN, CUSTOMER, DEALER, RECEIVER, REPAIR, TECH, SHIPPER; los socios solo ven los datos de su propio proveedor.
- El modelo no posee credenciales, solo herramientas en lista de permitidos.
- Las herramientas son de solo lectura, salvo enviar una etiqueta al contacto del propio envío y borrar tu propio chat.
Trazabilidad: ¿qué pasó?
- Cada turno de chat registrado: sesión, pregunta, respuesta, herramientas usadas, versión del modelo; exportación CSV.
- Webhooks de Stripe verificados; eventos de pago y facturas almacenados en S3.
- Conciliación nocturna EDI 210 de facturas de transportistas frente a cotizaciones; informes automatizados semanales.
Nada de esto es específico de la IA. Es la disciplina que de todos modos se necesita: la capa de IA simplemente la hereda.
Resultados
Lo que aporta
-
Los clientes obtienen respuestas sobre garantías, códigos de error, impuestos, envíos y el proceso de reparación en nueve idiomas, 24/7, con las fuentes citadas.
-
La admisión fuera de garantía va de la primera pregunta a una orden de trabajo pagada sin que el personal escriba una cotización, una etiqueta ni un correo.
-
Una sola integración MCP sirve hoy al asistente del sitio web y está lista para asistentes del personal y de socios, sin una segunda integración.
-
El costo por respuesta se mide en centavos: unos 0,004 US$ a precio de lista, alrededor de 45 US$ por 10 000 respuestas al mes.
-
Cada turno de chat se registra con las herramientas usadas y la versión del modelo: la calidad mejora leyendo registros y corrigiendo documentos, no reentrenando.
Ingeniería honesta: los modos de fallo que previmos y lo que realmente ocurrió
- Alucinación
- Anclaje en pasajes recuperados, búsquedas forzadas para los hechos, temperatura 0,4, derivación al correo. Lo que ocurrió: las primeras respuestas sobre horarios y dirección venían del conocimiento general; se corrigió con la regla de búsqueda.
- Inyección de prompts
- Un prompt de política y herramientas restringidas por esquema; nada sensible que desbloquear: ni lista de teléfonos ni herramienta de pagos. Lo que ocurrió: la gente lo intenta; los rechazos se mantienen porque las capacidades son estrechas.
- Interrupción del servicio
- Los errores de herramientas se devuelven como datos y el bot sigue respondiendo desde el conocimiento; los transportistas se consultan en paralelo con alternativas basadas en reglas. Lo que ocurrió: límite de tasa de la API de un transportista → transportista alternativo.
- Deriva del modelo
- Un alias de modelo flotante cambia el tono, la extensión y el uso de herramientas sin que lo notes. La versión del modelo se registra en cada turno y un conjunto de regresión de preguntas reales se vuelve a ejecutar con cada cambio.
Lo que nos diríamos hace un año
Nueve lecciones de ingeniería
-
01
Empieza por las preguntas que ya están en tu bandeja de entrada, no por la tecnología.
-
02
Herramientas antes que prompts: cuando el modelo deba saber algo dinámico, añade una herramienta, no un párrafo.
-
03
Mantén la base de conocimiento aburrida: PDF y Markdown que tu personal ya mantiene.
-
04
Fija el modelo y registra la versión: los alias flotantes cambian el comportamiento sin avisar.
-
05
Degrada con elegancia: los errores de herramientas son datos; el bot sigue funcionando cuando una dependencia cae.
-
06
Pon límites a todo: rondas, caracteres, tokens, tasa. El consumo sin límite es una factura real.
-
07
El dinero detrás de Stripe y de formularios, nunca detrás de una ventana de chat.
-
08
Usa los estándares: MCP + OAuth2 hicieron la integración reutilizable para clientes aún no construidos.
-
09
Construye primero la página de administración: subir documentos, leer los registros; de ahí viene la calidad.
La décima, de regalo: escribe el prompt del sistema como una política; versiónalo, revísalo y pruébalo como código.
Presentado en vivo
NATEA Toronto · IA para pequeñas y medianas empresas
- 60 min · charla y demostración en vivo · en línea
Ponente: Nelson Lai — SolvoSync · CTO, Atravesar Services
Una charla de 60 minutos con demostración en vivo el 21 de octubre de 2026 (en línea), que muestra cómo funciona un negocio minorista sobre atravesar.ca y dónde la IA realmente se gana su lugar: lo que dicen los datos de 2026 de Statistics Canada sobre la adopción de IA en las pymes, los tres patrones —conocimiento, herramientas, automatización—, dos demostraciones en producción, la lista de verificación de seguridad y privacidad para Canadá y un plan inicial de cuatro semanas.
El 19 % de las empresas canadienses usa IA, el 25 % planea hacerlo y el 40 % cree que no es relevante. La relevancia está en tu bandeja de entrada.
Preguntas frecuentes sobre este proyecto
¿Cómo evitan que el asistente invente cosas?
Los hechos provienen de pasajes recuperados o de herramientas, nunca de la memoria del modelo: el prompt del sistema obliga a consultar la base de conocimiento para direcciones, horarios y políticas, la temperatura es 0,4 y el asistente deriva al correo cuando las herramientas no pueden responder. Las primeras respuestas sobre horarios venían del conocimiento general; la regla de consulta lo resolvió.
¿Cuánto cuesta una respuesta de IA?
A precios de lista de octubre de 2026, una respuesta —unos 12 000 tokens de entrada más 300 de salida— cuesta aproximadamente 0,004 US$, así que 10 000 respuestas al mes son unos 45 US$. El costo real es la ingeniería y el mantenimiento del contenido, no los tokens.
¿Podría mi empresa reutilizar este enfoque o los servidores MCP?
Sí. La capa de herramientas se basa en estándares abiertos —MCP sobre Streamable HTTP con OAuth2 client-credentials—, de modo que los mismos servidores pueden servir a cualquier asistente. SolvoSync construye el mismo patrón para otras pequeñas y medianas empresas: empezar por las preguntas que ya están en tu bandeja de entrada, lanzar un canal en cuatro semanas y medir antes de afirmar.
¿Cómo se tratan los datos personales?
Los datos personales se mantienen fuera de la ventana de chat. El asistente dirige a las personas a formularios con consentimiento, validación y Stripe; los secretos permanecen en el servidor; las sesiones son tokens HttpOnly ligados a IP y navegador; y cada turno se registra con la versión del modelo. El diseño sigue los principios de PIPEDA y de la Ley 25 de Quebec: el modelo no decide; deciden el código y las personas.
¿Quiere esto para su empresa?
SolvoSync diseña, construye y opera el sitio web, las integraciones y la capa de asistente de IA, empezando por las preguntas que ya están en su bandeja de entrada, con un canal en producción en cuatro semanas.