Запросы от Провайдера к POIS¶
SendMoisUrl¶
Отправка Провайдером своего URL для MOIS, с указанием сервера, если необходимо.
POST-запрос¶
https://POISUrl/SendMoisUrl?apiKey=ProviderApiKey&serverId=ServerId&url=newUrl
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
ServerId | ID сервера, если у провайдера несколько серверов. Если нет – 0 |
newUrl | URL, куда другим Провайдерам следует обращаться для обмена MOIS-запросами с данным Провайдером |
Тело запроса:
Отсутствует.
Ответ¶
Ответ не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey.
GetProperties¶
Запрос у POIS набора свойств, которым можно оперировать для описания свойств водителей и заказов.
GET-запрос¶
https://POISUrl/GetProperties?apiKey=ProviderApiKey&language=ru
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
ru | локализация языка для отображения свойств |
Ответ¶
Ответ от POIS - JSON с массивом свойств и допустимых значений вида:
[
{
"Name":"Places", // имя свойства - ключ, по которому это свойство будет опознаваться при передаче в методах
"Description":"Количество мест", // локализованное название свойства
"Type":"int", // тип свойства, допустимые варианты: int - числовое, string - строковое, bool - логическое
"AllowedValues":["4","5","7"] // допустимые значения свойства
}
]
SendDriverProperties¶
Отправка на POIS информации по свойствам водителя (при изменении свойств).
POST-запрос¶
https://POISUrl/SendDriverProperties?apiKey=ProviderApiKey&driverId=DriverId&serverId=ServerId
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
DriverId | ID водителя |
ServerId | ID сервера, если у провайдера несколько серверов. Если нет – 0 |
Тело запроса (JSON)¶
[
{
"PropertyName":"Places","PropertyValue":"4"
},
{
"PropertyName":"CarModel","PropertyValue":"Toyota Rav4"
}
] // массив свойств автомобиля
Ответ¶
Ответ не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey.
SendDriverInfo¶
Отправка на POIS текущей информации по водителю (при изменении координаты или статуса).
POST-запрос¶
https://POISUrl/SendDriverInfo?apiKey=ProviderApiKey
Тело запроса (JSON)¶
{
"DriverId":1, // Id водителя
"ServerId":25, // Id сервера, если у провайдера несколько серверов. Если нет – 0
"Free":true, // свободен ли водитель (true – свободен, false – занят)
"Position":{"Latitude":55.7672,"Longitude":37.588073} // координата текущего местонахождения водителя
}
Ответ¶
Ответ не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey.
SendDriverInfos¶
Отправка на POIS текущей информации по водителям(при изменении координаты или статуса).
POST-запрос¶
https://POISUrl/SendDriverInfos?apiKey=ProviderApiKey
Тело запроса (JSON)¶
{[{
"DriverId":1, // Id водителя
"ServerId":25, // Id сервера, если у провайдера несколько серверов. Если нет – 0
"Free":true, // свободен ли водитель (true – свободен, false – занят)
"Position":{"Latitude":55.7672,"Longitude":37.588073} // координата текущего местонахождения водителя
},
{
"DriverId":2, // Id водителя
"ServerId":25, // Id сервера, если у провайдера несколько серверов. Если нет – 0
"Free":true, // свободен ли водитель (true – свободен, false – занят)
"Position":{"Latitude":55.7672,"Longitude":37.588073} // координата текущего местонахождения водителя
}]}
Ответ¶
Ответ не содержит тела, результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey.
GetDrivers¶
Запрос Провайдером указанного количества подходящих водителей с указанными свойствами, в заданном радиусе. Также можно передавать несколько фильтров.
POST-запрос¶
https://POISUrl/GetDrivers?apiKey=ProviderApiKey&serverId=ServerId
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
ServerId | ID сервера, если у провайдера несколько серверов. Если нет – 0 |
Два фильтра свойств применяются по или.
Тело запроса (JSON)¶
{
"Coordinate":{"Latitude":55.8028,"Longitude":37.6369}, // координаты точки, вокруг которой запрашиваются водители
"Properties":null, // массив требуемых свойств автомобиля (устарело)
"OrderId":"123456", // номер заказа
"PropertiesFilter":[
{
"Properties":[
{"PropertyName":"Places","PropertyValue":"4"},
{"PropertyName":"YearOfManufacture","PropertyValue":"2018"}]
},
{
"Properties":[
{"PropertyName":"Places","PropertyValue":"4"},
{"PropertyName":"YearOfManufacture","PropertyValue":"2016"},
{"PropertyName":"CarModel","PropertyValue":"Mercedes, Hyundai"}]
}], // массив требуемых свойств автомобиля
"Radius":3.5, // радиус, в котором требуются свободные водители. Максимально допустимо 4 км
"AllDrivers":0 // Не вовзвращать своих собственных водителей, флагом 0/1
"MaxCount":100 // максимальное возвращаемое количество водителей. Максимально допустимо - 100
}
Ответ¶
Ответ от POIS - JSON вида (водители сгруппированы в массив по провайдерам)
[
{
"ProviderId":2, // ID провайдера
"ProviderName":"Такси СуперСервис", // Название провайдера
"Drivers":[ // список ID водителей, с указанием сервера (сервер необязателен, если у провайдера он один)
{
"ServerId":71,
"DriverId":1,
"GroupId":78,
"Coordinate": {"Latitude":54.7265642,"Longitude":20.525276},
"CarModel":"Volkswagen Golf",
"YearOfManufacture":2017
},
{
"ServerId":71,
"DriverId":2,
"GroupId":78,
"Coordinate": {"Latitude":54.7265642,"Longitude":20.525276},
"CarModel":"Volkswagen Passat",
"YearOfManufacture":2015
}]
},
{
"ProviderId":3,
"ProviderName":"Какой-то провайдер3",
"Drivers": [
{
"ServerId":1,
"DriverId":78,
"GroupId":4,
"Coordinate": {"Latitude":54.7265642,"Longitude":20.525276},
"CarModel":"Ford Fiesta",
"YearOfManufacture":2020
},
{
"ServerId":2,
"DriverId":95,
"GroupId":5,
"Coordinate": {"Latitude":54.7265642,"Longitude":20.525276},
"CarModel":"Kia Sorento",
"YearOfManufacture":2011
}]
}
]
Дополнительно результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey, переданы некорректные параметры или несуществующие координаты.
GetMoisData¶
Запрос Провайдером информации по MOIS, с указанием своего сервера (если необходимо), для другого Провайдера2 и его сервера (куда обращаться к Провайдеру2 и его серверу для работы по MOIS).
GET-запрос¶
https://POISUrl/GetMoisData?apiKey=ProviderApiKey&serverId=ServerId&providerIdFor=ProviderIdFor&serverIdFor=ServerIdFor
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
ServerId | ID сервера запрашивающего провайдера |
ProviderIdFor | ID провайдера, по которому требуется информация |
ServerIdFor | ID сервера, по которому требуется информация |
Ответ¶
Ответ от POIS - JSON вида
{
"ProviderId":2, // ID провайдера для которого запрашивается ключ
"ProviderName":"Такси СуперСервис", // имя провайдера для которого запрашивается ключ
"ServerId":71, // ID сервера провайдера (может отсутствовать, либо 0)
"ProviderMoisUrl":"http://localhost:9010", // MOIS-Url для связи с указанным в параметрах Провайдером и сервером
"YourMoisApiKeyForProvider":"3591098164444b12b13163b8913de258", // ключ, с которым следует обращаться к указанному Провайдеру и серверу
"ProviderMoisApiKeyForYou":"d45e37706bbb4e64905c501aad58f727" // ключ, с которым к запрашивающему Провайдеру будет обращаться указанные в запросе Провайдер с указанного сервера
}
Дополнительно результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey, переданы некорректные параметры или несуществующие координаты.
GetMoisDataByKey¶
Запрос Провайдером информации по MOIS, с указанием ключа другого Провайдера2 (куда обращаться к Провайдеру2 и его серверу для работы по MOIS).
GET-запрос¶
https://POISUrl/GetMoisDataByKey?apiKey=ProviderApiKey&serverId=ServerId&moisKey=MoisKey
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
ServerId | ID сервера запрашивающего провайдера |
MoisKey | ключ MOIS провайдера, по которому нужна информация |
Ответ¶
Ответ от POIS - JSON вида
{
"ProviderId":2, // ID провайдера для которого запрашивается ключ
"ProviderName":"Такси СуперСервис", // имя провайдера для которого запрашивается ключ
"ServerId":71, // ID сервера провайдера (может отсутствовать, либо 0)
"ProviderMoisUrl":"http://localhost:9010", // MOIS-Url для связи с указанным в параметрах Провайдером и сервером
"YourMoisApiKeyForProvider":"3591098164444b12b13163b8913de258", // ключ, с которым следует обращаться к указанному Провайдеру и серверу
"ProviderMoisApiKeyForYou":"d45e37706bbb4e64905c501aad58f727" // ключ, с которым к запрашивающему Провайдеру будет обращаться указанные в запросе Провайдер с указанного сервера
}
Дополнительно результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey или не найден провайдер с переданным параметром providerIdFor.