> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# イベントサブスクリプション概要

> DingTalkのイベントサブスクリプションで、連絡先の変更や出退勤などのイベントをリアルタイムに受信する方法を解説。Streamモードとサーバー API連携によるアプリ統合と情報共有の実現手順を紹介します。

## イベントサブスクリプションとは

DingTalk のイベントサブスクリプションは、DingTalk Open Platform が提供するサービスです。開発者は、DingTalk プラットフォームで生成されるさまざまな重要な通知を、自社のアプリ内でリアルタイムに受信できます。イベントサブスクリプションを設定すると、部門構成の変更、社員のチェックイン、出退勤の打刻など、DingTalk 内で発生するイベントをアプリで受信し、アプリ内で速やかに応答・処理できます。この機能により、企業向けアプリを DingTalk プラットフォームとより深く連携させ、情報共有と業務コラボレーションを実現できます。

## **ユースケース**

### 連絡先イベントのシナリオ

新入社員の入社や社員の退職が発生した際、アプリはユーザーデータを即座に更新する必要があります。この場合、連絡先関連のイベントをサブスクライブします。連絡先データを定期的に取得して比較する代わりに、変更された連絡先情報をリアルタイムに受信して同期できます。

### グループイベントのシナリオ

グループ内のユーザー操作に速やかに応答するには、イベントをサブスクライブします。たとえば、ユーザーがグループチャットに参加したときに、アプリで IM Chat Management 配下の関連イベントをサブスクライブし、ユーザーがグループチャットに入室したタイミングでウェルカムメッセージを送信できます。

その他のイベントについては、イベントサブスクリプション概要を参照してください。

## **サブスクリプション方式**

| | **Stream モードプッシュ** | **HTTP プッシュ** |
| - | - | - |
| 概要 | Stream モードは、DingTalk Open Platform が提供する連携方式です。イベントサブスクリプションのコールバックを受信します。Stream モードで接続すると、DingTalk Open Platform は WebSocket 接続を介してアプリと通信します。Stream モードは連携のハードルを大きく下げ、リソースへの依存を軽減します。パブリックサーバー、IP アドレス、ドメインなどのリソースは不要で、DingTalk Open Platform SDK を組み込むだけで利用できます。 | HTTP プッシュはオンプレミス環境に適しています。イベントは暗号化された HTTP POST リクエストを介して業務システムにプッシュされます。 |
| 対象アプリ | - 社内アプリ - サードパーティ社内アプリ | - 社内アプリ |
| 設定 | [Stream プッシュを設定する（推奨）](https://help.dingtalk.io/zh/open/dingstart/configure-stream-push.md) | [HTTP プッシュを設定する](https://help.dingtalk.io/zh/open/dingstart/configure-http-push.md) |
| 安全 | パブリック IP を公開する必要がないため、攻撃から保護されます。トランスポート層は TLS 暗号化を使用し、すべての接続が完全に認証されます。 | データチャンネルはパブリックチャンネルであり、トラフィックコストが発生し、セキュリティレベルが低く、効率も低くなります。 |
| 暗号化と復号 | 暗号化や復号は不要で、詳細なイベントデータを直接受信できます。 | プッシュされるデータは暗号化されています。開発者は自ら署名の検証と暗号化・復号を行い、選択したプログラミング言語で署名検証・暗号化・復号のロジックを実装する必要があります。 |

## **サブスクリプションルール**

DingTalk のイベントサブスクリプションでは、必要に応じてサブスクライブできます。具体的なルールは次のとおりです。

### **構文**

イベントサブスクリプションのマッチングルールは、Glob 構文を使用してパターンマッチングを行います。Glob は正規表現に似たマッチング方式ですが、より直感的でシンプルな構文を備えています。Glob ルールでは、`*`、`?`、`{}`、`[]` などの特殊文字を使用してパターンを定義できます。DingTalk のイベントカスタムフィルタリングでは、イベントを正確にフィルタリングするために `*` と `{}` の文字のみを使用します。

**注意**

ルールが設定されていない場合、または設定済みのルールがすべて削除された場合、そのタイプのすべてのイベントがプッシュされます。

* **単一アスタリスク** `*`

任意の数の文字（0 文字を含む）にマッチします。パス境界の `/` や `\` は含みません。たとえば、`/path/*/abc` は `/path/a/abc`、`/path/b/abc` などにマッチします。

* **二重アスタリスク** `**`

  単一アスタリスクと似ていますが、パス境界を越えることができ、通常は複数階層のディレクトリにマッチさせるために使用します。たとえば、`/path/**/abc` は `/eventkey/a/abc`、`/eventkey/b/abc`、`/eventkey/a/b/abc`、`/eventkey/a/b/c/abc` などにマッチします。
* **波括弧** `{}`

  波括弧はサブパターンのマッチング集合を指定します。たとえば、`{sun,moon,stars}` は `sun`、`moon`、`stars` にマッチし、`&#123;temp*, tmp*&#125;` は `temp` または `tmp` で始まる任意の文字列にマッチします。

必要に応じて承認イベントをサブスクライブする場合は、次の **承認イベント** の例を参照してください。

| **イベントタイプ** | **説明** | **ルールの説明** | **例** |
| - | - | - | - |
| **承認タスクの開始/終了/キャンセル** | 業務カテゴリ配下の特定の承認テンプレートに対するタスクの開始、終了、キャンセルのイベント。 | `/v1.0/event/bpms_task_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_task_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` |
| 特定の承認テンプレート配下のタスクの開始、終了、キャンセルのイベントで、承認テンプレートコード `processCode` を使用して直接マッチします。 | `/v1.0/event/bpms_task_change/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_task_change/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` | |
| **承認インスタンスの開始/終了/中止** | 業務カテゴリ配下の特定の承認テンプレートに対するインスタンスの開始、終了、中止のイベント。 | `/v1.0/event/bpms_instance_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_instance_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` |
| 特定の承認テンプレート配下のインスタンスの開始、終了、中止のイベントで、承認テンプレートコード `processCode` を使用して直接マッチします。 | `/v1.0/event/bpms_instance_change/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_instance_change/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` | |

関連するパラメータ情報については、承認イベントを参照してください。

## **サブスクリプションのフロー**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.