Data Table REST APIs

Overview

Oracle CPQ Data Table REST APIs allow administrators to access and support Oracle CPQ Data Tables. The Data Table REST APIs support functions for data table folders, properties, columns, records, imports, exports, and searches.

Refer to the Task REST APIs for the following task-related functions: Get List of Tasks, Get Task, Cancel Task, Delete Task, Delete Tasks, Get Task File List, and Download a Task File.

ClosedAuthentication

Oracle CPQ uses HTTP Basic authentication to authenticate REST calls from third-party systems. When making a call to an Oracle CPQ REST API, the third-party system’s REST client must have encrypted Oracle CPQ login credentials in the Header and an Accept Header that both adhere to HTTP Basic authentication standards. The Accept Header must be set to application/schema+json to see the detailed schema of the resource. For more information see the topic Supported REST Headers.


Administration

Data Tables

The data table endpoints retrieve data table properties and perform actions to create, delete, deploy, export, import, move, and update data tables.

Note: The following data table REST APIs are only available for admin users.

ClosedGet List of Data Tables

Get List of Data Tables GET Method

Description

This endpoint returns a list of data tables visible to the current user.

URI Endpoint

/rest/v17/datatables

Endpoint Parameters

expand

This endpoint supports the optional 'expand' query string parameter to expand and include child collections in response results.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

The response contains a collection of data tables accessible to the current user.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables


ClosedResponse Sample


ClosedGet Data Table Properties

Get Data Table PropertiesGET Method

Description

This endpoint is used to retrieve properties for the specified data table. The following properties are returned: Id, name, description, parent folder, 'Live' status, does data table have undeployed changes, last deploy date, last modification date, and creation date.

URI Endpoint

/rest/v17/datatables/{tableName}

Endpoint Parameters

tableName

The data table name.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

id

The unique identifier of the data table.

dateModified

The date of the last data table modification.

links

Links to the related objects.

name

The name of the data table.

description

The data table description.

hasUndeployedChanges

This Boolean attribute is "true" if the data table has undeployed changes.

deployedDate

The date of the last data table deployment.

dateCreated

The date the data table was created.

folder

This object contains the parent folder name, variable name, and a link to the parent folder.

isLive

This Boolean attribute is "true" for 'Live' data tables.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Status


ClosedResponse Sample

{ "id": 36263638, "dateModified": "08/10/2017 11:17 AM", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/datatables" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Status" } ], "name": "Status", "description": "The list of all possible values for transaction and transaction line status attributes.", "hasUndeployedChanges": false, "deployedDate": "08/10/2017 11:17 AM", "dateCreated": "07/02/2014 10:08 AM", "folder": { "name": "[Default]", "variableName": "_default", "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/dataTableFolders/_default" } ], }, "isLive": false }


ClosedCreate Data Table

Create Data Table POST method

Description

This endpoint is used to create a new data table.

URI Endpoint

/rest/v17/datatables

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

name

The name for the new data table (required)

description

The description for the new data table.

folder

This object contains the parent folder variable name.

If this value is not specified, the new data table will be created in the "_default" folder.

isLive

This Boolean attribute is set to "true" to enable 'Live' data tables.

The default value is "false".

Response Body Parameters

id

The unique identifier of the data table.

dateModified

The date of the last data table modification.

links

Links to the related objects.

name

The name of the data table.

description

The data table description.

hasUndeployedChanges

This Boolean attribute is "true" if the data table has undeployed changes.

deployedDate

The date of the last data table deployment.

dateCreated

The date the data table was created.

folder

This object contains the parent folder name, variable name, and links to related objects.

isLive

This Boolean attribute is "true" for 'Live' data tables.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables


ClosedRequest Sample

{ "name": "ServerComponents", "description": "This table lists server components for the Vision Servers configuration.", "folder": { "variableName": "servers" }, "isLive": false }


ClosedResponse Sample


ClosedDelete Data Table

Delete Data Table DELETE method

Description

