const response = await fetch('https://service.pcibooking.net/api/booker');
const profiles = await response.json();
profiles.forEach(profile => {
console.log(`${profile.Name}: ${profile.Description}`);
if (profile.PathSegmentNames.length > 0) {
console.log(' Path segments:', profile.PathSegmentNames.join(', '));
}
});
import requests
response = requests.get('https://service.pcibooking.net/api/booker')
profiles = response.json()
for profile in profiles:
print(f"{profile['Name']}: {profile['Description']}")
if profile['PathSegmentNames']:
print(f" Path segments: {', '.join(profile['PathSegmentNames'])}")
[
{
"Name": "Agoda",
"Description": "Request to https://supply.agoda.com/api",
"PathSegmentNames": []
},
{
"Name": "SiteMinder",
"Description": "Request to https://ws.siteminder.com/pmsxchangev2/services/{SiteMinderCustID}",
"PathSegmentNames": [
"SiteMinderCustID"
]
}
]
{
"code": -150,
"message": "Internal error",
"moreInfo": "Failed to retrieve the list of available profiles",
"errorList": null
}
Server-Side Tokenization
Get Tokenization Profiles
Returns a list of pre-configured tokenization profiles. Use the profile name when calling the Tokenize on Response Using Preset Profiles endpoint.
GET
/
api
/
booker
const response = await fetch('https://service.pcibooking.net/api/booker');
const profiles = await response.json();
profiles.forEach(profile => {
console.log(`${profile.Name}: ${profile.Description}`);
if (profile.PathSegmentNames.length > 0) {
console.log(' Path segments:', profile.PathSegmentNames.join(', '));
}
});
import requests
response = requests.get('https://service.pcibooking.net/api/booker')
profiles = response.json()
for profile in profiles:
print(f"{profile['Name']}: {profile['Description']}")
if profile['PathSegmentNames']:
print(f" Path segments: {', '.join(profile['PathSegmentNames'])}")
[
{
"Name": "Agoda",
"Description": "Request to https://supply.agoda.com/api",
"PathSegmentNames": []
},
{
"Name": "SiteMinder",
"Description": "Request to https://ws.siteminder.com/pmsxchangev2/services/{SiteMinderCustID}",
"PathSegmentNames": [
"SiteMinderCustID"
]
}
]
{
"code": -150,
"message": "Internal error",
"moreInfo": "Failed to retrieve the list of available profiles",
"errorList": null
}
Universal Tokenization Guide
Tokenize cards from any source using preset profiles
Error Responses
| Code | HTTP Status | Condition |
|---|---|---|
-150 | 500 | Failed to retrieve the list of available profiles (internal error). |
const response = await fetch('https://service.pcibooking.net/api/booker');
const profiles = await response.json();
profiles.forEach(profile => {
console.log(`${profile.Name}: ${profile.Description}`);
if (profile.PathSegmentNames.length > 0) {
console.log(' Path segments:', profile.PathSegmentNames.join(', '));
}
});
import requests
response = requests.get('https://service.pcibooking.net/api/booker')
profiles = response.json()
for profile in profiles:
print(f"{profile['Name']}: {profile['Description']}")
if profile['PathSegmentNames']:
print(f" Path segments: {', '.join(profile['PathSegmentNames'])}")
Response
200 - An array of available profiles.string
The profile identifier. Use this value as the
ProfileName path parameter when calling Tokenize on Response Using Preset Profiles.string
A description of the profile, including the target URL. If the URL contains dynamic path segments, they are shown as placeholders (e.g.
{SiteMinderCustID}).string[]
Dynamic path segment names that must be provided via the
pathSegments query parameter when submitting a request. Empty array if the profile’s URL has no dynamic segments.[
{
"Name": "Agoda",
"Description": "Request to https://supply.agoda.com/api",
"PathSegmentNames": []
},
{
"Name": "SiteMinder",
"Description": "Request to https://ws.siteminder.com/pmsxchangev2/services/{SiteMinderCustID}",
"PathSegmentNames": [
"SiteMinderCustID"
]
}
]
{
"code": -150,
"message": "Internal error",
"moreInfo": "Failed to retrieve the list of available profiles",
"errorList": null
}

