Après plusieurs mois à définir l’architecture d’une nouvelle solution Cloud de centre d’appel, dont un bandeau CTI intégré dans SalesForce, quelques difficultés ont été rencontrées.
SalesForce fonctionne en 2 modes principaux :
Sales Cloud
: orienté appels téléphoniques sortantsService Cloud Console
: orienté appels téléphoniques entrants
Et ces modes sont technologiquement différents : si le Service Cloud sait éviter de recharger complètement une page Web lorsqu’un lien est cliqué, ce n’est pas le cas en mode Sales Cloud.
Chaque clic provoquant un rechargement de la page cela provoque une déconnection de la websocket
et/ou un rechargement de l’applet
ce qui peut provoquer une perte d’information si un évènement arrive simultanément. Le qualité de service n’est pas assurée.
Les solutions possibles sont :
1) Une popup qui reste ouverte : souvent rencontrée, mais toujours aussi moche…
2) Utilisation d’un tier serveur heroku
Sales Cloud étant éloigné d’un fonctionnement SPA, il est très complexe sinon impossible d’utiliser les technologies WebSocket et Applet : or ces techniques sont nécessaires pour recevoir en temps réel des évènements téléphoniques (appels reçus) depuis les plateformes serveur.
A noter que les alternatives servers push (Long polling
) sont moins modernes et disposent des mêmes inconvénients (charge serveur importante due au nombre de connexions simultanées ouvertes, le fameux problème C10k).
Enfin convernant les Applets : elles sont fortement déconseillées pour assurer une Security Review. Il faut admette que cette technologie est en déclin à cause des nombreuses alertes de sécurité et des lenteurs sur les corrections associées.
La sortie prochaine de SalesForce Lightning Connect
dont les descriptions annoncent une meilleure gestion des évènements et une intégration plus fluide et instantanée aux back offices / ERP, devrait potentiellement remédier aux problèmes rencontrés.
En contepartie, OpenCTI ne serait plus supporté dans Sales Cloud…