vaknl-dev-webservice

GAE API webservice developed with in python with Flask framework.

Author

Date Name
20-08-2019 Wytze Bruinsma
11-05-2020 Wytze Bruinsma

Get dmp user

/dmp_use GET
dmp_user_id and collection should be given. Two types of collections are now available statistics and recommendations

collection=statistics { "acco_city_freq": dict, "acco_city_list": list, "acco_city_mode": string, "acco_country_freq": dict, "acco_country_list": list, "acco_country_mode": string, "acco_region_freq": dict, "acco_region_list": list, "acco_region_mode": string, "acco_city_code_freq": dict, "acco_city_code_list": list, "acco_city_code_mode": string, "acco_country_code_freq": dict, "acco_country_code_list": lis, "acco_country_code_mode": string, "acco_region_code_freq": dict, "acco_region_code_list": list, "acco_region_code_mode": string, "acco_theme_freq": dict, "acco_theme_list": list, "acco_theme_mode": string, "activity_first": unix, "activity_last": unix, "booked_acco_freq": dict, "booked_acco_last": string, "booked_cnt": number, "dmp_session_ids": [ string ], "event_cnt": number, "funnel_step": string, "image_click_cnt": number, "inmarket_conversion": { "date": date, "probability": number, "timestamp": timestamp }, "pageview_cnt": number, "party_composition": dict, "price_click_cnt": number, "productpage_freq": dict, "productpage_last": string, "productpage_list": list, "productpage_mode": string, "search_departure_airport_freq": dict, "search_departure_airport_list": list, "search_departure_airport_mode": string, "search_departure_date_freq": dict, "search_departure_date_last": "2020-06-27", "search_departure_date_list": list, "search_departure_date_mode": "2020-06-27", "search_country_freq": dict, "search_country_list": list, "search_country_mode": string, "search_page_filter_selection_cnt": number, "search_party_composition_freq": dict, "search_region_freq": dict, "search_region_list": list, "search_region_mode": string, "search_theme_freq": dict, "search_theme_list": list, "search_theme_mode": string, "session_cnt": number, "session_day_of_week_freq": dict, "session_day_of_week_list": list, "session_day_of_week_mode": string, "session_hour_freq": dict, "session_hour_list": list, "session_hour_mode": number, "user_identifiers": dict, }

collection=recommendations { "similar_users_also_viewed": [ { "giataid": string, "rating": number } ] }

Get product recommendations

/product_recommendations GET
giata_id and scenario should be given. (scenario1 is available)

{ "name": string, "title": string, "items": [ number, number, number ] }

Get dealspage DEPRECATED

/dealspage GET
category should be given. (default is available) { "version_id": string, "title": string, "deals": [ { "deal_id": string "popular": boolean, "giataid": string, "name": string, "geo": string, "stars": number, "price": number, "duration": number, "departure_date": date, "review_score": number, "review_count": number, "review_text": string, "image_url": string, "url": string }] }

Get user conversion DEPRECATED

/user_conversion GET
dmp_user_id should be given. { "timestamp": datetime, "inmarket_probability": number }

Get user personalization DEPRECATED

/user_personalization GET
dmp_user_id should be given.

{ "first_name": string, "timestamp": datetime, "reisgezelschap": string, "country1": string, "country2": string, "last_hotel_1": string, "country3": string, "last_hotel_2": string, "last_hotel_3": string, "favourite_theme": "string" }

Coupons

Description about the coupon part of this api

Get coupon

/coupon GET
coupon_code and booking_session_id should be given. email_address is optional { "coupon_description": string, "coupon_value": number, "booking_session_id": string, "client_message": "Valid", "valid": true } OR HTTP 404/401/401 { "booking_session_id": string, "client_message": "Coupon not found"/"Coupon expired"/"Coupon not valid", "valid": false }

Post coupon

/coupon POST
coupon_code and booking_session_id should be given. locked or consumed is optional

Post for lock { "booking_session_id": string, "email_address": string, "coupon_code": string, "locked": true } Post for consume { "booking_session_id": string, "email_address": string, "coupon_code": string, "consumed": true }

Responses

{ "booking_session_id": string, "client_message": "Coupon locked", "locked": true } OR { "booking_session_id": string, "client_message": "Coupon locked", "consumed": true } OR HTTP 401 { "booking_session_id": string, "client_message": "No result", "locked": false, "consumed": false }