2-Architecture, Prérequis et Connectivité
Contexte et objectif
Ce chapitre concerne les sujets d'architecture, de prérequis, de périmètre, d'ouverture des flux réseau et de paramètres de connectivité.
Il est essentiel de partager les informations d’ouverture de flux réseau avec la personne ou l'équipe qui sera en charge, ce point est déterminant pour assurer le bon fonctionnement du connecteur. Se référer à la partie ouverture des flux réseau.
Concernant les paramètres de connectivité, vous pouvez, dès la réception de l’instance Yooz, vérifier si vous avez les droits pour générer les codes token API (client id et client secret), ou si vous devez contacter votre interlocuteur Yooz.
La mise en place des prérequis comporte plusieurs points à la charge du client ou de son intégrateur.
Voici un exemple de livrable partagé qui permet de suivre l’avancement sur la mise en œuvre.
Lien vers la fiche de suivi des pré-requis YoozConnectorX3-Prerequisites
Ce chapitre intervient sur ces phases de l’implémentation :
| ▼ | ▼ | |||||
|---|---|---|---|---|---|---|
| Avant-vente | Initialisation | Cadrage | Installation | Paramétrage | Recette | Mise en production |
1. Architecture
Il s'agit d'un module additionnel pour Sage X3, installé sous la forme de patches Sage X3 et entièrement compatible avec le L4G natif (4GL). Les développements spécifiques sont implémentés dans la couche verticale du L4G. Par conséquent, aucune infrastructure technique supplémentaire n'est requise ; le module est intégré à 100 % dans la solution Sage X3 existante. Tous les objets sont protégés par un code activité ‘XRJ31’.
Pour les flux de X3 vers Yooz, Sage X3 exploite des web services REST de Yooz. Dans l'autre sens, Yooz appelle les services web SOAP de Sage X5. Ces deux flux sont disponibles en standard dans Sage X5. Le seul écart par rapport au standard X3 est l'ajout d'un binaire et d'une bibliothèque CURL afin de gérer un aspect spécifique de l'API Yooz pour l'export des commandes d'achat (l'encapsulation d'un fichier JSON dans la requête REST étant nécessaire).
Aucun middleware n’est utile. Le connecteur ne permet pas de communication par fichiers, ni par des serveurs FTP ou SFTP.
2. Prérequis
Version Sage X3
Le connecteur est disponible pour toute version 12 de Sage X3, à partir du patch 21 (2020 R1). Les versions précédentes ne sont pas supportées du fait d’un changement des traitements compilés (ADX).
Connectivité réseau
Un accès bidirectionnel est requis entre Sage X3 et la plateforme Yooz. Plus précisément, l'application Yooz doit être en mesure d'atteindre le point de terminaison (endpoint) du service web de Sage X3 , ce qui nécessite l'ouverture d'un canal de communication entrant depuis Internet. Informations détaillées dans le paragraphe suivant.
Licence (badge) Sage X3
Un badge ERPFULL doit être disponible pour être alloué à un nouveau compte utilisateur dédié aux services web Yooz.
3. Périmètre
Le connecteur Yooz X3 couvre les périmètres X3 Achats, Finance et Ventes, en lien avec les fonctionnalités de Yooz.
Tableau des fonctionnalités
| Typologie | Fonctionnalité | Fonction Sage X3 |
|---|---|---|
| Paramétrage du connecteur | Valeurs paramètres | ADPVAL |
| Restrictions sur les données | Au niveau de chaque fonction | |
| Envoi par API à Yooz | Utilisateurs X3 | GESAUS |
| Articles | GESITM | |
| Axes analytiques | GESCCE | |
| Comptes comptables | GESGAC | |
| Code taxes | GESTVT | |
| Conditions de paiement | GESTPT | |
| Fournisseurs | GESBPS | |
| Confirmation de paiement | ||
| Commande d'achat | GESPOH | |
| Réception | GESPTH | |
| Retours | GESPNH | |
| Validation facture d'achat | ||
| Validation factures tiers fournisseur | ||
| Clients | GESBPC | |
| Factures et avoirs ventes | GESSIH | |
| Factures tiers client | GESBIC | |
| Reçu par API de Yooz | Facture achat sur commande | avec gestion des lignes, rapprochement des commandes et réceptions, éléments de facturation |
| Factures tiers fournisseur | ||
| Bon à payer | ||
| Utilitaires | Forcer horodatage interfaces Yooz | XRJ31YOOZFLG |
| Reprises données référentielles Yooz | XRJ31YOOZREP | |
| Mise à jour Connecteur Yooz | XRJ31UPD | |
| Champs personnalisés (10 max) | Utilisateurs X3 | |
| Site X3 | ||
| Axes analytiques | ||
| Comptes comptables | ||
| Code taxes | ||
| Conditions de paiement | ||
| Fournisseurs | ||
| Commande d'achat | ||
| Réception | ||
| Facture d'achat | ||
| Facture tiers fournisseur | ||
| Clients | ||
| Factures et avoirs ventes | ||
| Factures tiers client |
Schéma des différents flux possibles :
- Sage X3 Finance & Achat, avec flux d’achat dans Sage X3
- Sage X3 Finance & Achat, avec flux d’achat dans Yooz
- Sage X3 Finance
- Sage X3 Factures de vente



