Tokenisation Profile
How to manage profiles to work with incoming cards
A Tokenisation Profile is a setting to represent how to exclude information from a 3rd party service message.
Please ask us to create profiles for you (No Charge). You are welcome to try yourself but we have working profiles and can make new profiles easily.
{
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"type": "tokenization_profile",
"attributes": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"name": "sample",
"profile": {
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"card_token_node": "token",
"error_node": "error",
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
},
"created_at": "2020-06-08T05:49:10.979Z",
"updated_at": "2020-06-08T05:49:10.979Z"
}
}
Field | Description |
id | Unique identifier based at UUID v4 |
name | Tokenisation profile name, URL-safe string |
profile | Tokenisation profile structure |
created_at | timestamp when profile was created |
updated_at | timestamp when profile was updated |
Field | Description |
type | type of incoming content (JSON or XML) |
schema | information about message_node and card_node placement |
card_token_placement | information about card_token destination |
card_node | information about card information nodes |
Field | Description |
message_node | JSON object with selector field with JSONPath or XPath to booking message node at 3rd party service message |
card_node | JSON object with selector field with relative JSONPath or XPath to credit card node |
Field | Description |
type | One of possible values: card_node, headers |
node | required field if type is card_node, XPath or JSONPath to node, where card_token should be inserted |
If you choose
card_node
, card_token
will be inserted into message structure. If headers
chosen, card_token will be return at X-PCI-CHANNEX-TOKENS
Header. If message contain several bookings, we will return several card_tokens. If one of messages does not have credit card info, it will be represent as an empty string at Headers.Field | Description |
card_number | JSON object with selector for Card Number |
cardholder_name | JSON object with selector for Cardholder name |
expiration_month | JSON object with selector for Expiration Month |
expiration_year | JSON object with selector for Expiration Year |
service_code | JSON object with selector for Service Code (CVV, CVC)
|
Each selector can contain field selector with JSONPath or XPath, and field transformation to modify the excluded value.
Please, keep in mind, our Tokenisation Profiles are based at XPath or JSONPath functionality.
Method to get list of Tokenisation Profiles
Request
Success Response
GET https://pci.channex.io/api/v1/tokenization_profiles?api_key={API_KEY}
{
"data": [
{
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"type": "tokenization_profile",
"attributes": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"name": "sample",
"profile": {
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"card_token_node": "token",
"error_node": "error"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
},
"created_at": "2020-06-08T05:49:10.979Z",
"updated_at": "2020-06-08T05:49:10.979Z"
}
}
]
}
Method to create a new Tokenisation profile
Reqeust
Success Response
POST https://pci.channex.io/api/v1/tokenization_profiles?api_key={API_KEY}
{
"tokenization_profile": {
"name": "sample",
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"node": "token"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
}
}
{
"data": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"type": "tokenization_profile",
"attributes": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"name": "sample",
"profile": {
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"card_token_node": "token",
"error_node": "error"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
},
"created_at": "2020-06-08T05:49:10.979Z",
"updated_at": "2020-06-08T05:49:10.979Z"
}
}
}
Method to get Tokenisation Profile by ID
Request
Success Response
GET https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
{
"data": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"type": "tokenization_profile",
"attributes": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"name": "sample",
"profile": {
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"card_token_node": "token",
"error_node": "error"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
},
"created_at": "2020-06-08T05:49:10.979Z",
"updated_at": "2020-06-08T05:49:10.979Z"
}
}
}
Method to update Tokenisation Profile
Request
Success Response
PUT https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
{
"tokenization_profile": {
"name": "sample",
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"node": "token"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
}
}
{
"data": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"type": "tokenization_profile",
"attributes": {
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
"name": "sample",
"profile": {
"type": "json",
"schema": {
"message_node": {
"selector": "$.data"
},
"card_node": {
"selector": "attributes.guarantee"
}
},
"card_token_placement": {
"type": "card_node",
"card_token_node": "token",
"error_node": "error"
},
"card_node": {
"card_number": {
"selector": "card_number"
},
"cardholder_name": {
"selector": "cardholder_name"
},
"expiration_month": {
"selector": "expiration_date",
"transformation": "substring:0,2"
},
"expiration_year": {
"selector": "expiration_date",
"transformation": "substring:3,6"
},
"service_code": {
"selector": "cvv"
}
}
},
"created_at": "2020-06-08T05:49:10.979Z",
"updated_at": "2020-06-08T05:49:10.979Z"
}
}
}
Method to remove a Tokenisation Profile
Request
Success Response
DELETE https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
Status: 204 No Content
Last modified 3yr ago