Python wrapper for the Ticketbis API.
NOTE: This document is a work in progress.
Features:
- Python 2+3 compatibility
- Site auto-discovery
- Pagination delegated to the API client
- OAuth2
- Automatic retries
Dependencies:
- requests
pip install ticketbis
or
easy_install ticketbis
Depending upon your system and virtualenv settings, these may require sudo permissions.
# Construct the client object
client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
redirect_uri='http://yoururl.example.com')
# Build the authorization url for your app
auth_uri = client.oauth.auth_url()Redirect your user to the address auth_uri and let them authorize your app. They will then be redirected to your redirect_uri, with a query paramater of code=XX_CODE_RETURNED_IN_REDIRECT_XX. In your webserver, parse out the code value, and use it to call client.oauth.get_token()
# Interrogate ticketbis' servers to get the user's access_token
access_token = client.oauth.get_token('XX_CODE_RETURNED_IN_REDIRECT_XX')
# Apply the returned access token to the client
client.set_access_token(access_token)
# Get sites
sites = client.sites()# Construct the client object
client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
grant_type=ticketbis.CLIENT_CRED_GRANT_TYPE)
# Interrogate ticketbis' servers to get the client's access_token (no code required)
access_token = client.oauth.get_token()
# Apply the returned access token to the client
client.set_access_token(access_token)
# Get sites
sites = client.sites()client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET')client = ticketbis.Ticketbis(access_token='USER_ACCESS_TOKEN')client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
version=2)or
client = ticketbis.Ticketbis(access_token='USER_ACCESS_TOKEN', version=2)Since Ticketbis is a multi-site platform, a site or lang is required. If you are connecting to a specific site, it is recommended to use the site parameter:
client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
site='ticketbisES')Ticketbis can auto-discover the site based on the lang parameter (i.e. user's locale):
client = ticketbis.Ticketbis(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
lang='en-gb')A few Ticketbis sites are listed below:
| name | site | lang |
|---|---|---|
| ticketbisES | www.ticketbis.com | es-es |
| ticketbisIT | www.ticketbis.it | it-it |
| ticketbisGB | www.ticketbis.net | en-gb |
| ticketbisMX | www.ticketbis.com.mx | es-mx |
| ticketbisAR | www.ticketbis.com/ar | es-ar |
| ticketbisBR | www.ticketbis.com.br | pt-br |
| ticketbisPT | www.ticketbis.com.pt | pt-pt |
| ticketbisDE | www.ticketbis.com/de-de | de-de |
| ticketbisRU | www.ticketbis.ru | ru-ru |
| ticketbisCL | www.ticketbis.cl | es-cl |
| ticketbisCO | www.ticketbis.com.co | es-co |
| ticketbisFR | www.ticketbisfr.com | fr-fr |
| ticketbisJP | www.ticketbis.com/jp | ja-jp |
| ticketbisTW | www.ticketbis.com/tw | zh-tw |
| ticketbisKR | www.ticketbis.co.kr | ko-kr |
| ticketbisUS | www.ticketbis.com/en | en-us |
A complete list can be found requesting site's API endpont.
sites = client.sites()events = client.categories.events(category_id=2)events = client.categories.events(2, auto_pagination=True)In order to run the tests:
- Copy
ticketbis/tests/_creds.example.pytoticketbis/tests/_creds.py - Fill in your personal credentials to run the tests (
_creds.pyis in .gitignore) - Run
nosetests
MIT License. See LICENSE Copyright (c) 2015 Ticketbis