管理 SaaS 產品的使用者帳戶

整體來說,您的應用程式必須應對的情境如下:

  1. 使用者在 Cloud Marketplace 提出要求或做出變更,例如申請使用您的產品。

  2. Cloud Marketplace 會透過 Pub/Sub 向您的應用程式傳送通知,其中的 eventType 欄位含有要求相關資訊。舉例來說,如果使用者變更了自身的授權,eventType 即為 ENTITLEMENT_PLAN_CHANGED

    請參閱eventType 的完整可能值清單

  3. 為了核准要求,您的應用程式會將 HTTP POST 要求傳送至 Partner Procurement API。

以下幾節將說明使用者可以提出的要求類型,以及您的應用程式在處理要求時必須執行的操作。

對於本節說明的 API 呼叫,請使用下列端點:

https://cloudcommerceprocurement.googleapis.com/

事前準備

  • 按照「 整合應用程式」一文的說明來設定 Cloud Commerce Partner Procurement API 的存取權。

為新使用者建立帳戶

使用者首次購買您的產品時,Cloud Marketplace 會建立帳戶資源,藉此追蹤使用者與您之間的關係。日後購買您擁有的產品時,系統會重複使用相同的帳戶資源。每當使用者首次購買任何產品時,如果您已為該產品啟用帳戶通知,系統就會透過為您建立的 Pub/Sub 主題通知您。Pub/Sub 訊息的格式如下:

{
  "eventId": "...",
  "providerId": "YOUR_PARTNER_ID",
  "account": {
    "id": "USER_ACCOUNT_ID",
    "updateTime": "..."
  }
}

其中 USER_ACCOUNT_ID 是由 Cloud Marketplace 建立的帳戶 ID,而 YOUR_PARTNER_ID 是在合作夥伴工程師啟用 Partner Procurement API 存取權時,指派給你的 ID。

系統會同時將使用者導向您的註冊頁面,以便在您的系統中建立帳戶。如要瞭解如何建立註冊頁面,請參閱「整合應用程式前端」。

核准使用者帳戶

使用者註冊成功後,您的應用程式必須呼叫 Partner Procurement API,並表明帳戶已獲核准。帳戶在建立時處於 ACCOUNT_ACTIVE 狀態,但在名為 signupapprovals 欄位中有 PENDING 項目,表示使用者尚未註冊。如要在使用者註冊後核准帳戶,請使用以下 HTTP POST 要求:

POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}

查看使用者帳戶的狀態

如要檢查已連結帳戶的狀態,請使用下列 HTTP GET 要求:

GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID

回應的格式如下:

{
  "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID",
  "provider": "acme-services",
  "state": "ACCOUNT_ACTIVE",
  "approvals": [{
    "name": "signup",
    "state": "APPROVED",
    "updateTime": "...",
  }],
  "updateTime": "...",
  "createTime": "..."
}

如需可能的帳戶狀態清單,請參閱 providers.accounts API 參考資料