集成任务

函数 - 集成任务

众所周知,API 2.0版本的更新对于自定义函数(现在名为“函数”)的使用产生了很大的影响。本指南帮助您了解如何使用那些基于新 API 的函数集成任务。

入门

首先,Zoho API的1.0版本和2.0版本之间的基本区别是,前者使用字段名,后者使用API名称。

按照下面步骤获取模块的 API 名称:

  • 访问设置 > 开发者空间 > API > CRM API > API 名称
  • 模块的 API 名称显示在“API 名称”页签中。

按照下面步骤获取模块中字段的 API 名称:

  • 访问设置 > 开发者空间 > API > CRM API > API 名称
  • 点击某一模块名。例如:线索
  • API 名称页面显示字段的 API 名称。这些字段名称是在代码中使用,而不是在字段标签页面中使用。

获取记录

包含信息的记录可以从CRM的多个支持模块中获取。您可以使用 zoho.crm.getRecords() 任务获取记录。

语法:(基于 API 2.0)

<response>=zoho.crm.getRecords(<module_name>, [<page>],[<perPage>], {<optionalDataMap>}, <connections>);

参数描述
<response>响应,带有匹配提取条件的记录 LIST
<module_name>从中提取记录模块的名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<page>(可选)基于页面获取记录的列表,它的数据类型为 NUMBER。默认值为 - 1。
<perPage>(可选)用于获取每个页面可用记录的列表,它的数据类型为 NUMBER。默认值为 - 200。
<optionalDataMap>用于获取使用 page 和 per_page 以外参数的记录列表。
<connections>显示与函数关联的接口。数据类型为 STRING

样本输入:

resp = zoho.crm.getRecords("Leads",1,20,{"converted":"true"});

注:

  • 在上例中,"converted" 为 optionalDataMap

语法:(基于 API 1.0)

<response>=zoho.crm._getRecords(<module_name>, [<from_index>],[<to_index>]);

按 ID 获取记录

获取一个记录列表是相当不错的,但是如果您想要获取关于特定记录的详细信息,就可以使用 zoho.crm.getRecordById() 任务来获取有关特定记录的信息。

语法:(基于 API 2.0)

<response>=zoho.crm.getRecordById(<module_name>, <record_ID>, <connections>);

参数描述
<response>响应,返回为 MAP
<module_name>从中提取记录的模块名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<record_ID>待提取的记录 ID,它的数据类型为 NUMBER
<connections>显示与函数关联的接口。数据类型为 STRING

样本输入:

resp = zoho.crm.getRecordById("Leads", 2938383000000392001);

语法:(基于 API 1.0)

<response>=zoho.crm._getRecordById(<module_name>, <record_ID>);

创建记录

设置这些函数的方式,记录是根据特定的动作自动创建的。例如,您可以触发该函数,以便在更改线索的状态后在任务中创建一条记录。zoho.crm.create() 任务用于创建记录。

语法:(基于 API 2.0)

<variable>=zoho.crm.create(<module_name>,{<dataMap>}, {<optionalDataMap>}, <connections>);

参数描述
<response>响应,返回为 MAP
<module_name>从中提取记录的模块名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<dataMap>模块中在创建记录期间指定的字段名称。例如:{"Last_name":"Zoho CRM"}
<optionalDataMap>表示输入 JSON 以外的所有数据映射。
<connections>显示与函数关联的接口。数据类型为 STRING

样本输入:

data = Map();
data.putAll({"Last_Name":"Bruce Wills", "Company":"Zillum"});
optionalMap = Map();
optionalMap.put("trigger", ["workflow","approval", "blueprint"]); // pass "trigger" as empty [] to not execute workflow
resp = zoho.crm.create("Leads", data, optionalMap);

样本响应:

{"Modified_Time":"2018-03-26T14:33:01+05:30","Modified_By":{"name":"Ben","id":"2938383000000132011"},"Created_Time":"2018-03-26T14:33:01+05:30","id":"2938383000000389001","Created_By":{"name":"Ben","id":"2938383000000132011"}}

语法:(基于 API 1.0)

<variable>=zoho.crm._create(<module_name>,{<field_values>});

