Kiwi.com API Wrapper
- Search API Documentaiton http://docs.skypickerpublicapi.apiary.io
- Booking API Documentaiton http://docs.skypickerbookingapi1.apiary.io
- Locations API Documentaiton http://docs.locations10.apiary.io
Create an object
from kiwicom import kiwi
s = kiwi.Search()
res = s.search_places(id='SK', term='br', bounds='lat_lo,lat_hi')
Also, you can send this parameters in payload:
payload = {
'id': 'SK',
'term': 'br',
'bounds': 'lat_lo,lat_hi',
'locale': 'cs',
'zoomLevelThreshold': 7
}
res = s.search_places(**payload)
res = s.search_flights(flyFrom='CZ', dateFrom='26/05/2017', dateTo='5/06/2017', partner='picky')
Also, you can send this parameters in payload:
import arrow
payload = {
'flyFrom': 'PRG', # default value is 'PRG'
'to': 'LGW',
'dateFrom': arrow.utcnow().format('DD/MM/YYYY'),
'dateTo': arrow.utcnow().shift(weeks=+3).format('DD/MM/YYYY'),
'partner': 'picky' # default value is 'picky' use it for testing
}
res = s.search_flights(**payload)
You can use datetime.date
for dateFrom
and dateTo
parameters
Put payload into method
payload = {
"requests": [
{"to": "AMS", "flyFrom": "PRG", "directFlights": 0, "dateFrom": "11/06/2017", "dateTo": "28/06/2017"},
{"to": "OSL", "flyFrom": "AMS", "directFlights": 0, "dateFrom": "01/07/2017", "dateTo": "11/07/2017"}
]}
res = s.search_flights_multi(json_data=payload)
from kiwicom import kiwi
b = kiwi.Booking()
booking_token = s.search_flights(**payload).json()['data'][0]['booking_token']
check_payload = {
'v': 2,
'booking_token': booking_token,
'pnum': 1,
'bnum': 0,
'affily': 'otto_{market}',
'currency': 'USD',
'visitor_uniqid': '90a12afc-e240-11e6-bf01-fe55135034f3',
}
res = b.check_flights(**check_payload)
b.save_booking(json_data=save_book_payload)
pay_via_zooz() # only sandbox mode
confirm_payment()
get_locations()
All methods accept request_args
as an argument to send some extra parameters to request directly
(For more information about request args read requests documentation)
Also all methods accept headers
as an argument
headers = {
'some': 'headers'
}
s.search_flights(parms_payload=payload, headers=headers)
from kiwicom import kiwi
kiwi.configure_structlog(log_level='WARNING', log_file='logs.log')