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

GetMoisUrl

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

GET-запрос

http://ServerPOISUrl/GetMoisUrl?apiKey=ProviderApiKey&serverId=ServerId
Параметр Описание
ServerPOISUrl URL определенного сервера определенного Провайдера, где работает водитель
ProviderApiKey API ключ для POIS, полученный провайдером
ProviderIdFor ID провайдера, по которому требуется информация
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, переданы некорректные параметры или несуществующие координаты.