Методы по заказам¶
OfferOrder¶
Предложение заказа конкретному участнику MOIS.
POST-запрос¶
https://MOISUrl/OfferOrder?apiKey=ProviderApiKey
Тело запроса (JSON)¶
{
"OrderId":1234, // внутренний номер (идентификатор) заказа СервисЗ
"CustomerPhones":["+79219212121","+79219212122"], // телефоны заказчика
"CustomerName":"Анатолий Петрович", // имя заказчика
"OwnerInfo":{"Id":555,"Name":"SuperTaxi","DispatcherPhone":"+74957770077"}, // информация о сервисе-владельце заказа СервисЗ
"Source":{"Index":0,"Country":"Россия","Locality":"Москва","Street":"Мира проспект","House":"106","PorchNumber":"2","Object":"","FullDescription":"Москва, Мира проспект 106","GeoPoint":{"Latitude":55.7672,"Longitude":37.588073}}, // адрес подачи машины
"Destinations" // массив адресов в маршруте, структура адреса такая же как у адреса подачи
"OrderTime":"2018-05-28T14:00", // время и дата подачи машины в формате ISO 8601
"RouteInfo":{"Distance":5200,"Duration":15}, // информация о маршруте, расстояние в метрах, длительность в минутах
"RentTime":0, // время аренды машины (если нужна аренда)
"OrderType":"rush", // тип заказа по срочности подачи машины, rush - чем быстрее, тем лучше, preliminary - строго на указанное время
"IsCashless":false, // тип оплаты заказа, true - безналичный, false - наличный
"OrderCost":540, // стоимость заказа
"OwnerCharge":15, // сбор владельца в процентах (от 0 до 100)
"FixedCharge":120, // сбор владельца в абсолютном денежном выражении (не должен превышать стоимость заказа)
"Tariff":"e/m/250/10/20", // описание тарифа (информация о способах описания тарифов приведена в конце документа)
"DriverIds":[124,836,140], // идентификаторы водителей СарвисаВ, которых СервисЗ выбрал предпочтительными исполнителями для заказа
"Properties":[{"PropertyName":"Places","PropertyValue":"4"},{"PropertyName":"CarModel","PropertyValue":"Toyota Rav4"}], // свойства заказа
"Comments":"Спасибо!" // комментарий к заказу
}
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
TakeOrderByDriver¶
Принятие заказа водителем.
POST-запрос¶
https://MOISUrl/TakeOrderByDriver?apiKey=ProviderApiKey&orderId=OrderId
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
Тело запроса (JSON)¶
{
"DriverId":521, // внутренний идентификатор водителя в системе СервисВ
"DriverName":"Дмитрий Афанасьевич", // имя водителя
"DriverPhones":"+79251231212", // рабочие телефоны водителя
"CarNumber":"м123мм77", // госномер автомобиля водителя
"CarModel":"Toyota Rav4", // марка и модель автомобиля
"CarColor":"Красный", // цвет автомобиля
"GroupId":84, // внутренний идентификатор такси-группы водителя в системе СервисВ
"GroupName":"Fast Taxi", // название такси-группы водителя
"GroupPhone":"+74991231212" // диспетчерский телефон такси-группы водителя
}
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
С ответом 200
в body может быть JSON описание
{
Success:false, //True или False удалось ли взять заказ водителю
Message:"Водитель не подходит по свойствам" //Если водителю не передаали заказ то тут сообщение о причине
}
ConfirmOrder¶
Подтверждение взятия со стороны СервисаЗ.
POST-запрос¶
https://MOISUrl/ConfirmOrder?apiKey=ProviderApiKey
Тело запроса (JSON)¶
Структура тела запроса аналогична структуре в методе OfferOrder.
Ответ¶
В ответ строкой возвращается ID заказа в системе СервисВ. Результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
ConfirmOrderExecution¶
Подтверждение приступления к выполнению со стороны СервисаВ.
GET-запрос¶
https://MOISUrl/ConfirmOrderExecution?apiKey=ProviderApiKey&orderId=OrderId
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
Тело запроса¶
Отсутствует.
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
CancelOrder¶
Отмена заказа. Отменяться может как предложенный, так и уже принятый к выполнению заказ.
Примечание: отменить заказ может только владелец заказа. Отмена не разрешена исполнителю.
GET-запрос¶
https://MOISUrl/CancelOrder?apiKey=ProviderApiKey&orderId=OrderId&reason=Reason
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
reason | причина отмены |
Тело запроса¶
Отсутствует.
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
UpdateOrder¶
Редактирование заказа. Редактирование заказ следует использовать только для заказа, который уже принят в выполнению на СервисеВ.
POST-запрос¶
https://MOISUrl/UpdateOrder?apiKey=ProviderApiKey
Тело запроса (JSON)¶
Структура тела запроса аналогична структуре в методе OfferOrder.
Ответ¶
В ответ строкой возвращается ID заказа в системе СервисВ. Результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
SetOrderStatus¶
Обновление статуса заказа
Примечание: отменить заказ может только владелец заказа и соответственно, отправка статуса Cancelled не разрешена исполнителю.
GET-запрос¶
https://MOISUrl/SetOrderStatus?apiKey=ProviderApiKey&orderId=OrderId&status=Status&extra=Extra&responsibleName
=ResponsibleName&responsibleId=responsibleId
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
status | устанавливаемый статус заказа |
extra | в данном поле при завершении заказа передается итоговая стоимость. При перепроводке заказа (повторном завершении) аналогично передается стоимость. В случае, если заказ провален или отменен, в этом параметре передается причина. |
responsibleId | идентификатор ответственного лица с СервисеВ |
responsibleName | имя ответственного за установку статуса в СервисеВ |
Допустимые статусы¶
Параметр | Описание |
---|---|
WaitTaxi | Ожидание выезда такси (для предварительных) |
WaitConfirmInWayFromDriver | Ожидание подтверждения выезда от водителя по предварительному заказу(между статусом WaitTaxi и InWay) |
InWay | На пути к заказчику |
NearCustomer | Рядом с заказчиком |
DriverWaitCustomer | Водитель ожидает клиента |
CustomerNotifiedAboutDriverWait | Заказчик оповещен о подаче машины |
Execute | Заказчик в машине |
WaitComplete | Заказ ожидает завершения диспетчером (используется для безналичных заказов) |
DoneOk | Заказ благополучно завершен |
DoneFail | Заказ провален водителем |
TryCancel | Заказ поставлен на отмену (используется, если от водителя нужно подтверждение отмены) |
Cancelled | Заказ отменен |
DoneNoClient | Неявка клиента |
Тело запроса¶
Отсутствует.
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
RenewDriver¶
Замена водителя, исполняющего заказ. В теле запроса передается информация о новом водителе.
POST-запрос¶
https://MOISUrl/RenewDriver?apiKey=ProviderApiKey&orderId=OrderId
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
Тело запроса (JSON)¶
Структура тела запроса аналогична структуре в методе TakeOrderByDriver
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
RefuseOrder¶
Отказ от выполнения взятого заказа.
Примечание: отказываться от заказа исполнитель может только до статуса Клиент в машине, позже отказ не принимается владельцем, исполнителю в данном случае следует присылать статус Заказ провален.
GET-запрос¶
https://MOISUrl/RefuseOrder?apiKey=ProviderApiKey&orderId=OrderId&reason=Reason
Параметр | Описание |
---|---|
orderId | идентификатор заказа в СервисеЗ |
reason | причина отмены |
Тело запроса¶
Отсутствует.
Ответ¶
Ответ на предложение заказа не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- в запросе не хватает параметров (в URI или теле запроса), значение параметров указано неверно, либо JSON-структура в теле запроса сформирована неправильно.
404 Not Found
- указанный в запросе заказ не найден.
500 Internal Server Error
- возникла внутренняя ошибка сервера.
GetOrderInfo¶
Получение инфомарции о заказе. Применяется для возможности одной стороне инфообмена самостоятельно узнать информацию по заказу на другой стороне инфообмена.
GET-запрос¶
https://MOISUrl/GetOrderInfo?apiKey=ProviderApiKey&orderId=OrderId
Параметр | Описание |
---|---|
apiKey | ключ провадера |
orderId | ID заказа на сервере провайдера, у которого запрашивается информация |
Тело запроса¶
Отсутствует.
Ответ (JSON)¶
{
"RequestingServerOrderId":123456, //ID заказа на запрашивающем сервере
"AnsweringServerOrderId":789000, //ID заказа на отвечающем сервере (совпадает с orderId в параметрах запроса)
"Driver":
{
"Id":856, // ID водителя, выполняющего заказ
"Name":"Веселый Сидор Петрович" // имя водителя, выполняющего заказ
},
"ExecutorGroup":
{
"Id":59, // ID группы, выполняющей заказ
"Name":"Такси Позитив" // название группы, выполняющей заказ
},
"OrderStatus":"DoneOk", // текущий статус заказа
"IsCashless":1, // наличный/безналичный
"OrderCost":150, // стоимость заказа
}
Дополнительно результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey, переданы некорректные параметры или несуществующие координаты.