取用 Microsoft Store 權利
Grants the player’s current entitlements from Microsoft Store’s Collection API
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| ItemNotFound | 1047 |
| ProductDisabledForTitle | 1609 |
POST
/
Client
/
ConsumeMicrosoftStoreEntitlements
Consume Microsoft Store Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"MarketplaceSpecificData": {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"userId": "46239871",
"collectionsMsIdKey": "MicrosoftStoreIdKey"
},
"CatalogVersion": "MainCatalog"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements"
payload = {
"MarketplaceSpecificData": {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"userId": "46239871",
"collectionsMsIdKey": "MicrosoftStoreIdKey"
},
"CatalogVersion": "MainCatalog"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
MarketplaceSpecificData: {
XboxToken: 'XBL3.0 x=1981989841;akljdlkafdknad',
userId: '46239871',
collectionsMsIdKey: 'MicrosoftStoreIdKey'
},
CatalogVersion: 'MainCatalog'
})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'MarketplaceSpecificData' => [
'XboxToken' => 'XBL3.0 x=1981989841;akljdlkafdknad',
'userId' => '46239871',
'collectionsMsIdKey' => 'MicrosoftStoreIdKey'
],
'CatalogVersion' => 'MainCatalog'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements"
payload := strings.NewReader("{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}授權
This API requires a client session ticket, available from any Client Login function.
主體
application/json
Marketplace specific payload containing details to fetch in app purchase transactions
Show child attributes
Show child attributes
Catalog version to use
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
最後修改於 2026年10月6日
相關主題
取用 PSN 權利取用 Xbox 權利取用 PS5 權利XStoreQueryLicenseTokenAsyncMicrosoft Store v8 Collections b2bLicensePreview API這個頁面有幫助嗎?
⌘I
Consume Microsoft Store Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"MarketplaceSpecificData": {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"userId": "46239871",
"collectionsMsIdKey": "MicrosoftStoreIdKey"
},
"CatalogVersion": "MainCatalog"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements"
payload = {
"MarketplaceSpecificData": {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"userId": "46239871",
"collectionsMsIdKey": "MicrosoftStoreIdKey"
},
"CatalogVersion": "MainCatalog"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
MarketplaceSpecificData: {
XboxToken: 'XBL3.0 x=1981989841;akljdlkafdknad',
userId: '46239871',
collectionsMsIdKey: 'MicrosoftStoreIdKey'
},
CatalogVersion: 'MainCatalog'
})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'MarketplaceSpecificData' => [
'XboxToken' => 'XBL3.0 x=1981989841;akljdlkafdknad',
'userId' => '46239871',
'collectionsMsIdKey' => 'MicrosoftStoreIdKey'
],
'CatalogVersion' => 'MainCatalog'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements"
payload := strings.NewReader("{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumeMicrosoftStoreEntitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"MarketplaceSpecificData\": {\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"userId\": \"46239871\",\n \"collectionsMsIdKey\": \"MicrosoftStoreIdKey\"\n },\n \"CatalogVersion\": \"MainCatalog\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}