创建批量记录

设置这些函数的方式,记录是根据特定的动作自动创建的。例如,您可以触发该函数,以便在更改转化线索为联系人后在联系人、客户、任务、商机中创建多条记录。zoho.crm.bulkCreate() 任务用于创建记录。

语法:(使用 V2.0 API)

<variable>=zoho.crm.bulkCreate(<module_name>,[record1, record2]);

参数描述
<response>响应,返回为 MAP
<module_name>从中提取记录的模块名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
[record1, record2]LIST,包含有关要创建的记录信息。

样本输入:

resp = zoho.crm.bulkCreate("Leads", [{"Last_Name":"Deborah"},{"Last_Name":"James"}], {"trigger":["workflow","blueprint","approval"]});

更新记录

在很多情况下,您都需要更新记录。通过设置 zoho.crm.updateRecord() 任务,它自动根据编程的方案更新记录,这样可自动完成编辑现有信息、添加附加信息等工作。

语法:(基于 API 2.0)

<response>=zoho.crm.updateRecord(<module_name>, <record_ID>, <dataMap>, {<optionalDataMap>}, <connections>);

参数描述
<response>响应,返回为 MAP
<module_name>从中提取记录的模块名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<record_ID>待更新的记录 ID。它的数据类型为 NUMBER
<dataMap>键/值对,带有更新的记录信息。
<optionalDataMap>表示输入 JSON 以外的所有数据映射。
<connections>显示与函数关联的接口。数据类型为 STRING

样本输入:

resp = zoho.crm.update("Leads", 2938383000000392001, {"Company":"Zillum Corp"});

样本响应:

{"Modified_Time":"2018-03-26T15:17:39+05:30","Modified_By":{"name":"Ben","id":"2938383000000132011"},"Created_Time":"2018-03-26T14:39:28+05:30","id":"2938383000000392001","Created_By":{"name":"Ben","id":"2938383000000132011"}}

语法:(基于 API 1.0)

<response>=zoho.crm._updateRecord(<module_name>, <record_ID>, <New values as map object>);

搜索记录

通过指定条件搜索特定记录。搜索的记录可用来在任何位置执行操作。搜索记录需要待指定的模块名和搜索条件。

语法:(基于 API 2.0)

<response>=zoho.crm.searchRecords(<module_name>, <criteria>, [<page>],[<perPage>], <connections>);

参数描述
<response>响应,带有匹配提取条件的记录 LIST
<module_name>从中提取记录的模块名称。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<criteria>搜索的条件语句。它的格式如下:( : : )。 表示 CRM 字段标签名 表示其各自值。 可以包含以下值:

 
  • equals
  • starts_with (STRING)
<page>(可选)基于页面获取记录的列表,它的数据类型为 NUMBER。默认值为 - 1。
<perPage>(可选)用于获取每个页面可用记录的列表,它的数据类型为 NUMBER。默认值为 - 200。
<connections>(可选)显示与函数关联的接口。数据类型为 STRING

样本输入:

resp = zoho.crm.searchRecords("Leads", "(Company:equals:Zillum)");

注:

  • 按 PDC 搜索记录在 API 2.0 版本中不可用。
  • 如果某列包含空值,则 zoho.crm.searchRecords 在 <> 语句中不报告它们。
  • 在任何给定的时间,可提取最多 200 条记录。

语法:(使用 V1.0 API)

<response>=zoho.crm._searchRecords(<module_name>, <criteria>, [<from_index>],[<to_index>]);

获取相关记录

CRM 有各种组件,可用来存储有关特定线索或联系人的信息。例如,某一线索可能包含一组备注、多项交易、相关通话等。搜索模块中与特定记录相关的备注可使用 zoho.crm.getRelatedRecords() 任务完成。

语法:(基于 API 2.0)

<response>=zoho.crm.getRelatedRecords(<relation_name>, <parent_module_name>, <record_ID>, [<page>],[<perPage>], <connections>);

