カスタムアプリを使用したWorkDriveでのWebhook設定

カスタムアプリを使用したWorkDriveでのWebhook設定

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

組織のセキュリティを強化し、生産性を高め、使いやすさを向上させ、その他多くのメリットを WorkDriveのカスタムアプリで実現しましょう。

WorkDriveチームの管理者またはスーパ管理者は、Admin Consoleから直接カスタムアプリを作成・管理できます。カスタムアプリは、一般的に、WorkDriveチーム内でご自身や組織の特有のニーズや設定に対応するアプリケーションを作成できる機能です。

Notes
メモ: 現在、WorkDriveではカスタムアプリを利用してWebhookの設定が可能です。

Info
機能の利用可否および制限事項:

この機能はWorkDrive 法人プランでのみ利用できます。

法人プランユーザーは以下の制限内でカスタムアプリの作成およびWebhookの設定が可能です:
  1. WorkDriveチームにつき最大10件のカスタムアプリを作成できます。
  2. 各カスタムアプリにつき最大10件のWebhookを設定可能です。
  3. Webhook通話は1日あたり最大50,000回まで実行可能です。

法人プラン試用ユーザーは以下の制限内でカスタムアプリの作成およびWebhookの設定が可能です:
  1. WorkDriveチームにつき、カスタムアプリは1件のみ作成可能です。
  2. 各アプリにつきWebhookは2件のみ設定可能です。
  3. Webhook通話は1日あたり最大50,000回まで実行可能です。

カスタムアプリを作成する方法

  1. 管理者またはスーパ管理者としてWorkDriveアカウントにサインインします。
  2. Admin Consoleを左下隅でクリックします。これによりAdmin Consoleウィンドウが開き、ダッシュボードタブが初期状態で選択されます。

  3. 左側ペインからAppsタブをクリックして移動します。右側にAppsタブが表示されます。
  4. 右上隅の+ 新規カスタムアプリの作成をクリックします。これにより新しく作成するアプリウィンドウが開きます。

    メモ: WorkDriveチームにつき最大10件のカスタムアプリを作成できます。

  5. 新しく作成する appフォームに、アプリ名、説明、Client-id などの詳細を入力します。

    Client-ID を取得する方法

    Client-ID はアプリケーションを Zoho developer console で登録したときのみ作成されます。client-id がない場合、WorkDrive でカスタム app を作成できません。

    1. アプリケーションを登録する手順は以下の通りです:
    2. 移動先 Zoho API Consoleで、開始するをクリックします。
    3. クライアント種類としてServer based アプリケーションを選択します。
    4. 選択したクライアント種類のアプリケーション登録に必要な詳細情報を入力します:
      1. Client 名前: Zohoに登録したいアプリケーションの名前を入力してください。
      2. Homepage URL:クライアントのホームページのURLを入力してください。
      3. 認証済み Redirect URIs:Zohoアカウントが認証後にgrant tokenとともにリダイレクトする、アプリケーションの有効なURLを入力してください。
    5. クリック作成し、以下の認証情報を取得します:
      1. クライアントID: 接続済みアプリから作成されたコンシューマーキーです。
      2. Client シークレット: 接続済みアプリから作成されたコンシューマーシークレットです。Zoho開発者コンソールでアプリケーションを登録する詳細については、こちらをご参照ください。

  6. 作成をクリックします。作成したアプリには最大10個のWebhookを設定できます。

Notesメモ:アプリ作成時に一意のシークレットキーが作成され、Webhook認証のために使用されます。

WorkDriveでカスタムアプリを表示および管理する

WorkDriveチームの管理者またはスーパ-管理者は、チームに関連付けられているすべてのカスタムアプリを表示および管理できます。

ナビゲーションで管理コンソールに移動し、アプリタブにアクセスします。アプリタブには、WorkDriveチーム用に作成されたすべてのカスタムアプリの一覧が表示されます。

ここから、以下の操作が可能です:
  1. アプリ詳細の更新: 任意のアプリをクリックします。該当するアプリの詳細ページが開き、要件に合わせてアプリ名や説明を編集できます。

  2. カスタムアプリの削除: WorkDriveチームからカスタムアプリを削除したい場合は、削除したいアプリのアプリ詳細ページ下部にある削除ボタンをクリックして削除できます。

Webhook

