igor-barsukov / unc-project-2017

Main repository for unc group 8 project.
0 stars 1 forks source link

Retrieve data from external resources via REST api #4

Open igor-barsukov opened 7 years ago

igor-barsukov commented 7 years ago

Нужно написать приложение, представляющее собой REST клиент, которое бы дергало стороннее API интересных нам сайтов (http://www.aviasales.ru/API, https://hotellook.ru/, поискать что-то еще).

Описать то, что удалось извлечь в виде [HTTP method] - [resource URL] - [request body] - [response body].

igor-barsukov commented 7 years ago

MN:

Что сделать:

amatiashov commented 7 years ago

Сразу после регистрации доступен API, который возвращает цены авиабилетов по заданному направлению (цены из кэша). Также доступен API для экспорта партнёрской статистики, который дайте возможность получить данные по переходам и ПОКУПКАМ в общем в виде, то есть количество человек, перешедших по партнерской ссылке, доход от платных кликов и т.д. Получить информацию о конкретной покупке конкретного пользователя не предоставляется возможным. Более того, для формирования ссылки на сайт агента для совершения покупки необходимо пройти определенную процедуру получения доступа к API поиска авиабилетов

Наиболее интересные возможности открытого API, которые мы можем использовать в рамках нашего проекта

Во всех запросах, кроме первого, в заголовке запроса необходимо указать параметр X-Access-Token со значением токена (доступен в личном кабинет)

  1. Определение местоположения пользователя по IP адресу GET http://www.travelpayouts.com/whereami?locale=ru&callback=useriata&ip=IP_ADDRESS (ip-адрес можно не передавать через параметры, в этом случае он определяется из header запроса) ПРИМЕР ОТВЕТА:

    useriata({ "iata":"VOZ", "name":"Воронеж", "country_name":"Россия", "coordinates":"37.6176:55.7558" });

  2. Цены на авиабилеты Возвращает список цен из кэша за последние 48 часов. GET http://api.travelpayouts.com/v2/prices/latest?origin=VOZ&destination=MOW origin - код пункта отправления (база кодов IATA) destination код пункта назначения Достпуна фильтрация по классу перелета. ПРИМЕР ОТВЕТА:

    { "success": true, "data": [ { "show_to_affiliates": true, "trip_class": 0, (0 — Эконом, 1 — Бизнес, 2 — Первый.) "origin": "VOZ", "destination": "MOW", "depart_date": "2017-03-30", "return_date": "2017-04-06", "number_of_changes": 0, (количество пересадок) "value": 5200, (стоимость перелета) "found_at": "2017-03-30T19:28:22+04:00", (время и дата, когда был найден билет) "distance": 451, "actual": true (является ли предложение актуальным) }]}

  3. Популярные направления из города GET http://api.travelpayouts.com/v1/city-directions?origin=VOZ origin - код пункта отправления ПРИМЕР ОТВЕТА:

    { "success": true, "data": { "AER": { "origin": "VOZ", (пункт отправления) "destination": "AER", (код IATA пункта назначения) "price": 7868, (стоимость перелета RUB) "transfers": 1, (количество пересадок) "airline": "S7", "flight_number": 232, "departure_at": "2017-05-23T10:25:00Z", (дата и время отправления) "return_at": "2017-05-29T11:05:00Z", "expires_at": "2017-04-02T16:33:18Z" }}}

  4. Самые дешевые авиабилеты Возвращает самые дешевые билеты без пересадок (билеты возвращаются на рейсы туда-обратно). GET http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=VOZ origin - города вылета destination - город назначения ПРИМЕР ОТВЕТА:

    { "success": true, "data": { "VOZ": { "0": { (номер в результатах выдачи) "price": 5090, (код авиакомпании) "airline": "UT", "flight_number": 197, (номер рейса) "departure_at": "2017-04-27T18:50:00Z", (дата вылета) "return_at": "2017-04-30T21:15:00Z", (дата возвращения) "expires_at": "2017-03-30T20:53:32Z" (дата истечения актуальности найденной цены) }}}}