send

Данный метод используется для отправки зафиксированных рейсов в Максоптру с целью автоматизации ежедневных процессов. Для отправки расписаний API использует структуру application/xml и HTTP-метод POST.

Данный метот можно применять ко множеству рейсов. Количество рейсов не ограничено.

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

#

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

Тип

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

Описание

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

2

date

ДатаДаДата, на которую назначен(ы) рейс(ы).
3vehicleExternalIDТекстНетЕсли указан, то отошлются только рейсы, назначенные на данную машину.
4driverExternalIDТекстНетЕсли указан, то отошлются только рейсы, назначенные на данного водителя.
5dcNameТекстНетЕсли указан, то отошлются только рейсы для данного РЦ.
6runNumberЧислоНетЕсли указан, то отошлется только выбранный рейс.

В запросе возможны следующие комбинации атрибутов:  

  1. Отправка рейсов для всех РЦ данного аккаунтаsessionID + date; 

  2. Sending runs of a certain DC: sessionID + date + dcName; 

  3. Sending runs of a certain vehicle: sessionID + date + vehicleExternalID; 

  4. Sending runs of a certain driver: sessionID + date + driverExternalID; 

  5. Sending a certain run of a certain vehicle: sessionID + date + vehicleExternalID + runNumber; 

  6. Sending a certain run of a certain driver: sessionID + date + driverExternalID + runNumber.

Примечание Указание сразу нескольких атрибутов приводит к избыточности (кроме случая vehicleExternalI/driverExternalID + runNumber), и система отреагирует на это ошибкой (1020 "Redundant parameters" - Избыточные параметры). См. перечень возможных ошибок ниже.


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

Заголовки:

Метод: POST

URL: [account-name].maxoptra.com/rest/2/distribution-api/schedules/send?sessionID=ff58060757da43a7b94f2b341fec172e&dcName=London

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

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


Ответ запроса send 

#

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

Описание

1sendResponse
1.1sendResult

Ответ включает следующую информацию об отправленных рейсах:

  • vehicleExternalID - внешний идентификатор машины, на которую запланирован рейс
  • driverExternalID - внешний идентификатор водителя, на которого запланирован рейс
  • runNumber - номер рейса

Он также включает в себя результаты попытки отправки рейса:

  • SUCCESS - рейс был успешно отправлен
  • WAS_ALREADY_SENT - рейс был уже отправлен ранее
  • NOT_LOCKED_YET - рейс не зафиксирован, и потому не отправлен
  • ERROR - рейс не может быть отправлен по какой-то причине (см. перечень ошибок ниже).
  • FAILED - если отдельный рейс по какой-то причине не может быть отправлен, подробности должны быть указаны в разделе errorMessage


Пример ответа send

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<apiResponse version="1.0">
<sendResponse>
<sendResult> vehicleExternalID="машина1" driverExternalID="водитель1" runNumber="1">SUCCESS</sendResult>
<sendResult vehicleExternalID="машина1" driverExternalID="водитель1" runNumber="2">WAS_ALREADY_SENT</sendResult>
<sendResult vehicleExternalID="машина1" driverExternalID="водитель1" runNumber="3">NOT_LOCKED_YET</sendResult>
</sendResponse>
</apiResponse>



Возможные ошибки

Ошибка

Описание

Описание
1009Invalid or unknown session IDНедействительный или неизвестный идентификатор сессии
1013Date in incorrect formatНекорректный формат даты
1014Expected parameter not providedОжидаемый параметр не представлен
1015Internal service errorВнутренняя ошибка
1020Redundant parametersИзбыточные параметры
1202Area of control is not foundНе найдены распределительные центры
1206Performer is not foundВодитель не найден
1304Vehicle is not foundМашина не найдена


Пример ошибки 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<apiResponse>
    <errors>
        <error>
            <errorCode>1020</errorCode>
            <errorMessage>Incorrect parameters: If dcName is specified, no vehicleExternalID or driverExternalID is expected</errorMessage>
        </error>
    </errors>
</apiResponse>