4. Hors périmètre
Adaptations spécifiques
Certaines modifications ou adaptations spécifiques sur les modules Achats, Finance et Ventes de Sage X3, en particulier concernant les factures d'achat et de vente, pourraient ne pas être compatibles avec le périmètre standard du connecteur Yooz. Bien évidemment nous évoquons le cas de modifications spécifiques importantes ou trop impactantes. Les éventuelles incompatibilités peuvent être détectées lors de l’installation du connecteur et seront dans tous les cas mises en évidence lors de la recette.
Législations étrangères
Les exigences légales locales ou les spécificités des législations étrangères sont hors périmètre. Les seules exceptions concernent la Suisse (gestion des codes QR) et l'Espagne (retenues fournisseurs sur les factures d'achat / retentions), qui sont entièrement prises en charge.
Factures complémentaires
Les factures complémentaires ne sont pas gérées par le connecteur. Ce sujet est en réflexion pour une future évolution du connecteur.
Réceptions directes
Le paramètre PTHDIR (réception directe) doit être défini sur « Non » ; les réceptions directes ne sont pas autorisées. La même règle s'applique au paramètre PNHDIR (retour fournisseur direct), qui doit être configuré sur « Non ». Cette règle de gestion se justifie par le fait que l’application Yooz ne sait pas gérer des quantités réceptionnées sans notion de commande. Une commande est impérative dans Yooz.
Sage X3 Saas
Le connecteur n'est pour l’instant pas compatible avec la nouvelle offre Sage X3 SaaS.
5. Connectivité entre les applications Yooz et X3
5.1 Introduction : Contexte et philosophie de sécurité
Sage X3 est un progiciel de gestion intégré (PGI ou ERP) conçu avec des normes de sécurité natives élevées. Elle intègre des protocoles d'authentification robustes et un contrôle d'accès basé sur les rôles pour garantir l'intégrité des données au sein de votre réseau interne.
Cependant, l'activation d'un connecteur avec une plateforme SaaS externe comme Yooz nécessite l'ouverture d'un canal de communication entrant depuis Internet. Bien que Sage X3 soit sécurisé, les bonnes pratiques recommandent de mettre en œuvre des couches de protection périmétrique supplémentaires lors de l'exposition d'un service sur le web.
L'objectif de ce document est de définir un cadre de sécurité évolutif pour ce flux de données. Nous proposons des options de sécurité cumulatives conçues pour s'adapter à la taille et aux capacités informatiques de votre organisation. Que vous soyez une petite ou moyenne entreprise à la recherche d'une protection efficace ou une grande entreprise exigeant une conformité stricte, ce document présente des architectures allant du simple filtrage réseau à l'inspection applicative avancée. Ces couches peuvent être superposées pour correspondre à la politique interne de gestion des risques de votre organisation.