This endpoint is used to delete the specified data table.

URI Endpoint

/rest/v17/datatables{tableName}

Endpoint Parameters

tableName

The name of the data table to delete.

HTTP Method

DELETE

Request Body Parameters

None

Response Body Parameters

None

ClosedURI Endpoint Sample


ClosedDelete Data Tables

Delete Data TablesPOST method

Description

This endpoint is used to delete multiple data tables.

URI Endpoint

/rest/v17/datatables/actions/deleteTables

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

selections

An array of data table names to delete (required).

Response Body Parameters

None

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/deleteTables


ClosedRequest Sample


ClosedDeploy Data Tables

A task is initiated when you deploy data tables. You can use the Task Rest APIs to view the status of the deployment and cancel a deployment.

  • To view the status, initiate the Get Task REST API using the task id from the Deploy Data Tables REST API response.
  • To cancel a deployment, initiate the Cancel Task REST API using the task id from the Deploy Data Tables REST API response.
Deploy Data TablesPOST method

Description

This endpoint deploys the specified data tables.

URI Endpoint

/rest/v17/datatables/actions/deploy

Endpoint Parameters None

HTTP Method

POST

Request Body Parameters

selections

An array of data table names to deploy (required).

autoPullFKTables

This Boolean attribute is set to "true" to automatically retrieve interdependent tables that are not specified in selections.

When deploying a data table with relationships, all tables defined in a relationship must be included in selections if autoPullFKTables is not defined or set to "false".

Response Body Parameters

taskIds

The status log task Ids the associated with the deploy action.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/deploy


ClosedRequest Sample

{ "selections": ["Racks", "Rack_Components"] }


ClosedResponse Sample

 

To cancel the data table deployment initiate the Cancel Task REST API using the task id from the Deploy Data Tables REST API response.


ClosedExport Data Tables

Export Data Tables POST method

Description

This endpoint is used to export data tables.

URI Endpoint

/rest/v17/datatables/actions/export

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

filterCriteriaForSelections

An array of filtered data table records.

selections

An array of data table names to export (required).

Response Body Parameters

taskId

The task Id the associated with the export.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/export


ClosedRequest Sample

Selections Example

{ "selections": ["ServerComponents", "Shipping_Options"] }

Example with Filtered Selections

{ "selections": ["StatusLabel", "table_100columns"], "filterCriteriaForSelections": [{ "name": "StatusLabel", "q": "{$or:[{StatusLabel:'CREATED'},{StatusID:8}]}" }, { "name": "table_100columns", "q": "{$or:[{str1:'test1'},{int10:1}]}" } ] }


ClosedResponse Sample


A task is initiated when you export data tables and the data table zip file will be associated with the task. After exporting the data tables, you can view the status of the export, cancel the export, and download the exported data tables or log files.

Get Task Example

To view the status of the data table export initiate the Get Task REST API using the task id from the Export Data Tables REST API response.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/tasks/41373364


ClosedResponse Sample


After the task has completed, perform the following steps to download the exported data tables:

  1. Get Task File List

    Initiate the Get Task File List REST API using the task id from the Export Data Tables REST API response.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/tasks/41373364/files


ClosedResponse Sample


  1. Download Task File

    Initiate the Download Task File REST API using the file name from the Get Task File List REST API.

ClosedURI Endpoint Sample

 

To cancel the data table export initiate the Cancel Task REST API using the task id from the Export Data Tables REST API response.


ClosedImport Data Tables

Import Data Tables POST method

Description

This endpoint is used to import data tables.

URI Endpoint

/rest/v17/datatables/actions/import

Endpoint Parameters

None

HTTP Method

POST

Request Header Content-Type: multipart/form-data

Request Body For Data Parameters

file

The file to be imported (required).

columnDelimiter

The column delimiter.

rowDelimiter

The row delimiter.

dataHasDelimiter

This Boolean attribute is set to "true" to indicate that the imported data table has content with delimiters (e.g. numeric values like 1,000)

