サービスの解約

サービス利用者サービスの解約を行なった際に発行されるWebHookについて説明します。


概要

サービスの解約が完了すると契約終了とユーザーの削除の2つのWebHookが発行されます。

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

契約終了のWebHookは、以下の2種類になります。

  • SubscriptionDelete(Version2)
  • SquareProvisioning(Version1)

ユーザー削除のWebHookは、以下の2種類になります。

  • UserProvisioning(Version2)
  • IDProvisioning(Version1)

契約終了のWebHookには、解約された料金プランの情報と解約によって削除されたスクエアのIDが含まれます。
ユーザー削除のWebHookには、削除されたスクエアに所属するサービス利用者の情報が含まれます。
(所属ユーザーの情報は、リストで発行されます)

WebHookは、以下の順番で発行されます。

  1. UserProvisioning(Version2), IDProvisioning(Version1)
  2. SubscriptionDelete(Version2) ,SquareProvisioning(Version1)


リクエストボディ

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

event = "user", type = "provisioning"
{
  "id": "91018c24-4182-4e20-8509-501471b6304e" // UUID
  "event": "user",
  "type": "provisioning",
  "crated_at": 1576200980964, // 作成日時
  "version": 2
  "data": {
    "square_id": "square_id", // 実行対象になるスクエアID
    "service_id": "service_id", // サービスID
    "subscription_id": "subscription_id", // 契約ID
    "users": [{
      "action": "DELETE", // プロビジョニングタイプ
      "userinfo": {
        "sub": "user1@unirita.co.jp", // UID
        "name": "ユニリタ太郎", // 名前
        "given_name": "太郎", // 名
        "family_name": "ユニリタ", // 姓
        "preferred_username": "user1@unirita.co.jp", // UID
        "email": "user1@unirita.co.jp", // メールアドレス
        "account_type": "individual",
        "company_name": null,
        "domain_id": "cloudgear.services", // 所属するドメインID
        "user_attrs": [{ // ユーザー属性
          "id": 1,
          "name": "attribute_key", // 属性名
          "value": "attribute_value", // 属性値
          "square_id": "1234567890" // 属性が紐づくスクエアID(スクエアに紐づいていない場合"global"と表示)
        }...{}],
        "service_roles": [],
        "subscription_roles": [],
        "image_url": { // プロフィール画像が設定されていない場合は空
          "100":"https://cloudgear-public-prod.s3-ap-northeast-1.amazonaws.com/profile-image/100/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
          "300":"https://cloudgear-public-prod.s3-ap-northeast-1.amazonaws.com/profile-image/300/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
          "500":"https://cloudgear-public-prod.s3-ap-northeast-1.amazonaws.com/profile-image/500/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"
        }
      }
    }]
  }
}
idprovisioning(DELETE)
{
  "event":"idprovisioning",
  "version": 1,
  "data": [{
    "type":"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":"1234567890", // 実行対象になるスクエアID
      "square_attrs":{ // ユーザーのスクエア属性
    "属性名": "属性値",
        ...
   }
    }
  },
  {
    "type":"DELETE",
    "userinfo": {
      "sub":"user2@unirita.co.jp", // UID
      "name":"ユニリタ次郎", // 名前
      "given_name":"次郎",  // 名
      "family_name":"ユニリタ", // 性
      "preferred_username":"user2@unirita.co.jp", // UID (MUST NOT Unique)
      "email":"user2@unirita.co.jp", // メールアドレス
      "square_id":"1234567890", // 実行対象になるスクエアID
      "square_attrs":{ // ユーザーのスクエア属性
    "属性名": "属性値",
        ...
   }
    }
  }]
}
event = "subscription", type = "delete"
{
  "id": "91018c24-4182-4e20-8509-501471b6304f", // UUID
  "event": "subscription",
  "type": "delete",
  "created_at": 1576200980964, // 作成日時
  "version": 2, // WebHookのバージョン
  "data": {
    "plans": [
      {
        "id": "d6bbb65c-8c53-4378-b60b-a1da3bfbb93e", // プラン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": "DELETE",
        "role_id": "owner"
      }]
    }
  } 
}
squareprovisioning(DELETE)
{
  "event":"squareprovisioning",
  "version": 1,
  "data":[{
    "plans":[{
      "id":"UUID", // プランID
      "action":"DELETE" // プランへの操作タイプ
    }],
    "serviceId":1, // サービスID
    "squareId":"UUID", // スクエアID
    "action":"DELETE", // スクエアへの操作タイプ
    "cause":"cancellation of contracts.", // 操作理由
    "userinfo":{ // スクエアオーナーのユーザー情報
      "sub":"cloudgear@cloudgear.services",
      "name":"クラウドギア",
      "email":"cloudgear@cloudgear.services",
      "given_name":"ギア",
      "family_name":"クラウド",
      "preferred_username":"cloudgear@cloudgear.services",
      "square_id":"UUID",
      "square_attrs":{
        "属性名":"属性値",
        ...
      }
    }
  }]
}