5.2 Exposition web obligatoire de Sage X3
Il semble pertinent de commencer par un simple rappel de base : la solution Sage X3 doit être accessible depuis Internet.
Bien entendu, il est tout à fait possible d'appliquer des restrictions d'adresse IP, d'utiliser un reverse proxy ou un WAF. Néanmoins, les règles suivantes sont impératives :
- Un nom de domaine valide doit être utilisé (par exemple : .com, .fr, .net, .org...).
- Un certificat SSL valide doit correspondre exactement à l'URL publique.
À l'inverse, les adresses IP locales et les connexions non sécurisées (HTTP) ne fonctionneront pas.
Exemples de configurations
- Correct : https://x3.XXXX.domain.com (URL protégée par un certificat valide avec un nom de domaine public reconnu).
- Incorrect : https://45.36.87.96/ (les adresses IP publiques ne peuvent pas posséder de certificat SSL valide pour ce type d'usage).
- Incorrect : http://myawesomedomain.com (le site n'est pas sécurisé avec le protocole HTTPS).
- Incorrect : https://myawesomesite.local ou https://erp-server/ (noms de domaine locaux ou simples noms de machines. Ils ne sont pas reconnus publiquement sur Internet ; les extensions .lan ou .local ne sont pas prises en charge).
- Incorrect : https://localhost ou https://127.0.0.1 (adresses locales, complètement inaccessibles de l'extérieur).
- Certificat invalide, auto-signé ou expiré : Même avec une URL HTTPS correcte, si le certificat n'est pas émis par une autorité de certification reconnue ou s'il ne correspond pas exactement au nom de domaine de l'URL, la connexion sera systématiquement rejetée.
5.3 Prérequis techniques et spécifications des flux
Avant de mettre en œuvre une architecture de sécurité spécifique (décrite au chapitre 4), plusieurs exigences fondamentales doivent être satisfaites pour établir une connexion fonctionnelle et sécurisée entre la plateforme Yooz et le serveur Sage X5. Ces prérequis s'appliquent à tous les scénarios de sécurité (options A, B et C).
5.3.1 Chiffrement de bout en bout (Protocole)
Pour garantir la confidentialité des données en transit (factures, écritures comptables), le canal de communication doit être entièrement chiffré.
- Exigence : La connexion doit utiliser le protocole HTTPS avec TLS 1.2 (ou supérieur).
- Certificat : Un certificat SSL public valide (par exemple, émis par DigiCert, Let's Encrypt, ou similaire) doit être installé sur le point d'entrée public (pare-feu ou reverse proxy). Les certificats auto-signés ne sont pas compatibles car ils provoquent des erreurs de validation du côté de l'application Yooz.
5.3.2 Liste blanche des domaines/IP de destination (trafic sortant)
Bien que Yooz pousse les données vers Sage X3, le serveur Sage X3 doit également être capable d'initier des connexions sortantes vers Yooz. Si votre organisation restreint par défaut le trafic Internet sortant, vous devez configurer votre pare-feu pour autoriser le serveur Sage X3 à atteindre l'infrastructure de Yooz.
- Exigence : Autoriser le trafic HTTPS sortant (port 443) depuis le serveur Sage X3 vers les points de terminaison (endpoints) Yooz suivants, selon votre région d'hébergement:
Environnements Europe
- API de production / App Gateway : eu1.getyooz.com (IP : 20.74.10.92)
- API de préproduction / App Gateway : preproduction1v2.getyooz.com (IP : 20.74.15.106)
Environnements US
- API de production / App Gateway : us1.getyooz.com (IP : 40.88.195.44)
- API de préproduction / App Gateway : uspreproduction1.getyooz.com (IP : 52.147.198.110)
5.3.3 Considérations relatives au proxy sortant (Proxy direct / Forward Proxy)
Les spécifications suivantes concernent les architectures réseau avancées impliquant des proxys restrictifs et l'inspection SSL. Comme ces configurations dépendent fortement de la pile de sécurité spécifique et de l'infrastructure technique de votre organisation, le processus de mise en œuvre est considéré comme collaboratif. Certains ajustements peuvent être nécessaires lors de la phase initiale de connectivité afin de garantir un alignement parfait avec vos politiques réseau internes et les heuristiques de votre proxy.
Si votre organisation oriente le trafic Internet sortant via un proxy restrictif (par exemple, un forward proxy avec des règles strictes, une interception SSL ou une prévention des fuites de données [DLP]), des configurations spécifiques sont requises pour garantir que le serveur Sage X3 puisse communiquer avec les points de terminaison Yooz.
Le connecteur initie les requêtes sortantes via deux mécanismes distincts : les appels natifs de services web Sage X3 et les commandes curl exécutées côté serveur. Les deux méthodes prennent en charge le routage via un proxy d'entreprise.
URLs cibles : Le proxy doit explicitement autoriser le trafic sortant vers les points de terminaison Yooz correspondant à votre région d'hébergement:
Types de médias et échanges de fichiers : La communication repose sur des requêtes HTTPS standards. Pour les flux sortants (de Sage X3 vers Yooz), le connecteur appelle les API REST de Yooz. Les données échangées consistent exclusivement en des charges utiles (payloads) JSON et des fichiers CSV (pour les exports de données de référence). Le connecteur ne déclenche pas de téléchargements de fichiers exécutables, de scripts ou de types de fichiers binaires habituellement bloqués.
Spécification des détails du proxy : Les détails du proxy sont renseignés différemment selon le composant informatique:
- Pour les requêtes de services Web (Syracuse) : Les paramètres du proxy sont configurés nativement dans l'interface de Sage X5.
- Pour les requêtes Curl : Les détails du proxy (hôte, port et authentification) peuvent être transmis directement en tant qu'arguments (via l'option -x) dans une valeur de paramètre spécifique du connecteur dans Sage X5.
Exemple de configuration Curl pour un proxy avec certificats SSL :
-x https://proxy.yourdomain.com:443 --proxy-user user:password --cacert /path/to/your/proxy-ca-bundle.crt
Note : Cette configuration est gérée dans les paramètres internes du connecteur par notre équipe technique.
Interception SSL et magasins de certificats : Si votre proxy effectue une inspection SSL, il présentera son propre certificat interne. Les composants du connecteur ne s'appuient pas uniquement sur le magasin de certificats global du système d'exploitation. Par conséquent, l'autorité de certification racine (Root CA) de confiance de votre proxy doit être reconnue au niveau de l'application:
- Pour Syracuse : Le certificat Root CA du proxy doit être importé via l'interface de gestion des certificats de Sage X3 (Administration > Certificats > Certificats).
- Pour Curl : Le chemin d'accès au package de certificats (CA bundle) de votre proxy doit être fourni à notre équipe afin qu'il puisse être référencé dans les arguments de la commande à l'aide de l'option --cacert.
Contrôle de l'exfiltration de données / Inspection du contenu : Les systèmes proxy qui surveillent l'exfiltration de fichiers peuvent signaler ou bloquer les charges utiles JSON ou CSV sortantes. Comme les règles de proxy varient d'une organisation à l'autre, une brève phase de test est recommandée pour observer les journaux (logs) du proxy et implémenter les exceptions nécessaires pour le trafic légitime du connecteur.
5.3.4 Liste blanche des IP sources (trafic entrant)
Le connecteur fonctionne en mode "Push", ce qui signifie que Yooz initie la connexion pour envoyer des données à Sage X5. Pour sécuriser cette ouverture, la mise en œuvre d'une stratégie stricte de liste blanche d'adresses IP est requise.
- Exigence : Le client est responsable de la configuration et de la maintenance d'une liste de contrôle d'accès (ACL) sur son pare-feu périphérique. Cette liste définit quelles adresses IP externes sont autorisées à se connecter au port dédié.
- Configuration Yooz : Pour activer le connecteur, l'adresse IP officielle de l'infrastructure Yooz doit être ajoutée à cette liste blanche.
- IP autorisée pour l'Europe : 40.89.133.43 and 40.89.178.3 (cette adresse IP correspond à la passerelle Yooz Gateway hébergée sur Microsoft Azure pour l'environnement de production, instances Europe).
- IP autorisée pour les États-Unis : 20.88.165.37 (cette adresse IP correspond à la passerelle Yooz Gateway hébergée sur Microsoft Azure pour l'environnement de production, instances US).
5.3.5 Disponibilité du service cible (Web Services Sage X3)
Le connecteur Yooz n'interagit pas avec l'interface utilisateur standard utilisée par vos employés. Il communique spécifiquement avec le moteur de services web Classic SOAP de Sage X5.
- Exigence : Les "pools de services web classic SOAP" doivent être correctement configurés pour gérer le flux de données entrant.
- Note de mise en œuvre : La configuration et le démarrage de ces pools de services web spécifiques seront effectués lors de l’installation et paramétrage du connecteur.
- Séparation des flux : Cela garantit que le trafic entrant est pris en charge par la couche d'interface automatisée, distincte de la couche de session utilisateur interactive.
5.3.6 Traduction d'adresses réseau (NAT)
Étant donné que le serveur Sage X3 est hébergé sur site (on-premise, au sein de votre réseau privé), il n'est pas directement visible depuis Internet.
- Exigence : Une règle de redirection de port (port forwarding / NAT) doit être créée sur votre équipement réseau périphérique afin de traduire la requête publique vers l'adresse IP interne du serveur Sage X3 (ou du reverse proxy, selon l'option de sécurité choisie).
- Configuration des ports : Bien que le port HTTPS standard (443) soit recommandé pour des raisons de simplicité et de conformité, l'utilisation d'un port externe personnalisé (par exemple : 8443, 4443) est entièrement prise en charge si votre politique réseau interne l'exige.
5.4. Options de mise en œuvre de la sécurité
Nous proposons un cadre de sécurité évolutif. Selon la taille de votre organisation, vos ressources internes et votre politique de gestion des risques, vous pouvez sélectionner le niveau de protection approprié. Ces options sont cumulatives : l'Option B inclut les exigences de l'option A, et l'option C implique une architecture compatible avec A et B.
5.4.1 Option A : Contrôle d'accès réseau (couches 3/4)
Contexte recommandé : Petites et Moyennes Entreprises (PME).
Cette option s'appuie sur votre pare-feu périphérique existant pour filtrer le trafic uniquement en fonction de l'adresse IP de l'émetteur.
Mise en œuvre
- Créez une règle NAT (redirection de port) sur votre pare-feu.
- Appliquez une liste de contrôle d'accès (ACL) stricte qui rejette tout le trafic par défaut (Deny All).
- Autorisez uniquement l'adresse IP Yooz dédiée (définie au chapitre 5.5).
Périmètre de sécurité
- Cette configuration bloque toutes les connexions non autorisées provenant du grand public sur Internet.
- Limitation : Bien que sécurisée contre les scans réseau externes, cette méthode permet au trafic d'atteindre l'interface du serveur Web Sage X3 s'il provient de l'IP autorisée, sans possibilité d'inspecter l'URL (URI) spécifique demandée.
5.4.2 Option B : Filtrage applicatif et Reverse Proxy (Couche 7)
Contexte recommandé : PME et entreprises de taille intermédiaire (ETI).
Cette architecture introduit un composant intermédiaire (reverse proxy, tel que Nginx, HAProxy ou IIS) pour isoler le serveur ERP du flux réseau direct. Cette option est fortement recommandée pour réduire la surface d'attaque.
Mise en œuvre
- Le pare-feu redirige le trafic vers le reverse proxy (situé dans une DMZ ou un VLAN spécifique), et non directement vers le serveur Sage X5.
- Le reverse proxy termine la connexion SSL (déchiffrement) et inspecte la requête HTTP.
Politique de sécurité (filtrage d'URI)
- Autoriser : Uniquement le chemin d'accès exact pour le service web : /soap-generic/syracuse/collaboration/syracuse/CAdxWebServiceXmlCC.
- Bloquer : Le chemin racine /, la page de connexion /auth et tous les autres chemins système doivent être rejetés avec un code d'erreur HTTP 403 Forbidden.
Périmètre de sécurité
- Même si une connexion réseau est établie depuis l'IP Yooz, l'interface utilisateur générale et le portail de connexion de Sage X3 restent techniquement inaccessibles.
- Seul le point de terminaison spécifique à l'importation automatique des données est ouvert.
5.4.3 Option C : Pare-feu applicatif web (WAF) et inspection du contenu (Payload)
Contexte recommandé : Grandes entreprises et environnements corporate.
Pour les organisations équipées d'appliances de sécurité dédiées (par exemple : Fortinet, F5, Palo Alto) ou se conformant à des normes strictes (telles que l'ISO 27001), un WAF peut être ajouté pour inspecter le contenu profond des paquets de données.
Mise en œuvre
- Intégration du flux réseau dans l'appliance WAF de l'entreprise.
- Politique de sécurité (Deep Packet Inspection) : Le WAF analyse la charge utile XML/SOAP pour détecter et bloquer les injections de code malveillant (injections SQL, XSS) au sein du flux de données.
Note importante concernant le calibrage
- Sage X3 utilise des messages XML SOAP complexes. Pour éviter les "faux positifs" (blocage involontaire de factures légitimes), nous recommandons une phase initiale en mode d'apprentissage (Learning Mode).
- Nous pouvons fournir un exemple de charge utile XML pour aider votre équipe de sécurité à calibrer les règles du WAF et autoriser les caractères standards utilisés dans la facturation.
5.5 Complexité de mise en œuvre et impact opérationnel
Le choix de la bonne architecture de sécurité est un équilibre entre l'atténuation des risques et les ressources informatiques disponibles. Le tableau comparatif suivant met en évidence l'effort requis pour la configuration et la maintenance.
Option A : Contrôle d'accès réseau
- Complexité : Faible.
- Compétences requises : Administration réseau standard.
- Configuration : Déploiement rapide (généralement < 1 heure). Nécessite uniquement la configuration d'une règle de pare-feu classique.
- Maintenance : Aucune maintenance continue n'est requise, sauf en cas de modification des adresses IP de l'infrastructure.
Option B : Filtrage applicatif (Reverse Proxy)
- Complexité : Modérée.
- Compétences requises : Administration système / gestion de serveur web (Nginx, IIS, HAProxy).
- Configuration : Nécessite l'installation et la configuration d'un service proxy, la gestion de la terminaison SSL et l'écriture de règles de filtrage d'URL spécifiques.
- Maintenance : Faible. Une fois la configuration stabilisée, elle nécessite très peu d'interventions.
Option C : WAF et inspection du contenu
- Complexité : Élevée.
- Compétences requises : Ingénieur sécurité senior / NetSecOps.
- Configuration : Intégration complexe. Nécessite une phase d'apprentissage pour profiler le trafic applicatif légitime.
- Maintenance : Élevée. Nécessite une surveillance continue pour gérer les "faux positifs" (factures légitimes bloquées par sécurité). Toute mise à jour du format Yooz ou du niveau de patch de Sage X3 peut nécessiter des ajustements de règles.
5.6 Rôles et responsabilités de mise en œuvre
La sécurité est une responsabilité partagée. Le tableau ci-dessous présente la répartition des tâches entre le client (ou son prestataire informatique), l’intégrateur et Yooz.
| Composant / Périmètre | Description de la tâche | Partie responsable |
|---|---|---|
| Certificat SSL | Fourniture et installation d'un certificat SSL public valide sur le point d'entrée (pare-feu/Proxy). | Service informatique du client |
| Sécurité réseau | Configuration des règles de pare-feu (NAT) et des listes de contrôle d'accès (liste blanche d'IP). | Service informatique du client |
| Sécurité applicative | Configuration des règles du reverse proxy (option B) ou du WAF (option C). | Service informatique du client |
| Configuration Sage X3 | Activation et paramétrage des pools de "services web classic SOAP" au sein de l'ERP. | Intégrateur X3 |
| Tests de connectivité | Validation du canal sécurisé (Telnet/Ping) et tests fonctionnels de transfert du connecteur. | Yooz ou Client |
| Calibrage du WAF | Fourniture d'exemples de charges utiles XML pour aider au réglage des règles du WAF (si l'option C est choisie). | Yooz ou intégrateur X3 |
5.7 Conclusion
En mettant en œuvre les mesures de sécurité décrites dans ce document, la connexion automatisée entre Yooz et Sage X3 peut être établie de manière pérenne sans compromettre l'intégrité ou la sécurité de votre système ERP.
Pour les clients sur site (On-Premise)
Pour les clients gérant leur propre infrastructure ou serveurs, la responsabilité de la sécurisation du flux entrant incombe entièrement à votre service informatique interne ou à votre infogéreur.
Bien que l'option A (Contrôle d'accès réseau) fournisse une base de départ fonctionnelle, nous recommandons fortement de mettre en œuvre au minimum l'option B (Reverse Proxy) pour tout environnement de production. Cette architecture offre le meilleur équilibre entre sécurité et exploitabilité en rendant l'interface utilisateur et le portail de connexion de l'ERP complètement inaccessibles depuis Internet.
Veuillez sélectionner l'architecture de votre choix (A, B ou C) et transmettre ces spécifications techniques (notamment les informations du chapitre 3) à votre administrateur réseau.
6. Paramètres de connexion sécurisée X3 vers Yooz
L’objectif est d’établir une communication sécurisée entre l'ERP Sage X3 et la plateforme Yooz. L'ancienne méthode d'authentification par login/mot de passe est obsolète ; elle est remplacée par le protocole OAuth 2.0 nécessitant trois paramètres obligatoires.
Étape 1 - Récupérer l'Application ID
Il s’agit de l’identifiant de l'environnement Yooz. L'application ID permet au connecteur d'indiquer à l'API sur quel dossier client (tenant) pointer.
Connectez-vous à l'application Yooz du client. Placez le curseur de votre souris (sans cliquer) sur le logo Yooz en haut à gauche de l'écran.
Une infobulle apparaît : repérez la ligne Application et copiez l'identifiant au format UUID (ex: 82f7576c-c88e-4868-bb51...)
Vous pouvez faire un CTRL+C lorsque l’infobulle est affichée, cela copie les informations, faites ensuite un coller dans un document texte.