folderVariableName

The variable name of the parent data table folder.

If this value is not specified, the new data tables will be imported into the "_default" folder.

Response Body Parameters

taskId

The status log task Id the associated with the import.

REST API Delimiter Considerations

  • REST API services do not support mufti-character separators for column or row delimiters. For example, you cannot use "$^$" as separator because the separator must be a single character. Note that this behavior differs from BML functionality.

  • If more than one character is provided as separator, the results are may not be correct.

  • The backslash "\" is not used as escape character to change the meaning of the next character. For example, "\n" is interpreted as two seperate characters "\" and "n" and it will be considered as a mufti-character delimiter.

  • The line break/carriage return is the default separate for CSV files, therefore it does not need to be specified.

  • If a different delimiter is specified, the carriage returns in the CSV file will be replaced with the specified delimiter. If you want to specify a carriage return as delimiter, you can enter the carriage return as a delimiter in Postman to generate a return character.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/import


ClosedRequest Sample

'https://sitename.oracle.com.oracle.com/rest/v17/datatables/actions/import' \ --header 'Authorization: Basic c3VwZXJ1c2VyOnFhcGFzcw==' \ --header 'Cookie: JSESSIONID=41fdadef842a4b3ba2079846ac05a5a14ee284b2b4fc509eb875!1363400201' \ --form 'file=@/D:/Status.csv' \ --form 'columnDelimiter=,' \ --form 'dataHasDelimiter=true'


ClosedResponse Sample


A task is initiated when you import data tables and the status log file will be associated with the task. After importing the data tables, you can view the status of the import and cancel the import.

The maximum file size for import is 128MB.

Get Task Example

To view the status of the data table import, initiate the Get Task REST API using the task id from the Import Data Tables REST API response.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/tasks/41372454


ClosedResponse Sample

 

To cancel the data table import initiate the Cancel Task REST API using the task id from the Import Data Tables REST API response.


ClosedMove Data Tables

Move Data Tables POST method

Description

This endpoint is used to move data tables from one folder to another folder.

URI Endpoint

/rest/v17/datatables/actions/moveTables

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

selections

An array of data table names to move (required).

folderVariableName

The variable name of the target data table folder (required).
Response Body Parameters None

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/moveTables


ClosedRequest Sample

{ "folderVariableName": "racks", "selections": ["ServerComponenets", "Shipping_Options"] }


ClosedUpdate Data Table Properties

Update Data Table PropertiesPOST method

Description

This endpoint is used to update the description, parent folder, or 'Live' status for the specified data table.

URI Endpoint

/rest/v17/datatables/{tableName}

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

description

The description for the data table.

folder

This object contains the parent folder variable name.

isLive

This Boolean attribute is set to "true" to enable 'Live' data tables.

Response Body Parameters

id

The unique identifier of the data table.

dateModified

The date of the last data table modification.

links

Links to the related objects.

name

The name of the data table.

description

The data table description.

hasUndeployedChanges

This Boolean attribute is "true" if the data table has undeployed changes.

deployedDate

The date of the last data table deployment.

dateCreated

The date the data table was created.

folder

This object contains the parent folder name, variable name, and a link to the parent folder.

isLive

This Boolean attribute is "true" for 'Live' data tables.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/ServerComponents


ClosedRequest Sample

{ "name": "ServerComponents", "description": "This table lists server components for the Vision Servers configuration.", "folder": { "variableName": "servers" }, "isLive": true }


ClosedResponse Sample


Data Table Columns

The data table column endpoints retrieve data table column information and perform actions to create, delete, synchronize, and update data table columns.

Note: The data table column REST APIs are only available for admin users.

ClosedGet List of Data Table Columns

Get List of Data Table Columns GET Method

Description

This endpoint returns all data table column properties for the specified data table.

URI Endpoint

/rest/v17/datatables/{tableName}/fields

Endpoint Parameters

tableName

The data table name.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

The response contains a collection of data table columns.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields


