Introduction
API Reference
Welcome to the VooDooTix API!
You can use our API to access VooDooTix API endpoints. These endpoints are divided into two categories.
- Public endpoints that don't require authentication.
- Private endpoints that require a JWT authentication.
In the documentation, you will always find if the endpoint require a valid JWT to be sent.
You can generate master tickets, upload graphical templates, create API keys with a fine grain RBAC. You can also manage the delegation of your objects to other VooDooTix users for a maximum flexibility. Cherry on the cake, you get a reporting engine to extract the lifecycle of every ticket generated through VooDooTix platform.
We have language bindings in cURL and PHP for the moment, more language to come! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication
# We recommand the use of composer to load the PHP SDK and it's dependencies.
# You can add the PHP SDK to your composer.json file by typing the shell command
composer require Voodootix/sdk
#Don't forget then to write the autoload statement before using Voodootix PHP SDK
<?php
require __DIR__ . '/vendor/autoload.php';
use \Voodootix\vtxClient;
?>
Private VooDooTix API endpoints are authenticated with signed JSON Web Tokens (JWT).
To retrieve a JWT, you can authenticate with 2 type of credentials.
- API key (API ID / API secret)
- User account (Username / password)
API keys are more suitable for machine to machine connectivity.
User accounts are better for interactive session.
You can manage the roles and rights of each API key and User through the backoffice GUI.
You can delegate some rights to someone alse just by knowing it's User id.
Some api endpoints are not accessible through API id/secret authentication.
API Key
To authenticate and retrieve a JWT, use this code:
# The JWT is automatically retrived when you create a vtxClient with the SDK.
$my_vtx_client = new vtxClient("my api ID","my api secret","api","if not set, is default account");
# With cURL, you can retrieve a valid JWT like this.
curl -X POST
-H 'Content-Type: application/json'
-d '{"identifier":"my api ID","secret":"my api secret","authType":"api","accountId":"if not set, is default account"}'
"https://api.voodootix.com/v1/auth"
API keys are generated through the GUI or API calls authenticated via a user account. You can create a VooDooTix account at our developer portal.
HTTP Request
POST https://api.voodootix.com/v1/auth
Query Parameters
Parameter | Description |
---|---|
identifier | Use an api id from an account that has the rights on the resources (master, templates, API...). |
secret | Use the secret associated to this api id. |
authType | Set this to api . |
accountId | This can remain empty for use of the default account of be specified to access a specific Voodootix account. |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
jwt | If authentication is successfull, the generated JWT is returned. |
User account
# The JWT is automatically retrived when you create a vtxClient with the SDK.
$my_vtx_client = new vtxClient("my login","my password","user","if not set, is default account");
# With cURL, you can retrieve a valid JWT like this.
curl -X POST
-H 'Content-Type: application/json'
-d '{"identifier":"my login","secret":"my password","authType":"user","accountId":"if not set, is default account"}'
"https://api.voodootix.com/v1/auth"
API keys are generated through the GUI or API calls authenticated via a user account. You can create a VooDooTix account at our developer portal.
Make sure to replace
yourlogin
andyourpass
with your real login and password.
JWT are retrieve through an API call to a public endpoint.
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"jwt": "skdhqlkhqlkf.lskdufkjsgldjkdmglmd.smldfjkslfsjdlkfjsklv"
}
HTTP Request
POST https://api.voodootix.com/v1/auth
Query Parameters
Parameter | Description |
---|---|
identifier | Use the login from an account that has the rights on the resources (master, templates, API...). |
secret | Use the password associated to the login. |
authType | Set this to user . |
accountId | This can remain empty for use of the default account of be specified to access a specific Voodootix account. |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
jwt | If authentication is successfull, the generated JWT is returned. |
msg | The msg field provide more relevant information related to the status code. |
Accounts
Get all accounts
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_projects = $my_vtx_client->getProject();
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/account"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"account_id": "skdhqlkhqllfsjdlkfjsklv",
"account_name": "Test account name",
"account_desc": "Test account description",
"role_on_account": "owner",
"account_pub_key": "sslkfjsklfsmgjsgjslkjfsnirlslgquhjwkdlsjf....",
"account_status": "0",
"account_delegable": "1",
"account_delegated": "0",
"account_balance":"99999",
"account_type":"premium",
"account_default":"0"},
{"account_id": "skdhqlkhqllfsjdlkfjsklv",
"account_name": "Test account name",
"account_desc": "Test account description",
"role_on_account": "owner",
"account_pub_key": "sslkfjsklfsmgjsgjslkjfsnirlslgquhjwkdlsjf....",
"account_status": "0",
"account_delegable": "1",
"account_delegated": "0",
"account_balance":"99999",
"account_type":"premium",
"account_default":"0"}
]
}
This endpoint retrieves all accounts you have access to depending of the user or API key rights.
HTTP Request
`GET https://api.voodootix.com/v1/account
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Accounts details. |
Account data field :
Field | Description |
---|---|
account_id | Account ID. Unique identifier. |
account_name | Account name. |
account_desc | Account description field. |
account_pub_key | Account public key. It is used to validate the JWT issued for a specific account. ONLY retrievable if your right on account is "admin" or "owner". |
role_on_account | The role defining the action the current user/API key has the rights to perform. See more info about roles in Roles section. |
account_status | 1 stands for an active account, 0 stands for an account that still needs to get activated or was suspended. ONLY retrievable if your right on account is "admin" or "owner". |
account_dalegated | 1 stands for an account the api of user got tights on from another user. |
account_delegable | 1 stands for an account you have rights to delegate access to someone else. |
account_balance | Current credits on the account. ONLY retrievable if your right on account is "admin" or "owner". |
account_type | Each type of account gives specific rights. ONLY retrievable if your right on account is "admin" or "owner". |
account_default | 1 if the account is the user's default account. |
Get a Specific account
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_projects = $my_vtx_client->getProject("<ID>");
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/accountt/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"account_id": "skdhqlkhqllfsjdlkfjsklv",
"account_name": "Test account name",
"account_desc": "Test account description",
"role_on_account": "owner",
"account_pub_key": "sslkfjsklfsmgjsgjslkjfsnirlslgquhjwkdlsjf....",
"account_status": "0",
"account_delegable": "1",
"account_delegated": "0",
"account_balance":"99999",
"account_type":"premium",
"account_default":"0"}
]
}
This endpoint retrieves a specific account.
HTTP Request
GET https://api.voodootix.com/v1/project/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the account to retrieve |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Account details. |
Account data field :
Field | Description |
---|---|
account_id | Account ID. Unique identifier. |
account_name | Account name. |
account_desc | Account description field. |
account_pub_key | Account public key. It is used to validate the JWT issued for a specific account. ONLY retrievable if your right on account is "admin" or "owner". |
role_on_account | The role defining the action the current user/API key has the rights to perform. See more info about roles in Roles section. |
account_status | 1 stands for an active account, 0 stands for an account that still needs to get activated or was suspended. ONLY retrievable if your right on account is "admin" or "owner". |
account_dalegated | 1 stands for an account the api of user got tights on from another user. |
account_delegable | 1 stands for an account you have rights to delegate access to someone else. |
account_balance | Current credits on the account. ONLY retrievable if your right on account is "admin" or "owner". |
account_type | Each type of account gives specific rights. ONLY retrievable if your right on account is "admin" or "owner". |
account_default | 1 if the account is the user's default account. |
Create a new account
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$data["account_name"] = "<your account name>";
$data["account_desc"] = "<your account desc>";
$new_account = $my_vtx_client->createAccount($data);
# With a JWT, cURL command is as follow
curl -X POST
-H "Authorization: Bearer <yourJWT>"
-H "Content-Type: application/json"
-d '{"data":{"account_name":"<yourAccountName>","account_desc":"<yourAccountDesc>"}}'
"https://api.voodootix.com/v1/account"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "Account created",
"ID": <ID>
}
This endpoint creates a new account.
HTTP Request
POST https://api.voodootix.com/v1/account
URL Parameters
Parameter | Description |
---|---|
account_name | Name of the new account |
account_desc | Desc of the new account |
Update a account
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$data["account_name"] = "<your account name>";
$data["account_desc"] = "<your account desc>";
$id = "<your account ID>";
$my_updated_account = $my_vtx_client->updateAccount($id,$data);
# With a JWT, cURL command is as follow
curl -X PUT
-H "Authorization: Bearer <yourJWT>"
-H "Content-Type: application/json"
-d '{"account_name":"<yourAccountName>","account_desc","<yourAccountDesc>"}'
"https://api.voodootix.com/v1/account/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "Account updated",
"ID": <ID>
}
This endpoint updates a account.
HTTP Request
PUT https://api.voodootix.com/v1/account/<ID>
URL Parameters
Parameter | Description |
---|---|
account_name | Name of the account |
account_desc | Desc of the account |
Projets
Get all projets
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_projects = $my_vtx_client->getProject();
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/project"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"project_id": "skdhqlkhqllfsjdlkfjsklv",
"project_name": "Test project",
"project_desc": "This is a test project for doc purpose",
"project_pub_key": "sslkfjsklfsmgjsgjslkjfsnirlslgquhjwkdlsjf....",
"role": "owner",
"delegated": 0,
"delegable": 1},
{"project_id": "aaaijffiiojdlkfjsklv",
"project_name": "Test project 2",
"project_desc": "This is a delegated project for doc purpose",
"project_pub_key": "sslkfjsklgakfixlfjslkjfsnirlslgquhjwkdlsjf....",
"role": "viewer",
"delegated": 1,
"delegable": 0}
]
}
This endpoint retrieves all projects you have access to depending of the user or API key rights.
HTTP Request
`GET https://api.voodootix.com/v1/project
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Projects details. |
Project data field :
Field | Description |
---|---|
project_id | Project ID. Unique identifier. |
project_name | Project name. |
project_desc | Project description field. |
project_pub_key | Project public key. It is used to validate the signature of VooDooTix tickets. |
role | The role defining the action the current user/API key has the rights to perform. See more info about roles in Roles section. |
delegated | This field shows if the access to the project was provided through a delegation from another user. |
delegable | This field shows if the current user/API key has the right to delegate access to the ticket to someone else. |
Get a Specific project
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_projects = $my_vtx_client->getProject("<ID>");
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/project/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"project_id": "skdhqlkhqllfsjdlkfjsklv",
"project_name": "Test project",
"project_desc": "This is a test project for doc purpose",
"project_pub_key": "sslkfjsklfsmgjsgjslkjfsnirlslgquhjwkdlsjf....",
"role": "owner",
"delegated": 0,
"delegable": 1}
]
}
This endpoint retrieves a specific project.
HTTP Request
GET https://api.voodootix.com/v1/project/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project to retrieve |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Projects details. |
Project data field :
Field | Description |
---|---|
project_id | Project ID. Unique identifier. |
project_name | Project name. |
project_desc | Project description field. |
project_pub_key | Project public key. It is used to validate the signature of VooDooTix tickets. |
role | The role defining the action the current user/API key has the rights to perform. See more info about roles in Roles section. |
delegated | This field shows if the access to the project was provided through a delegation from another user. |
delegable | This field shows if the current user/API key has the right to delegate access to the ticket to someone else. |
Delete a Specific project
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_project = $my_vtx_client->deleteProject("<ID>");
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X DELETE
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/project/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg": "Project deleted",
"ID": "<ID>"
}
This endpoint deletes a specific project.
HTTP Request
DELETE https://api.voodootix.com/project/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project to delete |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
ID | ID of the deleted project. |
Create a new project
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$data["project_name"] = "<your project name>";
$data["project_desc"] = "<your project desc>";
$my_projects = $my_vtx_client->CreateProject($data);
# With a JWT, cURL command is as follow
curl -X POST
-H "Authorization: Bearer <yourJWT>"
-H "Content-Type: application/json"
-d '{"project_name":"<yourProjectName>","project_desc","<yourProjectDesc>"}'
"https://api.voodootix.com/v1/project"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "Project created",
"ID": <ID>
}
This endpoint creates a new project.
HTTP Request
POST https://api.voodootix.com/v1/project
URL Parameters
Parameter | Description |
---|---|
project_name | Name of the new project |
project_desc | Desc of the new project |
Update a project
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$data["project_name"] = "<your project name>";
$data["project_desc"] = "<your project desc>";
$id = "<your project ID>";
$my_projects = $my_vtx_client->updateProject($id,$data);
# With a JWT, cURL command is as follow
curl -X PUT
-H "Authorization: Bearer <yourJWT>"
-H "Content-Type: application/json"
-d '{"project_name":"<yourProjectName>","project_desc","<yourProjectDesc>"}'
"https://api.voodootix.com/v1/project/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "Project updated",
"ID": <ID>
}
This endpoint updates a project.
HTTP Request
PUT https://api.voodootix.com/v1/project/<ID>
URL Parameters
Parameter | Description |
---|---|
project_name | Name of the project |
project_desc | Desc of the project |
Templates
Get all templates
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_templates = $my_vtx_client->getTemplate();
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/account"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"template_id": "skdhqlkhqllfsjdlkfjsklv",
"template_name": "Test account name",
"template_desc": "Test account description",
"role": "owner",
"fields": "field1,field2,...",
"color_set": "0",
"mobile_background_color": "#xxxxxx",
"passbook_backgroundColor": "#xxxxxx",
"passbook_foregroudColor":"#xxxxxx",
"passbook_labelColor":"#xxxxxx",
"passbook_stripColor":"#xxxxxx",
"passbook_fields":"<JSON FORMAT SEE DOC>"
"public":"",
"custom":"",
"mobile_front_top":"<Html content of zone>",
"mobile_front_bottom":"<Html content of zone>",
"mobile_back_top":"<Html content of zone>",
"mobile_structure":"<Html code of mobile template>",
"passbook_structure":"<Code structure of passbook build>"},
{"template_id": "skdhqlkhqllfsjdlkfjsklv",
"template_name": "Test account name",
"template_desc": "Test account description",
"role": "owner",
"fields": "field1,field2,...",
"color_set": "0",
"mobile_background_color": "#xxxxxx",
"passbook_backgroundColor": "#xxxxxx",
"passbook_foregroudColor":"#xxxxxx",
"passbook_labelColor":"#xxxxxx",
"passbook_stripColor":"#xxxxxx",
"passbook_fields":"<JSON FORMAT SEE DOC>"
"public":"",
"custom":"",
"mobile_front_top":"<Html content of zone>",
"mobile_front_bottom":"<Html content of zone>",
"mobile_back_top":"<Html content of zone>",
"mobile_structure":"<Html code of mobile template>",
"passbook_structure":"<Code structure of passbook build>"}
]
}
This endpoint retrieves all templates you have access to depending of the user or API key rights.
HTTP Request
`GET https://api.voodootix.com/v1/account
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Templates details. |
Template data field :
Field | Description |
---|---|
template_id | Template ID. Unique identifier. |
template_name | Template name. |
temaplte_desc | Template description field. |
Get a Specific template
use Voodootix\vtxClient;
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_projects = $my_vtx_client->getTemplate("<ID>");
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
-H "Authorization: Bearer <yourJWT>"
"https://api.voodootix.com/v1/template/<ID>"
The above command returns JSON structured like this:
{
"status": "200",
"msg" : "",
"data":
[
{"template_id": "skdhqlkhqllfsjdlkfjsklv",
"template_name": "Test account name",
"tempalte_desc": "Test account description",
"...."
]
}
This endpoint retrieves a specific template.
HTTP Request
GET https://api.voodootix.com/v1/template/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the template to retrieve |
JSON response fields
Field | Description |
---|---|
status | Status 200 is given if the API call is successfull. If not, an error code is provided (See Errors section for more info) |
msg | The msg field provide more relevant information related to the status code. |
data | Data field is a Array of JSON objects containing the Template details. |
Template data field :
Field | Description |
---|---|
template_id | Template ID. Unique identifier. |
template_name | Template name. |
temaplte_desc | Template description field. |
Create a new template
This endpoint creates a new template and is only accessible from the Voodootix developper studio.
Update a existing template
This endpoint updates a existing template and is only accessible from the Voodootix developper studio.
Vouchers - Tickets - Coupons
Generate
#This private endpoint requires to first retrieve a JWT.
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
#You can then perform the request to generate the voucher.
#First assign the project and template
$object = [];
#The project can be created in the BO and defines the assignemnt of the voucher for further reporting or accounting.
$object["project_id"] = "<project_id">;
#The template is alos created in the backoffice and defines the content and look&fill of the voucher.
$object["template_id"] = "<project_id">;
#For each voucher element that is required by the template (see required fields configured)
$object["<field_name>"] = "<value>";
#Then generate the voucher.
$my_voucher = $my_vtx_client->generate($object);
payload = {}
payload["identifier"] = "<api_id>"
payload["secret"] = "<api_secret>"
payload["authType"] = "api"
encoded_data = json.dumps(payload).encode('utf-8')
http = urllib3.PoolManager(ca_certs=certifi.where())
try:
apiAuth = http.request('POST','https://api.voodootix.com/v1/auth',body=encoded_data,headers={'Content-Type': 'application/json'})
except requests.exceptions.HTTPError as err:
...
else:
try:
auth = json.loads(apiAuth.data.decode('utf-8'))
jwt = auth["jwt"]
except Exception as err:
...
else:
data = {}
data["project_id"] = "<project_id>"
data["template_id"] = "<project_id>"
data["<field_name>"] = "<value>"
encoded_data = json.dumps(data).encode('utf-8')
http = urllib3.PoolManager(ca_certs=certifi.where())
try:
voucher = http.request('POST','https://api.voodootix.com/v1/gen',body=encoded_data,headers={'Content-Type': 'application/json','Authorization':'Bearer '+jwt})
except requests.exceptions.HTTPError as err:
else:
newVoucher = json.loads(voucher.data.decode('utf-8'))
return newVoucher
The above command create a voucher and returns its unique ID.
This private endpoint requires to first retrieve a JWT.
See auth documentation to retrieve a JWT.
You can then perform the request to generate the voucher.
You need to POST an JSON encoded array with following elements.
First assign the project and template
- The project can be created in the BO and defines the assignemnt of the voucher for further reporting or accounting.
- The template is alos created in the backoffice and defines the content and look&fill of the voucher.
Then, for each voucher element that is required by the template (see required fields configured).
Mobile format
#This public endpoint returning a full html document will not be wrapped into the sdk. You can retrieve it directly with a formated url as a stadnalone page, an iframe of embedded with a jsonp ajax call.
"https://api.voodootix.com/v1/m/<ID>"
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
"https://api.voodootix.com/v1/m/<ID>"
The above command returns an HTML content with the mobile ticket.
This PUBLIC
endpoint retrieves the mobile version of a VooDooTix voucher/coupon/ticket based on its ID. The look and feel of the mobile format was chosen at generation time (see POST action on ticket endpoint.)
HTTP Request
GET https://api.voodootix.com/v1/m/<ID>
Image format
#This public endpoint returning a png image of the voucher's front face is currently not wrapped into the PHP SDK. You can integrate it inside your own html page through a href tag.
"https://api.voodootix.com/v1/png/<ID>"
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
"https://api.voodootix.com/v1/png/<ID>"
The above command returns a png version of the mobile ticket.
This PUBLIC
endpoint returns the image of the front face of a VooDooTix voucher/coupon/ticket based on its ID.
The look and feel is the same as the mobile version.
HTTP Request
GET https://api.voodootix.com/v1/png/<ID>
Pkpass format
#This public endpoint returning a pkass build of the voucher is currently not wrapped into the PHP SDK.<br>
The pkpass will be automatically downloaded on iPhones and can be stored on Android phones in wallet apps like Storecard.
"https://api.voodootix.com/v1/pb/<ID>"
# With a JWT retrieved during a auth call, cURL command is as follow
curl -X GET
"https://api.voodootix.com/v1/pb/<ID>"
The above command returns an pkpass package.
This PUBLIC
endpoint returns the pkpass build of a VooDooTix voucher/coupon/ticket based on its ID.
The look and feel is the same as the mobile version.
HTTP Request
GET https://api.voodootix.com/v1/pb/<ID>
Raw format
#This public endpoint returning a json of the voucher can be accessed with or without the SDK.<br>
The json is directly accessible at the voucher url as shown below or via an authenticated SDK call.<br>
$my_vtx_client = new vtxClient("my identifier","my secret","api or user","if not set, is default account");
$my_voucher = $my_vtx_client->raw(<ID>);
# Without authentication, cURL command is as follow
curl -X GET
"https://api.voodootix.com/v1/raw/<ID>"
The above command returns a json containing the data stored for a particular voucher.
This PUBLIC
endpoint returns the pkpass build of a VooDooTix voucher/coupon/ticket based on its ID.
The look and feel is the same as the mobile version.
HTTP Request
GET https://api.voodootix.com/v1/raw/<ID>
Errors
The Voodootix API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- You don't have rights to access this item |
404 | Not Found -- The specified item could not be found. |
405 | Method Not Allowed -- You tried to use an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
410 | Gone -- The requested ID has been removed from our servers. |
418 | I'm a teapot. |
429 | Too Many Requests -- You're making too many requests! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |