このセクションでは、CloudGearアプリケーションがCloudGearのWebHookを受け取る為の実装について説明いたします。
WebHookについて
CloudGearには、サービススクエアが作成/削除されたときや、ユーザーがスクエアに加入/脱退したときなどに、CloudGearアプリケーションのバックエンドサーバーにその情報を伝えるための仕組みが存在します。
WebHookの発行タイミング
WebHookは、以下のタイミングで発行されます。
タイミング | 発行されるWebHook |
---|---|
サービスの申し込み | squareprovisioning(ADD)、idprovisioning(ADD) |
サービス利用者による契約プランの更新 | squareprovisioning(UPDATE) |
サービスの解約 | squareprovisioning(DELETE)、idprovisioning(DELETE) |
スクエアにユーザーを招待 招待されたユーザーがスクエアへの参加を承認した段階で発行されます。 | idprovisioning(ADD) |
スクエアからユーザーを削除 | idprovisioning(DELETE) |
WebHookの実装
WebHookリクエスト
以下のフォーマットの内容でCloudGearからCloudGearアプリケーションにHTTPリクエストが送信されます。
HTTPリクエストの送信先は、サービスマネージャのWebHookで設定したエンドポイントとなります。
squareprovisioning
{ "event": "squareprovisioning", "data": [{ "serviceId": 1, //サービスID "plans": [{ "id": "planId", // プランID "action": "ADD|DELETE|UPDATE" // プラン操作 }], "squareId": "squareId", // スクエアID "action": "ADD|DELETE", // スクエアへの操作 "cause": "cause" // 操作理由、なければ空 }] }
idprovisioning
{ "event": "idprovisioning", "data": [{ "type": "ADD", // 実行タイプ(ADD/DELETE) "userinfo": { "sub": "user1@unirita.co.jp", // UID "name": "ユニリタ太郎", // 名前 "given_name": "太郎", // 名 "family_name": "ユニリタ", // 姓 "preferred_username": "user1@unirita.co.jp", // UID(MUST NOT Unique) "email": "user1@unirita.co.jp", // メールアドレス "square_id": "12345667890", // 実行対象になるスクエアID "square_attrs": { // ユーザのスクエア属性 "属性名": "属性値", ... } } }, ...{}] }