ClosedResponse Sample


ClosedGet Data Table Column Properties

Get Data Table Column PropertiesGET Method

Description

This endpoint returns properties for the specified data table column.

URI Endpoint

/rest/v17/datatables/{tableName}/fields/{fieldName}

Endpoint Parameters

tableName

The data table name.

fieldName

The name of the data table column to retrieve.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

id

The unique identifier of the column.

name

The name of the data table column.

description

The column description.

type

The data type of the column.

order

Order of the column within the table.

index

This Boolean attribute identifies if the column is indexed.

key

This Boolean attribute identifies if this is a key column.

A key, also known as a 'Natural Key' can be a single column or a combination of several columns that produce a unique identifier for each record (row) for faster access to the data.

dateModified

The date of the last column modification.

dateCreated

The date the column was created.

validation

When a column has validation, this object contains the validation attribute type (commerce or config), name, id, and hierarchy.

relationship

When a column has a relationship, this object contains the target table (refTable), target column (refField), and delete behavior.

_proxy_id

The proxy Id.

links

Links to the related objects.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/Type


ClosedResponse Sample

{ "id": 41361422, "dateModified": "10/08/2019 12:48 PM", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/Type" } ], "name": "Type", "dateAdded": "10/08/2019 12:48 PM", "type": "String", "order": 1, "index": true, "key": false }


Column with Relationship Example

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/RelationshipColumn


ClosedResponse Sample

{ "id": 41366882, "dateModified": "10/21/2019 11:28 AM", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/RelationshipColumn" } ], "name": "RelationshipColumn", "dateAdded": "10/21/2019 11:15 AM", "type": "String", "order": 11, "relationship": { "name": "RelationshipExample", "refTable": { "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Shipping_Options" } ], "name": "Shipping_Options" }, "refField": { "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Shipping_Options/fields/Service_Level" } ], "name": "Service_Level" }, "refOnDelete": "On Delete No Action" }, "index": true, "key": false }


Column with Validation Example

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/ValidationColumn


ClosedResponse Sample

{ "id": 41366878, "dateModified": "10/21/2019 11:17 AM", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/ValidationColumn" } ], "name": "ValidationColumn", "dateAdded": "10/21/2019 11:15 AM", "type": "String", "order": 10, "validation": { "type": "Config", "attribute": { "name": "Component Type", "id": 41320861 }, "hierarchy": "All Products:aCMERacks:equipmentRacks:componentType" }, "index": false, "key": false }


ClosedCreate or Update Data Table Column

Create or Update Data Table ColumnPOST method

Description

This endpoint is used to create or update a data table column.

URI Endpoint

/rest/v17/datatables/{tableName}/fields

Endpoint Parameters

tableName

The name for the data table.

HTTP Method

POST

Request Body Parameters

id

The unique identifier of the data table column.

Columns can be identified using id or name for Update actions.

name

The data table column name.

description

The description for the column.

index

This Boolean attribute is set to "true" to index the column.

key

This Boolean attribute is set to "true" for key columns.

order

The order of the column within the table.
Response Body Parameters

id

The unique identifier of the data table column.

dateModified

The date of the last data table column modification.

links

Links to the related objects.

name

The name of the data table column.

description

The data table column description.

dateAdded

The date the data table column was created.

type

The data type of the column.

order

The order of the column within the table.

index

This Boolean attribute is set to "true" to index the column.

key

This Boolean attribute is set to "true" for key columns.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields


ClosedRequest Sample

{ "name": "Type", "description": "This field identifies the component type.", "index": true, "key": false, "order": 2 }


ClosedResponse Sample


ClosedDelete Data Table Column

Delete Data Table ColumnDELETE method

Description

This endpoint is used to delete the specified data table column.

URI Endpoint

/rest/v17/datatables{tableName}/fields/{fieldName}

Endpoint Parameters

tableName

The data table name.

fieldName

The name for the data table column to delete.

HTTP Method

DELETE

Request Body Parameters

None

Response Body Parameters

None

ClosedURI Endpoint Sample


ClosedDelete Data Table Columns

Delete Data Table ColumnsPOST method

Description

This endpoint is used to delete multiple data table columns.

URI Endpoint

/rest/v17/datatables/{tableName}/fields/actions/deleteFields

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

selections

An array of data table columns to delete (required).

Response Body Parameters

None

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/{tableName}/fields/actions/deleteFields


ClosedRequest Sample


ClosedSynchronize Data Table Columns

Synchronize Data Table ColumnsPOST method

Description

This endpoint is used to create, update, or delete data table columns.

URI Endpoint

/rest/v17/datatables/{tableName}/fields/actions/synchronize

 

None
Endpoint Parameters

tableName

The name for the data table.

HTTP Method

POST

Request Body Parameters

The request body "documents" includes an array of column items to synchronize. Each item includes: column data, the _sync_action, and a _proxy_id (optional).

  • To create a new column the name is required,
    description, index, key, and order are optional.
  • To update a column the id or name must be provided,
    description, index, key, and order can be updated.
  • To delete a column the id or name must be provided.

_sync_action

The synchronization action for the column (create, update, or delete)

_proxy_id

This endpoint supports optional proxy Ids if provided by the client.
Response Body Parameters The data for the new and updated data table columns.

_proxy_id

The response will include the proxy Id if provided in the request.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/actions/synchronize


ClosedRequest Sample

{ "documents": { "items": [{ "name": "DateUpdated", "type": "String", "_sync_action": "create", "_proxy_id": "1" }, { "name": "Height", "description": "This field identifies the height of the component.", "_sync_action": "update", "_proxy_id": "2" }, { "name": "RelationshipColumn", "_sync_action": "delete", "_proxy_id": "3" } ] } }


ClosedResponse Sample


ClosedUpdate Data Table Column Properties

Update Data Table Column PropertiesPOST method

Description

This endpoint is used to update the properties for the specified data table column.

URI Endpoint

/rest/v17/datatables/{tableName}/fields/{fieldName}

Endpoint Parameters

tableName

The data table name.

fieldName

The name of the data table column to update.

HTTP Method

POST

Request Body Parameters

None

Response Body Parameters

id

The unique identifier of the column.

name

The name of the data table column.

description

The column description.

type

The data type of the column.

order

Order of the column within the table.

index

This Boolean attribute identifies if the column is indexed.

key

This Boolean attribute identifies if this is a key column.
A key, also known as a 'Natural Key' can be a single column or a combination of several columns that produce a unique identifier for each record (row) for faster access to the data.

dateModified

The date of the last column modification.

dateCreated

The date the column was created.

validation

When a column has validation, this object contains the validation attribute type (commerce or config), name, id, and hierarchy.

relationship

When a column has a relationship, this object contains the target table (refTable), target column (refField), and delete behavior.

_proxy_id

The proxy Id.

links

Links to the related objects.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/DateUpdated


ClosedRequest Sample

{ "name": "DateUpdated", "order": 1, "_proxy_id": "1" }


ClosedResponse Sample

{ "id": 41367525, "dateModified": "10/23/2019 10:43 AM", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/datatables/Rack_Domain/fields/DateUpdated" } ], "name": "DateUpdated", "dateAdded": "10/23/2019 10:32 AM", "type": "String", "order": 1, "index": false, "key": false, "_proxy_id": "1" }


Data Table Data

These endpoints retrieve data table data (i.e. rows or records) and perform actions to clear, create, delete, and update data table rows.

Note: The data table data REST APIs are only available for admin users.

ClosedGet Data Table Data (Includes Search Data Table Option)

Get Data Table Data GET Method

Description

This endpoint returns all rows for the specified data table.

URI Endpoint

/rest/v17/adminCustom{tableName}

Endpoint Parameters

tableName

The data table name.

q

Query specifications can be used to search for specific data within the named data table.

Query specifications that follow Oracle CPQ query and pagination parameters syntax, and query specifications that follow a subset of MongoDB syntax can be used. For more information, refer to the following resources:

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

The response contains a collection of data table rows.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus


ClosedResponse Sample

{ { "limit": 1000, "offset": 0, "count": 8, "hasMore": false, "items": [{ "id": 36735107, "StatusID": 1, "StatusLabel": "CREATED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "OPEN", "HistoricalStatus": "ZCA_IN_PROGRESS", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735107" } ], }, { "id": 36735108, "StatusID": 2, "StatusLabel": "QUOTED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "OPEN", "HistoricalStatus": "ZCA_IN_PROGRESS", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735108" } ], }, { "id": 36735109, "StatusID": 3, "StatusLabel": "INVOICED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735109" } ], }, { "id": 36735110, "StatusID": 4, "StatusLabel": "AWAIT_BILLING", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735110" } ], }, { "id": 36735111, "StatusID": 5, "StatusLabel": "BILLED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735111" } ], }, { "id": 36735112, "StatusID": 6, "StatusLabel": "ORDERED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735112" } ], }, { "id": 36735113, "StatusID": 7, "StatusLabel": "SCHEDULED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735113" } ], }, { "id": 36735114, "StatusID": 8, "StatusLabel": "PICKED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus/36735114" } ] } } ], "links": [{ "rel": "canonical", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus" }, { "rel": "next", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus?offset=1000&limit=1000&totalResults=false" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/adminCustomStatus?offset=0&limit=1000&totalResults=false" } ] }


