Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

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

...


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

...


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

Note

送信されるWebHookの内容はWebHookバージョンにより異なります。
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

...

  1. /change_billing_period

...

  1. (Version2)


リクエストボディ

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

...

Note

...

各フィールドのデータ長は今後のリリースで変更される可能性があります。

...

余裕を持った設計を推奨いたします。

event = "subscription", type = "create"
Code Block
{
  "

...

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":

...

languagejs
titleidprovisioning(ADD)

...

 "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"
      },
    

...

  

...

languagejs
titleevent="payments", type="change-billing-period"

...

"user_attrs": [],
      "

...

service_roles":

...

 [],
      "subscription_

...

roles":

...

 [{
        "

...

type": 

...

"ADD",

...

   

...

     "

...

role_id"

...

: "

...

owner"

...


...

 

...

     

...

現在β環境でのみ、WebHookの設定で「バージョン2のみ送信」または「バージョン1とバージョン2を送信」を選択すると以下のWebHookが発行されます。

  1. SubscriptionCreate
  2. UserProvisioning
  3. payments/change-billing-period 

...

titleevent = "subscription", type = "create"

...

}]
    }
  }  
}


squareprovisioning(ADD)
Code Block
languagejs
{
  "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":

...

{
       

...

 

...

"属性名":"属性値",
        ...
  

...

    

...

}
    }
  }

...

]
}

...


event = "user", type = "provisioning"
Code Block
{
  "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"
        }
      }
    }]
  }
}


idprovisioning(ADD)
Code Block
languagejs

...

{
  "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": { // ユーザのスクエア属性
        "属性名": "属性値",
        ...
      }
    }
  }]
}


event="payments", type="change_billing_period"
Code Block
languagejs
{
  "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 // 料金プランの適用終了日時(秒)
  }
}