請參閱服務對服務 API 的必要條件。如果產品未針對您的驗證類型正確設定,呼叫可能會成功但不傳回任何結果。
選擇符合您需求的正確 Collections Query API
Collections Query 有兩個版本:b2bLicensePreview (v8) 和 publisherQuery (v9)。在大部分情況下,請使用 publisherQuery,因為它的要求參數經過簡化,並支援 XBOX Game Pass 狀態。當您需要舊版行為 (例如 LegacyProductId 支援) 時,請使用 b2bLicensePreview。
雖然消耗功能沒有對應的 v9 URI,但您可以同時使用 publisherQuery 和 v8 消耗 URI,不會有任何問題。
了解回應中的滿足權利
使用者可以直接 (購買/兌換) 或間接 (套件組合/訂閱) 取得產品的權利。如果權利是間接取得的,satisfiedByProductIds 陣列會包含權利來源的 ProductId。
範例:使用者購買了某遊戲的豪華版套件組合。呼叫 Query API 會在結果中傳回遊戲產品以及套件組合中包含的任何產品。這些項目的 satisfiedByProductIds 清單中都會有豪華版套件組合的 ProductID。
了解回應中的重複項目
當使用者有多個權利來源時,您可能會看到多個具有相同 ProductId/SKU 的項目。差異通常出現在acquisitionType、日期和 satisfiedByProductIds 等欄位中。將 excludeDuplicates 設為 true,即可將多個權利來源合併為一個項目,並依下列順序保留最直接的擁有權權利:
- 直接購買 / 兌換代碼
- 由直接購買的套件組合滿足
- 由訂閱滿足
- 由促銷購買滿足 (例如:Games With Gold)
Active 和 Expired 訂閱期間),則只會依下列狀態優先順序傳回一個項目 (即使 excludeDuplicates 已關閉):
ActiveInvalid(如果有多個無效的權利,會傳回最近失效的項目)Revoked
範例
使用者購買了遊戲 A 和附加元件 B,之後又購買了也包含附加元件 B 的季票。回應中可能會包含附加元件 B 的兩個項目:直接購買項目,以及來自季票的滿足權利。如果excludeDuplicates 為 true,則只會傳回直接購買項目。