Request Data Table records matching a specific criteria

The following query returns Status table records where the StatusLabel equals CREATED or PICKED.

ClosedURI Endpoint Sample

ClosedSample Response Body


ClosedGet Data Table Row

Get Data Table Row GET Method

Description

This endpoint returns the specified data table row.

URI Endpoint

/rest/v17/adminCustom{tableName}/{rowId}

Endpoint Parameters

tableName

The data table name.

rowId

The data table row Id.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters The response contains the data table data for the specified row.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus/36735109


ClosedResponse Sample


ClosedClear Data Table Data

Clear Data Table DataPOST method

Description

This endpoint deletes all rows from the specified data table.

URI Endpoint

/rest/v17/adminCustom{tableName}/actions/clearData

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

q

Beginning in Oracle CPQ 22B, query parameters can be used to filter data table records to be cleared.

Query specifications that follow Oracle CPQ query parameters syntax, and query specifications that follow a subset of MongoDB syntax can be used. For more information, refer to: MongoDB’s Query Documents.

Response Body Parameters The response contains the data for the specified row.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus/actions/clearData


ClosedRequest Sample (Clear Filtered Data)


ClosedCreate Data Table Row

Create Data Table RowPOST method

Description

This endpoint is used to create a new row for the specified data table.

URI Endpoint

