兌換 PlayStation Store 庫存物品
Redeem items.
Allowed entity token types: title, master_player_account, title_player_account
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| AccountNotLinked | 1014 |
| InvalidCatalogItemConfiguration | 4015 |
| InvalidPSNAuthCode | 1092 |
| NotAuthorized | 1089 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"AuthorizationCode": "authorizationCode",
"RedirectUri": "orbis://games",
"ServiceLabel": "0"
}
'import requests
url = "https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems"
payload = {
"AuthorizationCode": "authorizationCode",
"RedirectUri": "orbis://games",
"ServiceLabel": "0"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
AuthorizationCode: 'authorizationCode',
RedirectUri: 'orbis://games',
ServiceLabel: '0'
})
};
fetch('https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems', 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/Inventory/RedeemPlayStationStoreInventoryItems",
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([
'AuthorizationCode' => 'authorizationCode',
'RedirectUri' => 'orbis://games',
'ServiceLabel' => '0'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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/Inventory/RedeemPlayStationStoreInventoryItems"
payload := strings.NewReader("{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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/Inventory/RedeemPlayStationStoreInventoryItems")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"TransactionIds": [
"transactionId1",
"transactionId2"
],
"Succeeded": [
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId1",
"MarketplaceAlternateId": "MarketplaceAlternateId1"
},
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId2",
"MarketplaceAlternateId": "MarketplaceAlternateId2"
}
],
"Failed": []
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}授權
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
主體
Redeem items from the PlayStation Store.
Redeem items from the PlayStation Store.
Auth code returned by PlayStation™ Network OAuth system.
The id of the entity's collection to perform this action on. (Default="default")
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The entity to perform this action on.
Show child attributes
Show child attributes
Redirect URI supplied to PlayStation™ Network when requesting an auth code.
Optional Service Label to pass into the request.
回應
The Http status code. If X-ReportErrorAsSuccess header is set to true, this will report the actual http error code.
The Http status code as a string.
Show child attributes
Show child attributes
{
"TransactionIds": ["transactionId1", "transactionId2"],
"Succeeded": [
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId1",
"MarketplaceAlternateId": "MarketplaceAlternateId1"
},
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId2",
"MarketplaceAlternateId": "MarketplaceAlternateId2"
}
],
"Failed": []
}
這個頁面有幫助嗎?
curl --request POST \
--url https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"AuthorizationCode": "authorizationCode",
"RedirectUri": "orbis://games",
"ServiceLabel": "0"
}
'import requests
url = "https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems"
payload = {
"AuthorizationCode": "authorizationCode",
"RedirectUri": "orbis://games",
"ServiceLabel": "0"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
AuthorizationCode: 'authorizationCode',
RedirectUri: 'orbis://games',
ServiceLabel: '0'
})
};
fetch('https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems', 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/Inventory/RedeemPlayStationStoreInventoryItems",
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([
'AuthorizationCode' => 'authorizationCode',
'RedirectUri' => 'orbis://games',
'ServiceLabel' => '0'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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/Inventory/RedeemPlayStationStoreInventoryItems"
payload := strings.NewReader("{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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/Inventory/RedeemPlayStationStoreInventoryItems")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Inventory/RedeemPlayStationStoreInventoryItems")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"AuthorizationCode\": \"authorizationCode\",\n \"RedirectUri\": \"orbis://games\",\n \"ServiceLabel\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"TransactionIds": [
"transactionId1",
"transactionId2"
],
"Succeeded": [
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId1",
"MarketplaceAlternateId": "MarketplaceAlternateId1"
},
{
"SuccessCode": "success",
"SuccessTimestamp": "2022-09-08T00:00:00",
"MarketplaceTransactionId": "marketplaceTransactionId2",
"MarketplaceAlternateId": "MarketplaceAlternateId2"
}
],
"Failed": []
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}