Zoho CRMのレコードをZohoクリーエーター (バージョンC5)に入れる時のスクリプト解説!
有料会員ページ
Zoho CRMのレコードをZohoクリエーター(バージョンC5)に入れる方法
Zoho CRMのレコードを入れようとしたら、Zohoクリエーターにバージョンを上げた途端(C4=>C5)、スクリプトがうまく動かなかったので、備忘録を書いておこうと思う。
前回のクリエーターのバージョンでの記事はこちらを参照。
Zohoクリエーターのバージョン5.0にして何が変わったのか?
Zohoクリエーターのバージョン5.0に上げて、CRM連携の項目にあった「項目のID」が消えていた。。
Zohoクリエーターのバージョン4には、項目のIDがある。
この「項目のID」が消えてしまったことで、以下のスクリプトが機能しなくなった。
しかし、Zohoクリエーターのバージョン5には「項目のID」が消えていて「項目のリンク名」のみとなっている。
contact_map = Map(); contact_map = zoho.crm.getRecordById("Contacts",input.Zoho_CRM1_ID); //第2引数のinput.Zoho_CRM1_IDの部分
スクリプトにもエラーが。。
Zoho CRMと連携する項目内に、「項目のID」がなかったので、項目リンク名をそのまま入れたものの、こちらもスクリプトのエラーが連発。
エラーの内容は、getRecordByIdの第2引数は、文字列(String)ではなく、数字(Bigint)にしろとのこと。こんなエラーあったかなぁ。。
Zohoクリエーターのサポートに直接確認をした所、以下の関数(toLong())を入れることで解決するとのこと。
contact_map = zoho.crm.getRecordById("Contacts",input.Zoho_CRM.toLong()); //第2引数は、「項目リンク名」ひ変更、その後にtoLong()を追加。
The toLong() function returns Long from the given expression. The hexadecimal string should be preceded by ‘0x’. Eg “0x1F”.toLong() returns hexadecimal value of ‘1F’.
これでスクリプトのエラーが消えたが、うまく作動しない。。
上記でスクリプトエラーは消えたものの、うまく作動しない。。。理由はスクリプトを書く場所が違っていた。。ZohoクリエーターがC5に上がってから、ワークフローの処理が非常に細かく分類されていた。それぞれの分類の違いがあまりよくわからないので、とりあえず「Delugeスクリプト>読み込み時」を選んだことが大きな間違いだった。正解は、「項目のアクション>ユーザーの入力時」を選び、該当する項目(今回は、Zoho CRMと連携している連携項目)を選ぶ必要がった。
Zoho CRMの項目名も違った。。
Zoho CRMとクリエーターの項目名を合わせようとしたが、CRMの項目名も違っており、データがうまく入らなかった。以前までは、デフォルトの項目名とカスタムの項目名(任意でつけた項目名を””でかっこっただけ)だったが、Zoho CRMの設定から「API>API名」で確認の必要があった。
最終的にできたスクリプトはこんな感じ。。
contact_map = Map(); contact_map = zoho.crm.getRecordById("Contacts",input.Zoho_CRM.toLong()); input.first_name = contact_map.get("First_Name"); input.last_name = contact_map.get("Last_Name"); input.kana = contact_map.get("field26"); input.age = contact_map.get("field29"); input.email = contact_map.get("Email");
この仕様を詳しく「動画」でみたい方はこちら!
この仕様を動画化しました。本使用解説を動画で詳しくみたい方は是非、「Zohoで起業支援」にご登録ください。