/rest/v17/adminCustom{tableName}

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

The data for the new data table row

Response Body Parameters The data for the data table row

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus


ClosedRequest Sample

{ "StatusID": 20, "StatusLabel": "INVOICED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON" }


ClosedResponse Sample


ClosedDelete Data Table Row

Delete Data Table RowDELETE method

Description

This endpoint is used to delete the specified data table row.

URI Endpoint

/rest/v17/adminCustom{tableName}/{rowId}

Endpoint Parameters

tableName

The name for the data table.

rowId

The data table row Id.

HTTP Method

DELETE

Request Body Parameters

None

Response Body Parameters

None

ClosedURI Endpoint Sample


ClosedDelete Data Table Rows

Delete Data Table RowsPOST method

Description

This endpoint is used to delete multiple data table rows.

URI Endpoint

/rest/v17/adminCustom{tableName}/actions/deleteRows

Endpoint Parameters

tableName

The name for the data table.

HTTP Method

POST

Request Body Parameters

selections

An array of data table rows ids to delete (required).

Response Body Parameters

None

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus/actions/deleteRows


ClosedRequest Sample


ClosedSearch Data Tables

Search Data Tables POST method

Description

This endpoint is used to search for data across multiple data tables.

URI Endpoint

/rest/v17/datatables/actions/getQueryStatistics

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

