関数連携タスク - バージョン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ガイドをご参照ください。