NAV
ruby python PHP

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