Étude de cas · Atravesar Services · atravesar.ca
Une couche d'assistant IA au-dessus d'une véritable opération de réparation et de logistique inverse
Pour Atravesar Services — une entreprise canadienne de réparation, de reconditionnement et de logistique inverse d'électronique — SolvoSync a construit le site web public, la plateforme d'affaires qui le soutient et un assistant IA qui répond aux clients en neuf langues grâce à la génération augmentée par récupération et aux outils du Model Context Protocol. Présenté en direct à NATEA Toronto le 21 octobre 2026.
- services internes
- 9
- lignes de Python
- ~175K
- langues, une seule base de connaissances
- 9
- outils d'assistant sur liste d'autorisation
- 10
- par réponse IA au prix courant
- US$0.004
- du code constitue la couche IA
- ≈3%
Le client
Des retours clients au retour aux clients
Atravesar Services est une entreprise canadienne de réparation, de reconditionnement et de logistique inverse d'électronique, avec un bureau à Richmond Hill et un atelier de réparation et entrepôt à Markham, qui dessert tout le pays par messagerie. Elle gère des programmes B2B de réparation et de retours pour fabricants et détaillants, offre la réparation par envoi postal aux consommateurs et est le fournisseur exclusif autorisé du service après-vente Narwal au Canada, avec le soutien d'ECOVACS et de Segway/Ninebot.
Chaque jour, l'équipe répondait aux mêmes questions : où est mon colis ? Que signifie l'erreur E12 ? Combien coûte la réparation avec taxes au Québec ? Mon bon de travail est-il déjà en réparation ? Chaque réponse existait déjà — dans un document, une base de données ou l'API d'un transporteur. Le mandat : laisser le logiciel y répondre, en toute sécurité, en continu, dans la langue du client.
-
Bureau à Richmond Hill · Atelier de réparation et entrepôt à Markham · Service partout au Canada par messagerie
-
Fournisseur exclusif autorisé du service après-vente Narwal au Canada · Soutien ECOVACS et Segway/Ninebot
-
Robots aspirateurs · trottinettes électriques · téléphones intelligents · tablettes · portables · consoles de jeu · petits électroménagers
-
EN简体繁體日本語한국어Tiếng ViệtESITFR
Principe de conception
L'IA lit, comprend et dialogue. Le logiciel décide, enregistre et paie.
L'architecture trace une ligne explicite. Une couche d'assistant se place au-dessus du flux de travail quotidien et n'atteint l'entreprise que par des portes étroites, nommées et journalisées — des outils et des API. En dessous, un logiciel ordinaire doté d'authentification, d'autorisation et de traçabilité décide des prix, enregistre les bons de travail et déplace l'argent.
-
Couche d'assistant IA
Lit, comprend, cherche et répond aux gens — dans leur langue, en tout temps.
-
Des portes étroites, nommées et journalisées
Commandes, paiements, entrepôt, expédition, suivi et soutien ne sont accessibles que par des outils sur liste d'autorisation dotés de schémas JSON. Le modèle ne touche jamais à une base de données.
-
Sécurité et contrôle
Authentification (qui êtes-vous ?), autorisation (que pouvez-vous voir ou faire ?) et traçabilité (que s'est-il passé — journalisé et vérifiable).
Ce qui faisait déjà tourner l'entreprise
Neuf services, environ 175 000 lignes de Python
Le site web n'est que la partie visible. Derrière lui, SolvoSync a conçu et exploite la plateforme qui fait fonctionner l'entreprise — gestion d'entrepôt et de RMA, expédition multi-transporteurs, paiements et taxes, identité, inspections et intégrations avec les fabricants. La couche IA représente environ 3 % du code ; tout le reste est la discipline dont elle hérite.
-
7.7K LOC
www · Site web public
9 langues · pages de services et guides · formulaire hors garantie · widget de clavardage · téléversement de connaissances par l'admin · llms.txt
-
59.5K LOC
Flow · WMS / RMA
Réception · inventaire · pièces · RMA · bons de livraison · palettes · ECOVACS ESB · Mammotion FS Cloud · LSS · 31 fichiers de tests
-
50.6K LOC
Fulfill · Expédition
UPS · Canpar · Postes Canada · Purolator (ShipEngine) · Freightcom · tarifs, étiquettes, ramassages, manifestes, suivi · audit de facturation EDI 210
-
5.2K LOC
Payment · Paiements et taxes
Stripe Checkout + webhooks · taxes canadiennes par code postal (TPS/TVH/TVP/TVQ) · factures vers S3 · rapport hebdomadaire
-
2.6K LOC
SSO · Identité
Comptes · OAuth2 client-credentials · rôles ADMIN, CUSTOMER, DEALER, RECEIVER, REPAIR, TECH, SHIPPER · portées par fournisseur
-
35.4K LOC
Track · Système numérique
Ancien système d'inventaire / RMA · interface React + TypeScript
-
10.0K LOC
Maintain · Inspection d'équipements
Listes de contrôle, photos, signatures, rapports planifiés
-
2.8K LOC
Mammotion · Scripts fabricant
Réparation en dépôt FS Cloud, pièces de rechange, RMA et exports d'envois en attente
-
0.6K LOC
Inventaire physique
Lecture des étiquettes AVS ↔ EAN, signalement des unités manquantes, export Excel
- AWS EC2 (Ubuntu)
- RDS MySQL
- S3
- Redis
- nginx + gunicorn
- Flask
- React + TypeScript
- Qdrant
- Gemini API
- Stripe
- Google Places
LOC = lignes de Python hors environnements virtuels, migrations et paquets tiers, comptées en octobre 2026.
La couche d'assistant IA
Gemini + RAG + MCP : où se branche l'assistant
L'assistant AVS vit sur www.atravesar.ca, protégé par un jeton lié à la session et des limites de débit. Il fonctionne avec Gemini Flash et l'appel de fonctions — au plus quatre tours d'outils par réponse — récupère les connaissances dans une base vectorielle Qdrant et accède à l'expédition, aux taxes et à l'identité via des points de terminaison MCP et de fonctions, chacun avec sa propre authentification, ses limites et ses journaux.
-
1
Assistant de connaissances (RAG)
Le personnel téléverse des PDF, du Markdown ou du texte depuis une page d'administration. Les documents sont découpés (≈1 000 caractères, chevauchement de 150), vectorisés avec gemini-embedding-001 en vecteurs de 768 dimensions et stockés dans Qdrant. Chaque question récupère les cinq meilleurs passages par similarité cosinus et le modèle répond à partir d'eux en nommant la source. Des documents en anglais répondent à des questions en neuf langues.
-
2
Assistant à outils (appel de fonctions et MCP)
Un outil, c'est un nom, une description et un schéma JSON. Le modèle choisit l'outil et les arguments, notre code l'exécute avec un jeton de service OAuth2 et le modèle explique le résultat. Le serveur MCP d'expédition parle MCP sur Streamable HTTP (JSON-RPC 2.0) : une seule intégration sert aujourd'hui le robot du site web, demain un assistant de bureau pour le personnel et plus tard des agents partenaires avec des clés à portée limitée.
-
3
Automatisation des flux (sans modèle)
Paiement confirmé → créer l'étiquette → créer le bon de travail → courriel. Les règles de prix, de taxes, de numérotation et de transitions d'étapes vivent dans du code déterministe et testé — c'est là que l'argent et les enregistrements circulent.
Le catalogue d'outils, tel que déployé
Règle de conception nº 1 : le modèle ne touche jamais à la base de données — il demande des outils.
| Outil | S'exécute dans | Ce qu'il fait | Garde-fou |
|---|---|---|---|
| search_knowledge_base | www → Qdrant | Recherche sémantique ; renvoie les cinq meilleurs passages avec source et titre. | Lecture seule ; le modèle doit citer et ne jamais inventer. |
| share_oow_webform | www | Renvoie l'URL du formulaire hors garantie dans la langue de l'utilisateur. | Le modèle ne peut pas collecter les champs du formulaire dans le clavardage. |
| list_provincial_tax_rates calculate_tax |
Payment | TPS/TVH/TVP/TVQ par province ou code postal ; biens vs services. | Calcul Decimal déterministe ; le modèle ne calcule jamais les taxes. |
| rate_shipment track_shipment |
Shipment MCP (fulfillapi) | Tarifs des transporteurs ; suivi par UPS 1Z / Canpar D / NIP Postes Canada ou référence client. | Jeton de service OAuth2 ; lecture seule. |
| email_waybill validate_address |
Shipment MCP (fulfillapi) | Renvoie une étiquette à l'adresse au dossier ; correspondance d'adresse vérifiée par Google. | Courriel uniquement au contact de l'envoi ; Canada/É.-U. seulement. |
| get_account_info get_account_access |
SSO MCP | Profil du compte et données des fournisseurs qu'un utilisateur peut consulter. | Jeton côté serveur ; limité au fournisseur. |
| clear_chat_history | www | Efface la conversation de ce navigateur. | Limité à la session. |
Limites : au plus 4 tours d'outils par réponse · chaque résultat d'outil ≤ 12 000 caractères · 5 passages par recherche · aucun outil n'écrit dans la base de données · aucun outil ne déplace d'argent.
Un flux de travail, de bout en bout
Le parcours de réparation hors garantie
L'IA au début et à la fin — la conversation. Au milieu, du logiciel ordinaire et testable. Construit par une petite équipe sur des systèmes que l'entreprise possédait déjà.
-
Un client demande à l'assistant : « Mon Narwal n'est plus sous garantie — pouvez-vous le réparer ? » L'outil share_oow_webform renvoie le lien du formulaire dans la langue du client ; aucune donnée personnelle n'est collectée dans le clavardage.
-
Le formulaire en quatre étapes recueille l'appareil, le problème et l'adresse — validée avec Google Places — avec dépôt sur place ou envoi postal.
-
Le devis est calculé par le code : des frais d'inspection de 40 $, les taxes du code postal fournies par le service de paiement et le tarif de messagerie en direct le plus bas (transporteurs interrogés en parallèle) avec une majoration fixe.
-
Stripe Checkout encaisse l'inspection et l'expédition ; une facture PDF à 15 jours est envoyée par courriel.
-
Un webhook vérifié crée le bon de travail AVSOOW{AAMMJJ}#### et l'ouvre dans Flow à l'étape « Receiving » ; une étiquette d'envoi chez le transporteur le moins cher et un code QR sont envoyés au client par courriel.
-
L'appareil est reçu et inspecté, un devis de réparation est émis et réglé par un second paiement Stripe, et le bon de travail passe à « Repair ».
-
L'appareil réparé est renvoyé avec le suivi par courriel — et l'assistant répond à « Où est mon envoi ? » pendant tout le parcours grâce au MCP d'expédition.
L'automatisation ordinaire porte l'essentiel de la valeur
Là où nous n'utilisons délibérément pas l'IA
- Prix et taxes
- Calcul Decimal avec arrondi bancaire et règles provinciales par préfixe postal, dans le service de paiement.
- Choix du transporteur
- Règles : case postale → Postes Canada ; fabricants privilégiés → Canpar ; limite de débit UPS → repli ; sinon le tarif en direct le moins cher.
- Bons de travail et étapes
- Numéros uniques et machine à étapes (Receiving → Repair → …) dans Flow, couverts par 31 fichiers de tests.
- Audit de facturation
- Analyse nocturne des factures EDI 210 (UPS, Canpar) comparées au tarif coté, avec rapports automatiques de surfacturation.
- Paiements et identité
- Stripe Checkout avec webhooks vérifiés, factures et reçus dans S3 ; SSO avec rôles, OAuth2 client-credentials entre services et MFA pour le personnel.
- Tâches planifiées et intégrations fabricants
- Suivi deux fois par jour ouvrable, courriel d'alerte hebdomadaire, imports fabricants trois fois par jour ; ECOVACS SEEBURGER ESB, Mammotion FS Cloud et LSS — des contrats, pas des conversations.
Règle empirique : si le résultat doit être exact, reproductible et explicable à un comptable ou à un avocat, c'est du code. L'IA se tient à côté, pour expliquer et orienter.
Sécurité et contrôle en dessous
Authentification, autorisation, traçabilité
Authentification — qui êtes-vous ?
- SSO pour le personnel et les partenaires ; MFA sur les connexions au système d'expédition.
- Jetons OAuth2 client-credentials entre services (Fulfill, Payment, SSO).
- Session du robot : JWT HttpOnly lié à l'IP et au navigateur pendant 30 minutes ; vérification de même origine et liste noire Redis contre les abus.
Autorisation — que pouvez-vous voir ou faire ?
- Rôles ADMIN, CUSTOMER, DEALER, RECEIVER, REPAIR, TECH, SHIPPER ; les partenaires ne voient que les données de leur propre fournisseur.
- Le modèle ne détient aucun identifiant — seulement des outils sur liste d'autorisation.
- Les outils sont en lecture seule, sauf l'envoi d'une étiquette au contact de l'envoi et l'effacement de sa propre conversation.
Traçabilité — que s'est-il passé ?
- Chaque tour de clavardage journalisé : session, question, réponse, outils utilisés, version du modèle ; export CSV.
- Webhooks Stripe vérifiés ; événements de paiement et factures stockés dans S3.
- Rapprochement nocturne EDI 210 des factures de transporteurs avec les devis ; rapports automatisés hebdomadaires.
Rien de tout cela n'est propre à l'IA. C'est la discipline que l'on veut de toute façon — la couche IA en hérite simplement.
Résultats
Ce que cela apporte
-
Les clients obtiennent des réponses sur les garanties, les codes d'erreur, les taxes, les envois et le processus de réparation en neuf langues, 24 h sur 24, avec les sources nommées.
-
La prise en charge hors garantie va de la première question au bon de travail payé sans que le personnel ne saisisse un devis, une étiquette ou un courriel.
-
Une seule intégration MCP sert aujourd'hui l'assistant du site web et est prête pour les assistants du personnel et des partenaires — sans seconde intégration.
-
Le coût par réponse se mesure en cents : environ 0,004 $ US au prix courant, soit environ 45 $ US pour 10 000 réponses par mois.
-
Chaque tour de clavardage est journalisé avec les outils utilisés et la version du modèle — la qualité s'améliore en lisant les journaux et en corrigeant les documents, pas en réentraînant.
Ingénierie honnête : les modes de défaillance anticipés — et ce qui s'est réellement passé
- Hallucination
- Ancrage dans les passages récupérés, recherches forcées pour les faits, température 0,4, transfert vers le courriel. Ce qui s'est passé : les premières réponses sur les heures et l'adresse venaient des connaissances générales — corrigé par la règle de recherche.
- Injection d'invite
- Une invite-politique et des outils contraints par schéma ; rien de sensible à déverrouiller — ni liste téléphonique ni outil de paiement. Ce qui s'est passé : des gens essaient ; les refus tiennent parce que les capacités sont étroites.
- Panne
- Les erreurs d'outils sont renvoyées comme des données et le robot continue de répondre à partir des connaissances ; les transporteurs sont interrogés en parallèle avec des replis fondés sur des règles. Ce qui s'est passé : limite de débit d'une API de transporteur → transporteur de repli.
- Dérive du modèle
- Un alias de modèle flottant change le ton, la verbosité et l'usage des outils à votre insu. La version du modèle est journalisée à chaque tour et un jeu de régression de vraies questions est rejoué à chaque changement.
Ce que nous nous dirions il y a un an
Neuf leçons d'ingénierie
-
01
Partez des questions déjà dans votre boîte de réception — pas de la technologie.
-
02
Les outils plutôt que les invites : quand le modèle doit connaître quelque chose de dynamique, ajoutez un outil, pas un paragraphe.
-
03
Gardez la base de connaissances ennuyeuse : des PDF et du Markdown que votre personnel entretient déjà.
-
04
Épinglez le modèle et journalisez la version — les alias flottants changent le comportement à votre insu.
-
05
Dégradez avec élégance : les erreurs d'outils sont des données ; le robot continue de fonctionner quand une dépendance tombe.
-
06
Plafonnez tout — tours, caractères, jetons, débit. Une consommation sans limite est une vraie facture.
-
07
L'argent derrière Stripe et des formulaires, jamais derrière une fenêtre de clavardage.
-
08
Utilisez les standards : MCP + OAuth2 ont rendu l'intégration réutilisable pour des clients pas encore construits.
-
09
Construisez d'abord la page d'administration : téléverser des documents, lire les journaux — c'est de là que vient la qualité.
Dixième, en prime : écrivez l'invite système comme une politique — versionnez-la, relisez-la, testez-la comme du code.
Présenté en direct
NATEA Toronto · L'IA pour les petites et moyennes entreprises
- 60 min · conférence et démonstration en direct · en ligne
Conférencier : Nelson Lai — SolvoSync · Directeur de la technologie, Atravesar Services
Une conférence de 60 minutes avec démonstration en direct, le 21 octobre 2026 (en ligne), montrant comment une entreprise de détail fonctionne sur atravesar.ca et où l'IA mérite vraiment sa place : ce que disent les données 2026 de Statistique Canada sur l'adoption de l'IA par les PME, les trois modèles — connaissances, outils, automatisation — deux démonstrations en production, la liste de contrôle sécurité et vie privée pour le Canada et un plan de démarrage en quatre semaines.
19 % des entreprises canadiennes utilisent l'IA, 25 % prévoient de le faire et 40 % pensent qu'elle n'est pas pertinente. La pertinence se trouve dans votre boîte de réception.
Les questions que l'on nous pose sur ce projet
Comment empêchez-vous l'assistant d'inventer des réponses ?
Les faits proviennent des passages récupérés ou des outils, jamais de la mémoire du modèle : l'invite système force une recherche dans la base de connaissances pour les adresses, les heures et les politiques, la température est de 0,4 et l'assistant transfère vers le courriel quand les outils ne peuvent pas répondre. Les premières réponses sur les heures d'ouverture venaient des connaissances générales ; la règle de recherche a réglé le problème.
Combien coûte une réponse IA ?
Au prix courant d'octobre 2026, une réponse — environ 12 000 jetons d'entrée plus 300 jetons de sortie — coûte environ 0,004 $ US, soit environ 45 $ US pour 10 000 réponses par mois. Le vrai coût, c'est l'ingénierie et l'entretien du contenu, pas les jetons.
Mon entreprise pourrait-elle réutiliser cette approche ou les serveurs MCP ?
Oui. La couche d'outils repose sur des standards ouverts — MCP sur Streamable HTTP avec OAuth2 client-credentials — de sorte que les mêmes serveurs peuvent servir n'importe quel assistant. SolvoSync construit le même modèle pour d'autres petites et moyennes entreprises : partir des questions déjà dans votre boîte de réception, livrer un canal en quatre semaines, mesurer avant d'affirmer.
Comment les données personnelles sont-elles traitées ?
Les données personnelles restent hors de la fenêtre de clavardage. L'assistant oriente les gens vers des formulaires avec consentement, validation et Stripe ; les secrets restent côté serveur ; les sessions sont des jetons HttpOnly liés à l'IP et au navigateur ; et chaque tour est journalisé avec la version du modèle. La conception suit les principes de la LPRPDE et de la Loi 25 du Québec : le modèle ne décide pas — le code et les personnes décident.
Vous voulez la même chose pour votre entreprise ?
SolvoSync conçoit, construit et exploite le site web, les intégrations et la couche d'assistant IA — en partant des questions déjà dans votre boîte de réception, avec un canal en ligne en quatre semaines.