APIを使用して自己クライアント経由で2つのZoho CRM組織間でデータを同期する方法を探る

APIを使用して自己クライアント経由で2つのZoho CRM組織間でデータを同期する方法を探る

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

Requirement 概要

ユーザーは、Org Aで作成または更新されたデータが自動的にOrg Bにも反映されるよう、2つのZoho CRM組織間でデータを同期したいと考えています。すなわち、Zoho CRM Org Aにデータが追加または更新されるたびに、同じ変更内容がOrg Bにも同期される必要があります。

使用するケース

企業が地域ごとの運用や異なる法人単位、外部パートナーとの共同作業のために複数のZoho CRM組織を管理している場合があります。このような状況では、各組織間でデータを同期することで、チーム間の一貫性や共同作業、情報の可視化が実現できます。
  1. 法人における使用例
グローバル+リージョナル組織
-> 企業が中央集計用のグローバルZoho CRM組織と、地域営業チーム向けの複数のリージョナルZoho CRM組織を持っている場合。
-> リージョナル組織で取得した見込み客は、中央管理のためグローバル組織に同期する必要があります。
-> グローバル組織から「Qualified Lead」や「完了済み Won 商談」などの更新をリージョナル組織へ反映させることもできます。

親会社+子会社
-> 親会社は1つの組織で法人取引先およびエンタープライズ商談を管理します。
-> 子会社の組織は、地域営業を独自の組織で管理します。
-> 同期により、親会社は子会社の営業進捗を把握できます。

販売者–パートナー共同作業
-> 販売者が1つのZoho CRM組織を使用し、再販業者やパートナーが別の組織を使用する場合。
-> 同期により、パートナーが商談や案件を販売者の組織に送信し、承認や納品、請求処理を行うことができます。
-> 販売者組織からパートナー組織へ商品や価格情報の更新を配信することも可能です。
  1. この仕組みを直接実現する際の現在の課題

現在、2つのZoho CRM取引先間で直接統合を設定するオプションはありません。ユーザーが手動でエクスポート/インポートすることは可能ですが、継続的に手作業が必要となります。しかし、ユーザーは手作業なしでデータを自動同期することを希望しています。

Solutions - 手順ごとの実装ガイド

ユーザーはSelf-Client方式を用いてCRM APIを利用し、もう一方のCRM組織でデータの作成・更新が可能です。これにより、2つのCRM組織間でシームレスな統合を設定できます。
  1. データセンター間でZoho CRMと連携する方法を参照

-> ここでは、2つのZoho CRM 取引先があります。1つはUS DCに含まれ、もう1つはIN DCに含まれています。US DC CRMと連携するには、US DCのZoho CRM API Access権限を持つユーザーが、Self Client方式でGrant Tokenを生成する必要があります。

-> Grant Tokenを使って、ユーザーはAccessトークンと更新するトークンを生成できます。これらのトークン(Accessトークンと更新するトークン)は、US DC CRMアカウントとの連携に利用されます。

-> Accessトークンは、該当するCRMアカウントとやり取りするためのキーとなり、更新するトークンは新しいAccessトークンを生成する際に使用されます。なお、Accessトークンは1時間以内に有効期限が切れます。
  1. 権限と利用可能性

Info
1) ユーザー権限でZoho CRM API Accessが有効である必要があります。
2) ユーザー権限で管理自動化が有効である必要があります。
  1. US DCのZoho CRMでの前提条件
    1) Grant Token
    2) Access Token
    3) 更新するToken

Notes
OAuth認証に関する概要および手順については、このヘルプリンクを参照してください。Zohoの認証方式(Grant、Access、更新するTokenを含む)について詳細に案内しています。

      Configuration 設定

手順 1:US DC CRMの取引先ユーザーでZoho CRM API Access権限を持つ方は、Zoho Developerコンソールに移動し、セルフクライアント方式でGrant Tokenを生成してください。

手順 2:Client種類をSelf Clientに選択します。

