概要
サービス申し込みが完了するとSquareProvisioningとIDProvisioning、payments/change-billing-periodの3つのWebHookが発行されます。
SquareProvisioning WebHookには、契約された料金プランの情報と契約によって生成されたスクエアのIDが含まれます。
IDProvisioning WebHookには、契約者の情報が含まれます。
payments/change_billing_periodには、契約された料金プランが適用される期間が含まれます。
*料金プランがトライアルプランの場合は、トライアル期間が通知対象となります。
以下の順番でWebHookは発行されます。
- SquareProvisioning
- IDProvisioning
- payments/change_billing_period
現在、β環境では「バージョン1のみ送信」を選択している場合、payments/change_billing_period は送信されません。
リクエストボディ
以下のJSONフォーマットでCloudGearからCloudGearアプリケーションにHTTPリクエストが送信されます。
squareprovisioning(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", "given_name":"ギア", "family_name":"クラウド", "preferred_username":"cloudgear@cloudgear.services", "square_id":"UUID", "square_attrs":{ "属性名":"属性値", ... } } }] }
idprovisioning(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": { // ユーザのスクエア属性 "属性名": "属性値", ... } } }] }
event="payments", type="change_billing_period"
{ "event":"payments", "type":"change_billing_period", "version": 2 "data": { "subscription_id": "sub_1234567890", // サブスクリプションID "service_id": 1, // サービスID "square_id": "service-square-id", // サービススクエアID "period_start": 123456789, // 料金プランの適用開始日時(秒) "period_end": 987654321 // 料金プランの適用終了日時(秒) } }
現在β環境でのみ、WebHookの設定で「バージョン2のみ送信」または「バージョン1とバージョン2を送信」を選択すると以下のWebHookが発行されます。
- SubscriptionCreate
- UserProvisioning
- payments/change-billing-period
event = "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": [ "owner" ] } } }
event = "user", type = "provisioning"
{ "id": "91018c24-4182-4e20-8509-501471b6304e" // UUID "event": "user", "type": "provisioning", "cratedAt": 1576200980964, // 作成日時 "version": 2 "data": { "square_id": "square_id", // 実行対象になるスクエアID "service_id": "service_id", // サービスID "subscription_id": "subscription_id", // 契約ID "users": [{ "type": "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", // メールアドレス "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" } } }] } }
event="payments", type="change_billing_period"
{ "event":"payments", "type":"change_billing_period", "version": 2, "data": { "subscription_id": "sub_1234567890", // サブスクリプションID "service_id": 1, // サービスID "square_id": "service-square-id", // サービススクエアID "period_start": 123456789, // 料金プランの適用開始日時(秒) "period_end": 987654321 // 料金プランの適用終了日時(秒) } }