管理 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 則是分配給您的合作夥伴 ID。

如要找出合作夥伴 ID,請按照下列步驟操作:

  1. Producer Portal 中開啟產品。
  2. 前往「技術整合」部分。
  3. 在「供應商 ID」欄位中,合作夥伴 ID 是「供應商 ID」值。

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

核准使用者帳戶

使用者註冊成功後,應用程式必須呼叫 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 參考資料