手順 3: 必須scope、時間期間(10)、scope説明を入力します。

手順 4: 「作成」をクリックすると、Grant Tokenが表示されます。

手順 5: 他のAPI実行コンソール(例:Postman、Insomniaなど)を使用してAccessおよび更新するTokenを生成するか、下記のcode1を利用し、CRMからAccessおよび更新するTokenを生成することもできます。

Notes
Grant Tokenを利用して、10分以内にAccess Tokenおよび更新用トークンを生成してください。 Grant Tokenの有効期間は最大10分です
  1. Delugeスクリプト例 - コード1:

  1. accesstokenmp = Map();
  2. accesstokenmp.put('grant_type', 'authorization_code');
  3. accesstokenmp.put('client_id', '1000.CHZ74KIIK1LFMZJ7K6073ZSD9TQ8RT');
  4. accesstokenmp.put('client_secret', '616dcf2104dc5e6a5e5921b9ad828b20308be5547c');
  5. accesstokenmp.put('コード', '1000.fa1d4da1df80805c1a9a0dffe3e76af3.3898323428c16839635fb42c082cd300');
  6. response = invokeUrl [
  7. url: 'https://取引先.Zoho.com/oauth/v2/token'
  8. 種類: POST
  9. パラメーター: accesstokenmp
  10. ];
  1. Grant Tokenの解説動画

  1. Accessトークンと更新トークンを生成する方法

1) 開発者ツール例:Postman、Insomnia
2) Zoho Deluge Invoke URL タスク
      -> 開発者ツール(Postman、Insomniaなど)によるAccess Tokenの生成



-> Zoho Deluge Invoke URL タスクによるアクセストークンの生成


  1. Zoho CRM IN DC でカスタムソリューションを導入する手順

CRM IN DCアカウントで、必須の詳細情報を入力してワークフローを作成します。

データ作成時にトリガーを設定し、条件(必要な場合)を指定したうえで、ワークフローのインスタント処理に下記のcode2を使用します。


      サンプル Deluge スクリプト - Code2:

  1. 無効 自動化.TBSolution()
  2. {
  3. refreshtoken = Map();
  4. refreshtoken.put('refresh_token', '1000.c10f1746037754011ed558e92f558f70.6a1c309c4c3715efca7************');
  5. refreshtoken.put('client_id', '1000.O466EKV1NQT0ZKHATWA***********');
  6. refreshtoken.put('client_secret', '1b74110de0dfc1156e00a3003037a2471*********');
  7. refreshtoken.put('grant_type', 'refresh_token');
  8. //アクセストークンのリフレッシュ処理
  9. response = invokeUrl [
  10. url: 'https://取引先.Zoho.com/oauth/v2/token'
  11. 種類: POST
  12. パラメーター: refreshtoken
  13. ];
  14. accesstoken = response.取得する('access_token');
  15. mp = Map();
  16. datamp = Map();
  17. datalist = List();
  18. mp.put('Last_Name', 名前);
  19. datalist.追加する(mp);
  20. datamp.put('data', datalist);
  21. headersMap = Map();
  22. headersMap.put('Authorization','Zoho-oauthtoken ' +accesstoken);
  23. //IN DCで新規に見込み客データが作成されるたびに、US DCのCRMアカウントにも見込み客データを作成します。
  24. response1 = invokeurl
  25. [
  26. url :'https://www.zohoapis.com/crm/v7/見込み客'
  27. 種類 :POST
  28. パラメーター:datamp.toString()
  29. ヘッダー:headersMap
  30. ];
  31. }
  1. 動作デモ - Screencast



Info
他の方法については以下をご参照ください - ソリューション 記事で、データを2つのZoho CRM取引先間で同期する方法をご案内しています。



Quote
カスタム Solution 作成者 Hemanth Kumar L M

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

Notes
また、Europe および イギリス Partnersの皆様はパートナー-サポート@eu.zohocorp.comまでご連絡をお願いいたします。