- формат взаимодействия — REST API;
- формат данных — JSON;
- мнемонические HTTP коды ответа;
- авторизация — Basic Auth
- в случае ошибки в ответе присутствует поле
error
:
{
"error": {
"code": <код ошибки>,
"message": <расшифровка ошибки>
}
}
Методы отмеченные * являются асинхронными. Первый запрос инициализирует задачу, статус ответа в случае успешной инициализации —202 Accepted
.
Для получения результата работы асинхронного метода делаются GET-запросы с url запроса, который инициировал запрос,
до тех пор пока метод не вернет статус 200 OK
, либо не вернет статус ошибки. Рекомендуется вызывать GET для получения результата не чаще, чем раз в секунду.
- Запрос:
GET /rides/endpoints
- Ответ:
[
{
"id": <string, id пункта>,
"name": <string, название пункта>,
"region_name": <string, название региона>,
"country": <string, iso код страны>,
"longitude": <float>,
"latitude": <float>
},
...
]
- Запрос:
GET /rides/segments
- Ответ:
[
[
<raw, id пункта отправления>,
<raw, id пункта назначения>
],
...
]
- Запрос:
GET /rides/search?from-id=<point-id>&to-id=<point-id>&date=<date>
parameter | location | type |
---|---|---|
from-id |
query | string |
to-id |
query | string |
date |
query | date |
passengers-count |
query | int |
4. Параметры бронирования рейса*
- Запрос:
GET /rides/<ride-id>/book-params?from-id=<from-id>&to-id=<to-id>&date=<date>
parameter | location | type |
---|---|---|
ride-id |
query | string |
from-id |
query | string |
to-id |
query | string |
date |
query | date |
5. Бронирование*
- Запрос:
POST /rides/<ride-id>/book
- Запрос:
POST /orders/<order-id>/confirm
parameter | location | type |
---|---|---|
order-id |
query | raw |
- Запрос:
GET /tickets/<ticket-id>
parameter | location | type |
---|---|---|
ticket-id |
query | raw |
- Запрос:
GET /tickets/<ticket-id>/calc-refund
parameter | location | type |
---|---|---|
ticket-id |
query | raw |
- Запрос:
POST /tickets/<ticket-id>/refund
parameter | location | type |
---|---|---|
ticket-id |
query | raw |
- Ответ:
{
"id": <raw, optional>,
"price": <decimal>, // сумма к возврату
}