Zoho CRMでバルク書き込みAPIとDelugeを使用して大量レコードのインポートを自動化する

Zoho CRMでバルク書き込みAPIとDelugeを使用して大量レコードのインポートを自動化する

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

概要:

この記事では、Zoho CRMのBulk Write API(v8)をDelugeスクリプトとZoho WorkDriveと組み合わせて、大量データのインポート業務を自動化する方法を解説します。このプロセスは2つのカスタム関数に分かれており、1つは一括インポートの開始用、もう1つはステータスの追跡用です。

カスタム関数: WorkDriveからの一括データインポート自動化  

要件概要:


多くの企業は、顧客データベースのような大規模なデータ入力業務に直面しています。CRMのUIを使い手動でデータをアップロードする方法は、時間がかかり、エラーも発生しやすく、効率的ではありません。

本ソリューションでは、以下の方法でワークフローを自動化します。
  1. WorkDriveにアップロードされた.CSVデータを含む.郵便番号ファイル
  2. Zoho CRMでの2つのカスタム関数:
a) ファイルをアップロードし、Bulk Write APIを起動
b) ジョブステータスを追跡し、結果を取得

Zoho CRMでのカスタム関数の導入  

このユースケースでは、2つのカスタム関数が必要です。
  1. 関数1:
    • WorkDriveから.郵便番号ファイルを取得
    • ファイルをCRMへアップロード
    • Bulk Write APIを呼び出す
    • ジョブIDをCRM変数に保存
  1. 関数2:
    • ジョブIDを取得します
    • ジョブのステータスを追跡します
    • 完了後に結果ファイルをダウンロードします
Function 2の実行をCRMのSchedulesタブで遅延実行として設定できます。


ユースケース
  

シナリオ:


不動産会社は毎日新規物件データをCSV形式で受領しています。目標は、このデータを用いてCRM内で「Floorプラン」データを一括自動作成することです。CSVファイルはZIP化され、WorkDriveに保存されます。この設定によりデータの一貫性が保たれ、手動インポートの手間を省くことができます。

設定手順:
 

1. 必須タブ項目を含む.csvファイルを準備します。  
  • 例:カラム:名前、メールなど
  • ファイルをZIP化し、指定のWorkDriveフォルダーにアップロードします。
2. 「Job_Id」という名前のCRM変数を作成します  
  • API名:Job_Id
  • 種別:Text
3. 設定 API 外部連携 
  • 1つはWorkDrive
  • 1つはZoho CRM(この例では crm という名前)


コード  

Function 1: 一括書き込みジョブの開始  

(WorkDrive ファイルをダウンロード → CRM にアップロード → 一括書き込みジョブを開始 → ジョブIDを保存)

  1. // WorkDrive からファイルを取得
  2. headerMap = Map();
  3. headerMap.put('承認する','application/vnd.api+json');

  4. fetchFiles = invokeurl
  5. [
  6. url :'https://www.zohoapis.com/workdrive/api/v1/files/ /files'
  7. メソッド : GET
  8. ヘッダー: headerMap
  9. connection:'workdrive'
  10. ];
  11. documentId = fetchFiles.getJSON('data').get(0).get('id');

  12. // ファイルをダウンロードする
  13. downloadFile = invokeurl
  14. [
  15. url :'https://download.zoho.com/v1/workdrive/download/'+ documentId
  16. 種類 :取得する
  17. ヘッダー:headerMap
  18. connection:'workdrive'
  19. ];

  20. // CRMへアップロードする
  21. headerMap = Map();
  22. headerMap.put('feature', 'bulk-write');
  23. headerMap.put('X-CRM-ORG', ' ');

  24. uploadFile = invokeurl
  25. [
  26. url: 'https://content.zohoapis.com/crm/v8/アップロードする'
  27. 種類: POST
  28. ヘッダー: headerMap
  29. files: downloadFile
  30. connection: 'crm'
  31. ];

  32. fileId = uploadFile.取得する('詳細').取得する('file_id');

  33. // Bulk Writeデータの内容を構築
  34. fieldMappings = list();
  35. fieldMappings.追加する({'api_name':'名前','index':0});
  36. fieldMappings.追加する({'api_name':'メール','index':1});

  37. resource = Map();
  38. resource.put('種類','data');
  39. resource.put('タブ',{'api_name':'Floor_plans'});
  40. resource.put('field_mappings',fieldMappings);
  41. resource.put('file_id',fileId);

  42. data = list();
  43. data.追加する(resource);

  44. データの内容 = Map();
  45. データの内容.put('operation','insert');
  46. データの内容.put('ignore_empty','真');
  47. データの内容.put('callback',{'url': 'https://Webhook.site/ ','method':'post'});
  48. データの内容.put('resource',data);

  49. // 一括書き込みAPIをトリガーする
  50. headerMap = Map();
  51. headerMap.put('コンテンツの種類','application/json');

  52. bulkWrite = invokeurl
  53. [
  54. url :'https://www.zohoapis.com/crm/bulk/v8/write'
  55. 種類 :POST
  56. パラメーター:データの内容.toString()
  57. ヘッダー:headerMap
  58. connection:'crm'
  59. ];

  60. jobId = createBulkWrite.getJSON('詳細').取得する('id');

  61. jobIdVariable = '<変数のIDを追加する>';

  62. variableMap = Map();
  63. variableMap.put('id',jobIdVariable);
  64. variableMap.put('値',jobId);

  65. variablesList = List();
  66. variablesList.追加する(variableMap);

  67. param = Map();
  68. param.put('variables',variablesList);

  69. // Job IDの値で変数を更新する
  70. updateVariable = invokeurl
  71. [
  72. url :'https://www.zohoapis.com/crm/v8/設定/variables'
  73. 種類 :PUT
  74. パラメーター:param.toString()
  75. connection:'crm'
  76. ];
  77. info updateVariable;