Étape 2 : Récupérer les clés API (Client ID et Client Secret)
Ces deux clés constituent les identifiants sécurisés qui autorisent Sage X3 à interagir avec Yooz. Deux options pour les obtenir :
Option A (recommandée) : Demandez-les directement au chef de projet Yooz. Pour des raisons de sécurité, ils vous seront généralement transmis via un lien à usage unique (type One-Time Secret).
Option B (En autonomie) : Si vous avez les droits Administrateur dans Yooz, allez dans le menu Réglages > Interopérabilité > API publique (ou Code d'autorisation OAuth 2.0).


Cliquez sur le bouton pour obtenir les token API.

Vous obtenez les informations client id et client secret.

Dernier point, vous devez vérifier le partenaire autorisé. Pour cela, aller dans le menu Réglages > Interopérabilité > Logiciel tiers.

Puis sélectionnez votre code partenaire dans la liste

Si vous ne trouvez pas votre code partenaire dans la liste, vous devez contacter votre interlocuteur Yooz.
Étape 3 : Renseigner les paramètres de connexion dans Sage X3
C'est ici que vous insérez les trois valeurs récupérées précédemment pour activer le lien.
Dans Sage X3, naviguez vers : Paramétrage > Paramètres généraux > Valeurs paramètres
Sélectionnez le chapitre EXAPP (Applications externes)
Dépliez les détails et sélectionnez le groupe YOOZ
Renseignez strictement les trois paramètres suivants :
XRJ31APPID (applicationId) = Collez l'application ID
XRJ31CLIID (Yooz Client Id) = Collez le client ID
XRJ31CLISC (Yooz Client Secret) = Collez le client secret
Lors du copier-coller des identifiants (particulièrement le client secret), assurez-vous de ne laisser aucun espace vide (ni avant, ni après la chaîne de caractères) sous peine de déclencher une erreur "401 - Invalid client credentials" lors des tests de communication.
Étape 5 : Vérification des services web REST
Les 2 services web REST utiles pour le connecteur doivent déjà être présents sur la solution Sage X3. Si ce n’est pas le cas, vous pouvez les obtenir par import des fichiers Json. Ceci est décrit dans le chapitre 3-Installation technique et mises à jour. Par défaut, ils sont codés XRJ31YOOZ et XRJ31TOKEN.
Vous devez vérifier que ces services web pointent bien (URL de base) vers l'URL de l’application Yooz du client.
Les URL des applications Yooz peuvent être
https://eu1.getyooz.com
https://preproduction1v2.getyooz.com
https://us1.getyooz.com
https://uspreproduction1.getyooz.com
Il faut donc 2 services web REST dans X3 qui comportent la racine de l’application Yooz du client avec les suffixes suivants
/yooz/v2/api/
/auth/realms/yooz/protocol/openid-connect/token
Exemple pour une application Yooz en
https://eu1.getyooz.com


Dans le cas où une même solution Sage X3 comporte des dossiers qui ne communiquent pas avec la même application Yooz, il est possible de :
- Déclarer 2 nouveaux services web qui pointent vers la 2ème instance Yooz (avec une autre url)
- Renseigner, dans les valeurs paramètres XRJ31RESTT et XRJ31RESTY (chapitre “EXAPP”, groupe “YOOZ”), les codes de ces services web
Il est indispensable de créer ces nouveaux services web mutualisés sur une solution X3, et utilisables par tous les dossiers.
Le connecteur se comporte alors comme cela : il prend en priorité les services web qui sont définis dans les valeurs paramètre. Si les valeurs paramètres sont vides, il appelle “en dur” les services web XRJ31YOOZ et XRJ31TOKEN.
Les informations Client Id et Client Secret sont stockées au niveau dossier, il est donc tout à fait possible d’avoir des valeurs différentes par dossier.
Étape 6 : Vérification et dépannage
Si vous avez renseigné correctement toutes les informations, vous pouvez effectuer une vérification de la connectivité Sage X3 vers Yooz.
Pour cela, lancer la fonction XRJ31CTR Contrôle connecteur Yooz, via le menu Exploitation > Imports/Exports.
La trace affiche le statut de la communication sortante (X3 => Yooz).

Si la trace affiche “Succès” cette partie est validée.
Et si la trace affiche une erreur 401, vous devez contacter votre interlocuteur Yooz car des paramétrages sur Yooz doivent être ajustés.

7. Paramètres de connexion pour la zone US
Cette partie est un récapitulatif et synthèse des informations spécifiques pour la zone US
Liste blanche des domaines/IP de destination (trafic sortant)
Bien que Yooz pousse les données vers Sage X3, le serveur Sage X3 doit également être capable d'initier des connexions sortantes vers Yooz. Si votre organisation restreint par défaut le trafic Internet sortant, vous devez configurer votre pare-feu pour autoriser le serveur Sage X3 à atteindre l'infrastructure de Yooz.
us-prd: 20.88.165.37
us-ppd: 20.81.25.81
Services web REST
| Nom | Base URL |
|---|---|
| XRJ31YOOZ | https://us1.getyooz.com/yooz/v2/api/ |
| XRJ31TOKEN | https://us1.getyooz.com/auth/realms/yooz/protocol/openid-connect/token |
Valeurs paramètres (fonction ADPVAL)
| Nom | Code valeur paramètre | Valeurs |
|---|---|---|
| Fuseaux horaires | XRJ31TIMZO | For Eastern Time: America/New_York For Central time: America/Chicago For MST: America/Denver For PST: America/Los_Angeles |
| Yooz URL Documents | XRJ31URLDO | https://us1.getyooz.com/yooz/v2/api |
| Langue utilisateur | XRJ31USRLA | en-US |