selections

An array of data table names to search (required).

All data tables are queried if data table names are not specified in the request selections.

keyword

The content to search for (required).
Response Body Parameters

items

An array of data tables matching the search keyword.

matchingRowCount

Number of rows with content that matched the search string.

rowsLink

The URL to retrieve rows with content that matched the search string.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/datatables/actions/getQueryStatistics


ClosedRequest Sample

{ "selections": [], "keyword": "router" }


ClosedResponse Sample


ClosedSynchronize Data Table Rows

Synchronize Data Table RowsPOST method

Description

This endpoint is used to create, update, or delete data table rows.

URI Endpoint

/rest/v17/adminCustom{tableName}/actions/synchronize

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

The request body "documents" includes an array of row items to synchronize.
Each item includes: row data, the _sync_action, and a _proxy_id (optional)

  • create

    • The new row data
    • The only allowed value for the id property is "-1"
    • If the data table has a natural key, the key should be included in the request.
    • If the data table does not have a natural key, every record is created without validation.
  • update

    • To update a row the id or natural key must be provided.
    • The updated row data
  • delete - To update a row the id or natural key must be provided.

_sync_action

The synchronization action for the row (create, update, or delete)

_proxy_id

This endpoint supports optional proxy Ids if provided by the client.
Response Body Parameters The data for the new and updated data table rows.

_proxy_id

The response will include the proxy Id if provided in the request.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus/actions/synchronize


ClosedRequest Sample

{ "documents": { "items": [{ "StatusID": 20, "StatusLabel": "DELIVERED", "StatusOSC_t": "ZCA_COMPLETE", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON", "_sync_action": "update" }, { "StatusID": 21, "StatusLabel": "QUOTED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "OPEN", "HistoricalStatus": "ZCA_IN_PROGRESS", "DMStatus": "", "_sync_action": "create" }, { "StatusID": 15, "_sync_action": "delete" } ] } }


ClosedResponse Sample


ClosedUpdate Data Table Row

Update Data Table RowPOST method

Description

This endpoint is used to update the specified data table row.

URI Endpoint

/rest/v17/adminCustom{tableName}/{rowId}

Endpoint Parameters

tableName

The data table name.

HTTP Method

POST

Request Body Parameters

The data for the new data table row

Response Body Parameters The data for the data table row

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/adminCustomStatus/41365481


ClosedRequest Sample

{ "StatusID": 20, "StatusLabel": "INVOICED", "StatusOSC_t": "ZCA_IN_PROGRESS", "StatusOSC_l": "WON", "HistoricalStatus": "ZCA_WIN", "DMStatus": "WON" }


ClosedResponse Sample


Data Table Folders

The data table folder endpoints retrieve data table folder properties and perform actions to create, update, and delete data table folders.

Note: The data table folder REST APIs are only available for admin users.

ClosedGet Data Table Folders

Get Data Table Folders GET Method

Description

This endpoint returns a list of data table folders visible to the current user.

URI Endpoint

/rest/v17/dataTableFolders

Endpoint Parameters

None

HTTP Method

GET

Request Body Parameters

None
Response Body Parameters

items

A collection of data table folders.

_state

This object describes the folder permissions for the current user.

  • allowUpdate - Identifies if the current user is allowed to create and update data table folders.
  • allowDelete - Identifies if the current user is allowed to delete data table folders.

The _state object will be present on the collection level acting a global value for all the folders. Any folder whose state differs will have its own state object.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/dataTableFolders


ClosedResponse Sample


ClosedGet Data Table Folder

Get Data Table Folder GET Method

Description

This endpoint returns the properties for the specified data table folder.

URI Endpoint

/rest/v17/dataTableFolders/{folderVarName}

Endpoint Parameters

folderVarName

