запрос importPerformers
Запрос используется для импорта водителей (Performers) в систему
/rest/2/distribution-api/objects/importPerformers
Список поддерживаемых атрибутов:
№ | Название поля | Обязательное | Описание |
1 | performer | Блок информации о водителе | |
1.1 | externalId | Нет | Идентификатор |
1.2 | login | Да | Логин |
1.3 | password | Да | Пароль |
1.4 | name | Да | Имя |
1.5 | Да | Адрес электронной почты | |
1.6 | phone | Нет | Номер телефона |
1.7 | comments | Нет | Комментарии |
1.8 | priceForOneHour | Да | Стоимость одного часа |
1.9 | breakShift | Да | Обязательно, если включены фиксированные обеды. Сдвиг обеда |
1.10 | areaOfControl | Да | Распределительный центр |
1.11 | allowDailyDrivingLimit | Нет | Лимит на вождение за смену. Значения: true / false. |
1.12 | dailyDrivingLimit | Нет | Значение лимита за смену (указывается в минутах) |
1.13 | allowDailyWorkingLimit | Нет | Продолжительность работы за смену. Значения: true / false. |
1.14 | dailyWorkingLimit | Нет | Продолжительность рабочего дня за смену (указывается в минутах). |
1.15 | scheduleZonesId | Нет | Идентификатор территории |
2 | availability | Блок информации о графике работы водителя | |
2.1 | weekDay | Да | День работы. Возможные значения: sunday, monday, tuesday, wednesday, thursday, friday, saturday |
2.2 | from | Да | Начало рабочего дня: с ... часов |
2.3 | to | Да | Окончание рабочего дня: до ... часов |
2.4 | startDayShift | Нет | Значение 0 или -1, если не задан - считается что текущий день. -1: предыдущий день 0: текущий день |
2.5 | endDayShift | Нет | Значение 0 или 1 или 2, если не задан - считается что текущий день 0: текущий день 1: следующий день 2: плюс два дня |
2.6 | breakFrom | Да | Обязательный при указании breakTo. Означает - Обед с |
2.7 | breakTo | Да | Обязательный при указании breakFrom. Означает - Обед до |
2.8 | fixedDayStart | Нет | Фиксированное начало рабочего дня |
3 | Units | Блок со значениями единиц измерения | |
3.1 | timezone | Да | Таймзона |
3.2 | timeZoneOffset | Да | Часовой пояс |
3.3 | currency | Да | Валюта |
3.4 | distanceUnits | Да | Единицы измерения расстояния |
3.5 | speedUnits | Да | Единицы измерения скорости. Значения: METERS_PER_SEC KILOMETERS_PER_HOUR MILES_PER_HOUR. |
3.6 | durationUnits | Да | Единицы измерения погрузки |
3.7 | weightUnits | Да | Единицы измерения веса |
3.8 | volumeUnits | Да | Единицы измерения объема |
4 | home location | Блок информации об адресе возврата в конце дня. Если home location не используются, не заполнять данный блок. | |
4.1 | name | Да | Имя локации |
4.2 | address | Да | Адрес локации |
4.3 | latitude | Нет | Долгота |
4.4 | longitude | Нет | Широта |
Значение полей dailyDrivingLimit и dailyDrivingLimit имеют смысл только при наличии включенных полей allowDailyDrivingLimit и allowDailyWorkingLimit соответственно
Пример (перечислены все доступные поля):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<apiRequest>
<sessionID>6345e0588e384fc4acc3a2e63e9a4d39</sessionID >
<performersDetails>
<units timeZone="Greenwich Mean Time" timeZoneOffset="GMT+0:00" currency="POUND" distanceUnits="MILE" speedUnits="MILES_PER_HOUR" durationUnits="MINUTE" weightUnits="Kg" volumeUnits="m3"/>
<performers>
<performer name="Водитель Иванов" phone="555-437-82" email="ivanov_magenta_voditel@gmail.com"
login="Driver_API_3782387121" password="123456" comments = "Высокий, носит очки."
priceForOneHour = "10.5" breakShift="30"
dailyDrivingLimit="720" allowDailyDrivingLimit="1"
dailyWorkingLimit="720" allowDailyWorkingLimit="1"
areaOfControl="chippenhamzone" scheduleZonesId="71">
<homeLocation name="Frogwell" address="Drake Crescent, Chippenham, Wiltshire, SN14, GB" latitude="51.453891" longitude="-2.148895"/>
<availabilities>
<availability weekDay="monday" from="05:00" to="19:00" breakFrom="10:00" endDayShift="0" breakTo="10:45"/>
<availability weekDay="thursday" from="04:30" to="19:00" breakFrom="10:00" breakTo="10:45"/>
<availability weekDay="friday" from="06:30" to="19:00" breakFrom="10:00" breakTo="10:45"/>
<availability weekDay="saturday" from="05:00" to="19:00" breakFrom="10:00" breakTo="10:45"/>
<availability weekDay="sunday" from="05:00" to="19:00" breakFrom="10:00" breakTo="10:45"/>
</availabilities>
</performer>
</performers>
</performersDetails>
</apiRequest>
Ответ при успешном импорте:
<apiResponse version="1.0">
<performers>
<performer>
<name>Водитель Иванов</name>
<login>Driver_API_3782387121</login>
</performer>
</performers>
</apiResponse>
Возможные ошибки:
| причина | ошибка |
1 | При указании некорректного sessionID | 1009 - "Provided credentials are invalid" |
2 | При отсутствии обязательного параметра | 1230 - "Parameter is required: %name%", name – имя отсуствующего параметра |
3 | При некорректном вводе email | 1232 - "Invalid value for e-mail: %wrongname%" |
4 | При вводе некорректных значений | 1107 - "Field type is incorrect: %name% = %valuename%. Expected %expectedtype% type" |
5 | При вводе несуществующего DC | 1203 - "Area Of Control was not found" |
6 | При запросе к DC, на которое у юзера нет прав | 1019 - "User with provided credentials doesn't have AoC access or AoC doesn't exist" |
7 | При отсутствии одного из полей breakFrom или breakTo, когда одно из них задано | 1231 - "Invalid value for break, both values breakFrom and breakTo are required" |
8 | Пустое значение password при редактировании водителя | 1233 - "The value for password is empty"
|