Introduction #
Voici le fonctionnement de base de l’API du CRM CentrixOne :
- Lire = GET
- Ajouter/modifier = POST
- Tout se passe en tableau de zéro à plusieurs contacts. (En lecture comme en ajout/modification).
- Le résultat « succès » est toujours en JSON (Content Type : application/json) avec « Result » à la valeur « Success ».
- En cas d’erreur, il suffit de lire le contenu texte retourné avec les codes 4XX et 5XX.
- Il est possible de recevoir un code « 503 Service Unavailable » avec un entête « Retry-After » lorsque le service n’est pas disponible. Pour le moment, je conseille de réessayer plus tard avec toutes erreurs 4XX, 5XX ou les 200 qui ne sont pas en « application/json ». Cette partie reste à améliorer.
- Il y a un système de cache en lecture au standard HTML et c’est pour cette raison que tous les paramètres sont dans l’URL. Vous recevrez un entête « Last-Modified » en lecture. Si vous refaites la même requête avec l’entête « If-Modified-Since », vous recevrez un code « 304 Not Modified » si rien dans le résultat n’a été modifié. Pratique pour les applications mobiles et les logiciels qui demandent la même requête à intervalle régulier.
Comment faire pour obtenir ma clé API et mon numéro de compte CentrixOne ? #
Étant donné que ce sont des informations confidentielles, vous devez envoyer une demande par courriel à support@centrix.one. Notre équipe validera votre identité et l’utilisation dont vous ferez de ces informations, puis une clé API sera générée par notre équipe de programmation.
Lire les contacts #
Voici quelques exemples de filtres de base :
- C9999 pour retourner le contact avec l’identifiant Centrix 9999
- E9999 pour retourner le contact avec l’identifiant Externe 9999 (votre identifiant)
- S999 pour retourner les contacts de la liste 999
- Tous ces paramètres peuvent être spécifiés en même temps, ils seront joints en « AND ». Exemples;
- « C1234,C125 » retournera les contacts 1234 et 125 ainsi que l’information des contacts à toutes les listes. (Un contact peut être dans une ou plusieurs listes.)
- « C1234,S999 » retournera le contact 1234 s’il appartient à la liste S999 et seulement les informations du contact pour la liste 999
- « S999 » retournera tous les contacts et les informations des contacts pour cette liste. (Une liste est appelée à l’interne « Script » dans Centrix. Cela remonte au temps des scripts d’appels.)
- « E9999 » retournera le contact avec l’externalID (votre identifiant) 9999 ainsi que l’information du contact à toutes les listes.
- Etc.
L’extension de la page est « .awp ».
Voici les paramètres optionnels :
- fields : Liste des champs demandés séparés par virgule. Valeur « all » pour tous les champs. (Faire une requête avec « all » pour voir la liste de champs disponible.)
- Exception; les champs dans « ContactScript » doivent être précédés par « cs_ » dans la liste de champs demandés. Ex.: cs_salesrep1
- Abréviation; CC_ = Contact_Cusom_, AC_ = Account_Custom_, CCS_ = Contact_Custom_Script_, ACS_ = Account_Custom_Script_
- Les choix multiples dans les champs custom ont « :: » comme séparateur.
- filters : Permets de spécifier des filtres avancés. Les éléments sont séparés par TAB (%09 dans l’URL) et les conditions sont séparés pas LF (%0A dans l’URL)
- Structure;
- Préffixe séparateur : « (« , « ((« , « AND », « OR », »AND(« , »OR(« , etc.
- Nom du champ : « company », etc.
- Opérateur : « = », « <> », « <« , « > », »<= », « >= », »[= », »=] », « [=] »
- Valeur : « Test », etc. (Insensible Maj/Min)
- Suffixe séparateur : « ) », »)) »,etc.
- Il est possible de spécifier un filtre de base en même temps (qui sera joint en « AND ») ou de spécifier « all » comme filtre de base pour aucun filtre de base.
- Structure;
Le résultat est un JSON avec un tableau de Contacts qui dans chaque contact aura un tableau de ContactScript. (Les listes)
Voici quelques exemples :
- https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey.awp?fields=all
- https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-C999999.awp?fields=all
- https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-all.awp?fields=all&filters=%09company%09%5B=%09test%09%0AOR%09company%09%5B=%09centrix%09
- https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-S9999.awp?fields=all&filters=%09company%09%5B=%09test%09%0AOR%09company%09%5B=%09centrix%09
Ajouter ou modifier des contacts #
- Même URL que la lecture sauf avec une demande POST ainsi qu’un JSON de même structure que celui en lecture. (Un tableau de « Contacts » qui contient un tableau de « ContactScript » dans chaque contact)
- La valeur « FiltreDeBase » de l’URL est ignorée dans ce cas, mais il faut quand même en spécifier une. Ex.: « C » pour contact, ça n’a pas d’importance.
- Si un champ n’est pas reçu, sa valeur n’est pas modifiée. S’il est reçu vide, il sera remplacé par la valeur vide.
- Les valeurs des champs de type « compte » seront remplacées dans tous les contacts du même compte. (Tout ce qui apparaît dans les onglets « Account » dans Centrix)
- Si « idc » est spécifié, le contact sera modifié.
- Si « idc n’est pas spécifié et que « ExternalID » est spécifié, le contact avec cet « ExternalID » est recherché et modifié ou créé s’il n’est pas trouvé.
- Si ni « idc » et ni « ExternalID » ne sont spécifié, le contact est créé.
- Dans un contact, si une liste est spécifié « ids », les informations du compte et du contact seront modifiées pour cette liste. Si le contact n’est pas membre de cette liste, il deviendra membre automatiquement. Il n’est pas possible pour le moment d’enlever un contact d’une liste par l’API. (Il est possible dans Centrix)
Liens vers les autres API CentrixOne #
- https://api.centrix.one/API_WEB/EN/Opportunities-noCompte-CléAPI-S9999.awp?fields=all
- https://api.centrix.one/API_WEB/EN/Users-noCompte-CléAPI-all.awp?fields=all
- https://api.centrix.one/API_WEB/EN/Scripts-noCompte-CléAPI.awp?fields=all (Liste les liste de contacts du compte.)
- https://api.centrix.one/API_WEB/EN/RevenueTypes-noCompte-CléAPI-all.awp?fields=all
- https://api.centrix.one/API_WEB/EN/RevenueTypesSub1-noCompte-CléAPI-all.awp?fields=all
- https://api.centrix.one/API_WEB/EN/RevenueTypesSub2-noCompte-CléAPI-all.awp?fields=all