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

サービス利用者がサービス契約詳細画面からサービスの契約プランを更新した際に発行されるWebHookについて説明します。

概要

サービスの契約プランの更新が完了するとWebHookが発行されます。

送信されるWebHookは送信バージョン設定により異なります。

プラン更新のWebHookは、以下の2種類となります。

  • SubscriptionUpdate(Version2)

  • SquareProvisioning(Version1)

プラン更新のWebHookには、契約された料金プランの情報と契約によって生成されたスクエアIDが含まれます。

プランの更新情報は、plans属性内にリスト形式で表現されます。
それぞれの要素はid属性およびaction属性を含み、追加/削除されたプランに対しては、action属性としてそれぞれ「ADD」「DELETE」が設定されます。
変更が行われなかったプランに対しては、action属性として「UPDATE」が設定されます。

リクエストボディ

以下のJSONフォーマットでCloudGearからCloudGearアプリケーションにHTTPリクエストが送信されます。

各フィールドのデータ長は今後のリリースで変更される可能性があります。
余裕を持った設計を推奨いたします。

event = "subscription", type = "update"
{ "id": "91018c24-4182-4e20-8509-501471b6304f", // UUID "event": "subscription", "type": "update", "created_at": 1576200980964, // 作成日時 "version": 2, // WebHookのバージョン "data": { "plans": [ { "id": "d6bbb65c-8c53-4378-b60b-a1da3bfbb93e", // プランID "action": "ADD" // プランへの操作タイプ }, { "id": "d6bbb65c-8c53-4378-b60b-a1da3bfbb93f", // プランID "action": "DELETE" // プランへの操作タイプ } ], "trialing": true, // トライアルの有無 "cause": "契約の更新", // 操作理由 "service_id": 1, // サービスID "square_id": "square_id", // 実行対象のスクエアID "subscription_id": "sub_GLkZY8VfkfCMrm", // 契約ID "userinfo": { // 契約者のユーザー情報 "sub": "unirita@unirita.co.jp", "name": "ユニリタ123456112", "email": "unirita@unirita.co.jp", "account_type": "individual", "company_name": null, "given_name": "太郎", "family_name": "ユニリタ", "preferred_username": "unirita@unirita.co.jp", "domain_id": "cloudgear.co.jp", "image_url": { "100": "https://cloudgear-public-test.s3-ap-northeast-1.amazonaws.com/profile-image/100/8021deb7-b3d6-4bb1-b2da-c31335c1671c", "300": "https://cloudgear-public-test.s3-ap-northeast-1.amazonaws.com/profile-image/300/8021deb7-b3d6-4bb1-b2da-c31335c1671c", "500": "https://cloudgear-public-test.s3-ap-northeast-1.amazonaws.com/profile-image/500/8021deb7-b3d6-4bb1-b2da-c31335c1671c" }, "user_attrs": [], "service_roles": [], "subscription_roles": [{ "type": "ADD", "role_id": "owner" }] } } }



squareprovisioning(UPDATE)
{ "event":"squareprovisioning", "version": 1, "data": [{ "plans": [{ "id":"UUID1", // プランID "action":"UPDATE" // プランへの操作タイプ }, { "id":"UUID2", // プランID "action":"ADD" // プランへの操作タイプ }, { "id":"UUID3", // プランID "action":"DELETE" // プランへの操作タイプ }], "squareId":"UUID", // スクエアID "serviceId":1, //サービスID "action":"UPDATE", // スクエアへの操作タイプ "cause":"update plans." // 操作理由 "userinfo":{ // スクエアオーナーのユーザー情報 "sub":"cloudgear@cloudgear.services", "name":"クラウドギア", "email":"cloudgear@cloudgear.services", "given_name":"ギア", "family_name":"クラウド", "preferred_username":"cloudgear@cloudgear.services", "square_id":"UUID", "square_attrs":{ "属性名":"属性値", ... } }] }