类层次结构
所有 Zoho CRM 实体建模为具有适用于该特定实体的成员和方法的类。
- ZCRMRestClient 是该 SDK 的基本类。
- 此类的一些方法可用于获取各种其他 Zoho CRM 实体的实例。
- SDK 的类关系和层次结构遵循 Zoho CRM 中的实体层次结构。
- 每个实体类有一些函数用于获取它自己的属性及通过 API 调用获取其直接子实体的数据。例如,Zoho CRM 模块 (ZCRMModule) 对象有一些成员函数用于获取模块的属性(例如,显示名称、模块 ID 等等),还有一些函数用于获取其所有子对象(例如,ZCRMLayout)。
各种 Zoho CRM 实体的类层次结构如下所示:

实例对象
遵循完整类层次结构(从顶部开始)来获取位于较低级别的实体的数据并非始终有效,因为这可能会在每个级别调用 API。为解决此问题,每个实体类将具有一个用于获取自己的虚拟对象的 getInstance() 方法,以及一些用于获取其子实体的虚拟对象的方法。
注:
- getInstance() 方法不会填写任何属性,因为它不会触发 API 调用。它仅返回一个虚拟对象,该对象仅应用于访问该类的非静态方法。
总结起来,
- ZCRMRestClient.getModule("Contacts") 将返回实际“联系人”模块,它包含通过 API 调用填写的“联系人”模块的所有属性。
- ZCRMRestClient.getModuleInstance("Contacts") 将返回虚拟 ZCRMModule 对象,此对象将引用“联系人”模块,不填写任何属性,因为此对象不会进行 API 调用。
因此,要从模块获取记录,不必从 ZCRMRestClient 开始。您可使用 ZCRMModule.getInstance() 获取 ZCRMModule 实例,然后从所创建实例调用它的非静态 getRecords() 方法。这可以避免本来被触发以填充 ZCRMModule 对象的 API 调用。
访问记录属性
因为记录属性在模块中是动态的,所以我们仅给出常规字段(例如,createdTime、createdBy、owner 等等)作为 ZCRMRecord 的默认成员。所有其他记录属性在 ZCRMRecord 对象中以映射形式提供。
要访问某个记录的各个字段值,请使用所提供的 getter 和 setter 方法。记录属性映射的键为模块字段的 API 名称。所有模块的所有字段的 API 名称位于以下位置:
设置 → 应用市场 → API → CRM API → API 名称。
- 要获取字段值,请使用 record.getFieldValue(fieldAPIName);
- 要设置字段值,请使用 record.setFieldValue(fieldAPIName, newValue);
设置字段值时,请确保所设置值是您要设置的字段的相应数据类型。