機能2: Jobステータスの追跡 & Resultのダウンロード  

(スケジュールを使って実行 – の後15~30分)

  1. // Job IDの変数情報を取得
  2. getVariableInfo = invokeurl
  3. [
  4. url: 'https://www.zohoapis.com/crm/v8/設定/variables/3361723000088498029'
  5. 種類: 取得
  6. connection:'stagehistory'
  7. ];
  8. info getVariableInfo;

  9. variableValue = getVariableInfo.getJSON('variables').取得(0).取得('値');
  10. info variableValue ;

  11. // Job 詳細 API を通じてステータスを確認する
  12. jobDetails = invokeurl
  13. [
  14. url: 'https://www.zohoapis.com/crm/bulk/v8/write/'+jobId
  15. 種類: 取得する
  16. connection:'stagehistory'
  17. ];
  18. info jobDetails;

  19. jobStatus = jobDetails.getJSON('ステータス');

  20. // ジョブのステータスを確認する
  21. if(jobStatus == '完了') {
  22. // ジョブのステータスが完了の場合にタスクを実行するためのロジック
  23. }
カスタム Solution 作成者 Francis (Vishnu) | Zoho パートナー サポート

ヒント:よくあるエラーを回避する方法  

  1. スクリプト内で正しいAPI名タブ&項目に対して使用するようにしてください。

  2. 意図した出力を取得するために、info() ログを各変数ごとに使用し、Zoho CRM Function IDEのコンソールセクションで動作や出力を確認することを推奨します。

  3. 関数スクリプト内で外部連携を使用している場合は、必須スコープを接続に追加し、意図したAPI操作ができるようにしてください。また、Deluge Invoke URLやIntegrationタスクに渡す際は、外部連携のリンク名(例:crm_connection)を必ず使用してください。

  4. 一般的な運用として、US DCのAPIエンドポイントを使用していますが、他のDC(IN、EU、CA、AUなど)のCRMアカウントをご利用の場合は、該当するDCのAPIエンドポイントURLを使用してください。
以下の ガイド記事を参照し、Best Practices for Optimizing the コード および Zoho CRM 全体でカスタム関数を展開するさまざまな方法についてご確認ください。



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

また、すべての 「Europe および イギリスのパートナー」の皆様は、パートナー-サポート@eu.zohocorp.comまでご連絡ください。

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



            Zoho Campaigns Resources

              Zoho WorkDrive Resources




                • Desk Community Learning Series


                • Digest


                • Functions


                • Meetups


                • Kbase


                • Resources


                • Glossary


                • Desk Marketplace


                • MVP Corner


                • Word of the Day


                • Ask the Experts









                                • Related Articles

                                • Zoho Webhookを使用してZohoフォームにZoho CRMからフィールド値を自動入力する

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Requirement 詳細: Zoho FormsはZoho CRMと連携することができ、必須項目を追加して顧客に送信し、データの収集を効率化します。Zoho CRMとZoho Formsの連携により、フォームの入力内容を直接Zoho ...
                                • Zoho Analyticsにおける複数のZoho Books組織からの多通貨財務報告書

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Requirement 概要: ユーザーはZoho Booksの複数のインスタンス(組織)を、異なる基準通貨(EUR、GBP、INR、SEK)で運用しています。ユーザーは4つすべての組織のデータを統合したレポート(P&L、貸借対照表、キャッシュフロー)を作成し、統合されたZoho ...
                                • Zoho Delugeを使用したZoho CRMのメールテンプレート送信

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要: Zoho CRMでは、ユーザーが複数の受信者に標準化されたメッセージを送信するためのメールテンプレートを作成できます。場合によっては、ユーザーがDelugeを使用してカスタム関数経由でこれらのテンプレートを送信したいことがあります。本ガイドでは、Delugeを利用してZoho ...
                                • 📘 Zoho CRM – キオスクとクエリの実装によるZoho BooksおよびDeskの連絡先情報の表示

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 法人利用ケース: ある法人が、複数のZohoアプリケーション(Zoho BooksやZoho Deskなど)にまたがる連絡先の統合情報を、Zoho CRMの連絡先データから直接、素早く表示したいと考えています。 具体的には、以下の内容が含まれます: 連絡先がZoho ...
                                • ZohoパートナーのためのZoho CRMの遅延とパフォーマンス問題のトラブルシューティングガイド

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

                                Resources

                                Videos

                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                eBooks

                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                Webinars

                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                CRM Tips

                                Make the most of Zoho CRM with these useful tips.