Запрос getScheduleByAOCOnDate
Для получения расписания распределительного цента (области контроля) на определенную дату API использует структуру application/x-www-form-urlencoded и HTTP-метод POST.
Входные данные запроса getScheduleByAOCOnDate
Входные данные должны отправляться как атрибуты и не должны находиться в теле запроса. Список всех поддерживаемых атрибутов представлен ниже.
# | Название атрибута | Тип | Стиль | Обязательность | Описание |
1 | sessionID | Текст |
| Да | Идентификатор сессии, полученный от сервера после запроса авторизации. Срок жизни сессии – 5 минут. Если в течении этого времени в рамках сессии были проведены запросы, то срок жизни сессии увеличивается еще на 5 минут |
2 | date | Дата | Query | Да | Запрашиваемая дата. Формат зависит от локализации в конфигурации аккаунта. Например, для Англии формат – “DD/MM/YYYY”. Для России – “ДД.MM.ГГГГ” |
3 | aocID | Целое число | Query | Да | Идентификатор распределительного центра в приложении |
Пример запроса getScheduleByAOCOnDate
Заголовки:
URL: /rest/2/distribution-api/schedules/getScheduleByAOCOnDate?sessionID=8aa519d2c0af4f37a27a42a995528199&date=28.01.2014&aocID=101
Метод: POST
Структура: application/x-www-form-urlencoded
Тело запроса: не должно содержать никакой информации
Ответ getScheduleByAOCOnDate
Для получения расписания API использует структуру application/xml как структуры ответа.
Выходные данные ответа getScheduleByAOCOnDate
# | Название поля | Описание |
1 | scheduleResponse |
|
1.1 | units |
|
| Атрибут “timeZone” | Часовой пояс аккаунта |
| Атрибут “currency” | Валюта аккаунта |
| Атрибут “distanceUnits” | Единицы измерения расстояния аккаунта |
| Атрибут “durationUnits” | Единицы измерения времени аккаунта |
| Атрибут “weightUnits” | Единицы измерения веса аккаунта |
Атрибут "volumeUnits" | Единицы измерения объема аккаунта | |
1.2 | vehicles |
|
1.2.1 | vehicle |
|
| Атрибут “id” | Идентификатор машины в аккаунте, который может быть использован в дальнейших запросах |
| Атрибут “name” | Имя машины |
Атрибут "externalID" | Внешний идентификатор машины | |
| Атрибут “driverName” | Имя водителя |
Атрибут "driverExternalID" | Внешний идентификатор водителя | |
| Атрибут “driverPhone” | Контактный телефон водителя |
| Атрибут “costByDistance” | Стоимость за милю/километр, значение зависит от единиц выбранных в «currency» |
| Атрибут “maxWeight” | Грузоподъемность транспортного средства, значение зависит от единиц, выбранных в “weightUnits” |
Атрибут "maxVolume" | Максимальная вместимость (объем) транспортного средства, значение зависит от единиц, выбранных в "volumeUnits" | |
| Атрибут “aocId” | Идентификатор распределительного центра, которому принадлежит машина |
1.2.1.1 | run |
|
| Атрибут “runDay” | Дата поездки |
| Атрибут “runNumber” | Номер поездки |
| Атрибут “planDistance” | Планируемая дистанция поездки |
| Атрибут “planDuration” | Планируемая продолжительность поездки |
| Атрибут “runStartTime” | Планируемое время начала поездки |
| Атрибут “runEndTime” | Планируемое время окончания поездки |
| Атрибут “availabilityStartTime” | Время начала доступности водителя |
| Атрибут “availabilityEndTime” | Время окончания доступности водителя |
| Атрибут “planWeight” | Общий вес заказов в поездке |
Атрибут "planVolume" | Общий объем заказов в поездке | |
Атрибут "weightUtilization" | Загрузка по первой единице вместимости (весу). Рассчитывается как planWeight * 100 / maxWeight. Число без знака %. | |
Атрибут "volumeUtilization" | Загрузка по второй единице вместимости (объему). Рассчитывается как planVolume * 100 / maxVolume. Число без знака %. | |
| Атрибут “cost” | Стоимость поездки. Стоимость = ((стоимость за час) * (продолжительность в часах)) + ((стоимость за километр) * (дистанция поездки)) |
1.2.1.1.1 | location |
|
| Атрибут “number” | Порядковый номер заказа (расположения клиента) в рейсе. Возможен только для locationType=DROP |
| Атрибут “locationType” | Тип расположения клиента. Возможные значения
|
| Атрибут “name” | Название расположения клиента |
| Атрибут “address” | Адрес расположения клиента |
| Атрибут “latitude” | Координаты широты расположения клиента |
| Атрибут “longitude” | Координаты долготы расположения клиента |
| Атрибут “planArrivalTime” | Планируемое время прибытия в расположение клиента |
| Атрибут “planDepartureTime” | Планируемое время отправления от клиента |
| Атрибут “factArrivalTime” | Фактическое время прибытия к клиенту |
| Атрибут “factDepartureTime” | Фактическое время отправления от клиента |
Атрибут "mileage" | Плановое расстояние до заказа. Выводится в зависимости от настроек аккаунта - в милях или километрах. | |
Атрибут "factMileage" | Фактический пробег (измеряется в милях или километрах в зависимости от настроек аккаунта) | |
Атрибут "planDrivingTime" | Запланированное время движения к этой локации в минутах | |
Атрибут "factDrivingTime" | Фактическое время движение к этой локации в минутах | |
Атрибут "planStopDuration" | Запланированная длительность остановки | |
Атрибут "factStopDuration" | Фактическая длительность остановки | |
Атрибут "estimatedArrivalTime" | Расчетное время прибытия. Если отсутствует - пустое | |
Атрибут "estimatedDepartureTime" | Расчетное время убытия. Если отсутствует - пустое | |
1.2.1.1.1.1 | order |
|
| Атрибут “orderReference” | Название заказа/Идентификатор |
| Атрибут “status” | Статус заказа. Возможные значения описаны в Приложении 3. |
| Атрибут “task” | Признак вида заказа. Возможные значения:
|
| Атрибут “duration” | Продолжительность разгрузки / погрузки у клиента |
| Атрибут “weight” | Первая единица измерения заказа, конфигурируется для каждого аккаунта отдельно. По умолчанию - Вес заказа |
Атрибут "volume" | Вторая единица измерения заказа, конфигурируется для каждого аккаунта отдельно. По умолчанию - Объем заказа | |
| Атрибут “<dynamic_attribute_name>” | Данный метод позволяет получить значения дополнительных полей для заказов. Данные поля добавляются отдельно для каждого конкретного аккаунта. <dynamic_attribute_name> - название дополнительно сконфигурированного для аккаунта поля заказа. |
Пример ответа getScheduleByAOCOnDate
<?xml version="1.0" encoding="UTF-8"?> <apiResponse version="1.0"> <scheduleResponse> <units timeZone="GMT+06:00" timeZoneOffset="GMT+6:00" currency="ROUBLE" distanceUnits="KILOMETRE" speedUnits="KILOMETERS_PER_HOUR" durationUnits="MINUTE" weightUnits="кг" volumeUnits="m3" /> <vehicles> <vehicle id="8930" name="Kamaz" driverName="Ivanov" driverExternalId="1234567890йцукен2qwerty" costByDistance="0.14" maxWeight="1050" maxVolume="0" aocId="190"> <run runDay="16.09.2015" runNumber="1" planDistance="3.55" factDistance="30.61" planDuration="75" factDuration="401" runStartTime="16.09.2015 13:24" runEndTime="16.09.2015 14:40" availabilityStartTime="16.09.2015 05:59" availabilityEndTime="16.09.2015 15:00" planWeight="23" planVolume="150" weightUtilization="2" volumeUtilization="15" cost="2.98"> <location locationType="PICKUP" name="London" address="Sudbury Croft 43, Wembley, England, HA0 2, GB" latitude="51.560851" longitude="-0.326672" planArrivalTime="16.09.2015 13:24" planDepartureTime="16.09.2015 13:25" factArrivalTime="16.09.2015 08:56" factDepartureTime="16.09.2015 08:58" mileage="0" factMileage="12.3" factDuration="11" planDrivingTime="" factDrivingTime="" planStopDuration="1" factStopDuration="1" estimatedArrivalTime="" estimatedDepartureTime="" /> <location number="1" locationType="DROP" name="Aspen Drive 57, Wembley, England, HA0 2, GB" address="Aspen Drive 57, Wembley, England, HA0 2, GB" latitude="51.561118" longitude="-0.320878" planArrivalTime="16.09.2015 13:30" planDepartureTime="16.09.2015 13:45" factArrivalTime="16.09.2015 14:04" factDepartureTime="16.09.2015 14:10" mileage="0.6" factMileage="0.5" factDuration="32" planDrivingTime="5" factDrivingTime="306" planStopDuration="15" factStopDuration="6" estimatedArrivalTime="" estimatedDepartureTime=""> <order orderReference="mID1242307" status="COMMITTED" task="COLLECTION" duration="116.67" weight="7" volume="50" /> </location> <location number="2" locationType="DROP" name="Sudbury Crescent, Wembley, England, HA0 3, GB" address="Sudbury Crescent, Wembley, England, HA0 3, GB" latitude="51.555675" longitude="-0.317144" planArrivalTime="16.09.2015 13:51" planDepartureTime="16.09.2015 14:06" factArrivalTime="" factDepartureTime="" mileage="0.7" factMileage="" factDuration="" planDrivingTime="5" factDrivingTime="" planStopDuration="15" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime=""> <order orderReference="mID1242309" status="COMMITTED" task="DROP" duration="150" weight="9" volume="50" /> </location> <location number="3" locationType="DROP" name="Robin Hood Way 3, Greenford, England, UB6 7, GB" address="Robin Hood Way 3, Greenford, England, UB6 7, GB" latitude="51.550685" longitude="-0.33062" planArrivalTime="16.09.2015 14:15" planDepartureTime="16.09.2015 14:30" factArrivalTime="16.09.2015 14:52" factDepartureTime="16.09.2015 15:00" mileage="1.1" factMileage="0.5" factDuration="41" planDrivingTime="8" factDrivingTime="" planStopDuration="15" factStopDuration="8" estimatedArrivalTime="" estimatedDepartureTime=""> <order orderReference="mID1242308" status="COMMITTED" task="DROP" duration="116.67" weight="7" volume="50" /> </location> <location locationType="BACK_TO_HOME" name="London" address="Sudbury Croft 43, Wembley, England, HA0 2, GB" latitude="51.560851" longitude="-0.326672" planArrivalTime="16.09.2015 14:40" factArrivalTime="16.09.2015 13:25" factDepartureTime="16.09.2015 13:32" mileage="1.2" factMileage="17.3" factDuration="267" planDrivingTime="9" factDrivingTime="95" planStopDuration="0" factStopDuration="7" estimatedArrivalTime="" estimatedDepartureTime="" /> </run> <run runDay="16.09.2015" runNumber="2" planDistance="29.78" factDistance="25.87" planDuration="189" factDuration="" runStartTime="16.09.2015 14:40" runEndTime="16.09.2015 17:50" availabilityStartTime="16.09.2015 05:59" availabilityEndTime="16.09.2015 15:00" planWeight="0" planVolume="0" weightUtilization="0" volumeUtilization="0" cost="25.01"> <location locationType="PICKUP" name="London" address="Sudbury Croft 43, Wembley, England, HA0 2, GB" latitude="51.560851" longitude="-0.326672" planArrivalTime="16.09.2015 14:40" planDepartureTime="16.09.2015 14:41" factArrivalTime="16.09.2015 17:49" factDepartureTime="" mileage="0" factMileage="25.9" factDuration="169" planDrivingTime="" factDrivingTime="" planStopDuration="1" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="" /> <location number="1" locationType="DROP" name="Beaulieu Close 13, London, England, SE5 8, GB" address="Beaulieu Close 13, London, England, SE5 8, GB" latitude="51.465157" longitude="-0.087934" planArrivalTime="16.09.2015 16:07" planDepartureTime="16.09.2015 16:22" factArrivalTime="16.09.2015 08:43" factDepartureTime="16.09.2015 08:45" mileage="14.9" factMileage="" factDuration="" planDrivingTime="85" factDrivingTime="" planStopDuration="15" factStopDuration="1" estimatedArrivalTime="" estimatedDepartureTime=""> <order orderReference="mID1242273" status="COMMITTED" task="DROP" duration="0" weight="0" volume="0" /> </location> <location locationType="BACK_TO_HOME" name="London" address="Sudbury Croft 43, Wembley, England, HA0 2, GB" latitude="51.560851" longitude="-0.326672" planArrivalTime="16.09.2015 17:50" factArrivalTime="" factDepartureTime="" mileage="14.8" factMileage="" factDuration="" planDrivingTime="87" factDrivingTime="" planStopDuration="0" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="" /> </run> </vehicle> </vehicles> </scheduleResponse> </apiResponse>