Запросы от POIS к Провайдеру

GetMoisUrl

Запрос от POIS к Провайдеру и его определенному серверу, чтобы получить URL для Mois (POIS URL всех своих серверов или общий, при их отсутствии, Провайдер предоставляет заранее).

GET-запрос

http://ServerPOISUrl/GetMoisUrl?apiKey=ProviderApiKey&serverId=ServerId
Параметр Описание
ServerPOISUrl URL определенного сервера определенного Провайдера, где работает водитель
ProviderApiKey API ключ для POIS, полученный провайдером
ServerId ID сервера (необязательно)

Ответ

Ответ от POIS – строка, содержащая URL для обращения к Api MOIS вида: http://Provider1Mois.ru:8525.
Дополнительно результат описывается кодом HTTP-ответа.
200 OK - запрос выполнен полностью без ошибок.
400 Bad Request - некорректный или пустой ключ ProviderApiKey.

GetDriverProperties

Запрос от POIS к Провайдеру, чтобы получить свойства водителя (делается один раз, когда POIS первый раз получает информацию о положении водителя, о котором до этого POIS ничего не было известно).

GET-запрос

http://ServerPOISUrl/GetDriverProperties?apiKey=ProviderApiKey&driverId=driverId&serverId=serverId
Параметр Описание
ServerPOISUrl URL определенного сервера определенного Провайдера, где работает водитель
ProviderApiKey API ключ для POIS, полученный провайдером
driverId ID водителя
serverId ID сервера (необязательно)

Ответ (JSON)

[
  {
    "PropertyName":"Places","PropertyValue":"4"
  },
  {
    "PropertyName":"CarModel","PropertyValue":"Toyota Rav4"
  }
] // массив свойств автомобиля

Дополнительно результат описывается кодом HTTP-ответа.
200 OK - запрос выполнен полностью без ошибок.
400 Bad Request - некорректный или пустой ключ ProviderApiKey.
404 Not Found - указанный в запросе водитель не найден.

SendMoisData

Запрос от POIS к Провайдеру и его определенному серверу, чтобы обновить ключи для взаимодействия по Mois с другим провайдером.

POST-запрос

http://ServerPOISUrl/SendMoisData?apiKey=ProviderApiKey&serverId=ServerId
Параметр Описание
ProviderApiKey API ключ для POIS, полученный провайдером
ServerId ID сервера (необязательно)

SendAdditionalDrivers

Когда сервер запрашивает у ПОИС данные по водителям для какого-то заказа, ПОИС у себя некоторое время(5 минут) хранит этот запрос с параметрами и если подлкючатся новые подходящие водители, он отправит SendAdditionalDrivers тому, кто их запрашивал.

POST-запрос

http://ServerPOISUrl/SendAdditionalDrivers?apiKey=ProviderApiKey&serverId=ServerId
Параметр Описание
ProviderApiKey API ключ для POIS, полученный провайдером
ServerId ID сервера (необязательно)

Тело запроса (JSON)

{
  "Orders": [
    {
      "OrderId":"A111",
      "Drivers": [ {"ProviderId":1,"ServerId":0,"DriverId":13},{"ProviderId":2,"ServerId":1,"DriverId":10},{"ProviderId":2,"ServerId":2,"DriverId":10}]
    },
    {
      "OrderId":"B111",
      "Drivers": [ {"ProviderId":1,"ServerId":0,"DriverId":13},{"ProviderId":2,"ServerId":1,"DriverId":10},{"ProviderId":2,"ServerId":2,"DriverId":10}]
    }
  ]
}

Ответ

Ответ - массив неактуальных на данном сервере айди заказа(чтобы больше ПОИС не досылал водителей) - уже взятых, отмененных и т.д.:

[
  "A111"
]

Дополнительно результат описывается кодом HTTP-ответа.
200 OK - запрос выполнен полностью без ошибок.
400 Bad Request - некорректный или пустой ключ ProviderApiKey, переданы некорректные параметры или несуществующие координаты.