Soap sur sugar_crm_pour_developpement_connecteurs_v1.0
1. Fonctionnement de SOAP
sur SugarCRM pour
développer de nouveaux
connecteurs
1. Descriptif du document :...................................................................................... 2
2. Pré-requis : .......................................................................................................... 2
3. Vérifier la disponibilité du serveur SugarCRM..................................................... 2
3.1. Soap_test.xml............................................................................................... 2
3.2. Soap_testResponse.xml .............................................................................. 2
4. Identification sur le serveur SugarCRM............................................................... 3
4.1. Soap_login.xml............................................................................................. 3
4.2. Soap_loginResponse.xml............................................................................. 3
5. Récupération de l’identifiant de l’utilisateur ......................................................... 4
5.1. Soap_get_user_id.xml.................................................................................. 4
5.2. Soap_get_user_idResponse.xml.................................................................. 4
6. Listing d’un module trié et filtré............................................................................ 5
6.1. Soap_get_entry_list_Search.xml.................................................................. 5
6.2. Soap_get_entry_listResponse_Search.xml.................................................. 5
7. Exemple des fichiers XML envoyés/reçus ........................................................... 6
8. Que se passe t’il réllement pour les puristes ....................................................... 6
Si vous avez besoin d’aide : ....................................................................................... 8
Liens utiles :................................................................................................................ 8
Sources : .................................................................................................................... 8
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 1 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
2. 1. Descriptif du document :
Ce document décrit le fonctionnement de la couche SOAP au sein de SugarCRM et
permettra aux développeurs de mieux appréhender celle-ci afin de réaliser des
connecteurs pour échanger à partir de flux XML.
Tout langage peut être utilisé du moment qu’il est capable de réaliser une connexion
distante ainsi que de traiter les résultats en XML.
Ce document n’a pas pour but d’être exhaustif mais uniquement de présenter
quelques fonctions permettant de réaliser une connexion SOAP puis de demander
un listing.
2. Pré-requis :
· Disposer de SugarCRM installé sur votre machine ou sur un serveur
· Disposer d’une classe qui gère le XML tel nuSOAP en PHP est un plus qui
facilitera grandement le travail du développeur.
3. Vérifier la disponibilité du serveur SugarCRM
3.1. Soap_test.xml
Fichier XML envoyé pour connaître l’état du serveur et ainsi tester sa disponibilité.
En paramètre(s) d’entrée :
· string : « Server Available »
3.2. Soap_testResponse.xml
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 2 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
Fichier XML reçu
En paramètre(s) de sortie :
· return : « Server Available »
3. 20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 3 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
4. Identification sur le serveur SugarCRM
4.1. Soap_login.xml
Fichier XML envoyé pour ouvrir une session sur l’application.
En paramètre(s) d’entrée :
· user_auth
user_name : login utilisateur
password : mot de passe utilisateur (MD5)
version : .1
· application_name : SugarWap (En fait le nom de votre appli)
4.2. Soap_loginResponse.xml
Fichier XML reçu
En paramètre(s) de sortie :
· id : ID de session
4. 5. Récupération de l’identifiant de l’utilisateur
5.1. Soap_get_user_id.xml
Fichier XML envoyé pour récupérer l’ID de l’utilisateur
En paramètre(s) d’entrée :
· session : ID de session
5.2. Soap_get_user_idResponse.xml
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 4 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
Fichier XML reçu
En paramètre(s) de sortie :
· return : ID de l’utilisateur
5. 6. Listing d’un module trié et filtré
6.1. Soap_get_entry_list_Search.xml
Fichier XML envoyé pour récupérer une liste d’enregistrement pour un module donné
En paramètre(s) d’entrée :
· session : ID de session
· module_name : Nom du module (contacts)
· query : Condition « where » de la requête que Sugar va opérer sur la base
· order_by : Champ « order by » de la requête pour trier les résultats
· offset : Correspond au « LIMIT x, 10 » du SQL
· select_fields item : Champs à retourner
· max_results : Nombre max d’enregistrements à retourner
· deleted : enregistrements supprimés à retourner 0 ou 1
6.2. Soap_get_entry_listResponse_Search.xml
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 5 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
Fichier XML reçu
En paramètre(s) de sortie :
· Les paramètres de sortie sont dépendants de ce que vous avez demandé en
entrée
6. 7. Exemple des fichiers XML envoyés/reçus
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 6 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
7. Si vous avez besoin de ces fichiers d’exemple vous pouvez
contacter Synolia directement ou faire une demande sur le forum
CRM-France.com.
8. Que se passe t’il réllement pour les puristes
Vous pouvez tester en telnet sur le port 80 afin de mieux visualiser l’échange de
données.
18. ,* +-'./017,!-'888
888$+
* +-'* *!$+,* +-
!*
9'* -'888-'./017,!-'./01/)-
En premier lieu il y a donc connexion au serveur, puis nous précisons qu’il s’agit de
la méthode POST sur l'url /soap.php du serveur et en HTTP 1.1.
Les normes du protocole http demandent alors de préciser au moins un host, la taille
du contenu qui suit, et le charset (type de codage des caractères).
Contenu XML reçu :
4:
;
,=6
!484?6
).
30. ,D!*
On peut voir qu’il y a bien eu réponse à la demande de test de connexion.
La réponse se fait en HTTP 1.1, le code 200 indique que le serveur web (Apache)
n’a rencontré aucun problème pour le traitement de cette demande, quelques infos
supplémentaires sont données et surtout la taille en octet de la réponse, ainsi que le
charset.
La connexion se ferme au bout d'une seconde d'inactivité car nous sommes sur un
protocole http donc déconnecté.
31. Si vous avez besoin d’aide :
Le site CRM-France et le forum sont là pour vous aider : http://www.crm-france.com
Liens utiles :
Le site de SugarCRM : http://www.sugarcrm.com
Le site de Synolia : http://www.synolia.com
Qu’est ce que SOAP : http://www.soapuser.com/fr/basics1.html
20/06/2006 SOAP_sur_SugarCRM_pour_developpement_connecteurs_V1.0.doc page 8 / 8
Toute reproduction, même partielle, tout transfert à un tiers, sous quelque forme que ce soit, sont strictement interdits sans
autorisation préalable écrite de SYNOLIA
Sources :
SYNOLIA, premier partenaire européen de SugarCRM et membre de l’équipe de développement
SugarCRM, fournit des solutions CRM et e-business pour tous types d’entreprises.
SYNOLIA accompagne les clients SugarCRM, quelque soit la version choisie, dans les phases de
mise en place, développements de modules, formations (SYNOLIA est déclaré organisme de
formation), maintenance... et propose également des solutions d'hébergement de SugarCRM.
SYNOLIA accompagne déjà de nombreux clients SugarCRM en France et en Europe francophone.
SYNOLIA a été fondé en 2004 par des professionnels du CRM et de l’ebusiness.
La société a son siège à Lyon (France) et peut être jointe par mail à sugar@synolia.com ou par le
biais de ses sites Internet http://www.synolia.com, http://ww.crm-france.com (site de la communauté
SugarCRM en France) et http://www.businesshop.com.