Jerarquía de clases
Todas las entidades de Zoho CRM se presentan como clases que tienen miembros y métodos que se emplean en una entidad en particular.
- ZCRMRestClient corresponde a la clase básica de SDK.
- Esta clase cuenta con métodos para obtener instancias de varias otras entidades de Zoho CRM.
- La jerarquía y las relaciones de clases de SDK se rigen por la jerarquía de entidades dentro de Zoho CRM.
- Todas las entidades de clases tienen funciones para capturar sus propias propiedades y para capturar datos de sus entidades secundarias inmediatas mediante una solicitud API. Por ejemplo, un objeto de un módulo de Zoho CRM (ZCRMModule) tendrá funciones de miembro para obtener las propiedades de un módulo, como nombre de visualización, ID de módulo, etc., y también tendrá funciones para capturar todos sus objetos secundarios (como ZCRMLayout).
La jerarquía de clases de varias entidades de Zoho CRM se representa de la siguiente manera:

Objetos de instancia
No siempre es efectivo seguir la jerarquía completa de clases de la parte superior para capturar los datos de una entidad en un nivel inferior, ya que esto podría conllevar solicitudes API en todos los niveles. Con el objetivo de manejar esta situación, todas las clases de entidades tendrán un métodogetInstance(), a fin de obtener su propio proyecto ficticio y métodos para obtener objetos ficticios de entidades secundarias.
Nota:
- No se llenará ninguna de las propiedades de los métodos
- getInstance(), ya que no se emitirá una solicitud API. Esto solo devolvería un objeto ficticio que se utilizará solo para acceder a los métodos no estáticos de la clase.
Para resumir,
- ZCRMRestClient.getModule("Contacts") devuelve el módulo real de Contactos, que tiene todas las propiedades del módulo de Contactos ingresadas mediante una solicitud API.
- ZCRMRestClient.getModuleInstance("Contacts") devolverá un objeto ZCRMModule ficticio que se referirá al módulo de Contactos, sin propiedades ingresadas, ya que no realiza una solicitud API.
Por lo tanto, para obtener registros de un módulo, no hay necesidad de comenzar desde ZCRMRestClient. En su lugar, puede obtener una instancia ZCRMModule con ZCRMModule.getInstance() e invocar su método no estático getRecords() de la instancia creada. Esto evita la solicitud API que, de otra manera, se habría activado para rellenar el objeto ZCRMModule.
Acceso a propiedades de registro
Puesto que las propiedades de registro son dinámicas en los módulos, se han proporcionado solo los campos comunes, como createdTime, createdBy, owner, etc., como miembros predeterminados de ZCRMRecord. Todas las otras propiedades de registros están disponibles como un mapa en el objeto ZCRMRecord .
Para acceder a los valores de campo individuales de un registro, utilice los métodos de captador y establecedor disponibles. Las claves del mapa de propiedades de registro corresponden a los nombres API de los campos del módulo. Los nombres API de todos los campos y todos los módulos se encuentran disponibles en
Configuración → Marketplace → API → API de CRM → Nombres API.
- Para obtener un valor de campo, utilice record.getFieldValue(fieldAPIName);
- Para establecer un valor de campo, utilice record.setFieldValue(fieldAPIName, newValue);
Cuando establezca un valor de campo, asegúrese de que el valor establecido corresponda al tipo de datos del campo en el que lo va a establecer.