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.

El panel de chat del asistente AVS en www.atravesar.ca con puntos de partida sugeridos: fuera de garantía, rastrear un envío, cotizar el costo de un envío
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.

  1. Capa de asistente de IA

    Lee, entiende, consulta y responde a las personas, en su idioma y a cualquier hora.

  2. 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.

  3. 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

Stack
  • 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. 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. 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. 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.

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.

  1. 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.

  2. 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.

  3. 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.

  4. Stripe Checkout cobra la inspección y el envío; se envía por correo una factura PDF con plazo de 15 días.

  5. 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.

  6. 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».

  7. 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.

https://www.atravesar.ca/OOW-Webform/
El formulario de reparación fuera de garantía en cuatro pasos en atravesar.ca: información básica, dispositivo, cotización y condiciones, continuar
El formulario de reparación fuera de garantía en cuatro pasos en atravesar.ca: información básica, dispositivo, cotización y condiciones, continuar

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

  1. 01

    Empieza por las preguntas que ya están en tu bandeja de entrada, no por la tecnología.

  2. 02

    Herramientas antes que prompts: cuando el modelo deba saber algo dinámico, añade una herramienta, no un párrafo.

  3. 03

    Mantén la base de conocimiento aburrida: PDF y Markdown que tu personal ya mantiene.

  4. 04

    Fija el modelo y registra la versión: los alias flotantes cambian el comportamiento sin avisar.

  5. 05

    Degrada con elegancia: los errores de herramientas son datos; el bot sigue funcionando cuando una dependencia cae.

  6. 06

    Pon límites a todo: rondas, caracteres, tokens, tasa. El consumo sin límite es una factura real.

  7. 07

    El dinero detrás de Stripe y de formularios, nunca detrás de una ventana de chat.

  8. 08

    Usa los estándares: MCP + OAuth2 hicieron la integración reutilizable para clientes aún no construidos.

  9. 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.