WorkDriveでWebhookを有効にすると、ファイル、フォルダ、チームフォルダ、組織単位の処理に関するリアルタイム通知を受け取ることができます。これらの通知は、処理が発生した際に指定した外部アプリ(URL)に送信されます。ファイルやフォルダを継続的に監視する必要がなくなり、受信した情報に基づいて迅速に対応できます。
Notes
メモ:
  1. 各カスタムアプリにつき最大10件のWebhookを作成できます。
  2. Webhookの呼び出しは1日あたり最大50,000回までです。

Webhookの設定方法:

カスタムアプリが作成された後、Webhookを作成および設定できます。カスタムアプリ用のWebhookを設定するには、以下の手順に従ってください。
  1. 左下のAdmin Consoleをクリックします。Admin Consoleウィンドウが開き、ダッシュボードタブが初期設定で選択されます。
  2. 左側のペインからAppsタブをクリックして移動します。Appsタブが右側に表示され、すべてのカスタムアプリが一覧で表示されます。

  3. Webhookを設定したいカスタムアプリケーションを選択します。カスタムアプリウィンドウが開き、App 詳細タブが初期設定で選択されます。

  4. Webhookタブに移動し、新しく作成する Webhookをクリックします。新しく作成する Webhookウィンドウが開きます。
  5. Webhookの名前と説明をそれぞれの項目に入力します。

  6. 通知を受信したいEndpoint URLを入力します。
    メモ: URLが有効であり、Webhookの処理が可能であることを確認してください。

  7. トリガーイベント(ファイル、フォルダー、チームフォルダー、組織ベース)を選択し、イベントの対象となる場所を指定します。
    WorkDriveで利用可能なイベントタイプの詳細はこちらをクリック

  8. 作成 Webhookをクリックします。
    指定したイベントがWorkDriveで発生すると、指定したURLに通知が届きます。

Webhook データの内容

Webhook データの内容とは、WorkDriveで設定したトリガーイベントが発生した際に、指定したURLに送信されるレスポンスを指します。

以下は、ファイル作成のトリガーイベントに対するWebhook データの内容レスポンスの例です。
Info
{
'data': [
{
'resource_info': {
'parent_id': 'lvwg28f94012d0a484328b6175c6da296b433',
'resource_id': 'ep19987f95a0161684d8ea1b3161f16e41e38',
'resource_name': '初期設定 App Migration レポート.csv',
'base_parent_id': 'lvwg28f94012d0a484328b6175c6da296b433',
'ステータス': 1
},
'share_info': {
'役割': '7',
'shared_type': '14',
'shared_by': 5608329,
'shared_status': 14,
'shared_to': '111118000000038003'
},
'association_info': {
'entity_value': 'Guna',
'entity_label': 'データ',
'タブ': '見込み客',
'entity_id': 'EID0000001011'
},
'event_id': '839687000000338003',
'event_type': 'file_create',
'app_key': '1000.0UUMEY8E1WWRF26GF0XIHRLKDHHFNH',
'webhook_id': 'ep19987f95a0161684d8ea1b3161f16e41e38-839687000000335005',
'module_name': '',
'portal_id': '638722',
'team_id': 'lvwg26329e83825ed4815b2e685e1781d6728',
'種類': 'event_callback',
'event_time': 1600422715262,
'event_by': 61184597
}
]
}

Webhook認証

セキュリティ強化のため、WorkDriveではWebhook認証という方法を採用しています。これは、各WebhookリクエストにHMAC-SHA256(SHA-256を用いたハッシュベースのメッセージ認証コード)で署名を付与するものです。この方式は対称型署名メカニズムであり、WorkDriveとお客様のアプリケーションの両方でシークレットキーを共有し、HMAC署名を生成および認証します。

WorkDriveがWebhookリクエストを送信する際、HMAC署名はリクエストのX-ZWDWebhook-署名ヘッダーに含まれます。お客様のアプリケーションは、このリクエストをWebhookデータの内容が含まれるリクエスト本文と、リクエストヘッダー内の署名とともに受け取ります。その後、以下の手順に従います。
  1. 共有シークレットキーを使用して、Webhookデータの内容に署名し、エンコードします。
  2. 生成された署名を、WebhookリクエストのX-ZWDWebhook-署名ヘッダーに送信された値と比較します。
2つの署名が一致した場合、そのリクエストは正当なものであり、アプリケーションとWorkDrive間で改ざんされていないとみなされます。この仕組みにより、Webhook通信のセキュリティと完全性が保証されます。

HMAC署名の作成

