Perform a deep clone of an order. Creates a new copy of the order along with its related objects rather than creating a new version. Deep clone can only be performed for orders where all order line items have the status "New." Any order with ABO (Asset-Based Ordering) line items cannot be cloned in this way.

The following applies when the CloneOrder() API is invoked:

  • Cloning an existing order sets the status of the order header and order line items to "Draft".
  • Cloning an existing order resets the following fields: Asset Line Item, Ready for Activation Date, and Ready for Billing Date.
  • Clones the corresponding cart and cart line items. Cart line items can then be configured and change similar to new draft order.

API Details

requestApttus_Config2.CPQStruct.CloneOrderRequestDOThe request data object.

Request Data Object - 



The order Id to clone. This is the order number that remains constant from version to version and is referred by the customer.

API Response

Response Data Object - CPQStruct.CloneOrderResponeDO
OrderItemsListList of cloned order items.
CloneOrderSOObjectThe fields of the Clone Order object.

Code Sample

The following code sample enables you to clone an order for a valid order with an Order Id.

/******* Clone an order *********************/
Id orderid = 'a2n3C000000CfAC';
Apttus_Config2.CPQStruct.CloneOrderRequestDO request = new Apttus_Config2.CPQStruct.CloneOrderRequestDO();
request.OrderId = orderid;

Apttus_Config2.CPQStruct.CloneOrderResponseDO response =Apttus_Config2.OrderWebService.cloneOrder (request);