Создание/изменение заявки

Базовым методом по работе с заявками является order/update:

svc=order/update&params={"n":<text>,
			 "p": {
			       "ut":<long>,
			       "ntf":<uint>,       /* флаги оповещения */
			       "r":{
			       	    "ndt":<uint>,  /* время, за которое должно прийти уведомление, с */
			            ...
			           }
			       ... 
			 },
			 "rp":<text>,	
			 "f":<uint>,	
			 "tf":<uint>,	
			 "tt":<uint>,
			 "trt":<uint>, 	
			 "r":<uint>,	
			 "y":<double>,	
			 "x":<double>,	
			 "u":<long>,	
			 "itemId":<long>,
			 "id":<long>,
			 "ej": {}, /* расширенный json (необязательный) */ 
			 "tz":<int>,
			 "callMode":<text>,
			 "dp":"[]" /* массив ID зависимых заявок */			
}

Чтобы удалить заявку:

svc=order/update&params={"itemId":<long>,
			 "id":<long>,
			 "callMode":"delete"}

Чтобы вручную перенести заявку в историю:

svc=order/update&params={"itemId":<long>,
			 "id":<long>,
			 "callMode":"register"}

Чтобы прикрепить объект к заявке:

svc=order/update&params={"itemId":<long>,
			 "id":<long>,
			 "u":<long>,	
			 "callMode":"assign"}

Чтобы отменить заявку:

svc=order/update&params={"itemId":<long>,
			 "id":<long>,
			 "callMode":"reject"}

Чтобы завершить заявку:

svc=order/update&params={"itemId":<long>,
			 "id":<long>,
			 "callMode":"confirm"}

Параметры

Название Описание
n имя заявки
p пользовательский объект с данными (в любом случае укажите хотя
бы пустой объект в параметре: p:{})
p.ntf флаги уведомления:
0x1 - sms на первый телефон;
0x2 - sms на второй телефон;
0x10 - email.
x долгота точки заявки
y широта точки заявки
r радиус для точки заявки, м
rp маршрут заявки
f флаги заявки
tf и tt границы времени выполнения заявки, крайняя левая и крайняя правая границы соответственно, UNIX-time
trt допустимое опережение, сек
u id объекта (можно указать id 0, чтобы привязать объект к заявке позже)
ut время на разгрузку заявки, с
itemId id ресурса
id id заявки внутри ресурса
tz временная зона пользователя
callMode режим работы: «create», «update», «delete», «register» (перевести
заявку в историю), «assign»(прикрепить объект к заявке), «reject»(отменить заявку),
«confirm» - пометить заявку как завершенную.

:!: Параметры x, y и r формируют область, которую объект должен посетить, чтобы выполнить заявку.

Флаги (f)

ЗначениеОписание
0x1 заявка будет выполнен, если было зарегистрировано хотя бы одно сообщение внутри области заявки с нулевой скоростью
0x2 заявка будет выполнен после выхода из области заявки
0x4 начальный склад
0x8 конечный склад
0x10 склад перезагрузки
0x20 фиксированная заявка


:!: Флаги 0x8,0x10 учитываются при оптимизации, только если указывать склады в «warehouses».

С чего начать?

  • Создайте заявку, используя callMode:«create» (если объект не привязан к заявке, то в ответе статус заявки будет s:0);
  • Назначьте объект на заявку, используя callMode:«assign» (в ответе статус заявки будет s:1);
  • Вручную переведите заявку в историю при помощи callMode:«register».

Возвращаемый результат

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>,        /* Приоритет заявки (больше значение - выше приоритет) */
	    "r": {	/* информация по маршруту (если нет - заявка не привязана к маршруту) */
		 "id":<uint>,   /* id маршрута */
		 "i":<uint>,    /* порядковый номер [0..] */
		 "m":<uint>,    /* пробег с предыдущей точки по плану, м */
		 "t":<uint>,    /* время с предыдущей точки по плану, с */
		 "ndt":<uint>,  /* время, за которое должно прийти уведомление, с */
		 "vt":<uint>    /* время посещения по плану, UNIX_TIME */
	    },
	"rp":<text>,    /* маршрут заявки */	
	"​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 - подтверждён, 0x400 - оповещение  по заявке было выполнено) */ 	
	"​st":<​uint>,/​* время последней смены статуса */ 	
	"tz":<uint>	/* временная зона пользователя */
	}	
]

callMode=update:

[<uint>]		/* значение "id" изменённого заявки */

callMode=delete:

[
	<uint>,		/* значение "id" удаленной заявки */
	null
]

callMode=assign,register,reject:

{ }	/* если всё успешно */

или

{"error":4}	/* если не удалось прикрепить объект к заявке */
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam