Basic method to work with orders is order/update:
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "n":<text>, /* order name */ "oldOrderId":<long>, /* old oreder id */ "oldOrderFiles":[<text>], /* old order files array */ "p":{ /* ser-defined object content */ "n":<text>, /* client name */ "p":<text>, /* phone */ "p2":<text>, /* second phone */ "e":<text>, /* email */ "a":<text>, /* address */ "v":<uint>, /* volume */ "w":<uint>, /* weight, kg */ "c":<uint>, /* cost */ "ut":<uint>, /* time to order unloading, s */ "t":<text>, /* type of vehicle */ "d":<text>, /* description */ "uic":<text>, /* number of shipping document */ "cid":<text>, /* custom ID */ "cm":<text>, /* comment from confirm/reject */ "aff":<text>, /* [ warehouse ] list of unit ID's of warehouse ("123,456") */ "z":<text>, /* [ warehouse ] list of geofences of warehouse ("resId_geofenceId,...") */ "ntf":<uint>, /* notification flags: 1 - sms to first phone; 0x2 - sms to second phone; 0x10 - to email*/ "pr":<uint>, /* order priority */ "tags":[<uint>] /* order tags */ "r": { /* route infotmation */ "id":<uint>, /* route id */ "i":<uint>, /* number [0..] */ "m":<uint>, /* mileage from previous point according to the plan, m */ "t":<uint>, /* time from previous point according to the plan, s */ "ndt":<uint>, /* time to notify customer before assumed delivery time, s */ "vt":<uint> /* visit time according to the plan, UNIX_TIME */ }, }, "rp":<text>, /* order route */ "f":<uint>, /* order flags */ "tf":<uint>, /* lower bound of order completion time, UNIX-time */ "tt":<uint>, /* upper bound of order completion time, UNIX-time */ "trt":<uint>, /* acceptable time of advancing the schedule, s */ "r":<uint>, /* order point radius, m */ "y":<double>, /* order point latitude */ "x":<double>, /* order point longitude */ "u":<long>, /* unit id */ "ej": {}, /* extended json (optional) */ "tz":<int>, /* user time stamp */ "callMode":<text>, /* "create"/"delete" to create/delete respectively */ "dp":"[<uint>,..]" /* array of dependent orders IDs */ }
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "callMode":"delete"}
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "callMode":"register"}
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "u":<long>, /* unit id */ "callMode":"assign"}
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "callMode":"reject"}
svc=order/update¶ms={"itemId":<long>, /* resource id */ "id":<long>, /* order id (0 if create) */ "callMode":"confirm"}
Value | Description |
---|---|
0x1 | order would be marked as completed if there were at least one message within order area with zero speed in it; |
0x2 | order will be completed after leaving the order area; |
0x4 | start warehouse; |
0x8 | final warehouse; |
0x10 | reload warehouse |
0x20 | fixed order |
Flags 0x8,0x10 considered in optimization, only if orders are in “warehouses” array.
callMode=create
:
[<uint>, { "id":<uint>, /* order id */ "n":<text>, /* order name */ "p":{ /* ser-defined object content */ "n":<text>, /* client name */ "p":<text>, /* phone */ "p2":<text>, /* second phone */ "e":<text>, /* email */ "a":<text>, /* address */ "v":<uint>, /* volume */ "w":<uint>, /* weight, kg */ "c":<uint>, /* cost */ "ut":<uint>, /* time to order unloading, s */ "t":<text>, /* type of vehicle */ "d":<text>, /* description */ "uic":<text>, /* number of shipping document */ "cid":<text>, /* custom ID */ "cm":<text>, /* comment from confirm/reject */ "aff":<text>, /* [ warehouse ] list of unit ID's of warehouse ("123,456") */ "z":<text>, /* [ warehouse ] list of geofences of warehouse ("resId_geofenceId,...") */ "ntf":<uint>, /* notification flags */ "pr":<uint>, /* order priority */ "r": { /* route infotmation */ "id":<uint>, /* route id */ "i":<uint>, /* number [0..] */ "m":<uint>, /* mileage from previous point according to the plan, m */ "t":<uint>, /* time from previous point according to the plan, s */ "ndt":<uint>, /* time to notify customer before assumed delivery time, s */ "vt":<uint> /* visit time according to the plan, UNIX_TIME */ }, "rp":<text>, /* order route, google polyline encoding format */ "f":<uint>, /* order flags */ "tf":<uint>, /* lower bound of order completion time, UNIX-time */ "tt":<uint>, /* upper bound of order completion time, UNIX-time */ "trt":<uint>, /* acceptable time of advancing the schedule, s */ "uid":<uint>, /* unique id (is used as unique key in order history) */ "r":<uint>, /* order point radius, m */ "y":<double>, /* order point latitude */ "x":<double>, /* order point longitude */ "u":<long>, /* unit id */ "s":<uint>, /* order status: 0 - inactive (unit not binded), 1 - active, 2 - completed on time, 3 - completed late, 4 rejected, 5 - unit is in the order area */ "sf":<uint>, /* order status flag (0x100 - rejected, 0x200 - confirmed, 0x400 - order is notifited) */ "st":<uint>, /* last status modification time */ "tz":<uint> /* user time stamp */ } ]
callMode=callMode=update
:
[ <uint> /* updated order "id" */ ]
callMode=delete
:
[ <uint>, /* deleted order "id" */ null ]
callMode=assign
,register
,reject
:
{ } /* success */
or
{ "error":4 /* if failed to assign */ }
|