The variable name for the data table folder.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

id

The unique identifier of the data table folder.

dateModified

The date of the last data table folder modification.

links

Links to the related objects.

name

The name of the data table folder.

variableName

The variable name of the data table folder

dateAdded

The date the data table folder was created.

_state

This object describes the folder permissions for the current user.

  • allowUpdate - Identifies if the current user is allowed to update the data folder.
  • allowDelete - Identifies if the current user is allowed to delete the data folder.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/dataTableFolders/bOMTables


ClosedResponse Sample


ClosedCreate Data Table Folder

Create Data Table Folder POST method

Description

This endpoint is used to create a new data table folder.

URI Endpoint

/rest/v17/dataTableFolders

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

name

The name for the new data table folder (required).

variableName

The variable name for the new data table folder (required).
Response Body Parameters

id

The unique identifier of the data table folder.

dateModified

The date of the last data table folder modification.

links

Links to the related objects.

name

The name of the data table folder.

variableName

The variable name of the data table folder

dateAdded

The date the data table folder was created.

_state

This object describes the folder permissions for the current user.

  • allowUpdate - Identifies if the current user is allowed to update the data folder.
  • allowDelete - Identifies if the current user is allowed to delete the data folder.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/dataTableFolders


ClosedRequest Sample

{ "name": "System Info", "variableName": "systemInfo" }


ClosedResponse Sample


ClosedDelete Data Table Folder

Delete Data Table Folder DELETE method

Description

This endpoint is used to delete the specified data table folder.

Only empty data table folders can be deleted.

URI Endpoint

/rest/v17/dataTableFolders/{folderVarName}

Endpoint Parameters

folderVarName

The variable name for the data table folder.

HTTP Method

DELETE

Request Body Parameters

None

Response Body Parameters

None

ClosedURI Endpoint Sample


ClosedUpdate Data Table Folder

Update Data Table Folder POST method

Description

This endpoint is used to update the name for the specified data table folder

URI Endpoint

/rest/v17/dataTableFolders/{folderVarName}

Endpoint Parameters

folderVarName

The variable name for the data table folder.

HTTP Method

POST

Request Body Parameters

name

The new name for the data table folder (required)

The request body can have dateAdded and dateModifed properties along with the mandatory name property. However the date values cannot be changed. An error will be generated if the date values do not match the existing values.

Response Body Parameters

id

The unique identifier of the data table folder.

dateModified

The date of the last data table folder modification.

links

Links to the related objects.

name

The name of the data table folder.

variableName

The variable name of the data table folder

dateAdded

The date the data table folder was created.

_state

This object describes the folder permissions for the current user.

  • allowUpdate - Identifies if the current user is allowed to update the data folder.
  • allowDelete - Identifies if the current user is allowed to delete the data folder.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/dataTableFolders/systemInfo


ClosedRequest Sample

{ "name": "System Information", }


ClosedResponse Sample


Deployed Data Tables

These endpoints allow an external system to access deployed data in Oracle CPQ Data Tables. When executed correctly, the external system will receive the Oracle CPQ Data Table’s deployed data in the REST response body.

Currently only Read operations are supported when interacting with the custom{DataTable} API.

ClosedGet Deployed Data Table

ClosedGet Deployed Data Table Record

Get Deployed Data Table Record GET Method
Description

Returns the deployed data of an Oracle CPQ Data Table.

URI Endpoint

/rest/v17/custom{DataTable}/{id}

Endpoint Parameters

DataTable

The name of the Oracle CPQ Data Table (first character must be capitalized).

id

The id of the Data Table record

HTTP Method GET
Success Response

204 – Success

The Data Table record will be in the response body.

Failure Responses

400 – Bad request

The name of the Data Table was invalid or the Data Table had not been deployed.

401 – Unauthorized

Valid Oracle CPQ FullAccess credentials were not provided in the header.

ClosedURI Endpoint Sample

ClosedSample Response Body


Related Topics

Related Topics Link IconSee Also