Импорт водителей
/rest/2/distribution-api/objects/importPerformers
Все возможные атрибуты для performer:
Название поля | Обязательное | Описание |
externalId | Нет | Идентификатор |
login | Да | Логин. По нему ищем водителя при апдейте |
password | Да | Пароль. Обязателен для нового водителя. |
name | Да | Имя |
Да | Адрес электронной почты | |
phone | Нет | Номер телефона |
comments | Нет | Комментарии |
priceForOneHour | Да | Стоимость одного часа |
breakShift | Да | Обязательно, если включены фиксированные обеды. Сдвиг обеда |
areaOfControl | Да | Распределительный центр |
allowDailyDrivingLimit | Нет | |
dailyDrivingLimit | Нет | |
allowDailyWorkingLimit | Нет | Продолжительность работы в смену |
dailyWorkingLimit | Нет | Время вождения в смену |
scheduleZonesId | Нет | Идентификатор территории |
Все возможные атрибуты для availability:
Наименование поля | Обязательный | Описание |
weekDay (sunday, monday, tuesday, wednesday, thursday, friday, saturday) | Да | Обязательный в теге availability. День работы |
from | Да | Обязательный в теге availability. Означает: работать с (значения - этот день, предыдущий день) |
to | Да | Обязательный в теге availability. Означает: работать до (значения - этот день, следующий, послезавтра) |
startDayShift | Нет | Значение 0 или -1, если не задан - считается что текущий день. -1: предыдущий день 0: текущий день |
endDayShift | Нет | Значение 0 или 1 или 2, если не задан - считается что текущий день 0: текущий день 1: следующий день 2: плюс два дня |
breakFrom | Да | Обязательный при указании breakTo. Означает - Обед с |
breakTo | Да | Обязательный при указании breakFrom. Означает - Обед до |
fixedDayStart | Нет | Фиксированное начало рабочего дня |
Значение полей dailyDrivingLimit и dailyDrivingLimit имеют смысл только при наличии включенных полей allowDailyDrivingLimit и allowDailyWorkingLimit соответственно.
Все возможные атрибуты для home location (если home location не используются, не заполнять данный блок)
Наименование поля | Обязательный | Описание |
name | Имя локации | |
address | Адрес локации | |
latitude | Долгота | |
longitude | Широта |
Пример (перечислены все доступные поля):
<?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="Driver_API_3782387" phone="00000" email="Driver_API_3782387@gmail.com"
login="Driver_API_3782387121" password="mam" comments = "test comment AP_Driver_API_3782387I"
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>Driver_API_3782387</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"
|
Экспорт водителей
rest/2/distribution-api/objects/exportPerformers
Содержит параметр sessionID
rest/2/distribution-api/objects/exportPerformers?sessionID=a5fad852a18149468d1b9845bbd8e1a8
Возвращает ответ
<apiResponse version="1.0">
<performersDetails>
<units timeZone="GMT+01:00" timeZoneOffset="GMT+1:00" currency="POUND" distanceUnits="MILE" speedUnits="MILES_PER_HOUR" durationUnits="MINUTE" weightUnits="units"/>
<performers>
<performer name="Andy Marey" externalId="2675d0e99a1047e6bd0ebafc326bb939" email="andy@magenta.com" login="andy" passwordHash="42767516990368493138776584305024125808" maxWorkingHours="40" allowedOvertimePerWeek="0" priceForOneHour="0" dailyDrivingLimit="480" allowDailyDrivingLimit="false" dailyWorkingLimit="660" allowDailyWorkingLimit="false" breakShift="0" areaOfControl="FrogwellZone">
<homeLocation name="Frogwell" address="Drake Crescent, Chippenham, Wiltshire, SN14, GB" latitude="51.453891" longitude="-2.148895"/>
<availabilities>
<availability weekDay="thursday" from="06:00" to="22:00" fixedDayStart="false"/>
</availabilities>
</performer>
<performersDetails>
</apiResponse>