Get API Access
Explara supports OAuth2 authentication for access to APIs.
EXPLARA ACCOUNT
To get started you will first need an Explara account. You can either login to your existing account here: https://www.explara.com/a/login or, create a new account here: https://www.explara.com/a/signup
User Access
Users can access the Explara API directly using the User Access Token which can be found here post Log In:
App Access
For App access to Explara APIs, users are required to first register their app with Explara. Fill in the details and create your app as shown:
Once registered, you will receive your App Client ID and Client Secret codes. Save it for future use.
Application Integration
Integrating your App with Explara using OAuth2.
1.END USER AUTHORIZATION - Log In with Explara
To allow your App’s end users to Log In using Explara, set-up your button / CTA to send a request to:
https://www.explara.com/a/account/oauth/authorize?response_type=code&client_id=yourAppClientId&state=event
HTTP Request
POST https://www.explara.com/a/account/oauth/authorize?response_type=code&client_id=yourAppClientId&state=event
After user’s successful authorization, it will return authorize code to your registered callback URL.
2.Get access token for authorized code.
To get the access token for authorize codes, you will need to send a POST request with the parameters listed below.
The response_data contains the token. With the token, you can now call any Explara API methods. The token will be valid for 3 months; in future following the same process, user could give you access to their Explara data.
HTTP Request
POST https://www.explara.com/a/account/oauth/token
Query Parameters
Parameter | Description |
---|---|
client_id | App client id |
client_secret | app client secret |
grant_type | authorization_code |
code | authorization code |
GET STARTED
Event Creation, Ticketing & Registration API Documentation
You can set-up event creation, online ticketing & registration, while owning your data using Explara APIs.
Explara access is restricted by use of Access Tokens (see ‘Get API Access’ for more details)
NOTE: All OAuth2 authnetication requests must be made over SSL. Additional request headers are required when using Access Tokens to use the Explara API: ìAuthorization: Bearer YOUR_ACCESS_TOKEN_HEREì.
1.Create Event
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventType\"\r\n\r\npublic\r\n--\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nticketing\r\n--\r\nContent-Disposition: form-data; name=\"eventTitle\"\r\n\r\nApi Test Event\r\n--\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\napi-test-event10\r\n--\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nbusiness\r\n--\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n2016-10-11\r\n--\r\nContent-Disposition: form-data; name=\"startTime\"\r\n\r\n10:10\r\n--\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n2016-10-12\r\n--\r\nContent-Disposition: form-data; name=\"endTime\"\r\n\r\n10:10\r\n--\r\nContent-Disposition: form-data; name=\"aboutEvent\"\r\n\r\nWelcome\r\n--\r\nContent-Disposition: form-data; name=\"listingImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"headerImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"contactInfo\"\r\n\r\nKiran\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventType' => 'public',
'type' => 'ticketing',
'eventTitle' => 'My First Event',
'url' => 'my-first-event',
'category' => 'business',
'startDate' => '2017-01-01',
'startTime' => '12:12:12',
'endDate' => '2017-02-02',
'endTime' => '13:12:12',
'aboutEvent' => 'Event Description',
'contactInfo' => 'My Contact Info'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/create');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventType\t\"\r\n\r\npublic\r\n--\r\nContent-Disposition: form-data; name=\"type\t\"\r\n\r\nticketing\r\n--\r\nContent-Disposition: form-data; name=\"eventTitle\"\r\n\r\nApi Test Event\r\n--\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\napi-test-event_python\r\n--\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nbusiness\r\n--\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n2016-10-11\r\n--\r\nContent-Disposition: form-data; name=\"startTime\"\r\n\r\n10:10\r\n--\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n2016-10-12\r\n--\r\nContent-Disposition: form-data; name=\"endTime\"\r\n\r\n10:10\r\n--\r\nContent-Disposition: form-data; name=\"aboutEvent\"\r\n\r\nWelcome\r\n--\r\nContent-Disposition: form-data; name=\"listingImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"headerImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"contactInfo\"\r\n\r\nKiran\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/create", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S001","eventId":"EKBJEGGB"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/create
Sandbox End Point => POST https://instaging.explara.com/api/e/create
Query Parameters
Parameter | Description |
---|---|
eventType | public/private |
type | ticketing/conference/charity/rsvp |
eventTitle | Event Name |
url | preferred event URL starting with https://staging.explara.com/e/ |
segment | |
category | business/technology/entertainment/sports/workshop/fundraising/ institutions/art/parties/food/family/travel/tradeshow/movies/clubs/ festivals/music/religion/comedy/community/kids/newyear/other |
topics (optional) | |
startDate | yyyy-mm-dd |
startTime | HH:MM |
endDate | yyyy-mm-dd |
endTime | HH:MM |
aboutEvent | Event Details |
listingImage | Listing Image URL |
headerImage | Header Image URL |
contactInfo | Organizer contact information |
country (optional) | Location country |
state (optional) | Location state |
city (optional) | Location city |
postal (optional) | Location postal code/zipcode |
address (optional) | Location address |
2.Update Event
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEGIE\r\n--\r\nContent-Disposition: form-data; name=\"eventType\"\r\n\r\npublic\r\n--\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nticketing\r\n--\r\nContent-Disposition: form-data; name=\"eventTitle\"\r\n\r\nTest Event\r\n--\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\ntest11919\r\n--\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\ntechnology\r\n--\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n2016-10-12\r\n--\r\nContent-Disposition: form-data; name=\"startTime\"\r\n\r\n10:11\r\n--\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n2016-10-13\r\n--\r\nContent-Disposition: form-data; name=\"endTime\"\r\n\r\n10:11\r\n--\r\nContent-Disposition: form-data; name=\"aboutEvent\"\r\n\r\nWelcome To All\r\n--\r\nContent-Disposition: form-data; name=\"listingImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"headerImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"contactInfo\"\r\n\r\nKiran Kumar 9738549131\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventType' => 'public',
'type' => 'ticketing',
'eventTitle' => 'My First Event',
'url' => 'my-event-url-updated',
'category' => 'business',
'startDate' => '2017-01-01',
'startTime' => '12:12:12',
'endDate' => '2017-02-02',
'endTime' => '13:12:12',
'aboutEvent' => 'Updated Event Description',
'contactInfo' => 'My Contact Info'
), NULL);
$request->setRequestUrl('http://instaging.explara.com/api/e/update');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n--\r\nContent-Disposition: form-data; name=\"eventType\"\r\n\r\npublic\r\n--\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nticketing\r\n--\r\nContent-Disposition: form-data; name=\"eventTitle\"\r\n\r\nTest Event\r\n--\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\ntest119191\r\n--\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\ntechnology\r\n--\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n2016-10-12\r\n--\r\nContent-Disposition: form-data; name=\"startTime\"\r\n\r\n10:11\r\n--\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n2016-10-13\r\n--\r\nContent-Disposition: form-data; name=\"endTime\"\r\n\r\n10:11\r\n--\r\nContent-Disposition: form-data; name=\"aboutEvent\"\r\n\r\nWelcome To All\r\n--\r\nContent-Disposition: form-data; name=\"listingImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"headerImage\"\r\n\r\nhttps://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png\r\n--\r\nContent-Disposition: form-data; name=\"contactInfo\"\r\n\r\nKiran Kumar 9738549131\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/update", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S002","eventId":"EKBJEGIE"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/update
Sandbox End Point => POST https://instaging.explara.com/api/e/update
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
eventType | public/private |
type | ticketing/conference/charity/rsvp |
eventTitle | Event Name |
url | preferred event URL starting with https://staging.explara.com/e/ |
category | business/technology/entertainment/sports/workshop/fundraising/ institutions/art/parties/food/family/travel/tradeshow/movies/clubs/ festivals/music/religion/comedy/community/kids/newyear/other |
startDate | yyyy-mm-dd |
startTime | HH:MM |
endDate | yyyy-mm-dd |
endTime | HH:MM |
aboutEvent | Event Details |
listingImage | Listing Image URL |
headerImage | Header Image URL |
contactInfo | Organizer contact information |
country (optional) | Location country |
state (optional) | Location state |
city (optional) | Location city |
postal (optional) | Location postal code/zipcode |
address (optional) | Location address |
3.Add Ticket/Registration
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/add-ticket")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"ticketName\"\r\n\r\nTest1\r\n--\r\nContent-Disposition: form-data; name=\"ticketDescription\"\r\n\r\nWELCOME\r\n--\r\nContent-Disposition: form-data; name=\"price\"\r\n\r\n10\r\n--\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\nINR\r\n--\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n--\r\nContent-Disposition: form-data; name=\"status\"\r\n\r\nactive\r\n--\r\nContent-Disposition: form-data; name=\"serviceFee\"\r\n\r\n1\r\n--\r\nContent-Disposition: form-data; name=\"allowCancellation\"\r\n\r\ntrue\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDBJ',
'ticketName' => 'Member Registration',
'price' => '1000',
'currency' => 'INR',
'quantity' => '100',
'status' => 'published',
'serviceFee' => '1',
'allowCancellation' => 'true'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/add-ticket');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n--\r\nContent-Disposition: form-data; name=\"ticketName\"\r\n\r\nTest\r\n--\r\nContent-Disposition: form-data; name=\"ticketDescription\"\r\n\r\nWELCOME\r\n--\r\nContent-Disposition: form-data; name=\"price\"\r\n\r\n0\r\n--\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\nINR\r\n--\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n--\r\nContent-Disposition: form-data; name=\"status\"\r\n\r\nactive\r\n--\r\nContent-Disposition: form-data; name=\"serviceFee\"\r\n\r\n1\r\n--\r\nContent-Disposition: form-data; name=\"allowCancellation\"\r\n\r\ntrue\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/add-ticket", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S003","ticketId":"TKBIHJHF"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/add-ticket
Sandbox End Point => POST https://instaging.explara.com/api/e/add-ticket
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
ticketName | Name of the ticket/registration |
ticketDescription (optional) | Ticket/Registration description |
price | price (Enter 0 for Free, Leave blank for any amount) |
currency | INR/USD |
quantity | Ticket/Registration Quantity |
status | published/delete |
startDate (optional) | yyyy-mm-dd (default : todays date) |
startTime (optional) | HH:MM (current time) |
endDate (optional) | yyyy-mm-dd (default : event end date) |
endTime (optional) | HH:MM (default : event end time) |
minQuantity (optional) | Minimum purchase quantity ( default :1) |
maxQuantity (optional) | Maximum purchase quantity (default : 10) |
serviceFee | 1/2/3 [1: Absorb the fees into the ticket price, 2: Absorb gateway fee and pass on Explara fee to the buyer, 3: Pass on the fees to the buyer) |
allowCancellation | true/false |
4.Update Ticket/ Registration
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/update-ticket")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"ticketId\"\r\n\r\nTKBIHJFB\r\n--\r\nContent-Disposition: form-data; name=\"ticketName\"\r\n\r\nTest10\r\n--\r\nContent-Disposition: form-data; name=\"ticketDescription\"\r\n\r\nTest\r\n--\r\nContent-Disposition: form-data; name=\"price\"\r\n\r\n0\r\n--\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\nINR\r\n--\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n100\r\n--\r\nContent-Disposition: form-data; name=\"status\"\r\n\r\npause\r\n--\r\nContent-Disposition: form-data; name=\"serviceFee\"\r\n\r\n1\r\n--\r\nContent-Disposition: form-data; name=\"allowCancellation\"\r\n\r\nfalse\r\n--\r\nContent-Disposition: form-data; name=\"shippingCharge\"\r\n\r\n2\r\n--\r\nContent-Disposition: form-data; name=\"shippingChargeType\"\r\n\r\nINR\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDBJ',
'ticketName' => 'Member Registration',
'price' => '1000',
'currency' => 'INR',
'quantity' => '100',
'status' => 'published',
'serviceFee' => '1',
'allowCancellation' => 'true',
'ticketId' => 'TKDCCC'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/update-ticket');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n--\r\nContent-Disposition: form-data; name=\"ticketId\"\r\n\r\nTKBIHBAJ\r\n--\r\nContent-Disposition: form-data; name=\"ticketName\"\r\n\r\nTest10\r\n--\r\nContent-Disposition: form-data; name=\"ticketDescription\"\r\n\r\nTest\r\n--\r\nContent-Disposition: form-data; name=\"price\"\r\n\r\n0\r\n--\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\nINR\r\n--\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n100\r\n--\r\nContent-Disposition: form-data; name=\"status\"\r\n\r\npause\r\n--\r\nContent-Disposition: form-data; name=\"serviceFee\"\r\n\r\n1\r\n--\r\nContent-Disposition: form-data; name=\"allowCancellation\"\r\n\r\nfalse\r\n--\r\nContent-Disposition: form-data; name=\"shippingCharge\"\r\n\r\n2\r\n--\r\nContent-Disposition: form-data; name=\"shippingChargeType\"\r\n\r\nINR\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/update-ticket", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S003","ticketId":"TKBIHJFB"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/update-ticket
Sandbox End Point => POST https://instaging.explara.com/api/e/update-ticket
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
ticketId | Ticket/ Registration Id |
ticketName | Name of the ticket/registration |
ticketDescription (optional) | Ticket/Registration description |
price | price (Enter 0 for Free, Leave blank for any amount) |
currency | INR/USD |
quantity | Ticket/Registration Quantity |
status | published/pause/cancel |
startDate (optional) | yyyy-mm-dd (default : todays date) |
startTime (optional) | HH:MM (current time) |
endDate (optional) | yyyy-mm-dd (default : event end date) |
endTime (optional) | HH:MM (default : event end time) |
minQuantity (optional) | Minimum purchase quantity ( default :1) |
maxQuantity (optional) | Maximum purchase quantity (default : 10) |
serviceFee | 1/2/3 [1: Absorb the fees into the ticket price, 2: Absorb gateway fee and pass on Explara fee to the buyer, 3: Pass on the fees to the buyer) |
allowCancellation | true/false |
shippingCharge | 20 (optional) |
shippingChargeType | INR / percentage (optional) |
5.Add Discount
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/add-discount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"ticketId\"\r\n\r\nTKBIHJHF\r\n--\r\nContent-Disposition: form-data; name=\"discountName\"\r\n\r\nTest\r\n--\r\nContent-Disposition: form-data; name=\"discountCategory\"\r\n\r\nflat\r\n--\r\nContent-Disposition: form-data; name=\"discount\"\r\n\r\n10\r\n--\r\nContent-Disposition: form-data; name=\"discountType\"\r\n\r\npercentage\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'ticketId' => 'TKDCCC',
'eventId' => 'EKHDBJ',
'discountCategory' => 'flat',
'discount' => '100',
'discountType' => 'percentage'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/add-discount');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'postman-token' => 'b6b177d6-bfd6-1015-df07-87b9b61f1a7b',
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n--\r\nContent-Disposition: form-data; name=\"ticketId\"\r\n\r\nTKBIHBAJ\r\n--\r\nContent-Disposition: form-data; name=\"discountName\"\r\n\r\nTest\r\n--\r\nContent-Disposition: form-data; name=\"discountCategory\"\r\n\r\nflat\r\n--\r\nContent-Disposition: form-data; name=\"discount\"\r\n\r\n10\r\n--\r\nContent-Disposition: form-data; name=\"discountType\"\r\n\r\npercentage\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/add-discount", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S004","discountId":"DKDAJAC"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/add-discount
Sandbox End Point => POST https://instaging.explara.com/api/e/add-discount
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
ticketId | Ticket/ Registration Id |
discountName (optional) | Discount Name |
discountCategory | flat/bulk/code |
discount | Discount (Numeric) |
discountType | fixed/percentage |
startDate (optional) | yyyy-mm-dd (default : todays date) |
startTime (optional) | HH:MM (current time) |
endDate (optional) | yyyy-mm-dd (default : event end date) |
endTime (optional) | HH:MM (default : event end time) |
limit (optional) | Discount limit ( default : ticket quantity) |
fromQuantity (Needed for bulk discount only ) | From Quantity |
toQuantity ( Needed for bulk discount only ) | To Quantity |
code ( Needed for code discount only) | Discount Code |
6.Update Discount
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/update-discount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"discountName\"\r\n\r\nTest Update\r\n--\r\nContent-Disposition: form-data; name=\"discountId\"\r\n\r\nDKDAJAJ\r\n--\r\nContent-Disposition: form-data; name=\"discountCategory\"\r\n\r\ncode\r\n--\r\nContent-Disposition: form-data; name=\"discount\"\r\n\r\n20\r\n--\r\nContent-Disposition: form-data; name=\"discountType\"\r\n\r\nfixed\r\n--\r\nContent-Disposition: form-data; name=\"code\"\r\n\r\ntest\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'ticketId' => 'TKDCCC',
'eventId' => 'EKHDBJ',
'discountCategory' => 'flat',
'discount' => '100',
'discountType' => 'percentage',
'discountId' => 'DKCBF'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/update-discount');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n--\r\nContent-Disposition: form-data; name=\"discountName\"\r\n\r\nTest Update\r\n--\r\nContent-Disposition: form-data; name=\"discountId\"\r\n\r\nDKDAJCJ\r\n--\r\nContent-Disposition: form-data; name=\"discountCategory\"\r\n\r\ncode\r\n--\r\nContent-Disposition: form-data; name=\"discount\"\r\n\r\n20\r\n--\r\nContent-Disposition: form-data; name=\"discountType\"\r\n\r\nfixed\r\n--\r\nContent-Disposition: form-data; name=\"code\"\r\n\r\ntest\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/update-discount", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{"status":"success","message":"S004","discountId":"DKDAJAJ"}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/update-discount
Sandbox End Point => POST https://instaging.explara.com/api/e/update-discount
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
discountName (optional) | Discount Name |
discountId | Discount Id |
discountCategory | flat/bulk/code |
discount | Discount (Numeric) |
discountType | fixed/percentage |
startDate (optional) | yyyy-mm-dd (default : todays date) |
startTime (optional) | HH:MM (current time) |
endDate (optional) | yyyy-mm-dd (default : event end date) |
endTime (optional) | HH:MM (default : event end time) |
limit (optional) | Discount limit ( default : ticket quantity) |
fromQuantity (Needed for bulk discount only ) | From Quantity |
toQuantity ( Needed for bulk discount only ) | To Quantity |
code ( Needed for code discount only) | Discount Code |
7.Get Event
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/get-event")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDBJ'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/get-event');
$request->setRequestMethod('GET');
$request->setBody($body);
$request->setQuery(new http\QueryString(array(
'eventId' => 'EKHDBJ'
)));
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/get-event", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{
"status": "success",
"event": {
"id": 205805,
"name": "Api Test Event",
"url": "api-test-event11",
"extUrl": null,
"description": "Welcome",
"startDate": {
"date": "2016-10-11 10:10:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"endDate": {
"date": "2016-10-12 10:10:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"publishedDate": {
"date": "2016-10-10 12:49:59",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"eventCategory": "business",
"eventSubcategory": null,
"attendeeRegistration": null,
"eventStatus": "published",
"eventType": "ticketing",
"visiblity": true,
"ticketSpecificAttendee": null,
"isFree": null,
"showAttendee": null,
"commentsEnabled": null,
"showTimer": null,
"contactOrganizer": null,
"contactInfo": "Kiran",
"pricingModel": "base",
"processingFee": null,
"agreedPricePerTicket": 15,
"agreedTransactionFee": 3.98,
"paypalFee": null,
"gatewayFee": null,
"explaraFee": null,
"offlineExplaraFee": null,
"codLimit": null,
"codFlat": null,
"codPercentage": null,
"clientCodPercentage": null,
"clientCodFlat": null,
"serviceFee": null,
"chequePaymentFee": 1.99,
"venuePaymentFee": 0,
"bankDepositFee": 1.99,
"chequePaymentFeeFlat": null,
"venuePaymentFeeFlat": null,
"bankDepositFeeFlat": null,
"additionalCharges": null,
"cancellationCharge": null,
"additionalChargesComment": null,
"codOn": null,
"additionalInfo": null,
"customTicketMessge": null,
"isEventListed": null,
"isaddedfeatured": null,
"showContact": null,
"checkoutTime": null,
"customMessage": null,
"message": null,
"ticketMessage": null,
"metaTags": null,
"tags": null,
"images": null,
"owner": null,
"coOwner": null,
"featuredImage": null,
"listingImage": "https://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png",
"searchImage": "https://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png",
"colorcode": null,
"subscribecolorcode": null,
"analyticsId": null,
"region": "Asia",
"country": "India",
"freeService": null,
"subdomain": null,
"facebookId": null,
"accountId": "60137",
"auditCreated": {
"date": "2016-10-10 12:49:59",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"topics": null,
"hideUpcomingTickets": null,
"hidePrice": null,
"enableQna": null,
"isAllowCancel": null,
"showWidgetHeader": null,
"mapImage": null,
"callbackUrl": null,
"collectionUrls": null,
"metaTitle": null,
"metaDesc": null,
"contactDetails": null,
"askOrganizerEmail": null,
"allowUniqueBuyer": null,
"globalTicketNumber": null,
"hideDate": null,
"city": null,
"mulcity": null,
"location": null,
"segment": null,
"contactNumber": null,
"source": null,
"popularity": null,
"buyButton": null,
"createdFrom": null,
"endDatetime": null,
"performanceMarketing": null,
"performanceMarketingFee": null,
"campaign": null,
"utmContent": null,
"utmName": null,
"utmMedium": null,
"referralType": null,
"referrerUrl": null,
"landingPage": null,
"networking": null,
"eventbriteId": null,
"isSingleTicket": null,
"isChildMandatory": null
}
}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/get-event
Sandbox End Point => POST https://instaging.explara.com/api/e/get-event
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
8.Get Tickets
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/get-tickets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDBJ'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/get-tickets');
$request->setRequestMethod('GET');
$request->setBody($body);
$request->setQuery(new http\QueryString(array(
'eventId' => 'EKHDBJ'
)));
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHCI\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/get-tickets", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{
"status": "success",
"tickets": [
{
"id": 298062,
"typeName": "Test10",
"typeDesc": "Test",
"price": 0,
"includeFee": 0,
"quantity": 100,
"initialQuantity": 100,
"availableFrom": {
"date": "2016-10-10 13:13:19",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"availableTo": {
"date": "2016-10-12 10:10:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"maxQuantity": 10,
"minQuantity": 1,
"ticketOrder": null,
"isDiscountAvailable": null,
"bibNo": null,
"bibCount": null,
"cummalativeDiscount": null,
"refundEndDate": null,
"refundAmount": null,
"allowCancel": true,
"status": "pause",
"currency": "INR",
"shippingCharge": 2,
"nasscomMember": null,
"nonNasscomMember": null,
"shippingType": "INR",
"eventId": "205805",
"ticketId": null,
"eventSessionId": null,
"serviceTaxSetting": null,
"showRemainingQuantity": null,
"groupRegistration": null,
"maxMember": null,
"partnerId": null,
"membershipId": null
},
{
"id": 298086,
"typeName": "Test1",
"typeDesc": "WELCOME",
"price": 10,
"includeFee": 0,
"quantity": 10,
"initialQuantity": 10,
"availableFrom": {
"date": "2016-10-10 12:56:39",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"availableTo": {
"date": "2016-10-12 10:10:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"maxQuantity": 10,
"minQuantity": 1,
"ticketOrder": null,
"isDiscountAvailable": null,
"bibNo": null,
"bibCount": null,
"cummalativeDiscount": null,
"refundEndDate": null,
"refundAmount": null,
"allowCancel": true,
"status": "active",
"currency": "INR",
"shippingCharge": null,
"nasscomMember": null,
"nonNasscomMember": null,
"shippingType": null,
"eventId": "205805",
"ticketId": null,
"eventSessionId": null,
"serviceTaxSetting": null,
"showRemainingQuantity": null,
"groupRegistration": null,
"maxMember": null,
"partnerId": null,
"membershipId": null
}
]
}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/get-tickets
Sandbox End Point => POST https://instaging.explara.com/api/e/get-tickets
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
9.Get Event List
Sample Request:
require 'uri'
require 'net/http'
url = URI("https://www.explara.com/api/e/get-all-events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer xxxx'
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDBJ'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/get-all-events');
$request->setRequestMethod('GET');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
headers = {
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/get-all-events", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{
"status": "success",
"events": [
{
"eventId": "EKBJDBFH",
"eventType": "public",
"type": "ticketing",
"eventTitle": "Discount Test",
"actualUrl": "discount-test",
"url": "https://in.explara.com/e/discount-test",
"mobileUrl": "https://www.explara.com/em/e/discount-test",
"subdomain": null,
"category": "performance",
"startDate": "2016-09-30",
"endDate": "2016-10-01",
"startTime": "09:00:00",
"endTime": "17:00:00",
"aboutEvent": "<p>Welcome</p>",
"shortDescription": "Welcome",
"listingImage": null,
"headerImage": null,
"terms": "If the event gets cancelled,
the event organizer will be responsible for taking decision about refund.
Explara is not responsible for your cancellation and refund. Please carry this registration printout
for entry to the event. Please carry valid identity proof to the venue. Cancellation and Rescheduling
of registration is not allowed.",
"createdOn": "2016-09-29 13:31:46",
"status": "published"
}
]
}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/get-all-events
Sandbox End Point => POST https://instaging.explara.com/api/e/get-all-events
Query Parameters
Parameter | Description |
---|---|
Not Required |
10.Get Event Report
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/get-report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDAH'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/get-report');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/get-report", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{
"status": "success",
"amount": 0,
"sold": 0,
"cancel": 0,
"tickets": [
{
"ticketId": "TKBIHJFB",
"ticketName": "Test10",
"tickets": 100,
"sold": "0",
"cancel": "0"
},
{
"ticketId": "TKBIHJHF",
"ticketName": "Test1",
"tickets": 10,
"sold": "0",
"cancel": "0"
}
]
}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/get-report
Sandbox End Point => POST https://instaging.explara.com/api/e/get-report
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
11.Event Attendee List
We currently allow a maximum of 50 attendee record requests at a time.
If you would like to fetch the next 50 attendee records, set parameter as: fromRecord - 51 and toRecord - 100.
Sample Request:
require 'uri'
require 'net/http'
require 'json'
require 'openssl'
url = URI("https://www.explara.com/api/e/attendee-list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"fromRecord\"\r\n\r\n0\r\n--\r\nContent-Disposition: form-data; name=\"toRecord\"\r\n\r\n50\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDAH'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/attendee-list');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n--\r\nContent-Disposition: form-data; name=\"fromRecord\"\r\n\r\n0\r\n--\r\nContent-Disposition: form-data; name=\"toRecord\"\r\n\r\n50\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/attendee-list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response:
{
"status": "success",
"attendee": [
{
"orderNo": "E6BJEHJEXXX57FB59E96743B",
"orderCost": 0,
"quantity": 1,
"status": "success",
"paidBy": "guest",
"paidTo": null,
"refundAmount": null,
"purchaseDate": {
"date": "2016-10-10 00:00:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"name": "Vineet",
"email": "vineet.harkut@signure.com",
"city": null,
"state": null,
"country": null,
"address": null,
"zipcode": null,
"phoneNo": null,
"attendee": [
{
"ticketName": "Test10",
"ticketId": "TKAHFIFDF",
"name": "Vineet",
"email": "vineet.harkut@signure.com",
"checkin": "no",
"ticketNo": "002",
"status": "attending",
"details": []
}
]
},
{
"orderNo": "E6BJEHJEXXX57FB59E94E225",
"orderCost": 0,
"quantity": 1,
"status": "success",
"paidBy": "guest",
"paidTo": null,
"refundAmount": null,
"purchaseDate": {
"date": "2016-10-10 00:00:00",
"timezone_type": 3,
"timezone": "Asia/Calcutta"
},
"name": "Kiran",
"email": "kiran.kumar@signure.com",
"city": null,
"state": null,
"country": null,
"address": null,
"zipcode": null,
"phoneNo": null,
"attendee": [
{
"ticketName": "Test10",
"ticketId": "TKAHFIFDD",
"name": "Kiran",
"email": "kiran.kumar@signure.com",
"checkin": "no",
"ticketNo": "001",
"status": "attending",
"details": []
}
]
}
]
}
HTTP Request
Live End Point => POST https://www.explara.com/api/e/attendee-list
Sandbox End Point => POST https://instaging.explara.com/api/e/attendee-list
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
fromRecord | 0 |
toRecord | 50 |
Booking API Documentation
Allow users to book event tickets on your app/ website using Explara’s Booking API.
Explara access is restricted by use of Access Tokens (see 'Get API Access’ for more details)
NOTE :All requests OAuth2 authorization requests must be made over SSL.
1.Booking request
To update event use this code:
HTTP Request
POST https://www.explara.com/em/booking
Sample Html https://cdn.explara.com/public/developers/booking-api-sample.html
Query Parameters
Parameter | Description |
---|---|
amount | Amount to collected from Customer (Float Value). [Mandatory] |
orderNo | Your Order No. [Mandatory] |
name | Buyer Name (Max. 200 Character) |
emailId | Buyer Email Id (Max 200 Character) |
phoneNo | Buyer Phone No. (Max 30 Character) |
country | Buyer Billing Country (Max 1000 Character) |
state | Buyer Billing State |
city | Buyer Billing City |
address Buyer | Billing Address (Max 1000 Character) |
zipcode Buyer | Billing Zip code |
bookingKey | Your Explara Booking Key. (Booking Key) Mandatory |
callbackUrl | Return URL (Your page URL where want to get response). [Mandatory] |
currency | Currency (default INR)(INR, USD, GBP, EUR, PHP, ZAR). |
pg | Payment Gateway (default pg2)(pg1, pg2). [pg1: with MASTER/MAESTRO, pg2 : without MASTER/MAESTRO] |
NOTE :All International currency will be converted to INR.
2.Get Booking order List
Sample Request
require 'uri'
require 'net/http'
url = URI("https://instaging.explara.com/api/e/get-booking-list")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["content-type"] = 'multipart/form-data; boundary='
request["authorization"] = 'Bearer xxxx'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKHDAH\r\n--\r\nContent-Disposition: form-data; name=\"bookingKey\"\r\n\r\n33eDDeeddffee33\r\n----"
response = http.request(request)
puts response.read_body
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'eventId' => 'EKHDAH',
'bookingKey' => '33eDDeeddffee33'
), NULL);
$request->setRequestUrl('https://instaging.explara.com/api/e/get-booking-list');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'authorization' => 'Bearer xxxx'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
import http.client
conn = http.client.HTTPConnection("instaging.explara.com")
payload = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKHDAH\r\n--\r\nContent-Disposition: form-data; name=\"bookingKey\"\r\n\r\n33eDDeeddffee33\r\n----"
headers = {
'content-type': "multipart/form-data; boundary=",
'authorization': "Bearer xxxx",
}
conn.request("POST", "/api/e/get-booking-list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Sample Response
{
"status": "success",
"tickets": ""
}
HTTP Request
POST https://www.explara.com/api/e/get-booking-list
Query Parameters
Parameter | Description |
---|---|
fromDate | From date |
toDate | to Date |
bookingKey | Your booking key |
Errors
The Kittn API uses the following error codes:
Error Code | Meaning |
---|---|
S001 | Event is created successfully |
S002 | Event is updated successfully |
S003 | Ticket created successfully |
S004 | Discount created successfully |
E001 | Invalid API Key or Private Key |
E002 | All mandatory fields are required |
E003 | End date time should be greater than Start date time |
E004 | Start date should be greater than or equal to today’s date |
E005 | Subdomain already used by other user. Try other subdomain name |
E006 | URL is already used in other event. Try other URL |
E007 | Invalid Event Id |
E008 | Invalid API Key for given Event Id or Invalid API key for requested API (Use Admin account’s access token to use this API) |
E009 | URL is already used by other event. Try other URL |
E010 | Invalid Location Id |
E011 | Some error occured. Pleae try later |
E012 | Invalid Ticket Id |
E013 | Only numeric character allowed in quantity |
E014 | Only numeric character allowed in price |
E015 | Quantity is required |
E016 | Ticket Name is required |
E017 | Start time format is incorrect |
E018 | End time format is incorrect |
E019 | Invalid Discount Id |
E020 | Invalid Publisher Key |
E021 | Category is required |
E022 | Response Private Key is not matching |
E023 | Is there a bot? We are getting too many request from you! |
E024 | URL is required |
E025 | Code is needed for code discount |
E026 | From & To quantity is needed for bulk discount |
E027 | Ticket is already sold.So it can’t be updated |
E028 | Discount does not belong to this event |
D001 | Discount amount is required |
T001 | Invalid request. Request Ticket is missing |
T002 | User Billing information is missing |
T003 | Invalid hash |
T004 | No quantity selected |
T005 | System is busy. Please try later |
T006 | Please try after some time |
T007 | Order not exist |
T008 | OrderNo is not valid for given publisher key |
T009 | Date Range should be less then or equal to 31 |
T010 | Duplicate order no. Order is already processed |