関数連携タスク - バージョン1.0からバージョン2.0への移行

連携タスクは、事前定義された一連の関数です。関数を使用して、Zoho CRMのデータを作成、更新、取得できます。

Delugeスクリプト内で、APIの実行に必要なデータとともに、これらのメソッド名を簡単に使用できます。

このガイドでは、バージョン1.0での連携タスクの使用から、バージョン2.0での使用に移行する際に役立つ情報を紹介します。

バージョン1.0とバージョン2.0の連携タスクの相違点とは?

相違点バージョン1.0バージョン2.0
連携タスク
  1. バージョン1.0の連携タスク用の構文には、サービス名の後に「v1」を含みます。
    例: response = zoho.crm.v1.getRecords("Leads",1,100);

  2. リクエストで項目の項目名を使用します。

  1. バージョン2.0の連携タスク用の構文には、バージョン数は含まれません。
    例: response = zoho.crm.getRecords("Leads",1,200);

  2. リクエストで項目のAPI名を使用します。

日時形式バージョン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
 

詳細については、REST APIガイドをご参照ください。