HMAC署名を作成するために、WorkDriveはJSON WEB署名(JWS)ヘッダーとWebhookデータの内容をUTF-8文字列として結合し、その結果をHMAC SHA-256アルゴリズムでハッシュします。

Info
JWSヘッダーは以下の通りです:
{
'alg': 'HS256',
'typ': 'JWT'
}

以下が含まれます:
  1. alg:HS256アルゴリズムがハッシュ署名の生成に使用されます。
  2. typ: typ(種類)ヘッダーパラメータは、署名されたコンテンツの種類を示すために使用されます。

Webhook署名作成の手順
  1. JWTヘッダーとWebhookデータの内容を個別にBase64エンコードし、ピリオド(“.”)で結合します。

  2. Base64エンコードされたヘッダーおよびBase64エンコードされたWebhookデータの内容をSHA-256アルゴリズムでハッシュし、得られた署名をBase64エンコードしてWebhook署名を作成します。

  3. Base64エンコードされたヘッダー、Base64エンコードされたWebhookデータの内容、Base64エンコードされたHMAC SHA-256署名の3つの要素を、区切り文字としてピリオド('.')で連結します。
WorkDriveはこの署名をHTTP POSTのヘッダーとしてWebhookリクエストに返し、以下のように表示されます:
Info
X-ZWDWEBHOOK-署名: . . . )

HMAC署名の認証

アプリがHMAC署名を含むWebhookリクエストを受領したら、検証プロセスを実行する必要があります。これは、共有シークレットキーを使ってWebhookデータの内容をハッシュし、署名を再作成することによって行います。
Notes
メモ: カスタムアプリ用に設定されたすべてのWebhookは、署名の検証に同じシークレットキーを使用します。

シークレットキーを取得する方法:
  1. 画面左下のAdmin Consoleをクリックします。Admin Consoleウィンドウが開き、ダッシュボードタブが初期設定で選択されています。
  2. 左側のペインからAppsタブをクリックして移動します。右側にAppsタブが表示され、すべてのカスタムアプリの一覧が表示されます。
  3. シークレットキーをコピーしたいカスタムアプリを選択します。これにより、カスタムアプリウィンドウが開き、App詳細タブが初期設定で選択されます。

    情報: すでにWebhookページにいる場合は、右側の表示するシークレットキーリンクをクリックしてください。該当するApp詳細タブに移動します。

  4. App詳細タブ内のシークレットキー項目に移動し、その値をコピーします。このシークレットキーをWebhookの検証に使用できます。

Webhookを認証する方法:
  1. 受領済みWebhookリクエストからWebhookデータの内容を抽出します。

  2. 共有シークレットキーを使ってWebhookデータの内容のHMAC署名を計算します。この際、SHA-256ハッシュアルゴリズムを使用します。

  3. 計算したHMAC署名をBase64エンコーディング方式でエンコードします。

  4. WebhookリクエストのX-ZWDWEBHOOK-署名ヘッダーから署名を抽出します。

  5. Webhookデータの内容の計算済みBase64エンコードSHA-256ハッシュが、WebhookリクエストのX-ZWDWEBHOOK-署名ヘッダーで提供されている値と一致していることを確認します。

    一致しない場合は、Webhookリクエストを却下してください。
Notesメモ: Webhookデータの正確かつ一貫した検証のために、作成および検証の両方の仕組みで同じエンコーディング方式を使用してください。

WorkDriveでWebhookの表示と管理

WorkDriveチームの管理者またはスーパ管理者は、Admin Consoleから各カスタムアプリのWebhookを表示・管理できます。
  1. Admin Consoleを左下隅でクリックします。Admin Consoleウィンドウが開き、ダッシュボードタブが初期設定で選択されます。

  2. 左側のペインからAppsタブをクリックして移動します。右側にAppsタブが表示され、すべてのカスタムアプリ一覧が表示されます。

  3. Webhookの変更を行いたいカスタムアプリケーションを選択します。カスタムアプリウィンドウが開き、App 詳細タブが初期設定で選択されます。

  4. Webhookタブをクリックし、カスタムアプリに設定されているWebhookの一覧および各管理設定にアクセスします。

    1. Webhookを有効化または無効化するには:Webhookタブ内のオン/オフ切り替えを操作してください。

    2. Webhookの名前や説明を編集するには:その他の操作アイコンをクリックし、編集オプションを選択します。

    3. Webhookを削除するには:その他の操作アイコンをクリックし、削除を選択します。確認ダイアログで再度削除をクリックして削除を確定してください。

    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









                                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.