WebHookの基本

このセクションでは、CloudGearアプリケーションCloudGearWebHookを受け取る為の実装について説明いたします。



WebHookについて

WebHookは、CloudGearに契約またはサービススクエアが作成/削除されたときや、ユーザースクエアに加入/脱退したときなどに、CloudGearアプリケーションのバックエンドサーバーにその情報を伝えるための仕組みです。

サービスに設定されているWebHookバージョンによって、送信されるイベントが異なります。
現在、Version1は最低限のメンテナンスのみに留まっており、新規機能の追加などは行われておりません。特別な理由がない限りはVersion2をご利用ください。



WebHookの種類

WebHookは、いくつかのタイプを持ちます。

Version1

タイプ

説明

タイプ

説明

idprovisioning

ユーザーの追加・削除などユーザーに関連した変更が発生した場合に発行されるWebHookです。

squareprovisioning

スクエアに対する変更、または契約状態の変更によって発行されるWebHookです。

Version2

イベント

タイプ

説明

イベント

タイプ

説明

user

provisioning

ユーザーの追加・削除などユーザーに関連した変更が発生した場合に発行されるWebHookです。

user

role_assign

サブスクリプションを管理する契約管理者の任命・解任が発生した場合に発行されるWebHookです。

profile

update

ユーザー情報の変更が発生した場合に発行されるWebHookです。
このWebHookは、ユーザーが契約しているサービスあたり1回しか発行されません。

payments

change_billing_period

サブスクリプションの課金サイクルが更新された場合に発行されるWebHookです。
ユーザーが新しく契約を結んだ際にも発行されます。

payments

request_usage_record

使用量タイプの料金プランで契約しているユーザーがいる場合に、使用量を送信するように要求するWebHookです。
このWebHookは、毎日4:00(JST)を目途に順次発行します。

subscription

create update delete

サブスクリプションの作成,更新,削除時に発行されるWebHookです。



 

WebHookの発行タイミング

WebHookは、以下のタイミングで発行されます。

タイミング

発行されるWebHookのイベントタイプ

タイミング

発行されるWebHookのイベントタイプ

サービスの申し込み

squareprovisioning.ADDidprovisioning.ADDpayments.change_billing_period
subscription.createuser.provisioning

サービス利用者による契約プランの更新

squareprovisioning.UPDATE
subscription.update

サービスの解約

squareprovisioning.DELETEidprovisioning.DELETE
subscription.deleteuser.provisioning

スクエアにユーザーを招待

招待されたユーザーがスクエアへの参加を承認した段階で発行されます。



Version1

idprovisioning.ADD

Version2

user.provisioning

スクエアからユーザーを削除

Version1

idprovisioning.DELETE

Version2

user.provisioning

契約管理者の任命

Version2のみ
user.role_assign

契約管理者の解任

Version2のみ
user.role_assign

ユーザー情報の更新

Version2のみ
profile.update

サブスクリプションの課金サイクルの終了

Version2のみ
payments.change_billing_period

使用量タイプの料金プランを持つサブスクリプションに対して使用量を要求

Version2のみ
payments.request_usage_record



 

WebHookハンドラーの実装

サービスアプリケーションのWebHookハンドラーがとるべき振る舞いはWebHookのイベントタイプによって異なります。
各タイミングで発行されるWebHookの取り扱いや設定方法は以下のページで説明します。