Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

サービス購入者サービスの申し込みが完了した際に発行されるWebHookについて説明します。


Anchor
概要(ベータ環境)
概要(ベータ環境)
概要


サービス申し込みが完了すると契約開始とユーザーの追加、課金サイクル更新の3つのWebHookが発行されます。

Note

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

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

  • SubscriptionCreate(Version2)
  • SquareProvisioning(Version1)

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

  • UserProvisioning(Version2)
  • IDProvisioning(Version1)

課金サイクル更新のWebHookは、バージョン2のみとなります。

  • payments/change_billing_period(Version2)

契約開始のWebHookには、契約された料金プランの情報と契約によって生成されたスクエアのIDが含まれます。
ユーザー追加のWebHookには、契約者の情報が含まれます。
課金サイクルのWebHookには、契約された料金プランが適用される期間が含まれます。
*料金プランがトライアルプランの場合は、トライアル期間が通知対象となります。

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

  1. SubscriptionCreate(Version2), SquareProvisioning(Version1)
  2. UserProvisioning(Version2), IDProvisioning(Version1)
  3. payments/change_billing_period(Version2)


リクエストボディ

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


Code Block
titleevent = "subscription", type = "create"
{
  "id": "91018c24-4182-4e20-8509-501471b6304f", // UUID
  "event": "subscription",
  "type": "create",
  "created_at": 1576200980964, // 作成日時
  "version": 2, // WebHookのバージョン
  "data": {
    "plans": [
      {
        "id": "d6bbb65c-8c53-4378-b60b-a1da3bfbb93e", // プランID
        "action": "ADD" // プランへの操作タイプ
      }
    ],
    "trialing": true, // トライアルの有無
    "cause": "New subscription has been created.", // 操作理由
    "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",
      "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"
      }]
    }
  }  
}


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


Code Block
titleevent = "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": "ADD", // プロビジョニングタイプ
      "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": [{
          "type": "ADD",
          "role_id": "owner"
        }],
        "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"
        }
      }
    }]
  }
}


Code Block
languagejs
titleidprovisioning(ADD)
{
  "event":"idprovisioning",
  "version": 1,
  "data": [{
    "type":"ADD", // 操作タイプ
    "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": { // ユーザのスクエア属性
        "属性名": "属性値",
        ...
      }
    }
  }]
}


Code Block
languagejs
titleevent="payments", type="change_billing_period"
{
  "id": "91018c24-4182-4e20-8509-501471b6304d" // UUID
  "event":"payments",
  "type":"change_billing_period",
  "created_at": 1576200980964, // 作成日時
  "version": 2,
  "data": {
    "subscription_id": "sub_1234567890", // サブスクリプションID
    "service_id": 1, // サービスID
    "square_id": "service-square-id", // サービススクエアID
    "period_start": 123456789, // 料金プランの適用開始日時(秒)
    "period_end": 987654321 // 料金プランの適用終了日時(秒)
  }
}