Channex.io
Search…
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.

Tokenisation Profile structure

1
{
2
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
3
"type": "tokenization_profile",
4
"attributes": {
5
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
6
"name": "sample",
7
"profile": {
8
"type": "json",
9
"schema": {
10
"message_node": {
11
"selector": "$.data"
12
},
13
"card_node": {
14
"selector": "attributes.guarantee"
15
}
16
},
17
"card_token_placement": {
18
"type": "card_node",
19
"card_token_node": "token",
20
"error_node": "error",
21
},
22
"card_node": {
23
"card_number": {
24
"selector": "card_number"
25
},
26
"cardholder_name": {
27
"selector": "cardholder_name"
28
},
29
"expiration_month": {
30
"selector": "expiration_date",
31
"transformation": "substring:0,2"
32
},
33
"expiration_year": {
34
"selector": "expiration_date",
35
"transformation": "substring:3,6"
36
},
37
"service_code": {
38
"selector": "cvv"
39
}
40
}
41
},
42
"created_at": "2020-06-08T05:49:10.979Z",
43
"updated_at": "2020-06-08T05:49:10.979Z"
44
}
45
}
Copied!
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

Profile

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

Schema

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

Card Token Placement

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.

Card Node

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.

Get List of Tokenisation Profiles

Method to get list of Tokenisation Profiles
Request
Success Response
1
GET https://pci.channex.io/api/v1/tokenization_profiles?api_key={API_KEY}
Copied!
1
{
2
"data": [
3
{
4
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
5
"type": "tokenization_profile",
6
"attributes": {
7
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
8
"name": "sample",
9
"profile": {
10
"type": "json",
11
"schema": {
12
"message_node": {
13
"selector": "$.data"
14
},
15
"card_node": {
16
"selector": "attributes.guarantee"
17
}
18
},
19
"card_token_placement": {
20
"type": "card_node",
21
"card_token_node": "token",
22
"error_node": "error"
23
},
24
"card_node": {
25
"card_number": {
26
"selector": "card_number"
27
},
28
"cardholder_name": {
29
"selector": "cardholder_name"
30
},
31
"expiration_month": {
32
"selector": "expiration_date",
33
"transformation": "substring:0,2"
34
},
35
"expiration_year": {
36
"selector": "expiration_date",
37
"transformation": "substring:3,6"
38
},
39
"service_code": {
40
"selector": "cvv"
41
}
42
}
43
},
44
"created_at": "2020-06-08T05:49:10.979Z",
45
"updated_at": "2020-06-08T05:49:10.979Z"
46
}
47
}
48
]
49
}
Copied!

Create Tokenisation Profile

Method to create a new Tokenisation profile
Reqeust
Success Response
1
POST https://pci.channex.io/api/v1/tokenization_profiles?api_key={API_KEY}
2
3
{
4
"tokenization_profile": {
5
"name": "sample",
6
"type": "json",
7
"schema": {
8
"message_node": {
9
"selector": "$.data"
10
},
11
"card_node": {
12
"selector": "attributes.guarantee"
13
}
14
},
15
"card_token_placement": {
16
"type": "card_node",
17
"node": "token"
18
},
19
"card_node": {
20
"card_number": {
21
"selector": "card_number"
22
},
23
"cardholder_name": {
24
"selector": "cardholder_name"
25
},
26
"expiration_month": {
27
"selector": "expiration_date",
28
"transformation": "substring:0,2"
29
},
30
"expiration_year": {
31
"selector": "expiration_date",
32
"transformation": "substring:3,6"
33
},
34
"service_code": {
35
"selector": "cvv"
36
}
37
}
38
}
39
}
Copied!
1
{
2
"data": {
3
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
4
"type": "tokenization_profile",
5
"attributes": {
6
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
7
"name": "sample",
8
"profile": {
9
"type": "json",
10
"schema": {
11
"message_node": {
12
"selector": "$.data"
13
},
14
"card_node": {
15
"selector": "attributes.guarantee"
16
}
17
},
18
"card_token_placement": {
19
"type": "card_node",
20
"card_token_node": "token",
21
"error_node": "error"
22
},
23
"card_node": {
24
"card_number": {
25
"selector": "card_number"
26
},
27
"cardholder_name": {
28
"selector": "cardholder_name"
29
},
30
"expiration_month": {
31
"selector": "expiration_date",
32
"transformation": "substring:0,2"
33
},
34
"expiration_year": {
35
"selector": "expiration_date",
36
"transformation": "substring:3,6"
37
},
38
"service_code": {
39
"selector": "cvv"
40
}
41
}
42
},
43
"created_at": "2020-06-08T05:49:10.979Z",
44
"updated_at": "2020-06-08T05:49:10.979Z"
45
}
46
}
47
}
Copied!

