External Configurator Integration REST API
Overview
This REST API provides support for the External Configurator Integration feature available in Oracle CPQ 2016 R2. The REST service invokes the External Configurator Advanced Save function to create a transaction, Add from Catalog, or Reconfigure.
- If External Configuration is enabled for the model, the return result updates a transaction.
- A new transaction is created if the Transaction ID is not provided.
- Add from Catalog is performed if the Transaction ID is provided, but the document number is not provided.
- Reconfigure is performed if the Transaction ID and the document number are provided.
- If External Configuration is not enabled for the model, an error is returned.
Administration
USE CASE EXAMPLES
The following sample is a Reconfigure request.
{ "bsId": 12345, "documentNumber": 2, "reconfigActionVarName": "_reconfigure_action", "reconfigSource": "Quote", "parameters":{ "configurationHeaderId": 23456, "configurationRevisionNumber": 789, "configurationPath": "987654321" } }
Response Sample Save Successful
The Transaction ID, document number, and a link to the saved transaction are returned for a successful save.
HTTP status code: 200 OK
{ "status": "save", "bsId": 12345, "documentNumber": 2, "href": "..." }
Response Sample Cancel / None
If the Save BML function is canceled, the status returned is "cancel". If the Save BML function is not defined, the status returned is "none".
HTTP status code: 200 OK
{"status": "cancel"}
Response Sample Error
When a Save BML function error occurs, the status returned is "error". The response body is a JSON array of the messages returned from the Save BML.
HTTP status code: 500
{ "status": "error", [ { "type": "error", "info": "Failed to launch the configuration session." }, { "type": "warning", "info": "invalid configuration attributes while launching the configuration session." } ] }
Response Sample Processing Error
If the error is due to the server-side processing error, the response body is the exception error message.
External configuration is not defined for model myModel belonging to product line myLine under product family myFamily.