Check-in API

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.

Authentication

End-pointhttp://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.

Event Information (Essentials)

End-pointhttp://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
}

Attendees & Tickets

End-pointhttp://www.yoursite.com/tc-api/your_api_key_here/tickets_info/results_per_page/page_number/

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 
 } 
 }]

Check-in

End-pointhttp://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.

Check-ins

End-pointhttp://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" } 
        } 
]

 

Leave Us A Message!