Get API Access
After login to Explara https://www.explara.com/a/login, go to ‘API & Developers’. Explara supports OAuth2 specification to enable access to APIs. Explara provides 2 ways to authenticate & access.
User Access
Explara users can use this approach to directly connect and use Explara API.You need ‘Access Token”, get your access token from 'API & Developers’
App Access
As an Apps developer or user wants to access API via app access, you have to first register your application with Explara. Go to ‘API & Developers’ page and create an application as shown in the following diagram.
You will get Application Client Id and Client secret. Save it for future use
Application Integration
The following steps explain how to integrate Explara’s OAuth2 with your application.
1.User Authorization (Get User authorize code)
In your application, show a button called 'Login with Explara’ and send the request to https://www.explara.com/a/account/oauth/authorize?response_type=code&client_id=yourAppClientId&state=event The above request is to authorize user or to get user’s authorization code.
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 the authorize code. You have to send POST request to the URL : with following parameters.
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 |
The above 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.
GET STARTED
Event & Registration API Documentation
Event & Registration API : Take explara event creation process, your own event listings and attendee data to your home!
To access Explara API you need access token.
NOTE :All requests with OAuth2 tokens must be made over SSL. Additional request headers are required when using access_tokens to use Explara API: “Authorization: Bearer YOUR_ACCESS_TOKEN_HERE“.
1.Create Event
Require Fields
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 2e6f88bef6286b4b56e86f6f5c7345ff2fca4867'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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/ |
#subdomain(Optional) | event subdomain [yoursubdomain.explara.com] |
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
Require Fields
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 2e6f88bef6286b4b56e86f6f5c7345ff2fca4867'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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/ |
#subdomain(Optional) | event subdomain [yoursubdomain.explara.com] |
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
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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 | active/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
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.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
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.instaging.explara.com/api/e/get-event
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
8.Get Tickets
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.instaging.explara.com/api/e/get-tickets
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
9.Get Event List
Require Fields
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 2ca0fd62ad15659e1659720bb590a01ffeeeabb3'
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.explara.com")
headers = {
'authorization': "Bearer d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.instaging.explara.com/api/e/get-all-events
Query Parameters
Parameter | Description |
---|---|
Not Required |
10.Get Event Report
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
request.body = "--\r\nContent-Disposition: form-data; name=\"eventId\"\r\n\r\nEKBJEHJE\r\n----"
response = http.request(request)
puts response.read_body
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.instaging.explara.com/api/e/get-report
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
11.Event Attendee List (Use Admin account’s access token to use this API)
( We are allowing maximum 50 attendee records at a time. Ex- If you want to fetch next 50 attendee records, then you have to set parameter as fromRecord - 51 and toRecord - 100)
Require Fields
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b'
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
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 d31744b3c85493b52df5d1a65d7a2e0c6e11a01b",
}
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://www.instaging.explara.com/api/e/attendee-list
Query Parameters
Parameter | Description |
---|---|
eventId | Event Id |
fromRecord | 0 |
toRecord | 50 |
Booking API Documentation
Booking API : Offer registration related services booking!
To access Explara API you need access token.
NOTE :All requests with OAuth2 tokens must be made over SSL.
1.Booking request
Require Fields
To update event use this code:
HTTP Request
POST https://www.explara.com/em/booking
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
Require Fields
To update event use this code:
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 |