参数描述
<response>响应,带有匹配提取条件的记录 LIST
<relation_name>从中提取记录的模块(也称为子模块)名称。它的数据类型为 STRING。受支持的模块有:备注、报价、产品、任务、市场活动、活动、通话。
<parent_module_name>子模块所属父模块的名称。例如:备注可属于“线索”父模块。它的数据类型为 STRING。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<record_ID>需要提取的父模块记录 ID。它的数据类型为 NUMBER
<page>(可选)基于页面获取记录的列表,它的数据类型为 NUMBER。默认值为 - 1。
<perPage>(可选)用于获取每个页面可用记录的列表,它的数据类型为 NUMBER。默认值为 - 200。
<connections>(可选)显示与函数关联的接口。数据类型为 STRING

备注:

  • 在任何给定的时间,可提取最多 200 条记录。

样本输入:

要提取与线索相关的市场活动:

resp = zoho.crm.getRelatedRecords("Campaigns", "Leads", 2938383000000392001);

要提取与线索相关的任务:

resp = zoho.crm.getRelatedRecords("Task", "Leads", 2938383000000392001);

语法:(基于 API 1.0)

<response>=zoho.crm._getRelatedRecords(<module_name>, <parent_module_name>, <record_ID>, [<from_index>],[<to_index>]);

更新相关记录

CRM 有各种组件,可用来存储有关特定线索或联系人的信息。您可以使用 zoho.crm.updateRelatedRecord() 任务来更新与父记录相关的记录。

语法:(基于 API 2.0)

<response>=zoho.crm.updateRelatedRecords(<relation_name>, <record_ID_1>, <parent_module_name>, <record_ID_2>, {<New values as map object>});

参数描述
<response>响应,带有匹配提取条件的记录 LIST
<relation_name>从中提取记录的模块(也称为子模块)名称。它的数据类型为 STRING。受支持的模块有:备注、报价、产品、任务、市场活动、活动、通话、邮件。
<record_ID_1>需要更新的记录的 ID。它的数据类型为 NUMBER
<parent_module_name>子模块所属的父模块名称。例如:备注可属于“线索”父模块。它的数据类型为 STRING。受支持的模块有:线索、商机、产品、联系人、市场活动、供应商、客户、服务支持、报价、销售订单、采购订单、发货单和自定义。
<record_ID_2>需要提取的父模块记录的 ID。它的数据类型为 NUMBER
<New Values as MAP object>键/值对,带有更新的记录信息。例如:{"Last_Name": "Updated Name", "Fax": "555-858-3466"}

样本输入:

要更新产品数量:

resp = zoho.crm._updateRelatedRecords("Products",2938383000000392001, "Leads", 2938383000000392001, {"Product_Quantity":"50"});

语法:(基于 API 1.0)

<response>=zoho.crm._updateRelatedRecords(<module_name>, <parent_module_name>, <record_ID>, [<from_index>],[<to_index>]);

转化线索

线索采集后的下一步将是讨论,优秀的潜在客户将从线索转化为联系人。您可以使用 zoho.crm.convertLead() 任务来转化线索信息为联系人记录。

语法:(基于 API 2.0)

<response>=zoho.crm.convertLead(<record_ID>, <overwrite>, <notify_lead_owner>, <notify_new_entity_owner>, <account_ID>);

参数描述
<response>响应,返回为 MAP
<record_ID>待提取的记录的 ID,它的数据类型为 NUMBER
<overwrite>如果线索已转化,则覆盖该数据。数据类型为 BOOLEAN,应为 true 或 false。
<notify_lead_owner>用于在转化后发送通知至线索所有者。数据类型为 BOOLEAN,应为 true 或 false。
<notify_new_entity_owner>用于在转化后发送通知至新的实体(联系人)。数据类型为 BOOLEAN,应为 true 或 false。
<account_ID>(可选)待提取的记录的 ID,它的数据类型为 NUMBER

样本输入:

resp = zoho.crm.convertLead(7000000037308, { "overwrite": true, "notify_lead_owner": false, "notify_new_entity_owner": true, "Accounts": "7000000037323", "Deals": { "Deal_Name": "Robert", "Closing_Date": "2016-03-30", "Stage": "Closed Won", "Amount": 56.6 } });

还没找到您需要的内容?

发送邮件给我们:support-crm@zohocorp.com.cn