Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Метод assignPerformersToVehicles

Метод для назначения водителей на автомобили. Если автомобиль уже занят, предыдущий водитель снимается и назначается новый, указанный в запросе. В случае, если на определенную дату хотя бы на один из ресурсов (автомобиль/водитель) назначено расписание, то указанные водитель и машина на этот день не меняются.

Для назначения водителей на автомобили по API используется структура application/xml и HTTP-метод POST.


URL: /rest/2/distribution-api/objects/assignPerformersToVehicles 


Поддерживаемые атрибуты:

Название поляОбязательностьОписание
1performerName

Да,

если не указан performerExternalID

Имя водителя
2performerExternalId

Да,

если не указан performerName

Идентификатор водителя во внешней системе
3

vehicleName

Да,

если не указан vehicleExternalID

Имя автомобиля
4vehicleExternalID

Да,

если не указан vehicleName

Идентификатор машины во внешней системе
5dateНетДата, на которую водитель назначается на автомобиль. Дата не может быть указана в прошлом

Примечания

Если поле performerExternalId заполнено, оно будет использовано для идентификации водителя, если нет - водитель будет идентифицирован по имени (performerName). Если заполнены оба поля, то водитель будет идентифицирован по связке имени и внешнего идентификатора.

Та же логика работает для полей vehicleName и vehicleExternalID.

Пример запроса:

<?xml version="1.0" encoding="UTF-8"?>
<apiRequest>
   <sessionID>545d1a3f6b2445019a369c9477c6dc36</sessionID>
   <allocationsDetails>
      <allocations>
         <allocation performerName="Виктор Иванов" vehicleName="А 609 КМ" performerExternalId ="Водитель 4" vehicleExternalId="Машина 4" date="24.02.2016" />
      </allocations>
   </allocationsDetails>
</apiRequest>


Пример ответа:

<?xml version="1.0" encoding="UTF-8"?>
<apiResponse version="1.0">
   <objects>
      <updatedObject>
         <name>Виктор Иванов - А 609 КМ</name>
      </updatedObject>
   </objects>
</apiResponse>

Возможные ошибки:

 

причина

ошибка

1

При указании некорректного sessionID

1009 - "Provided credentials are invalid"

2

При вводе некорректного имени водителя

1206 - "Performer is not found"

3

При вводе некорректного имени автомобиля

1304 - "Vehicle is not found"

4

При попытке назначить водителя на машинку из другого депо

1234 - "Performer and vehicle have different areas of control"

5

При попытке назначить водителя, который имеет не уникальное имя в системе

1302 - Found more then one performer with same name" 

6

При попытке привязать водителя/машинку, связанных с ДС, на который у пользователя нет прав

1019 - "User with provided credentials doesn't have AoC access or AoC doesn't exist"

7При попытке задать прошлую дату1214 - "Invalid value for parameter: date has already passed"
8При попытке назначить водителя, имя которого не соответствует значению driverExternalID2022 - "The driver is not found by same name and external id: performerExternalID<=>Performer"
9При попытке назначить машину, имя которой не соответствует значению vehicleExternalID2023 - "При попытке назначить машину, имя которой не соответствует значению vehicleExternalID"
10При попытке назначить водителя с уже запланированным расписанием на другую машину.2028 - "The selected driver has allocated orders"



  • No labels