Hiérarchie des classes

Toutes les entités Zoho CRM sont modélisées sous forme de classes comptant des membres et des méthodes applicables à chaque entité en particulier.

  • ZCRMRestClient est la classe de base du SDK.
  • Cette classe comprend des méthodes pour obtenir des instances de diverses autres entités Zoho CRM.
  • La hiérarchie des classes du SDK et les relations entre elles suivent la hiérarchie des entités au sein de Zoho CRM.
  • Chaque entité de classe a des fonctions pour récupérer ses propres propriétés et les données de ses entités enfant immédiates par le biais d'un appel d'API. Par exemple, un objet de module Zoho CRM (ZCRMModule) aura des fonctions de membre pour obtenir les propriétés d'un module (nom d'affichage, ID de module, etc., par exemple), mais aussi des fonctions pour récupérer tous ses objets enfant (ZCRMLayout, par exemple).

La hiérarchie des classes de diverses entités Zoho CRM est représentée comme suit :

Objets d'instance

Il n'est pas toujours efficace de respecter l'ensemble de la hiérarchie des classes à partir du niveau supérieur pour récupérer les données d'une entité de niveau inférieur, cela impliquant des appels d'API à tous les niveaux. Pour gérer ce phénomène, chaque classe d'entité dispose d'une méthode getInstance() pour obtenir son propre objet factice, ainsi que de méthodes pour obtenir les objets factices de ses entités enfant.

Remarque :

  • Aucune propriété n'est indiquée pour les méthodes
  • getInstance(), car cela ne renvoie pas d'appel d'API, mais seulement un objet factice à utiliser uniquement pour accéder aux méthodes non statiques de la classe.

En résumé,

  • ZCRMRestClient.getModule("Contacts") renvoie le module Contacts réel, dont toutes les propriétés sont renseignées par le biais d'un appel d'API.
  • ZCRMRestClient.getModuleInstance("Contacts") renvoie un objet factice ZCRMModule faisant référence au module Contacts, sans aucune propriété renseignée, étant donné que cela ne génère pas d'appel d'API.

Par conséquent, pour obtenir des enregistrements d'un module, il est inutile de commencer par ZCRMRestClient. Au lieu de cela, vous pouvez obtenir une instance ZCRMModule avec ZCRMModule.getInstance(), puis invoquer sa méthode getRecords() non-statique à partir de l'instance créée. Cela permet d'éviter l'appel d'API qui aurait autrement été déclenché pour renseigner l' objet ZCRMModule.

Accès aux propriétés d'enregistrement

Étant donné que les propriétés d'enregistrement sont dynamiques entre les modules, nous avons seulement donné les champs communs ( createdTime, createdBy, owner, etc., par exemple) comme membres par défaut de l'objet ZCRMRecord. Toutes les autres propriétés d'enregistrement sont disponibles sous forme de carte dans l'objet  ZCRMRecord .

Pour accéder aux valeurs des champs individuels d'un enregistrement, utilisez les méthodes get et set disponibles. Les clés de la carte des propriétés d'enregistrement sont les noms d'API des champs du module. Les noms d'API de tous les champs de tous les modules sont disponibles sous

Setup (Configuration) → Marketplace → API → CRM API (API CRM) → API Names (Noms d'API).

  • Pour obtenir une valeur de champ, utilisez record.getFieldValue(fieldAPIName);
  • Pour définir une valeur de champ, utilisez record.setFieldValue(fieldAPIName, newValue);
    Lorsque vous définissez une valeur de champ, veillez à ce que la valeur définie corresponde au type de données du champ pour lequel vous allez la définir.