This guide provides an intro to the check-in API. If you want to make a custom application for checking in attendees, this is the right place to start.
End-point: http://www.yoursite.com/tc-api/your_api_key_here/check_credentials
Purpose: Use this to check if api key is valid. We use it during the first / login screen
Example Call:
$url = 'http://www.yoursite.com/tc-api/your_api_key_here/check_credentials';
$response = wp_remote_post( $url, array(
'method' => 'GET',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => '',
'cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
echo "Something went wrong: ".$response->get_error_message();
} else {
print_r( $response );
}
Example Response 1 (api key is invalid):
{
"pass":false
}
Example Response 2 (api key is valid):
{
"pass":true,
"license_key":"4DDGH-cMzNUjmTcd2uONA6AO2wyFjqzZJPglWnsy2YS6Y",
"admin_email":"admin@example.com",
"tc_iw_is_pr":true
}
In this response, you'll only use "pass" argument. In this case "pass": true means that api key is valid.
End-point: http://www.yoursite.com/tc-api/your_api_key_here/event_essentials
Purpose: Use this to get some basic information about the event like event name, location, number of tickets sold and number of checked-in attendees
Example Call:
$url = 'http://www.yoursite.com/tc-api/your_api_key_here/event_essentials';
$response = wp_remote_post( $url, array(
'method' => 'GET',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => '',
'cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
echo "Something went wrong: ".$response->get_error_message();
} else {
print_r( $response );
}
Example Response
{
"event_name":"Example Event",
"event_date_time":"8th March 2017 12:15 am",
"event_location":"Somewhere",
"sold_tickets":995,//useful for pagination when you list attendees and tickets (see bellow)
"checked_tickets":45,
"pass":true
}
End-point: http://www.yoursite.com/tc-api/your_api_key_here/tickets_
Purpose: Use this to get a list of attendees / tickets and also custom field values
Example Call:
$url = 'http://www.yoursite.com/tc-api/your_api_key_here/tickets_info/5/1/';
$response = wp_remote_post( $url, array(
'method' => 'GET',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => '', '
cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
echo "Something went wrong: ".$response->get_error_message();
}
else {
print_r( $response );
}
Example Response
[
{
"data":
{
"date_checked": "", //if this isn't empty, that means that attendee is checked-in
"payment_date": "19th May 2017 - 10:03 am",
"transaction_id": "25955-1",
"checksum": "25955-1",//this is the ticket code you'll send to check-in attendee / ticket
"buyer_first": "Rich",
"buyer_last": "Gary",
"custom_fields": [
["Ticket Type", "VIP Ticket"],
["Buyer Name", "Some Buyer"],
["Buyer E-mail", "attendee_or_buyer_email@example.com"]
],
"custom_field_count": 3, //count of custom_fields
"allowed_checkins": 10//allowed checkins, useful to know if you want to make offline checkins
}
},
{
"data": {
"date_checked": "",
"payment_date": "16th May 2017 - 6:30 pm",
"transaction_id": "25941-1",
"checksum": "25941-1",
"buyer_first": "Some",
"buyer_last": "One",
"custom_fields": [
["Ticket Type", "Variable Ticket (Kids)"],
["Buyer Name", "Another Buyer"],
["Buyer E-mail", "attendee_or_buyer_email@example.com"]
],
"custom_field_count": 3,
"allowed_checkins": 2
}
}, {
"data": {
"date_checked": "",
"payment_date": "16th May 2017 - 11:36 am",
"transaction_id": "25936-1",
"checksum": "25936-1",
"buyer_first": "And Another",
"buyer_last": "Buyer",
"custom_fields": [
["Ticket Type", "Regular Ticket"],
["Buyer Name", "Again Buyer or Attendee name"],
["Buyer E-mail", "attendee_or_buyer_email@example.com"]
],
"custom_field_count": 3,
"allowed_checkins": 9999
}
}, {
"data": {
"date_checked": "",
"payment_date": "16th May 2017 - 11:36 am",
"transaction_id": "25936-2",
"checksum": "25936-2",
"buyer_first": "X",
"buyer_last": "Y",
"custom_fields": [
["Ticket Type", "Variable Ticket (Kids)"],
["Buyer Name", "Some Kid or Attendee name"],
["Buyer E-mail", "attendee_or_buyer_email@example.com"]
],
"custom_field_count": 3,
"allowed_checkins": 2
}
}, {
"data": {
"date_checked": "",
"payment_date": "16th May 2017 - 11:34 am",
"transaction_id": "25933-2",
"checksum": "25933-2",
"buyer_first": "Last",
"buyer_last": "Buyer",
"custom_fields": [
["Ticket Type", "Regular Ticket"],
["Buyer Name", "Last One or Attendee name"],
["Buyer E-mail", "attendee_or_buyer_email@example.com"]
],
"custom_field_count": 3,
"allowed_checkins": 9999
}
}, {
"additional": {
"results_count": 5//total attendees / tickets
}
}]
End-point: http://www.yoursite.com/tc-api/your_api_key_here/check_in/checksum - checksum is a ticket number obtained via tickets_info end-point
Purpose: Use this to check-in attendee
Example Call:
$url = 'http://www.yoursite.com/tc-api/your_api_key_here/check_in/25955-1';
$response = wp_remote_post( $url, array(
'method' => 'GET',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => '',
'cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
echo "Something went wrong: ".$response->get_error_message();
} else {
print_r( $response );
}
Example Response 1:
{
"status": true, //true or false - if it's true, then ticket is OK and attendee should be let in
"previous_status": "",
"pass": true,
"name": "Rich Gary",
"payment_date": "19th May 2017 - 10:03 am",
"address": "N\/A",
"city": "N\/A",
"state": "N\/A",
"country": "N\/A",
"checksum": "25955-1",
"custom_fields": [["Ticket Type", "Regular Ticket"], ["Buyer Name", "Rich Gary"], ["Buyer E-mail", "gary@example.com"]]
}
Example Response 2:
Ticket does not exist
This is unique response which isn't in the JSON format.
End-point: http://www.yoursite.com/tc-api/your_api_key_here/ticket_checkins/checksum - checksum is a ticket number obtained via tickets_info end-point
Purpose: Use this to get all check-in records for a particular ticket (determined by checksum / ticket code)
Example Call:
$url = 'http://www.yoursite.com/tc-api/your_api_key_here/ticket_checkins/25955-1';
$response = wp_remote_post( $url, array(
'method' => 'GET',
'timeout' => 45, 'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => '',
'cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
echo "Something went wrong: ".$response->get_error_message();
} else {
print_r( $response );
}
Example Response:
[
{
"data": {
"date_checked": "22nd May 2017 - 12:33 pm",
"status": "Pass"
}
}, {
"data": {
"date_checked": "22nd May 2017 - 12:34 pm",
"status": "False" }
}
]