Aller au contenu principal

APIs et Integrations

Les services d'intégration sont situés dans application/modules/cms/services/.

OlsxApi (Client Intellitune)

Fichier : OlsxApi.php

Clarification terminologique

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égorieEndpointRôle
Catégorisation/v1/tune/submit_categorizeSoumettre un fichier ECU pour identification
/v1/tune/poll_categorizePolling du résultat de catégorisation
Tuning/v1/tune/submit_tuneDemander un tuning automatique
/v1/tune/poll_tunePolling du résultat de tuning
/v1/tune/automatic_availableVérifier si le tuning automatique est disponible
Fichiers originaux/v1/ori/get_file_from_storageRécupérer un fichier par hash
/v1/ori/get_entitiesRécupérer les entités ECU par software ID
Upload pairs/v1/intellitune/upload_pair_from_requestUploader une paire original/tuné
/v1/intellitune/get_upload_pair_historyHistorique des uploads
Analyse/v1/tune/submit_analyzeSoumettre pour analyse des maps
/v1/tune/poll_analyzePolling 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