You are on page 1of 6

Version 1.1 Cisco Systems Inc.

[Confidential]

Split & Remove Product Automation

Table of Contents
Change Log:...........................................................................................................................................................................................................2
Problem Statement................................................................................................................................................................................................2
Solution.................................................................................................................................................................................................................2
Actors.......................................................................................................................................................................................................................................2
Steps.........................................................................................................................................................................................................................................3
Out of scope...........................................................................................................................................................................................................3
Drivers for this API.................................................................................................................................................................................................4
Tech Spec...............................................................................................................................................................................................................4
Authorization:...........................................................................................................................................................................................................................4
updateQuote API......................................................................................................................................................................................................................4
Real Example from Test Env:.....................................................................................................................................................................................................5
Protocol....................................................................................................................................................................................................................................6
URLs..........................................................................................................................................................................................................................................6
Request Samples.......................................................................................................................................................................................................................6
Success / Failure Response Samples..........................................................................................................................................................................................6
Possible Error codes and messages...........................................................................................................................................................................................6

Page 1 of 6
Version 1.1 Cisco Systems Inc. [Confidential]

Change Log:
Version 1.0: Initial Version
Version 1.1: Array size reduced to 1 and hence array structure removed. This is to address performance concerns.

Problem Statement:
Net pricing project mandates operating on a quote versus estimates used currently today by a distributor. In the estimates’ world, distributors can
fulfill the hardware portion of a configuration from their warehouse if available and the subsequent licenses and subscriptions portion drop
shipped to the customer directly as a standalone order.

In the net pricing / quoting world the quote has to be updated to reflect the above scenario in addition to line splits on quantity which will reflect
consumption pattern of the customer (Quote can be viewed as a budget a customer plans on consuming over a period of time).

In order for distributors to fully automate their systems they need 2 critical functionalities namely:
a. quantity splitting and
b. detach subscription (remove product from the config as a standalone so it can be fulfilled from warehouse).

Solution:
Provide “updateQuote” API to distributors with split and remove product capabilities to begin with so they can fully automate their system instead
of forcing users to come on to CCW Quoting UI to perform these functions.

Actors:
The immediate need is for Distributor quoting / purchasing associates to perform remove product action on Distributor portal. Most reseller
scenarios will be dropship and above capabilities will not be provided in the near term to a disti portal for reseller consumption. Resellers likely will
not be able to do this operation anyways since they do not know the Disti stock details. 1-Tier typically perform the split operation but not remove
product.

Page 2 of 6
Version 1.1 Cisco Systems Inc. [Confidential]
Steps:

1. Distributor to perform Acquire Quote API call to get the full snapshot of an approved Quote from Cisco.
2. Distributor associates (users) identify the line (magic key) that require split and possibly subsequent action of product removal from the
configuration. Only Major lines / ATOs allowed for these operations.
e.g. Q12345-000, 10
3. For example only: When updateQuote with the above-mentioned example line is invoked, assuming this line had an original quantity of 100,
the line will be split into two with Q12345-000, 90 and Q12345-001, 10 and the split line (Q12345-001 with quantity 10) will undergo
remove product operation which will result in a separate line Q12345-001, 10 and another ATO of the line Q12345-002, with qty 10 for a
software / subscription ATO – Q12346-000) – assuming such magic keys are available at this time.
4. Please note that we are referring to the complete config and not just the line although the illustration shows only the ato line. Please refer
to the screen short for a real-life example.
5. Please note an update operation can fully succeed and / or partially succeed. It is the responsibility of the user to revalidate if the quote is
still in valid / approved state prior to submitting the order. Any additional challenges in terms of accomplishing a failed operation should be
handled on the CCW Quoting UI or CCW Ordering UI.
6. Distributor to perform Acquire Quote API call to get the full snapshot of an updated Quote from Cisco.

Note:
a. Update quote in this release will address “ATO splits by quantity” and “remove product” operations only. Detach service and any other
Quoting UI based update capabilities will not be addressed.
b. Any split lines will have the original magic key retained as is with suffix incremented to the next one available. If there are further splits on
the split line or the original source line, it cannot be traced back to the source where the split occurred with magic key suffix logic.
c. Do not develop any magic key pattern-based logic on your side as it is subject to change at Cisco. Always consider magic key in its entirety
and not just the prefix / suffix and other behavioral patterns occurring today.

Out of scope:
1. Out of sync scenarios between Distributor and Cisco systems arising from asynchronous ordering process will not be addressed at this time.
E.g. Orders on Hold at Distributor will show different orderable / available quantity on the quote when compared to the quote at Cisco. This
is to be managed on Distributor system.
2. Source line references for splits will not be addressed. It is recommended that splits be initiated on the Distributor system and that the
references be maintained therein.
3. Any features not yet available on the CCW UI will be out of scope for this API as well.
Page 3 of 6
Version 1.1 Cisco Systems Inc. [Confidential]

Drivers for this API:


1. Splitting is required for deferred purchase as well as fulfillment from warehouse using on-hand quantity. Removing product for the entire
quantity deters Distributors from future ability to dropship a portion of the order.
2. Remove product operation needed to support hardware fulfillment from warehouse and dropship of software licenses and subscriptions
3. Detach service – Nice to have but not a critical path item for netpricing.

Tech Spec:
Authorization:

a. Same Quote visibility rules used for acquireQuote API will be applied for split functionality. If you can view it you can update the split qty as
well.
b. Resellers cannot perform remove product operation & detach service operations. 1-Tier can split quantity and “remove service” which will
not be addressed but cannot perform “remove product”. Distributors are allowed to perform all these operations.
c. Distributors can work on entire quote that they own or on lines they are designated as fulfillers by resellers (BUY_METHOD)
d. Distributors should be using their CCO ID on this API.

updateQuote API:

1. Only approved quote is subject to the following split and / or Remove product operations.
2. Only one ATO level Magic Key allowed. All lines underneath the ATO aka Config will be considered.
3. Operations will be done by executing Split first if split qty provided (if it is 0 or tag ‘splitQuantity’ not provided, then no split will be
performed). If split fails, subsequent operation (if provided e.g. REMOVE PRODUCT) will not be done.
4. Additional operations such as [REMOVE_PRODUCT] can be provided when such features are made available.
5. If split succeeds and subsequent op fails, then split or any prior op will not be undone.
6. Only 1 input line will be supported. So Array structure removed from request.
7. Appropriate exceptions for failed operation will be provided back.

Page 4 of 6
Version 1.1 Cisco Systems Inc. [Confidential]
Real Example from Test Env:

Page 5 of 6
Version 1.1 Cisco Systems Inc. [Confidential]
Protocol:

Simple REST API on Mashery. Final request / response & endpoint for testing and prod will all be updated once Cisco QA commences.
Note: concurrent calls are not supported on the same deal even if quote ids are different.

URLs:

POE : https://api-test.cisco.com/commerce/QUOTING/core/v1/POE/updateQuote
PROD: https://api.cisco.com/commerce/QUOTING/core/v1/updateQuote
UAT : https://api-test.cisco.com/commerce/QUOTING/core/v1/UAT/updateQuote

Note: (If you have problems opening *.txt embedded object, please open word object – both have the same information)
Request Samples:

Various Request
Samples.txt

Success / Failure Response Samples:

Various Response
Samples.txt

Possible Error codes and messages: TBD

Page 6 of 6

You might also like