---
title: "ウェブフック"
slug: "webhooks"
abstract: "利用可能なウェブフックの概要。"
---
# ウェブフック

Webhookを追加することで、[SitecoreAI](https://doc.sitecore.com/sai/en/users/sitecoreai/sitecoreai.html)で発生するイベントや[ワークフロー](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow.html "Workflow")の動作に関するリアルタイム通知を受け取ることができます。また、ウェブフックを使ってアイテムのワークフローの状態変更に対して外部検証を行うこともできます。

SitecoreAIでは、ウェブフックがシステムイベントに反応するためのサポートされたメカニズムを提供します。プラットフォーム内部でイベントを処理するのではなく(例えばカスタムイベントハンドラーを通じて)、外部サービスがイベントに購読し、イベント発生時にウェブフックで通知を受け取ることができます。

Webhookを使って、SitecoreAIでイベントが発生した際に外部処理や統合をトリガーできます。

> !注WebhookはSitecoreAI内でビジネスロジックを実装するために設計されていません。カスタムロジックは、ウェブフックイベントを受信・処理する外部サービスによって処理されるべきです。

システムイベントやワークフローアクションを追跡するウェブフックを作成できます。追跡されたイベントが発生したり、ワークフローアクションが実行された場合、SitecoreAIはHTTP POSTリクエストでイベントの詳細を外部エンドポイントに送信します。ウェブフックリクエストペイロードはJSONまたはXMLで送信可能です。

> !注ウェブフックを表示または作成するには、開発者または管理者の役割が必要です。

SitecoreAIには、3種類のウェブフックがあります:

-   Webhookイベントハンドラ
-   ウェブフックの送信アクション
-   ウェブフック検証アクション

## Webhookイベントハンドラ

サポートされているシステムイベントに関する情報は、[Webhookイベントハンドラを作成する](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow/webhooks/walkthrough--creating-and-configuring-a-webhook-event-handler.html "Walkthrough: Creating and configuring a webhook event handler")ことで受け取ることができます。

例えば、Webhookイベントハンドラを設定して、webpageテンプレートでアイテムが作成された際に指定された外部エンドポイントにリクエストを送信し、SitecoreAI外でイベントを処理することができます。

## ウェブフックの送信アクション

アイテムがワークフローの状態を変えたり、ワークフローコマンドが実行されたりした際に、[Webhookの送信アクションを追加](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow/webhooks/walkthrough--adding-and-configuring-a-webhook-submit-action.html "Walkthrough: Adding and configuring a webhook submit action")することで情報を受け取ることができます。

例えば、ワークフローの承認状態にウェブフックの送信アクションを挿入することができます。ワークフロー中のアイテムがapproved状態に移行すると、ウェブフックは指定された外部エンドポイントにHTTPリクエストを送信し、イベントをSitecoreAI外で処理できるようにします。

## ウェブフック検証アクション

[ウェブフック検証アクションを追加](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow/webhooks/walkthrough--adding-and-configuring-a-webhook-validation-action.html "Walkthrough: Adding and configuring a webhook validation action")することで、アイテムのワークフロー状態の変更を承認または拒否する機能をサードパーティサービスに提供できます。ウェブフックの検証アクションでリクエストが送信されると、サードパーティサービスは[応答](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow/webhooks/walkthrough--adding-and-configuring-a-webhook-validation-action/webhook-validation-action-http-response.html "Webhook validation action HTTP response")を返さなければなりません。

例えば、ワークフローのコマンド項目にウェブフック検証アクションを追加し、状態をin reviewからapprovedに変えることができます。コマンドが実行されると、ウェブフックは指定された外部エンドポイントにHTTPリクエストを送信します。

エンドポイントはコマンドを検証する応答を返さなければなりません。エンドポイントがコマンドを検証しなければ、アイテムの状態は変わりません。

## 認可項目

もし宛先エンドポイントが認証を必要とするなら、[認証項目を作成し](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/workflow/webhooks/walkthrough--using-an-authorization-item.html "Walkthrough: Using an authorization item") 、それをウェブフックに割り当てる必要があります。

## エラー処理

リクエストを送信中にエラーが発生した場合は、ログファイルでエラー情報を確認してください。

> !注SitecoreAIは、宛先エンドポイントでエラーが発生した場合のリクエストの再送信をサポートしていません。

## タイムアウト

特定のリクエストですべてのウェブフックを送信するデフォルトの最大時間は10秒です。

## ウェブフックのテスト

まだエンドポイントを設定していない場合は、Webhookのテストサイトを使ってエンドポイントを作成し、Webhookをテストすることができます。