lundi 18 mai 2015

Recherche automatique de photos de contacts dans Salesforce avec Google API

Lorsque l'on travaille quotidiennement avec un CRM et que l'on est amené à rencontrer physiquement des contacts il est agréable de disposer d'une photo de chaque contact pour mieux identifier ses interlocuteurs ou simplement les reconnaître lors d'un rendez vous. Cela arrive couramment que lors de la préparation d'un rendez-vous client on tape une requête composé du nom et du prénom d'un contact afin de voir si ce dernier n'aurait pas à tout hasard un profil linkedin ou viadeo. Le projet que je vous propose ici c'est l'intégration d'un bloc comportant des photos répondant à la requête Nom + Prénom + Fonction (optionnel) dans l'API Google Images de votre contact. Bien évidement cette technique est plus qu'approximative dans les cas ou la personne aurait des homonymes ayant une identité web plus prononcée que celle du contact que vous recherchez ou tout simplement dans le cas où votre contact n'aurait aucune présence web. Pour ces raisons ce projet a pour unique vocation l'automatisation de la démarche qui consisterait à consulter les résultats de "nom prénom" (et éventuellement fonction) dans la recherche universelle google images. En aucun cas il ne s'agit d'un outil permettant d'obtenir à coup sur la photo d'une personne.



Le code source a base de Google Images API

Le code source que je vous propose dans ce projet est très simple il consiste en appels a la google image api avec les bons paramètres issus de salesforce ainsi que d'un système de mise en cache de la réponse google afin de ne pas dépasser les cotas de requêtes journalières autorisé librement a un utilisateur de google service. En effet le code source que je vous propose va automatiquement mettre en cache (mémoire de l'hébergement local) les réponses de google afin que les requêtes sur les mêmes utilisateurs de votre CRM sur un même contact soient mutualisées.

Dans le code source tout se passe au niveau de la classe google.images.class.php . En effet en y trouve l'appel principal pour requêter la base google sur des éléments de recherche universelle tel que les images:

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&start=0&q=votrerequeteurlencodée

Cette requete vous renverra les résultats images dans le format JSON. Il nous suffira alors d'en extraire les images afin des fournir au template. Dans le script que je vous propose on met les requetes en cache afin d'éviter que les requêtes vers google soient renvoyées a chaque ouverture d'une fiche contact.

Attention il s'agira de prévoir un mécanisme de vidage de ce cache afin que les résultats ne deviennent pas trop obsoléscents au bout d'un certain temps. Pour vider le cache il suffit de supprimer le contenu du dossier ./cache/ . Vous pouvez automatiser facilement cette tâche avec un simple cron qui pourrait supprimer le contenu de ce dossier.


Mise en place du script et installation dans SalesForce

Vous l'aurez sans doute compris, nous allons créer une section avec une page personnalisée visualforce contenant le code html d'appel à une iframe avec les bons parametres.

Pour faire cela je vous invite a lire la section : "Appel d'un script externe grace aux iFrame avec SalesForce depuis la fiche contact" de l'article "Intégration de QRcodes dans le CRM SalesForce". La seule chose qui change c'est le code a mettre dans votre page apex.
 

  


N'oubliez pas de précise l'url où vous avez choisi d'hébérger l'IFRAME. Je vous conseille de tester préalablement dans un navigateur que le script fonctionne bien sur votre hebergement, en tappant directement:

{url d'hebergement du script}/find.php?prenom=artiom&nom=fedorov&fonction=developpeur

Cette commande devrait vous afficher une page html avec les photos trouvées. Si vous obtenez bien cela, le script est donc pret a fonctionner avec salesforce.

Ce qui devrait s'afficher dans votre navigateur en tappant diréctement l'url de votre iframe


Téléchargement du script photo finder

Vous pouvez télécharger le code source php du projet à l'adresse suivante:

Script de recherche automatique de photos dans une fiche contact Salesforce






Exemples de fiches contacts SalesForce avec recherche automatique de photos



 


Aucun commentaire:

Enregistrer un commentaire