Запросы от Провайдера к 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.
GetProviderBalanceHistory¶
Запрос Провайдером истории изменения баланса провайдера за период, не позднее месяца назад.
GET-запрос¶
https://POISUrl/GetProviderBalanceHistory?apiKey=ProviderApiKey
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
Тело запроса (JSON)¶
{
"TimeFrom":"2018-05-01T00:00", // дата-время в формате ISO 8601
"TimeTo":"2018-05-31T23:59", // дата-время в формате ISO 8601
"ServerId":75, //идентификатор сервера
"AccountId":"1248" // лицевой счет
}
Ответ -JSON вида¶
[
{
"ServerId":1, //id сервера SeDi
"SediOrderId":"25757", //id заказа SeDi
"IsCashless":0, //наличный - 0, безналичный - 1
"ProviderToSedi":0, //направление заказа(1 - от Провадера в СеДи, 0 - от СеДи к Провайдеру)
"OrderCost":250, //стоимость заказа
"Sum":-25, //сумма отчисления провайдеру(с минусом - Провайдер платит СеДи, с плюсом - СеДи платит Провайдеру)
"Percent":10, //процент от заказа(Sum = Percent от OrderCost, для сверки)
"AccountId":1248 //лицевой счет
},
{
"ServerId":2, //id сервера SeDi
"SediOrderId":"25750", //id заказа SeDi
"IsCashless":0, //наличный - 0, безналичный - 1
"ProviderToSedi":0, //направление заказа(1 - от Провадера в СеДи, 0 - от СеДи к Провайдеру)
"OrderCost":200, //стоимость заказа
"Sum":-20, //сумма отчисления провайдеру(с минусом - Провайдер платит СеДи, с плюсом - СеДи платит Провайдеру)
"Percent":10, //процент от заказа(Sum = Percent от OrderCost, для сверки)
"AccountId":1248 //лицевой счет
},
{
"ServerId":2, //id сервера SeDi
"SediOrderId":"25850", //id заказа SeDi
"IsCashless":0, //наличный - 0, безналичный - 1
"ProviderToSedi":1, //направление заказа(1 - от Провадера в СеДи, 0 - от СеДи к Провайдеру)
"OrderCost":300, //стоимость заказа
"Sum":30, //сумма отчисления провайдеру(с минусом - Провайдер платит СеДи, с плюсом - СеДи платит Провайдеру)
"Percent":10, //процент от заказа(Sum = Percent от OrderCost, для сверки)
"AccountId":1248 //лицевой счет
}
]
GetGroupActivityStatistics¶
Запрос Провайдером статистики активности группы
POST-запрос¶
https://POISUrl/GetGroupActivityStatistics?apiKey=ProviderApiKey
Параметр | Описание |
---|---|
ProviderApiKey | API ключ для POIS, полученный провайдером |
Year | Год |
Month | Месяц |
Day | День |
GroupingDate | тип группировки по времени (день/неделя/месяц/год). Возможные значения: Day, Week, Month, Year |
GroupingOwner | тип группировки по владельцу(группа/сервер). Возможные значения: Group, Server |
Тело запроса (JSON)¶
{
"Year":2024, // год
"Moth":12, // месяц
"Day":0, // день
"GroupingDate":"Month", // тип группировки по времени (день/неделя/месяц/год)
"GroupingOwner":"Group" // тип группировки по владельцу(группа/сервер)
}
Ответ¶
Ответ от POIS - JSON вида
[
{
"Year": 2025, //Год
"Month": 2, //Месяц
"Day": 1, //День
"Week": 5, //Неделя
"ServerId": 75, //ID сервера
"GroupId": 48, //ID группы
"DriverRegistrationCount": 0, //Количество регистраций водителей
"DriverPermitToWorkCount": 0, //Количество допусков к работе
"PermittedDriversCount": 196, //Количество в группе водителей с допуском к работе (среднее значение)
"ActiveDriversCount": 0 //Активных водителей за период (среднее значение)
},
{
"Year": 2025, //Год
"Month": 2, //Месяц
"Day": 2, //День
"Week": 5, //Неделя
"ServerId": 75, //ID сервера
"GroupId": 48, //ID группы
"DriverRegistrationCount": 0, //Количество регистраций водителей
"DriverPermitToWorkCount": 0, //Количество допусков к работе
"PermittedDriversCount": 196, //Количество в группе водителей с допуском к работе (среднее значение)
"ActiveDriversCount": 0 //Активных водителей за период (среднее значение)
}
]
Поля будут заполнены либо пустые, в зависимости от заданного типа группировки.
Дополнительно результат описывается кодом HTTP-ответа.
200 OK
- запрос выполнен полностью без ошибок.
400 Bad Request
- некорректный или пустой ключ ProviderApiKey, переданы некорректные параметры.
403 Forbidden
- слишком много запросов