Python client for XCover API (XCore).
Project description
· xcover-python ·
xcover-python
is a Python API Client for XCover.
Installation
xcover-python
is available on PyPI. To install the latest version run:
pip install xcover
or
poertry install xcover
Features
- Authentication
- Simple configuration using env variables
- (WIP) High-level API to perform partner operations on quotes and bookings
Configuration
Config object
The library provides XCoverConfig
dataclass that can be used as shown:
from xcover import XCover, XCoverConfig
client = XCover(
XCoverConfig( # minimal config, check autocomplete for more options
base_url="https://api.xcover.com/xcover",
partner_code="--PARTNER_CODE--",
auth_api_key="--API_KEY--",
auth_api_secret="--API_SECRET--",
)
)
Env variables
Alternatively, it is possible to use env variables.
The full list of configuration options:
XC_BASE_URL
(XCoverConfig.base_url
): XCover base URL (e.g.https://api.xcover.com/api/v2/
).XC_PARTNER_CODE
(XCoverConfig.partner_code
): Partner code (e.g.LLODT
).XC_HTTP_TIMEOUT
(XCoverConfig.http_timeout
): HTTP timeout in seconds. Default value is10
.XC_AUTH_API_KEY
(XCoverConfig.auth_api_key
): API key to use.XC_AUTH_API_SECRET
(XCoverConfig.auth_api_secret
): API secret to use.XC_AUTH_ALGORITHM
(XCoverConfig.auth_algorithm
): HMAC encoding algorithm to use. Default ishmac-sha512
.XC_AUTH_HEADERS
(XCoverConfig.auth_headers
): Headers to sign. Default is(request-target) date
.
Usage example
Using low-level call
method
import requests
from xcover.xcover import XCover
# Env variables are used
client = XCover()
# Prepare payload
payload = {
"request": [
{
"policy_type": "event_ticket_protection",
"policy_type_version": 1,
"policy_start_date": "2021-12-01T17:59:00.831+00:00",
"event_datetime": "2021-12-25T21:00:00+00:00",
"event_name": "Ariana Grande",
"event_location": "The O2",
"number_of_tickets": 2,
"tickets": [
{"price": 100},
],
"resale_ticket": False,
"event_country": "GB",
}
],
"currency": "GBP",
"customer_country": "GB",
"customer_region": "London",
"customer_language": "en",
}
# Calling XCover API
response: requests.Response = client.call(
method="POST",
url="partners/LLODT/quotes/",
payload=payload,
)
quote = response.json()
print(quote)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xcover-python-0.1.0.tar.gz
(6.8 kB
view hashes)
Built Distribution
Close
Hashes for xcover_python-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c3803aa55c62c06a9690da151cdcd822571e527df6f1bd4635970eeb2208bcb |
|
MD5 | c0cd26ef98e260860eb631804c1fe206 |
|
BLAKE2b-256 | 068a6eaf7aeae41afdc75b09578ad807941f7a2316ee9192d8b368cd7248b453 |