Webhooksは、カスタム統合アプリにより、Workplaceのイベントをサブスクリプション登録してリアルタイムでアップデートを受信できるようにします。Workplaceで変更が発生した場合、HTTPS POST
リクエストが、関連するWebhookトピックをサブスクリプション登録している各カスタム統合アプリのコールバックURLに送信されます。
こうすることにより、変更が行われた時点でアプリでその変更を把握でき、最新のコンテンツを取得するために継続的または定期的にグラフAPIリクエストを行う必要がなくなるので、アプリがより効率化されます。
WorkplaceのWebhookサポートは、Facebook用Webhooksと同じフレームワークによって提供されています。
[カスタム統合を編集]ダイアログには、Workplace上のアプリで利用可能な各Webhookトピックのタブがあります。
特定のトピックに新しいWebhookサブスクリプションを追加するには、[コールバックURL]と[検証トークン]を指定してから、アプリが提供する機能に必要な[サブスクリプションフィールド]を選択します。
Webhookトピックごとに1つのURLしかサブスクリプション登録できませんが、複数のトピックで同じURLを使うこともできます。
新しいサブスクリプションを追加したり、既存のサブスクリプションを修正したりすると、コールバックサーバーの有効性を確認するために、FacebookサーバーからコールバックURLに対してGET
リクエストが実行されます。
コールバックURLには、次のパラメーターを使用してクエリ文字列が追加されます。
hub.mode
- このパラメーターでは文字列「subscribe
」が渡されますhub.challenge
- ランダムな文字列hub.verify_token
- サブスクリプションを作成したときに指定したverify_token
値コールバックURLでHTTP GET
リクエストを受信したら、verify_token
パラメーターを使用して、リクエストがFacebookサーバーからのものであることを確認できます。
開発者が定義したコールバックURLへのWebhook呼び出しはすべてHTTPS
を介して行われ、Webhookペイロードのトランスポートレベルのセキュリティが確保されます。
追加のセキュリティを提供するために、各POSTペイロードにはHTTP
ヘッダーX-Hub-Signature-256
が含まれており、これを使用することによって、ペイロードがFacebookサーバーからのものであることを確認できます。
この動作について詳しくは、Facebook Webhookフレームワークに関するドキュメントをご覧ください。
Workplaceでのアクティビティは、いくつかのトピックにグループ化されます。各トピックには、特定のトピックのイベントに対応する多数のフィールドがあります。アプリは、各トピックのWebhookの更新や、各トピック内の特定のフィールドについてサブスクリプション登録することができます。
現在、Workplaceでは次のトピックやグループのWebhooksが提供されています。
詳しくはページトピックのリファレンスドキュメントをご覧ください。
サブスクリプションフィールド | 動作 |
---|---|
| カスタム統合ページ(ボット)がグループ内でメンションされたときにトリガーされます。 |
| カスタム統合ページ(ボット)にWork Chatでメッセージが送信されたときにトリガーされます。 |
| カスタム統合ページ(ボット)から送信されたメッセージが配信されたときにトリガーされます。 |
| Work Chatでポストバックボタンが押されたときにトリガーされます。 |
| カスタム統合ページ(ボット)からのメッセージが受信者に読まれたときにトリガーされます。 |
詳しくは、グループトピックのリファレンスドキュメントをご覧ください。
サブスクリプションフィールド | 動作 |
---|---|
| グループで投稿が追加、更新、削除されたときにトリガーされます。 |
| グループの投稿に新しいコメントが追加されたり、コメントが更新または削除されたりするたびにトリガーされます。 |
| グループのメンバーが変更されたときにトリガーされます。 |
詳しくは、ユーザートピックのリファレンスドキュメントをご覧ください。
サブスクリプションフィールド | 動作 |
---|---|
| ユーザーが投稿をしたり、自分のプロフィールの近況アップデートを編集したりしたときにトリガーされます。 |
| ユーザーがイベントを作成、承諾、拒否するたびにトリガーされます。 |
| ユーザーがWorkplace Chatメッセージを送信するたびにトリガーされます。 |
詳しくは、アクセス認証プレビューのドキュメントをご覧ください。
サブスクリプションフィールド | 動作 |
---|---|
| WorkplaceがURLに関する情報を取得する必要があるときにトリガーされます。 |
| 投稿ツールの階層ナビゲーションをサポートする許可リストにあるアプリにだけ関係します。 |
詳しくは、セキュリティトピックのリファレンスドキュメントをご覧ください。
sessions
社員がWorkplaceでログインまたはログアウトを実行したときにトリガーされるイベント。
イベント | 動作 |
---|---|
| ユーザーが、wwwまたはモバイルアプリのいずれかで、パスワードまたはSSOを使用してWorkplaceにログインした。 |
| ユーザーが、wwwまたはモバイルアプリのいずれかで、パスワードまたはSSOを使用してWorkplaceからログアウトした。 管理者による強制ログアウトは含まれません( |
passwords
社員がパスワードを変更したり、パスワードのリセットをリクエストしたりしたときにトリガーされるイベント。
イベント | 動作 |
---|---|
| パスワード再設定を実行した結果、またはアカウント設定から、ユーザーのパスワードが変更された。 |
| ユーザーのパスワード再設定フローが開始され、ユーザーのメールアドレスにコードが送信された。 |
| ユーザーが誤ったパスワードリセットリカバリーコードを入力した。 |
| ユーザーのパスワード再設定フローが正常に完了した。 |
admin_activity
管理者がWorkplaceコミュニティに追加された、またはそこから削除されたときにトリガーされるイベント
イベント | 動作 |
---|---|
| 管理者が管理者用パネルから、またはアカウント管理APIを介して、ユーザーのアカウント状態を未取得に設定した。 |
| 管理者が管理者用パネルで、ユーザーをすべてのデバイスから強制的にログアウトさせた。 |
| 管理者が管理者用パネルから、またはアカウント管理APIを介して、アカウントを停止した。 |
| 管理者が管理者用パネルから、またはアカウント管理APIを介して、アカウントを有効にした。 |
| 管理者が管理者用パネルで、ユーザーのパスワードを強制的にリセットした。 |
| 管理者が管理者用パネルでアカウントを作成した。 |
two_factor
社員が二段階認証を有効または無効にしたときにトリガーされるイベント。
イベント | 動作 |
---|---|
| ユーザーが[設定]タブから二段階認証を有効にした。これは、誰かが特定の電話番号を確認したときに取得されるのではなく、機能が有効になったことを示します。 |
| ユーザーが[設定]タブから二段階認証を無効にした。これは、誰かが特定の電話番号の二段階認証を無効にしたときに取得されるのではなく、機能が無効になったことを示します。 |