関数連携タスク - バージョン1.0からバージョン2.0への移行
連携タスクは、事前定義された一連の関数です。関数を使用して、Zoho CRMのデータを作成、更新、取得できます。
Delugeスクリプト内で、APIの実行に必要なデータとともに、これらのメソッド名を簡単に使用できます。
このガイドでは、バージョン1.0での連携タスクの使用から、バージョン2.0での使用に移行する際に役立つ情報を紹介します。
バージョン1.0とバージョン2.0の連携タスクの相違点とは?
| 相違点 | バージョン1.0 | バージョン2.0 | 
|---|---|---|
| 連携タスク | 
 | 
 | 
| 日時形式 | バージョン1.0では、「yyyy-mm-dd hh:mm:ss」の日時形式が使用されます。 | バージョン2.0では、ISO日時形式「yyyy-MM-dd'T'HH:mm:ssXXX」が使用されます。また、日時形式をISOから「yyyy-mm-dd hh:mm:ss」形式に変更したり、タイムゾーンを設定したりすることもできます。 | 
| 自動化 | 連携タスクを介してのみワークフロールールを実行できます。 | 連携タスクを介して、ワークフロー、ブループリント、承認プロセスを実行できます。 | 
| 複数選択ルックアップ項目 | 文字列でのコンマ区切りの値として、複数選択ルックアップ項目の更新値を渡します。 | リストとして、複数選択ルックアップ項目の更新値を渡します。 | 
| URLの呼び出し | バージョン1.0では、「https://crm.zoho.com/crm/private/xml」を使用して、URKを呼び出します。 | バージョン1.0では、URLの呼び出しはドメイン固有です。例:「https://www.zohoapis.com/crm/v2/」、「https://www.zohoapis.com.cn/crm/v2/」など | 
データ作成APIの構文
- バージョン1.0
- バージョン2.0
バージョン1.0
<variable>=zoho.crm.v1.create(<module_name>,{<data_map>});バージョン2.0
<variable>=zoho.crm.createRecord(<module_name>,{<data_map>},{<optional_data_map>});データ作成APIの例
- バージョン1.0
- バージョン2.0
バージョン1.0
leadInfo = map();
leadInfo.put("Company", input.Company_Name);
leadInfo.put("Last Name", input.Last_Name);
leadInfo.put("Phone", input.Phone);
leadInfo.put("Email", input.Email_Address);
leadInfo.put("Secondary Email", input.Secondary_Email);
leadInfo.put("Country", input.Country);
response = zoho.crm.v1.create("Leads",leadInfo);バージョン2.0
leadInfo = map();
leadInfo.put("Company", input.Company_Name);
leadInfo.put("Last_Name", input.Last_Name);
leadInfo.put("Phone", input.Phone);
leadInfo.put("Email", input.Email_Address);
leadInfo.put("PO_Box", input.PO_Box);
leadInfo.put("Country", input.Country);
response = zoho.crm.createRecord("Leads",leadinfo); データ取得APIの構文
- バージョン1.0
- バージョン2.0
バージョン1.0
<variable>=zoho.crm.v1.getRecords(<module_name>,[<page>],[<per_page>], {<optional_data_map>}); バージョン2.0
<variable>=zoho.crm.getRecords(<module_name>,[<page>],[<per_page>], {<optional_data_map>}); データ取得APIの例
- バージョン1.0
- バージョン2.0
バージョン1.0
response = zoho.crm.v1.getRecords("Leads",1,100); バージョン2.0
response = zoho.crm.getRecords("Leads",1,200); IDによるデータ取得APIの構文
- バージョン1.0
- バージョン2.0
バージョン1.0
<variable>=zoho.crm.v1.getRecordById(<module_name>,id);
バージョン2.0
<variable>=zoho.crm.getRecordById(<module_name>,id);
IDによるデータ取得APIの例
- バージョン1.0
- バージョン2.0
バージョン1.0
response = zoho.crm.v1.getRecordById("Leads",1234567890); バージョン2.0
response = zoho.crm.getRecordById("Leads",1234567890); データ更新APIの構文
- バージョン1.0
- バージョン2.0
バージョン1.0
<variable>=zoho.crm.v1.updateRecord(<module_name>,id,{<data_map>}); バージョン2.0
<variable>=zoho.crm.updateRecord(<module_name>,id,{<data_map>},{<optional_data_map>}); データ更新APIの例
- バージョン1.0
- バージョン2.0
バージョン1.0
leadInfo = map();
leadInfo.put("Company", input.Company_Name);
leadInfo.put("Last Name", input.Last_Name);
response = zoho.crm.v1.updateRecord("Leads","1234567890",leadInfo); バージョン2.0
leadInfo = map();
leadInfo.put("Last_Name", input.Last_Name);
leadInfo.put("Phone", input.Phone);
response = zoho.crm.updateRecord("Leads",123456789,leadinfo); 時間操作
- バージョン1.0
- バージョン2.0
バージョン1.0
recordInfo = zoho.crm.v1.getRecordById("Leads",1757572000004432004);
lastActivityTime = recordInfo.get("Modified Time");// To get the last activity time of the lead record
Result: 2019-05-22 17:08:03 バージョン1.0の連携タスクでは、「yyyy-mm-dd hh:mm:ss」形式のみで時間を返します。
バージョン2.0
recordInfo = zoho.crm.getRecordById("Leads",1757572000004432004);
lastActivityTime = recordInfo.get("Last_Activity_Time");// To get the last activity time of the lead record
Result: 2019-06-30'T'13:20:34IST バージョン2.0の連携タスクでは、ISO形式「 yyyy-MM-dd'T'HH:mm:ssXXX)」で時間を受け取り、返します。
Delugeスクリプトの備え付けの関数であるtoTimeを使用して、ISO形式を通常形式「yyyy-mm-dd hh:mm:ss」に変換することもできます。
normalActivityTime = lastActivityTime.toTime("yyyy-MM-dd'T'HH:mm:ssXXX");
Result: 2019-06-30 13:20:34 以下のスクリプトを使用すると、データの最終活動日時を選択したタイムゾーンに設定できます。「your_time_zone」には、ST、PST、PDTなどのタイムゾーンを指定する必要があります。
timeZoneValue = lastActivityTime.toTime("yyyy-MM-dd'T'HH:mm:ssXXX").toString("yyyy-MM-dd HH:mm","your_time_zone");自動化
- バージョン1.0
- バージョン2.0
バージョン1.0
recordInfo = zoho.crm.v1.getRecordById("Leads",1757572000004432004);
lastActivityTime = recordInfo.get("Modified Time");// To get the last activity time of the lead record
Result: 2019-05-22 17:08:03バージョン1.0の連携タスクでは、データの作成/更新時に、ワークフロールールのみ実行できます。
ここで、
Leads はタブ名です。
Data_Map は、更新する項目のリストです。
0 は、挿入時に重複チェックをするかどうかを表しています。
false/true は、wfTriggerパラメーターの値です。Trueは、ワークフローが実行されていることを示し、falseは、ワークフローが実行されていないことを示します。
バージョン2.0
triggers = list();
triggers.add("workflow");
triggers.add("approval");
triggers.add("blueprint");
zoho.crm.createRecord("Leads", dataMap,{"trigger":triggers});バージョン2.0では、連携タスクを介してワークフロー、ブループリント、承認プロセスを実行できます。これらの自動化ルールを実行するには、上記のコードを使用します。
追加のデータマップに指定しない場合でも、ブループリントと承認プロセスは初期設定で実行されます。
zoho.crm.createRecord("Leads", dataMap);自動化ルールを実行したくない場合は、下記のように、リクエストで空のリストを送信します。
zoho.crm.createRecord("Leads", dataMap,{"triggers":[]});複数選択ルックアップ項目
- バージョン1.0
- バージョン2.0
バージョン1.0
newlist = "value1,value2,value3";
mp = Map();
mp.put("Active Products",newlist);
update = zoho.crm.v1.updateRecord("Accounts",acctId.toString(),mp);
info mp;
info update;バージョン1.0の連携タスクでは、複数選択ルックアップ項目を更新するために、上記のように、文字列でのコンマ区切りの値として項目値を渡します。
バージョン2.0
newlist = {"value1","value2","value3"};
mp = Map();
mp.put("Active_Products",newlist);
update = zoho.crm.updateRecord("Accounts",acctId.toLong(),mp);
info mp;
info update;バージョン2.0の連携タスクでは、複数選択ルックアップ項目を更新するために、上記のように、リストで項目値を渡します。
URLの呼び出し
データの取得
- バージョン1.0
- バージョン2.0
バージョン1.0
response = invokeurl [ url :"https://crm.zoho.com/crm/private/xml/Leads/getRecords" type :GET connection:"crmv1" ];
バージョン2.0
RecordInfo = Map();
RecordInfo.put("Company","Zylker");
RecordInfo.put("Last_Name","Downey");
RecordInfoarray = List();
RecordInfoarray.add(RecordInfo);
Param=Map();
Param.put("data", RecordInfoarray);
triggerList = List();
triggerList.add("workflow");
Param.put("trigger",triggerList);
response = invokeUrl [
    url : "https://www.zohoapis.com/crm/v2/Leads/3992156000000858001"
    type : PUT
    parameters : Param.toString()
    connection : v2api
];
return response;データの挿入
- バージョン1.0
- バージョン2.0
バージョン1.0
param = Map();
param.put("xmlData","<Leads><row no=\"1\"><FL val=\"Last Name\">Robert</FL></row></Leads>");
response = invokeurl
[
	url :"https://crm.zoho.com/crm/private/xml/Leads/insertRecords"
	type :POST
	parameters:param
	connection:"crmv11"
];
バージョン2.0
RecordInfo = Map();
RecordInfo.put("Company","Zylker");
RecordInfo.put("Last_Name","Robert");
RecordInfoarray = List();
RecordInfoarray.add(RecordInfo);
Param=Map();
Param.put("data", RecordInfoarray);
triggerList = List();
triggerList.add("workflow");
Param.put("trigger",work);
response = invokeUrl [
    url : "https://www.zohoapis.com/crm/v2/Leads"
    type : POST
    parameters : Param.toString()
    connection : v2api
];
return response;
データの更新
- バージョン1.0
- バージョン2.0
バージョン1.0
param = Map();
param.put("xmlData","<Leads><row no=\"0\"><FL val=\"Last Name\">Boyle_1</FL><FL val=\"Start DateTime\">2009-08-04 01:00:00</FL><FL val=\"End DateTime\">2009-08-05 01:00:00</FL></row></Leads>");
param.put("newFormat","1");
param.put("id","3992156000000858001");
response = invokeurl
[
	url :"https://crm.zoho.com/crm/private/xml/Leads/updateRecords"
	type :POST
	parameters:param
	connection:"crmv11"
];
バージョン2.0
RecordInfo = Map();
RecordInfo.put("Company","Zylker");
RecordInfo.put("Last_Name","Downey");
RecordInfoarray = List();
RecordInfoarray.add(RecordInfo);
Param=Map();
Param.put("data", RecordInfoarray);
triggerList = List();
triggerList.add("workflow");
Param.put("trigger",triggerList);
response = invokeUrl [
    url : "https://www.zohoapis.com/crm/v2/Leads/3992156000000858001"
    type : PUT
    parameters : Param.toString()
    connection : v2api
];
return response;
データの検索
- バージョン1.0
- バージョン2.0
バージョン1.0
Param="email=p.boyle@zylker.com";
response = invokeUrl [
    url : "https://www.zohoapis.com/crm/v2/Leads/search?"+Param
    type : GET
    connection : v2api
];
return response;
バージョン2.0
Param="email=p.boyle@zylker.com";
response = invokeUrl [
    url : "https://www.zohoapis.com/crm/v2/Leads/search?"+Param
    type : GET
    connection : v2api
];
return response;
詳細については、REST APIガイドをご参照ください。