Базовым методом по работе с заявками является order/update:
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса (0 при создании) */ "n":<text>, /* имя заявки */ "oldOrderId":<long>, /* id старой заявки на основе которой создать новую */ "oldOrderFiles":[<text>], /* массив файлов старой заявки для создания новой */ "p":{ /* произвольный JSON, можно подать пустым */ "n":<text>, /* имя клиента */ "p":<text>, /* телефонный номер */ "p2":<text>, /* второй телефонный номер */ "e":<text>, /* email */ "a":<text>, /* адрес */ "v":<uint>, /* объем */ "w":<uint>, /* вес, кг */ "c":<uint>, /* стоимость */ "ut":<long>, /* время разгрузки, сек */ "t":<text>, /* тип ТС */ "d":<text>, /* описание */ "uic":<text>, /* ТТН */ "cid":<text>, /* произвольный идентификатор */ "r": { /* информация по маршруту (если нет - заказ не привязан к маршруту) */ "id":<uint>, /* id маршрута */ "i":<uint>, /* порядковый номер (0..) */ "m":<uint>, /* пробег с предыдущей точки по плану, м */ "t":<uint>, /* время с предыдущей точки по плану, сек */ "vt":<uint>, /* время посещения по плану, UNIX_TIME */ "ndt":<uint> /* время, за которое должно прийти уведомление, с */ }, "aff":<text>, /* [ СКЛАД ] список ID юнитов, закрепленных за складом ("123,456,...") */ "z":<text>, /* [ СКЛАД ] список геозон, закрепленных за складом ("resId_geofenceId,...") */ "ntf":<uint>, /* флаги уведомлений: 0x1 - sms на первый телефон; 0x2 - sms на второй телефон; 0x10 - email */ "cm":<text>, /* комментарий из confirm/reject */ "pr":<uint>, /* приоритет заявки (больше значение - выше приоритет) */ "tags":[<uint>] /* тэги заявки */ }, "rp":<text>, /* маршрут заявки */ "f":<uint>, /* флаги заявки */ "tf":<uint>, /* начальное разрешенное время доставки */ "tt":<uint>, /* последнее разрешенное время доставки */ "trt":<uint>, /* допустимое опережение, сек */ "r":<uint>, /* радиус точки заявки */ "y":<double>, /* широта */ "x":<double>, /* долгота */ "u":<long>, /* id объекта */ "ej":<JSON>, /* произвольный JSON */ "tz":<int>, /* временная зона пользователя */ "dp":"[<uint>]", /* массив ID зависимых заявок */ "cf": /* произвольные поля заявки */ {"key1":"key1_value","key2":"key2_value"},.....}, "callMode":<text> /* "create"/"update" для создания/изменения соответственно */ }
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса */ "callMode":"delete"}
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса */ "callMode":"register"}
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса */ "u":<long>, /* id объекта */ "callMode":"assign"}
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса */ "callMode":"reject"}
svc=order/update¶ms={"itemId":<long>, /* id ресурса */ "id":<long>, /* id заявки внутри ресурса */ "callMode":"confirm"}
Значение | Описание |
---|---|
0x1 | заявка будет выполнен, если было зарегистрировано хотя бы одно сообщение внутри области заявки с нулевой скоростью |
0x2 | заявка будет выполнен после выхода из области заявки |
0x4 | начальный склад |
0x8 | конечный склад |
0x10 | склад перезагрузки |
0x20 | постоянная заявка |
0x40 | подтверждение только в радиусе заявки |
0x80 | не изменять статус после автоматического завершения |
0x100 | в случае автозавершения маршрута будет создана копия непосещенной заявки |
Флаги 0x8,0x10 учитываются при оптимизации, только если указывать склады в «warehouses».
callMode=create
:
[<uint>, { "id":<uint>, /* id заявки внутри ресурса */ "n":<text>, /* имя заявки */ "p":{ /* пользовательский объект */ "n":<text>, /* имя клиента */ "p":<text>, /* телефонный номер */ "p2":<text>, /* второй телефонный номер */ "e":<text>, /* email */ "a":<text>, /* адрес */ "v":<uint>, /* объем */ "w":<uint>, /* масса, кг */ "c":<uint>, /* стоимость */ "ut":<uint>, /* время разгрузки, с */ "t":<text>, /* тип ТС */ "d":<text>, /* описание */ "uic":<text>, /* ТТН */ "cid":<text>, /* произвольный идентификатор */ "cm":<text>, /* комментарий из confirm/reject */ "aff":<text>, /* [ СКЛАД ] список ID юнитов, закрепленных за складом ("123,456") */ "z":<text>, /* [ СКЛАД ] список геозон, закрепленных за складом ("resId_geofenceId,...") */ "ntf":<uint>, /* Флаги нотификации об изменении статуса заявки */ "pr":<uint>, /* приоритет заявки (больше значение - выше приоритет) */ "tags":[<uint>], /* тэги заявки */ "r": { /* информация по маршруту (если нет - заявка не привязана к маршруту) */ "id":<uint>, /* id маршрута */ "i":<uint>, /* порядковый номер [0..] */ "m":<uint>, /* пробег с предыдущей точки по плану, м */ "t":<uint>, /* время с предыдущей точки по плану, с */ "ndt":<uint>, /* время, за которое должно прийти уведомление, с */ "vt":<uint> /* время посещения по плану, UNIX_TIME */ }, "cmp":{unitRequirements: {values: []}}, /* требования к заявке */ "gfn":{}, /* привязанные геозоны */ "crt":<uint>, /* время подтверждения/отклонения заявки */ "ct":<uint>, /* время создания */ "mt":<uint>, /* время редактирования */ "rp":<text>, /* маршрут заявки, google polyline encoding формат*/ "f":<uint>, /* флаги заявки */ "tf":<uint>, /* начальное разрешенное время доставки */ "tt":<uint>, /* последнее разрешенное время доставки */ "trt":<uint>, /* допустимое опережение, сек */ "uid":<uint>, /* уникальный id (нужен для уникальности заявки в истории) */ "r":<uint>, /* радиус точки заявки */ "y":<double>, /* широта */ "x":<double>, /* долгота */ "u":<long>, /* id объекта */ "s":<uint>, /* статус: 0 - неактивный (не привязан объект), 1 - активный, 2 - завершен вовремя, 3 - завершен с опозданием, 4 отклонён, 5 - объект в области заявки. */ "sf":<uint>, /* статус флаг заявки (0x100 - отменён, 0x200 - подтверждён, 0x800 - следующий для выполнения, 0x1000 - просрочен, 0x2000 - переназначен) */ "st":<uint>, /* время последней смены статуса */ "tz":<uint>, /* временная зона пользователя */ "eta":<uint>, /* остаток времени, рассчитанный по роутингу(или по прямой). считается раз в 180 секунд, при наличии следующей заявки и если есть уведомление по контролю времени/пробег*/ "rd":<double>, /* пробег к моменту времени eta */ "cnm":<uint>, /* счетчик пробега из объекта */ "nt":<uint>, /* next_time - время когда заявка стала следующей */ "ds":<uint>, /* статус завершенности - число передаваемое в confirm, например % */ "dp":<uint>, /* список uid заявок от которых зависит данная заявка: заявка не будет посещаться, пока не будут посещены перечисленные */ "cf":{"key1":"key1_value","key2":"key2_value"},.....}, /* произвольные поля заявки */ "stt":<uint>, /* start_transfer_time - время заезда на заявку */ "dtt":<uint>, /* done_transfer_time - время выезда */ "if":<uint> /* internal_flags -внутренние флаги, ниже пояснения по значениям */ } ]
callMode=update
:
[<uint>] /* значение "id" изменённой заявки */
callMode=delete
:
[ <uint>, /* значение "id" удаленной заявки */ null ]
callMode=assign
,register
,reject
:
{ } /* если всё успешно */
или
{"error":4} /* если не удалось прикрепить объект к заявке */
Значение | Описание |
---|---|
0x1 | заявка в процессе доставки |
0x2 | водитель получил уведомление об отклонении маршрута |
0x4 | водитель уведомлен, что заявка не подтверждена |
0x8 | клиент уведомлен о задержки заявки |
0x10 | клиент уведомлен о времени выполнения заявки |
0x20 | клиент уведомлен о пробег к заявке |