route_update

Para crear, modificar o eliminar una ruta, o para moverla al historial, use el método order/route_update.

Endpoint

Copied!
svc=order/route_update&params={
  "itemId": <long>,
  "orders": [],
  "routeId": <long>,
  "callMode": "<text>"
}

Parámetros

Los parámetros obligatorios están marcados con un asterisco (*).

Parámetro Descripción
itemId* ID del recurso.
orders Array de JSON de pedidos con un callMode para cada pedido. Es obligatorio si callMode es create o update.
routeId* ID único de la ruta (uid en los datos de la ruta). En lugar de routeId, puede indicar uid con el mismo valor o id con el ID de la ruta.
callMode* Acción: create, update, delete, register, purge.

Con delete, el método elimina solo la ruta. Sus pedidos permanecen en el recurso, a menos que los indique en orders con "callMode": "delete".

Con register, el método mueve la ruta y sus pedidos al historial. Para obtenerlos del historial, use order/get_routes_history y order/get_orders_history.

Con purge, el método elimina la ruta y todos sus pedidos sin validarlos. Los pedidos se toman de la propia ruta, por lo que no es necesario indicarlos. Si no existe una ruta con el ID indicado, el método no devuelve ningún error.

Respuesta

Para create, update y delete, la respuesta se devuelve en el siguiente formato:

Copied!
{
	"orders":[{
		"id":<uint>,		/* ID del pedido */ 
		"f":<uint>,		/* flags del pedido */
		"u":<uint>,		/* ID de la unidad */
		"uid":<uint>,		/* UID del pedido */
		"callMode":"<text>"
	},
	...
	]
}

Para register y purge, la respuesta es un objeto vacío {}.

Si la solicitud falla, se devuelve un código de error.

Códigos de error

Código de error Descripción
4 Error lógico. Consulte el motivo en la respuesta. Por ejemplo, ROUTE_NOT_SPECIFIED si no se indica el ID de la ruta, o ROUTE_NOT_FOUND si no existe la ruta indicada en id o la ruta que se debe mover al historial.
6 No se ha podido crear, modificar o mover al historial la ruta, o eliminar un pedido.
7 ID del recurso no válido.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.