CloneOrder()

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

Parameters
NameTypeDescription
requestApttus_Config2.CPQStruct.CloneOrderRequestDOThe request data object.



Request Data Object - 

Apttus_Config2.CPQStruct.CloneOrderRequestDO

FieldTypeRequired?Description
OrderIdIDYes

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
FieldTypeDescription
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);

CODE