Описание API версии 2 сайта lovushka-quest.ru

Изменения во второй версии API

  1. Изменение адреса в запросе - api поменялся на apiv2.

  2. При получении расписания изменился возвращаемый JSON (п. 5).

  3. Добавлена возможность получения расписания на две недели вперед (п. 6).

  4. При бронировании квеста изменились ожидаемые поля и возвращаемый JSON (п. 7).

Описание API

  1. Получение городов

  2. Для получения списка городов необходимо отправить GET запрос на адрес http://lovushka-quest.ru/api/cities

    Ожидаемые поля:

Пример запроса:

# GET http://lovushka-quest.ru/apiv2/cities?login=test_login&secret=secret_word455

Возвращаемый JSON:

{

"status":"success",

"response":

[

{

"id":"1",

"name":"Москва"

},

{

"id":"2",

"name":"Санкт-Петербург"

}

]

}

Где:



  • Получение города по названию

  • Для получения id конкретного города необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/city

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/cities?name=Москва&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    {

    "id":"1",

    "name":"Москва"

    }

    }

    Где:



  • Получение всех квестов данного города

  • Для получения id всех квестов необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/quests

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/quests?city=26&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    [

    {

    "id":"138",

    "name":"Виртуальный квест: Интерстеллар",

    "time":"3600 секунд",

    "address":"Екатеринбург, Металлургов, 84",

    "phone":"+7 (950) 644-62-08",

    "min_age":"0",

    "min_players":"2",

    "max_players":"4"

    }

    ]

    }

    Где:



  • Получение квеста по его ID

  • Для получения квеста по его ID необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/quest

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/quest?quest=138&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    {

    "id":"138",

    "name":"Виртуальный квест: Интерстеллар",

    "time":"3600 секунд",

    "address":"Екатеринбург, Металлургов, 84",

    "phone":"+7 (950) 644-62-08",

    "min_age":"0",

    "min_players":"2",

    "max_players":"4"

    }

    }

    Где:



  • Получение расписания

  • Для получения расписания квеста необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/schedule

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/schedule?quest=138&date=2016-06-30&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    [

    {

    "date":"2016-07-21",

    "time":"10:00",

    "is_free":false,

    "price":2000

    },

    {

    "date":"2016-07-21",

    "time":"11:15",

    "is_free":false,

    "price":2000

    },

    {

    "date":"2016-07-21",

    "time":"12:30",

    "is_free":true,

    "price":2000

    }

    ]

    }

    Где:



  • Получение расписания на две недели вперед

  • Для получения расписания квеста на две недели вперед, начиная от текучей даты, необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/schedule/two_weeks

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/schedule/two_weeks?quest=138&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    [

    [

    {

    "date":"2016-07-21",

    "time":"10:00",

    "is_free":false,

    "price":2000

    },

    {

    "date":"2016-07-21",

    "time":"11:15",

    "is_free":false,

    "price":2000

    },

    {

    "date":"2016-07-21",

    "time":"12:30",

    "is_free":true,

    "price":2000

    }

    ],

    [

    {

    "date":"2016-07-22",

    "time":"10:00",

    "is_free":true,

    "price":2000

    },

    {

    "date":"2016-07-22",

    "time":"11:15",

    "is_free":true,

    "price":2000

    },

    {

    "date":"2016-07-22",

    "time":"12:30",

    "is_free":true,

    "price":2000

    }

    ]

    ]

    }

    Где:



  • Бронирование квеста

  • Для бронирования квеста необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/add

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/add?quest_id=138&date=2016-06-30&time=22:30&name=Иван&lastname=Петров&phone=89212223344&price=4700&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    {

    "id":"4700",

    "sum":"4700",

    }

    }

    Где:



  • Получение списка броней

  • Для получения списка броней пользователя необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/list

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/[email protected]&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    {

    "active":

    [

    {

    "id":"17400",

    "quest":"138",

    "sum":"2500",

    "date":"30-06-2016"

    "time":"21:15"

    },

    {

    "id":"17402",

    "quest":"138",

    "sum":"2500",

    "date":"30-06-2016"

    "time":"20:00"

    }

    ],

    "done":

    [

    {

    "id":"17392",

    "quest":"138",

    "sum":"2500",

    "date":"30-06-2016"

    "time":"10:00"

    }

    ]

    }

    }

    Где:



  • Получение брони

  • Для получения брони пользователя необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/get

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/[email protected]&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success",

    "response":

    {

    "id":"17400",

    "quest":"138",

    "sum":"2500",

    "date":"30-06-2016"

    "time":"21:15"

    }

    }

    Где:



  • Отмена брони

  • Для отмены брони необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/cancel

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/[email protected]&cause=test&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success"

    }




  • Отмена брони

  • Для отмены брони по номеру телефона необходимо отправить GET запрос на адрес http://lovushka-quest.ru/apiv2/delete

    Ожидаемые поля:

    Пример запроса:

    # GET http://lovushka-quest.ru/apiv2/delete?number=14700&phone=79814443322&cause=test&login=test_login&secret=secret_word455

    Возвращаемый JSON:

    {

    "status":"success"

    }