/rest/2/distribution-api/objects/importPerformers
Все возможные атрибуты для performer:
- externalId
- login (обязательный – по нему ищем водителя при апдейте)
- password (обязательный для нового водителя)
- name (обязательный)
- email (обязательный)
- 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, если не задан - считается что текущий день)
- endDayShift (значение 0 или 1 или 2, если не задан - считается что текущий день)
- breakFrom (обязательный при указании breakTo )
- breakTo (обязательный при указании breakFrom )
- fixedDayStart
Значения для startDayShift и endDayShift:
-1: предыдущий день
0: текущий день
1: следующий день
2: плюс два дня
Значение полей dailyDrivingLimit и dailyDrivingLimit имеют смысл только при наличии включенных полей allowDailyDrivingLimit и allowDailyWorkingLimit соответственно.
Все возможные атрибуты для home location (если home location не используются, не заполнять данный блок)
- name – имя локации
- address – адрес локации
- latitude - долгота
- longitude - широта
Возможные ошибки:
| причина | ошибка |
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"
|
Пример (перечислены все доступные поля):
<?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>
Экспорт водителей
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>