サービス利用者による契約プランの更新
サービス利用者がサービス契約詳細画面からサービスの契約プランを更新した際に発行される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":{
"属性名":"属性値",
...
}
}]
}