APIs et Integrations
Les services d'intégration sont situés dans application/modules/cms/services/.
OlsxApi (Client Intellitune)
Fichier : OlsxApi.php
Le nom OlsxApi est un héritage historique. Ce service est en réalité le client HTTP qui communique avec FRT-Intellitune (le moteur de tuning Python). Il n'existe pas d'« API OLSx » séparée — les endpoints appelés (/v1/tune/*, /v1/ori/*, /v1/intellitune/*) sont tous des endpoints du projet FRT-Intellitune.
Client de communication avec FRT-Intellitune. Authentification via Google Cloud Identity (fichier intellitune-front.json).
Endpoints appelés
| Catégorie | Endpoint | Rôle |
|---|---|---|
| Catégorisation | /v1/tune/submit_categorize | Soumettre un fichier ECU pour identification |
/v1/tune/poll_categorize | Polling du résultat de catégorisation | |
| Tuning | /v1/tune/submit_tune | Demander un tuning automatique |
/v1/tune/poll_tune | Polling du résultat de tuning | |
/v1/tune/automatic_available | Vérifier si le tuning automatique est disponible | |
| Fichiers originaux | /v1/ori/get_file_from_storage | Récupérer un fichier par hash |
/v1/ori/get_entities | Récupérer les entités ECU par software ID | |
| Upload pairs | /v1/intellitune/upload_pair_from_request | Uploader une paire original/tuné |
/v1/intellitune/get_upload_pair_history | Historique des uploads | |
| Analyse | /v1/tune/submit_analyze | Soumettre pour analyse des maps |
/v1/tune/poll_analyze | Polling du résultat d'analyse |
Configuration requise
; application.ini
params.olsx.apiUrl = "https://intellitune.example.com/v1"
params.olsx.callbackDomain = "https://cms.example.com"
params.google.clientId = "xxx.apps.googleusercontent.com"
GoogleApi
Fichier : GoogleApi.php Intégration avec Google Cloud Translate pour la traduction automatique de contenus. Utilise la librairie google/cloud-translate.
- Client ID configuré dans application.ini
- Traduction multi-langues pour le contenu CMS
JiraApi
Fichier : JiraApi.php Intégration avec Jira pour la gestion des tickets de support. Permet de créer et suivre les tickets depuis le CMS.
Zoho
Fichier : Zoho.php Intégration avec Zoho pour la facturation et le CRM. Gestion des factures et des relations clients.
WhatsAppApi
Fichier : WhatsAppApi.php API WhatsApp pour l'envoi de messages aux clients. Les numéros WhatsApp sont stockés sur les profils utilisateurs.
CloudFlareApi
Fichier : CloudFlareApi.php Gestion du DNS et du CDN via l'API CloudFlare. Permet la gestion des domaines et la purge de cache.
Push (Notifications)
Fichier : Push.php Service de notifications push vers le service notifier externe (jspush.olsx.lu). Utilise des tokens JWT pour l'authentification. Le contrôleur de base génère les tokens via generatePushToken() et generatePush2Token().
Notifier
Fichier : Notifier.php Service de notification interne. Gère l'envoi de notifications aux utilisateurs du CMS.
EvcApi
Fichier : EvcApi.php Intégration avec le fournisseur EVC (External Vendor Credits). Gestion des crédits et des achats.
Intellidrop
Fichier : Intellidrop.php
Interface web du CMS pour le tuning interactif. Intellidrop utilise OlsxApi pour communiquer avec FRT-Intellitune et offrir une interface graphique aux tuners pour :
- Visualiser les résultats de catégorisation ECU
- Sélectionner les maps à modifier
- Ajuster les paramètres de tuning
- Soumettre les modifications et récupérer le fichier tuné
OlsxFile et OlsxFileListCache
Fichiers : OlsxFile.php, OlsxFileListCache.php Gestion des fichiers de reprogrammation:
- OlsxFile: Opérations sur les fichiers (upload, téléchargement, traitement)
- OlsxFileListCache: Système de cache pour les listes de fichiers
OlsxSwitch
Fichier : OlsxSwitch.php Service de contrôle d'accès aux véhicules. Détermine si un utilisateur CMS peut éditer un véhicule en fonction de son rôle et de ses relations. Gère les permissions pour admin, reseller, developper, et les relations véhicule-utilisateur.
ClientStats et PreparatorStats
Fichiers : ClientStats.php, PreparatorStats.php Services de calcul de statistiques pour les clients et les préparateurs.
SoftwareVersion
Fichier : SoftwareVersion.php Gestion des versions logicielles de l'application.
TestApi
Fichier : TestApi.php Service de test pour les APIs.
Timezone
Fichier : Timezone.php Gestion des fuseaux horaires.
Système d'emails
Architecture
Trois classes de mail spécialisées dans library/Web4u/Mail/:
Web4u_Mail_Mandrill
- Hérite de Web4u_Mail
- Utilise SMTP Mandrill (smtp.mandrillapp.com)
- Configuration via params.mandrill (port, auth, username, password)
- Support désactivation du tracking (X-MC-Track)
Web4u_Mail_Olsx
- Hérite de Web4u_Mail
- Templates email avec layout (views/mails/)
- Support HTML et texte brut
- Configuration SMTP via params.mailer.olsx
- Support multi-locale pour les templates
Web4u_Mail_Shiftech
- Hérite de Zend_Mail directement
- Templates email avec layout similaire à Olsx
- Configuration SMTP via params.mailer.shiftech
- Support HTML et texte brut
Configuration en développement
MailDev est utilisé en développement:
- SMTP: port 1025 sur le container "mail"
- Interface web: port 1080 pour visualiser les emails envoyés