SITECORE MANIA 開発者向け技術ブログ

その他

濱村

濱村

WebhookEventHandlerについて

WebhookEventHandlerとは


WebhookEventHandlerはSitecore10.3で追加された機能で、Sitecoreイベントがトリガーされた際に外部APIを呼び出すことができる機能です。 この機能はXM及びXMCloudで使用することができます。

デモ

Webhookアイテムの作成

以下の手順でアイテムを作成します。

①/sitecore/system/Webhooksで右クリックする。

②「Webhok Event Handler」テンプレートでアイテムを作成する。

フィールド設定

Eventsフィールド

EventsフィールドではWebhookをトリガーするイベントを指定することができます。

トリガーするイベントは複数設定することができるので、例えば「アイテムを作成した」「アイテムを保存した」タイミングで同じWebhookをトリガーできます。

トリガーできるイベント

イベント名
item_added
item_cloneAdded
item_copied
item_deleted
item_deleting
item_locked
item_moved
item_renamed
item_saved
item_sortorderChanged
item_templateChanged
item_unlocked
item_versionAdded
item_versionRemoved
publish_begin
publish_end
publish_fail
publish_statusUpdated

Ruleフィールド

RuleフィールドではWebhookをトリガーする条件を指定することができます。

このフィールドでルールを指定することで、例えば「特定のテンプレートのアイテムのみを作成した」など特定の条件下でのみWebhookをトリガーすることができます。

Urlフィールド

このフィールドではトリガーするエンドポイントを指定します。

リクエスト

SitecoreEventWebhookでリクエストされた通信にはトリガーされたアイテム情報やトリガー種別などが送信されます。

このペイロードを取得することでWebhookによりトリガーされたAPIでアイテム情報などを取り扱うことができます。

以下が実際に送信されたペイロードになります。


{
  EventName: 'item:saved',
  Item: {
    Language: 'en',
    Version: 1,
    Id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    Name: 'WebhookTest2',
    ParentId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    TemplateId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    TemplateName: 'Sample Item',
    MasterId: '00000000-0000-0000-0000-000000000000',
    SharedFields: [ [Object], [Object] ],
    UnversionedFields: [],
    VersionedFields: [
      [Object], [Object],
      [Object], [Object],
      [Object], [Object],
      [Object], [Object]
    ]
  },
  Changes: {
    FieldChanges: [ [Object], [Object], [Object], [Object], [Object], [Object] ],
    PropertyChanges: [],
    IsUnversionedFieldChanged: false,
    IsSharedFieldChanged: true
  },
  WebhookItemId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  WebhookItemName: 'sample'
}

※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス