getScheduleByAOCOnDate


Запрос getScheduleByAOCOnDate

Для получения расписания распределительного центра (области контроля) на определенную дату API использует структуру application/x-www-form-urlencoded и HTTP-метод POST.


Входные данные запроса getScheduleByAOCOnDate

Входные данные должны отправляться как атрибуты и не должны находиться в теле запроса. Список всех поддерживаемых атрибутов представлен ниже.

Примечание. Перед тем как сделать запрос getScheduleByAOCOnDate, мы рекомендуем вам воспользоваться методом getAreaOfControls для получения из Максоптры актуальных идентификаторов распределительных центров (aocID). Обращаем ваше внимание, что идентификаторы распределительных центров могут изменяться во время миграций с сервера на сервер. В связи с этим мы рекомендуем вам получать идентификатор распределительного центра каждый раз перед запросом getScheduleByAOCOnDate.

#

Название атрибута

Тип

Стиль

Обязательность

Описание

1

sessionID

Текст


Да

Идентификатор сессии, полученный от сервера после запроса авторизации.

Срок жизни сессии – 5 минут. Если в течении этого времени в рамках сессии были проведены запросы, то срок жизни сессии увеличивается еще на 5 минут

2

date

Дата

Query

Да

Запрашиваемая дата. Формат зависит от локализации в конфигурации аккаунта. Например, для Англии формат – “DD/MM/YYYY”. Для России – “ДД.MM.ГГГГ”

3

aocID

Целое число

Query

Да

Идентификатор распределительного центра в приложении


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


Заголовки:

Метод: POST

URL: [account-name].maxoptra.com/rest/2/distribution-api/schedules/getScheduleByAOCOnDate?sessionID=8aa519d2c0af4f37a27a42a995528199&date=28.01.2014&aocID=101

Структура: application/x-www-form-urlencoded

Тело запроса: не должно содержать никакой информации

Ответ getScheduleByAOCOnDate

Для получения расписания API использует структуру application/xml как структуры ответа.


Выходные данные ответа getScheduleByAOCOnDate

#

Название поля

Описание

1

scheduleResponse


1.1

units


 

Атрибут “timeZone”

Часовой пояс аккаунта


Атрибут “timeZoneOffset”Смещение часового пояса аккаунта

 

Атрибут “currency”

Валюта аккаунта


Атрибут “speedUnits”Единицы измерения скорости аккаунта

 

Атрибут “distanceUnits”

Единицы измерения расстояния аккаунта

 

Атрибут “durationUnits”

Единицы измерения времени аккаунта

 

Атрибут “weightUnits”

Единицы измерения веса аккаунта


Атрибут "volumeUnits"

Единицы измерения объема аккаунта

1.2

vehicles


1.2.1

vehicle


 

Атрибут “id”

Идентификатор машины в аккаунте, который может быть использован в дальнейших запросах

 

Атрибут “name”

Имя машины


Атрибут "externalID"

Внешний идентификатор машины

 

Атрибут “driverName”

Имя водителя


Атрибут "driverExternalID"

Внешний идентификатор водителя

 

Атрибут “driverPhone”

Контактный телефон водителя

 

Атрибут “costByDistance”

Стоимость за милю/километр, значение зависит от единиц выбранных в «currency»


Атрибут "vehicleActivationCost"Фиксированная стоимость использования определенной машины. Эта стоимость используется, чтобы отразить стоимость выхода машины в работу или зарплату водителя за день.

Атрибут "costPerOrder"Данный параметр отражает стоимость выполнения одного заказа определенной машиной.

 

Атрибут “maxWeight”

Грузоподъемность транспортного средства, значение зависит от единиц, выбранных в “weightUnits”


Атрибут "maxVolume"

Максимальная вместимость (объем) транспортного средства, значение зависит от единиц, выбранных в "volumeUnits"

 

Атрибут “aocId”

Идентификатор распределительного центра, которому принадлежит машина

1.2.1.1

run


 

Атрибут “runDay”

Дата поездки

 

Атрибут “runNumber”

Номер поездки

 

Атрибут “planDistance”

Планируемое расстояние

 

Атрибут “factDistance”

Фактическое расстояние

 

Атрибут “planDuration”

Планируемая общая продолжительность поездки (Рассчитывается как Планируемое время вождения + Планируемое время работы)

 

Атрибут “factDuration”

Фактическая общая продолжительность поездки (Рассчитывается как Плановое время погрузки на складе + Фактическое время вождения + Фактическое время работы на заказах)

 

Атрибут “runStartTime”

Планируемое время начала поездки / Означает время начала погрузки на складе - runLoadingStartTime.

 

Атрибут “runEndTime”

Планируемое время окончания поездки


Атрибут "runLoadingEndTime"Время окончания погрузки на складе. Формат данных: "ДД.ММ.ГГГГ ЧЧ:ММ"

 

Атрибут “availabilityStartTime”

Время начала доступности водителя

 

Атрибут “availabilityEndTime”

Время окончания доступности водителя

 

Атрибут “planWeight”

Общий вес заказов в поездке


Атрибут "planVolume"

Общий объем заказов в поездке


Атрибут "weightUtilization"

Загрузка по первой единице вместимости (весу). Рассчитывается как planWeight * 100 / maxWeight. Число без знака %.


Атрибут "volumeUtilization"

Загрузка по второй единице вместимости (объему). Рассчитывается как planVolume * 100 / maxVolume. Число без знака %.

 

Атрибут “cost”

Стоимость поездки. Стоимость = ((стоимость за час) * (продолжительность в часах)) + ((стоимость за километр) * (дистанция поездки))

1.2.1.1.1

location



Аттрибут "referenceNumber"Идентификационный номер расположения клиента.

 

Атрибут “number”

Порядковый номер заказа (расположения клиента) в рейсе. Возможен только для locationType=DROP

 

Атрибут “locationType”

Тип расположения клиента. Возможные значения

  • PICKUP – Точка начала рейса (по умолчанию - Депо)
  • DROP – Заказ: доставка или сбор
  • BACK_TO_HOME – Точка окончания рейса (по умолчанию - Депо)

 

Атрибут “name”

Название расположения клиента

 

Атрибут “address”

Адрес расположения клиента

 

Атрибут “latitude”

Координаты широты расположения клиента

 

Атрибут “longitude”

Координаты долготы расположения клиента

 

Атрибут “planArrivalTime”

Планируемое время прибытия в расположение клиента

 

Атрибут “planDepartureTime”

Планируемое время отправления от клиента

 

Атрибут “factArrivalTime”

Фактическое время прибытия к клиенту

 

Атрибут “factDepartureTime”

Фактическое время отправления от клиента


Атрибут "planMileage"

Плановое расстояние до заказа. Выводится в зависимости от настроек аккаунта - в милях или километрах.


Атрибут "factMileage"

Фактическое расстояние до заказа. Измеряется в милях или километрах в зависимости от настроек аккаунта.


Атрибут "factDuration"Фактическая длительность доставки.


Атрибут "planDrivingTime"

Планируемое время движения к данной локации в минутах


Атрибут "factDrivingTime"

Фактическое время движения к данной локации в минутах (Предоставляется GPS-устройством на конкретный момент времени)


Атрибут "planStopDuration"

Планируемая длительность остановки


Атрибут "factStopDuration"

Фактическая длительность остановки. Рассчитывается как разность между фактическим временем убытия из локации (factDepartureTime) и фактическим временем прибытия на локацию (factArrivalTime).


Атрибут "estimatedArrivalTime"

Расчетное время прибытия. Если отсутствует - пустое


Атрибут "estimatedDepartureTime"

Расчетное время убытия. Если отсутствует - пустое


Атрибут "isVerified"Данное поле отвечает за отметку поля "Местонахождение проверено" на форме "Расположение клиента". Оно показывает, проверено или нет местонахождение расположения клиента. Возможные значения: true/false.

Атрибут "lastVerifiedByUser"Данное поле содержит информацию о пользователе, который последним подтвердил местонахождение расположения клиента.

Атрибут "lastVerifiedTime"Данное поле содержит дату и время последней проверки местонахождения расположения клиента.

1.2.1.1.1.1

order


 

Атрибут “orderReference”

Название заказа/Идентификатор

 

Атрибут “status”

Статус заказа. Возможные значения описаны в разделе "Статусы заказов".


Атрибут "signature Content-Type="image/png"Подпись клиента (подтверждение доставки заказа).

 

Атрибут “task”

Признак вида заказа. Возможные значения:

  • DROP – доставка
  • COLLECTION – сбор

 

Атрибут “duration”

Продолжительность разгрузки / погрузки у клиента

 

Атрибут “weight”

Первая единица измерения заказа, конфигурируется для каждого аккаунта отдельно. По умолчанию - Вес заказа


Атрибут "volume"

Вторая единица измерения заказа, конфигурируется для каждого аккаунта отдельно. По умолчанию - Объем заказа


Атрибут "reportedArrivalTime"Отчетное время прибытия (время прибытия на место доставки заказа, переданное водителем).

Атрибут "reportedDepartureTime"Отчетное время убытия (время убытия с места доставки, переданное водителем).

Атрибут "reportedSignatureTime"Отчетное время получения подписи клиента (время получения подписи клиента, переданное водителем).

 

Атрибут “<dynamic_attribute_name>”

Данный метод позволяет получить значения дополнительных полей для заказов. Данные поля добавляются отдельно для каждого конкретного аккаунта.

<dynamic_attribute_name> - название дополнительно сконфигурированного для аккаунта поля заказа.


Атрибут "attachments"Если в заказе есть вложение, система возвращает информацию о вложении: дату и время, комментарии, ссылку на фотографии.

Аттрибут "additionalInstructions"Дополнительные инструкции

Аттрибут "contactNumber"Номер телефона клиента или контактного лица

Аттрибут "orderItem"Товары в составе заказа. Данное поле состоит включает следующие параметры: name, barcode, externalId, costPerUnit, totalCost, quantity, actualQuantity, description, failReason, comment. Параметры failReasonstatus и comment могут изменяться только водителем с мобильного приложения.

                                              

Пример ответа 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="1234567890qwerty2qwerty" costByDistance="0.14" maxWeight="1050" maxVolume="0" aocId="190">
            <run runDay="16.01.2017" runNumber="1" planDistance="3.55" factDistance="30.61" planDuration="75" factDuration="401" runStartTime="16.01.2017 13:24" runEndTime="16.01.2017 14:40" availabilityStartTime="16.01.2017 05:59" availabilityEndTime="16.01.2017 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.01.2017 13:24" planDepartureTime="16.01.2017 13:25" factArrivalTime="16.01.2017 08:56" factDepartureTime="16.01.2017 08:58" planMileage="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.01.2017 13:30" planDepartureTime="16.01.2017 13:45" factArrivalTime="16.01.2017 14:04" factDepartureTime="16.01.2017 14:10" planMileage="0.6" factMileage="0.5" factDuration="32" planDrivingTime="5" factDrivingTime="306" planStopDuration="15" factStopDuration="6" estimatedArrivalTime="" estimatedDepartureTime="" isVerified="true" lastVerifiedByUser="Conductor: Ivanov" lastVerifiedTime="16.01.2017 14:04">
                  <order orderReference="mID1242307" status="CLOSED" task="DROP" duration="0" weight="0" volume="0" reportedArrivalTime="16.01.2017 13:26" reportedDepartureTime="16.01.2017 13:27" reportedSignatureTime="16.01.2017 13:27">
                     <signature Content-Type="image/png">iVBORw0KGgoAAAdtGMLQ+xpZB8D+rJDQewBZv0bYIi9WNlff/ySL8RerIyvWvkfYQKlYMwQEiYAAAAASUVORK5CYII=</signature>
                     <attachments>
                        <attachment comment="Test" date="16.01.2017 14:23">https://s3-eu-west-2.amazonaws.com/s-angelica-magenta-a-demo/angelica_magenta__demo_2d992131125c4bb581291249e0e898ad_full_1710623804.jpg</attachment>
                     </attachments>
                  </order>
               </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.01.2017 13:51" planDepartureTime="16.01.2017 14:06" factArrivalTime="" factDepartureTime="" planMileage="0.7" factMileage="" factDuration="" planDrivingTime="5" factDrivingTime="" planStopDuration="15" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="" isVerified="false">
                  <order orderReference="mID1242309" status="COMMITTED" task="COLLECTION" 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.01.2017 14:15" planDepartureTime="16.01.2017 14:30" factArrivalTime="16.01.2017 14:52" factDepartureTime="16.01.2017 15:00" planMileage="1.1" factMileage="0.5" factDuration="41" planDrivingTime="8" factDrivingTime="" planStopDuration="15" factStopDuration="8" estimatedArrivalTime="" estimatedDepartureTime="" isVerified="true" lastVerifiedByUser="Conductor: Ivanov" lastVerifiedTime="16.01.2017 14:52">
                  <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.01.2017 14:40" factArrivalTime="16.01.2017 13:25" factDepartureTime="16.01.2017 13:32" planMileage="1.2" factMileage="17.3" factDuration="267" planDrivingTime="9" factDrivingTime="95" planStopDuration="0" factStopDuration="7" estimatedArrivalTime="" estimatedDepartureTime="" />
            </run>
            <run runDay="16.01.2017" runNumber="2" planDistance="29.78" factDistance="25.87" planDuration="189" factDuration="" runStartTime="16.01.2017 14:40" runEndTime="16.01.2017 17:50" availabilityStartTime="16.01.2017 05:59" availabilityEndTime="16.01.2017 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.01.2015 14:40" planDepartureTime="16.01.2017 14:41" factArrivalTime="16.01.2017 17:49" factDepartureTime="" planMileage="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.01.2017 16:07" planDepartureTime="16.01.2017 16:22" factArrivalTime="16.01.2017 08:43" factDepartureTime="16.01.2017 08:45" planMileage="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" />
                   <orderItem name="test" barcode="123456" status="NOT_CHECKED" costPerUnit="0" totalCost="0" quantity="0" actualQuantity="0"/>
                   <aggregatedItemsStatus actualDelivery="0" scheduledDelivery="1"completionStatus="NOT_DELIVERED" />        
                  </order> 
               </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.01.2017 17:50" factArrivalTime="" factDepartureTime="" planMileage="14.8" factMileage="" factDuration="" planDrivingTime="87" factDrivingTime="" planStopDuration="0" factStopDuration="" estimatedArrivalTime="" estimatedDepartureTime="" />
            </run>
         </vehicle>
      </vehicles>
   </scheduleResponse>
</apiResponse>



См. также

Методы API. Расписания

getAreaOfControls

Статусы заказов