Get Tokenisation Profile

Method to get Tokenisation Profile by ID
Request
Success Response
1
GET https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
Copied!
1
{
2
"data": {
3
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
4
"type": "tokenization_profile",
5
"attributes": {
6
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
7
"name": "sample",
8
"profile": {
9
"type": "json",
10
"schema": {
11
"message_node": {
12
"selector": "$.data"
13
},
14
"card_node": {
15
"selector": "attributes.guarantee"
16
}
17
},
18
"card_token_placement": {
19
"type": "card_node",
20
"card_token_node": "token",
21
"error_node": "error"
22
},
23
"card_node": {
24
"card_number": {
25
"selector": "card_number"
26
},
27
"cardholder_name": {
28
"selector": "cardholder_name"
29
},
30
"expiration_month": {
31
"selector": "expiration_date",
32
"transformation": "substring:0,2"
33
},
34
"expiration_year": {
35
"selector": "expiration_date",
36
"transformation": "substring:3,6"
37
},
38
"service_code": {
39
"selector": "cvv"
40
}
41
}
42
},
43
"created_at": "2020-06-08T05:49:10.979Z",
44
"updated_at": "2020-06-08T05:49:10.979Z"
45
}
46
}
47
}
Copied!

Update Tokenisation Profile

Method to update Tokenisation Profile
Request
Success Response
1
PUT https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
2
3
{
4
"tokenization_profile": {
5
"name": "sample",
6
"type": "json",
7
"schema": {
8
"message_node": {
9
"selector": "$.data"
10
},
11
"card_node": {
12
"selector": "attributes.guarantee"
13
}
14
},
15
"card_token_placement": {
16
"type": "card_node",
17
"node": "token"
18
},
19
"card_node": {
20
"card_number": {
21
"selector": "card_number"
22
},
23
"cardholder_name": {
24
"selector": "cardholder_name"
25
},
26
"expiration_month": {
27
"selector": "expiration_date",
28
"transformation": "substring:0,2"
29
},
30
"expiration_year": {
31
"selector": "expiration_date",
32
"transformation": "substring:3,6"
33
},
34
"service_code": {
35
"selector": "cvv"
36
}
37
}
38
}
39
}
Copied!
1
{
2
"data": {
3
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
4
"type": "tokenization_profile",
5
"attributes": {
6
"id": "441928a5-6cf6-4735-ae95-8b1a27178d1c",
7
"name": "sample",
8
"profile": {
9
"type": "json",
10
"schema": {
11
"message_node": {
12
"selector": "$.data"
13
},
14
"card_node": {
15
"selector": "attributes.guarantee"
16
}
17
},
18
"card_token_placement": {
19
"type": "card_node",
20
"card_token_node": "token",
21
"error_node": "error"
22
},
23
"card_node": {
24
"card_number": {
25
"selector": "card_number"
26
},
27
"cardholder_name": {
28
"selector": "cardholder_name"
29
},
30
"expiration_month": {
31
"selector": "expiration_date",
32
"transformation": "substring:0,2"
33
},
34
"expiration_year": {
35
"selector": "expiration_date",
36
"transformation": "substring:3,6"
37
},
38
"service_code": {
39
"selector": "cvv"
40
}
41
}
42
},
43
"created_at": "2020-06-08T05:49:10.979Z",
44
"updated_at": "2020-06-08T05:49:10.979Z"
45
}
46
}
47
}
Copied!

Remove Tokenisation Profile

Method to remove a Tokenisation Profile
Request
Success Response
1
DELETE https://pci.channex.io/api/v1/tokenization_profiles/{id}?api_key={API_KEY}
Copied!
1
Status: 204 No Content
Copied!