Zoho CRMでAPIを介してマルチセレクトルックアップフィールドを更新 - リンクモジュールまたはREST APIを使用して多対多の関係を確立する

Zoho CRMでAPIを介してマルチセレクトルックアップフィールドを更新 - リンクモジュールまたはREST APIを使用して多対多の関係を確立する

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要: 

Multi-選択する Lookup 項目は、Zoho CRMで多対多の関係を2つのタブ間で構築できます。1つのタブのデータがもう一方のタブの複数のデータと紐付けられる場合や、その逆の場合に便利です。

法人例:

たとえば、法人がトレーニングサービスの商談を行っているとします。TrainersタブとCoursesタブがあり、各トレーナーは複数のコースを担当でき、各コースも複数のトレーナーが実施できます。このような場合、TrainersとCourses間でmulti-選択する lookup 項目を使うことで、どちらのタブからも関係性を簡単に管理・表示できます。

InfoMulti-選択する Lookup 項目の詳細については、こちらのドキュメントをご参照ください。

Multi-選択する Lookup 項目の機能について:

multi-選択する lookup 項目をタブに追加すると、参照先(lookup元)のタブにも対応するmulti-選択する lookup 項目が自動的に作成され、双方向の関係性が構築されます。

例:

もしTrainersタブでCoursesタブ向けのmulti-選択する lookup 項目を追加した場合:
  • CoursesタブにもTrainersという項目が自動的に作成されます。
  • Trainer AにCourses X、Y、Zを関連付けた場合:

    • Trainer Aのmulti-選択する項目には、Courses X、Y、Zが表示されます。
    • また、Course Xの対応するmulti-選択する lookup 項目にもTrainer Aが表示されます。

スクリーンショット

  

 

Linkingタブ:

複数選択のlookup項目を作成する際、Linkingタブを有効にすることができます。Linkingタブは、データ間のリレーションシップを個別のエントリーとして保存し、外部連携を明示的に保持・参照するのに役立ちます。



上記の例を続けます:


Linking データ
リレーションシップ
データ 1

コースX ↔
トレーナーA
データ 2
コースY ↔ トレーナーA
データ 3
コースZ ↔ トレーナーA

スクリーンショット







なぜAPIでMulti-選択するLookup項目を更新するのか?

ユーザーはCRMのUIから手動でデータを関連付けることも可能ですが、APIを利用してマルチ選択Lookup項目をプログラムで更新することで、以下のような大きなメリットがあります:

  • 一括関連付け:複数のデータを一度に簡単に関連付けることができ、特に移行や大量更新時に役立ちます。
  • 自動化:ワークフロー、連携、または外部システムのロジックの一部として更新をトリガーすることが可能です。
  • 効率:大量データの処理時に時間を節約し、ヒューマンエラーの削減にもつながります。

パートナーがカスタムソリューションを構築する場合や、サードパーティデータのインポート、複雑なデータ関連を複数のタブで扱うケースにも特に有用です。

APIでMulti-選択するLookup項目を更新する方法


Zoho CRM APIを使用して、プログラムでマルチ選択Lookup項目を更新する方法は2つあります。

方法1:リンク用タブを使用

リンク用タブでデータを作成することで、データ間の関係が確立され、両タブのマルチ選択Lookup項目に反映されます。

Delugeスクリプト例:

  1. mp = Map();
  2. mp.put('Trainers', trainerId);
  3. mp.put('Courses', courseId);
  4. createRecord = Zoho.crm.createRecord('Trainers_and_Courses', mp);
  5. info createRecord;

Notesメモ:

➤ Trainers_and_Courses - 紐付け用タブのAPI名前です。
➤ Courses_Multi_Select_Lookup - Trainersタブ内にある複数選択可能なルックアップ項目のAPI名前です。
Trainers_Multi_Select_Lookup = Coursesタブ内に作成した複数選択可能なルックアップ項目のAPI名前です。


アプローチ2:REST APIを直接利用して更新(リンク用タブなし)

また、CRM REST API(v2.1)を利用して、複数選択ルックアップ項目を直接更新することも可能です。

サンプルスクリプト:

  1. // 複数のコースデータのマップを格納するリストを初期化
  2. recordMapsList = list();

  3. // 最初のコースのIDと名前でマップを作成
  4. firstCourse = Map();
  5. firstCourse.put('id',5117245000058535290);
  6. firstCourse.put('名前','Course Y');

  7. // ルックアップ項目API名前を使って最初のコースを別のマップでラップ
  8. courseOneMap = Map();
  9. courseOneMap.put('Courses_Multi_Select_Lookup',firstCourse);

  10. // 最初のコースのマップをリストに追加
  11. recordMapsList.追加する(courseOneMap);

  12. // 2つ目のコースのIDと名前でマップを作成
  13. secondCourse = Map();
  14. secondCourse.put('id',5117245000058535300);
  15. secondCourse.put('名前','Course Z');

  16. // 同じルックアップ項目API名前を使って2つ目のコースを別のマップでラップ
  17. courseTwoMap = Map();
  18. courseTwoMap.put('Courses_Multi_Select_Lookup',secondCourse);

    // second course のマップをリストに追加します
  19. recordMapsList.追加する(courseTwoMap);

  20. // multi-選択する lookup 項目の最終マップを作成します
  21. multiSelectLookupFieldMap = Map();
  22. multiSelectLookupFieldMap.put('Courses_Multi_Select_Lookup',recordMapsList);

  23. // 項目マップを「data」キーの下のリストに追加します(CRM API の必須形式)
  24. data = list();
  25. data.追加する(multiSelectLookupFieldMap);

  26. // PUTリクエストで送信する最終データの内容を作成します
  27. データの内容 = Map();
  28. データの内容.put('data',data);

  29. // API 通話を実行し、関連付け済みのコースでTrainerデータを更新します
  30. updateRecord = invokeurl
  31. [
  32. url :'https://www.zohoapis.com/crm/v7/Trainers/5117245000059509243'
  33. 種類 :PUT
  34. パラメーター:データの内容.toString()
  35. connection:'zohocrm'
  36. ];
  37. info updateRecord;

メモ:

Trainers - Coursesのmulti-選択するlookup項目が存在するタブのAPI名前です。
Courses_Multi_Select_Lookup - Trainersタブ内のmulti-選択するlookup項目のAPI名前です。

結論:

Linkingタブのアプローチまたは直接REST APIでの更新を活用することで、Zoho CRMのマルチ選択ルックアップの関連付けを効率的に管理・自動化できます。ご利用の連携シナリオに最適な方法を選択してください。

カスタムSolution作成者 Yogeshwari N| Zohoパートナーサポート

ご不明点がございましたら、どうぞお気軽に パートナー-サポート@zohocorp.com までご連絡ください。

さらに、ヨーロッパおよびイギリスのパートナーの皆様は、パートナー-サポート@eu.zohocorp.com までご連絡くださいますようお願いいたします。