Update order

Basic method to work with orders is order/update:

How to start?

  • Create an order with callMode:“create” (if no unit is assigned to order then order details response will return s:0);
  • Assign unit to the order using callMode:“assign” (order details response will return s:1);
  • Manually move an order to hostory using callMode:“register”.

Create/update

svc=order/update&params={"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 */			
}

Deleting order

svc=order/update&params={"itemId":<long>,   /* resource id */
			 "id":<long>,	    /* order id (0 if create) */
			 "callMode":"delete"}

Manually moving order to history

svc=order/update&params={"itemId":<long>,   /* resource id */
			 "id":<long>,	    /* order id (0 if create) */
			 "callMode":"register"}

Assigning unit to order

svc=order/update&params={"itemId":<long>,   /* resource id */
			 "id":<long>,	    /* order id (0 if create) */
			 "u":<long>,	    /* unit id */
			 "callMode":"assign"}

Rejecting order

svc=order/update&params={"itemId":<long>,   /* resource id */
			 "id":<long>,	    /* order id (0 if create) */
			 "callMode":"reject"}

Confirming order

svc=order/update&params={"itemId":<long>,   /* resource id */
			 "id":<long>,	    /* order id (0 if create) */
			 "callMode":"confirm"}

Flags (f)

ValueDescription
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.

Response

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 */
}
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam