Splitting an Order by criteria
This API divides an existing order (parent order) into multiple orders (child orders) based on the defined criteria. Criteria should be added while calling the API. You can split any large order that was created from a Quote, Agreement, or Direct order that has not been amended.
API Details
|
API |
Signature |
|---|---|
|
splitOrder |
|
|
Parameters |
||
|---|---|---|
|
Name |
Type |
Description |
|
request |
|
The request data object. |
|
Request Data Object - CPQStruct.SplitOrderRequestDO |
|||
|---|---|---|---|
|
Field |
Type |
Required? |
Description |
|
OrderId |
|
Yes |
The parent order ID to create a split order. |
|
ProductID |
|
Yes |
The product ID added in the parent order. |
API Response
|
Response Data Object - CPQStruct.SplitOrderResponseDO |
||
|---|---|---|
|
Field |
Type |
Description |
|
SplitOrderSO |
|
The Id of the newly created split order. |
Code Sample
The following code sample enables you to split an existing valid order into multiple orders using OrderId and OrderLineNumbers.
Sample snippet:
Apttus_Config2.CPQStruct.SplitOrderRequestDO request = new Apttus_Config2.CPQStruct.SplitOrderRequestDO();
request.OrderId = 'a2n7A0000002mSo';
//split based on product
request.SplitCriteriaFields.add('Apttus_Config2__ProductId__c');
Apttus_Config2.CPQStruct.SplitOrderResponseDO result = Apttus_Config2.OrderWebService.splitOrder(request);
Integration Details
Use the following information in your integrations with Conga CPQ Web Services API. Refer to Request and Response XML for information on how to get started.
Request and Response XML
Example Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://soap.sforce.com/schemas/class/Apttus_Config2/OrderWebService" xmlns:cpq="http://soap.sforce.com/schemas/class/Apttus_Config2/CPQStruct">
<soapenv:Header>
<ord:SessionHeader>
<ord:sessionId>00D7A0000009QII!ARUAQHamHUdKQgPNeSQPZdo719RxuQc_XBiAYgTnBaswMACJu1z.5fLlZYp0P6kNf1jKKe4tVrdBb7HnO9NqePMYF.s.rdq8</ord:sessionId>
</ord:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<ord:splitOrder>
<ord:request>
<cpq:OrderId>a2n7A0000002tvs</cpq:OrderId>
<cpq:SplitCriteriaFields>product</cpq:SplitCriteriaFields>
</ord:request>
</ord:splitOrder>
</soapenv:Body>
</soapenv:Envelope>
Example Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://soap.sforce.com/schemas/class/Apttus_Config2/OrderWebService" xmlns:SplitOrderResponseDO="http://soap.sforce.com/schemas/class/Apttus_Config2/CPQStruct" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<splitOrderResponse>
<result>
<SplitOrderResponseDO:SplitOrderSO xsi:nil="true"/>
</result>
</splitOrderResponse>
</soapenv:Body>
</soapenv:Envelope>
