Pricing Attribute REST APIs

Overview

These endpoints enable administration of CPQ Pricing Engine pricing attributes using REST API services.

Administration

ClosedAdd Pricing Attribute

Add Pricing AttributePOST method

Description

Use this endpoint to add a pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes

Endpoint Parameters

None

HTTP Method

POST

Request Body Parameters

arrayType

Indicates whether pricing attribute is an array type

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

dataType

Type of the pricing attribute data. Allowed values: "Boolean", "Currency", "String", "Decimal", "Date", and "Integer"

description

The description of the pricing attribute

lookupType

The lookup type variable name for the pricing attribute

lookupTypeLabel

The lookup type display label for the pricing attribute

mappings

JSON data for all attributes that are mapped to a pricing attribute

name

Name of the pricing attribute

templateVariableKey

Pricing attribute template variable key. Allowed values: "Custom"and "Quantity"

variableName

The variable name of the pricing attribute
Response Body Parameters

arrayType

Indicates whether pricing attribute is an array type

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

createdBy

The first name, last name, and email of the user that created the Pricing Attribute.

dataType

Data type of the pricing attribute. Allowed values: "Boolean", "Currency", "String", "Decimal", "Date", and "Integer"

dateAdded

Creation date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

dateModified

Last modified date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

description

Description of the pricing attribute

lastModifiedBy

The first name, last name, and email of the user that last modified the Pricing Attribute.

lookupType

The lookup type variable name for the pricing attribute

lookupTypeLabel

The lookup type display label for the pricing attribute

mappings

An array of mapped data source attributes

name

Name of the pricing attribute

templateVariableKey

Pricing attribute template variable key.

Allowed values: "Custom", "Quantity", "BomItemVariableName", "ChargeAttribute", "PriceAsOf", "RequestedRatePlanNumber", "ServiceDuration", "ServiceDurationPeriod", "RequestedAgreementNumber", "BuyingAccountID", "Currency Code", "PartNumber", "Customer ID", "Line Price As Of"

variableName

Variable name of the pricing attribute

arrayType

Indicates whether pricing attribute is an array type

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes


ClosedSample Request Body

{ "name": "New Pricing Attribute", "variableName": "newPricingAttribute_c", "dataType": "String", "attributeLevel": "Line" }


ClosedSample Response Body

{ "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "New Pricing Attribute", "variableName": "newPricingAttribute_c", "dateModified": "2024-04-30T14:55:52Z", "dateAdded": "2024-04-30T14:55:52Z", "dataType": "String", "attributeLevel": "Line", "templateVariableKey": "Custom", "arrayType": false }


ClosedAdd Pricing Attribute Mapping

Add Pricing Attribute Mapping POST method

Description

Use this endpoint to add mapping information to the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}/mappings

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

HTTP Method

POST

Request Body Parameters

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

dataSourceAttribute

The mapped data source attribute

dataSourceLabel

The mapped label of the data source

dataSourceProviderVariableName

The variable name of the data source provider

id

The unique identifier of the pricing data source attribute

orderNumber

The position (starting from 1) of the pricing data source attribute in the ordered list

readOnly

indicates if the attribute has any restrictions for edits

variableName

Indicates whether the pricing data source attribute has a valid mapping
Response Body Parameters

attributeLabel

The label of the pricing data source attribute

createdBy

The first name, last name, and email of the user that created the Pricing Attribute mapping.

dataSourceAttribute

The mapped data source attribute

dataSourceProviderVariableName

The variable name of the data source provider

dateAdded

Creation date of the pricing attribute mapping

dateModified

Last modified date of the pricing attribute mapping

id

The unique identifier of the pricing data source attribute

lastModifiedBy

The first name, last name, and email of the user that last modified the Pricing Attribute mapping.

orderNumber

The position (starting from 1) of the pricing data source attribute in the ordered list

readOnly

indicates if the attribute has any restrictions for edits

variableName

Indicates whether the pricing data source attribute has a valid mapping

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes/shippingCost_c/mappings


ClosedSample Request Body

{ "dataSourceProviderVariableName": "oraclecpqo", "variableName": "shippingCost_c" }


ClosedSample Response Body

{ "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "orderNumber": 1, "id": 38677434, "dataSourceAttribute": "/process/oraclecpqo/_main_doc/transaction/shippingCost_c", "dataSourceProviderVariableName": "oraclecpqo", "variableName": "shippingCost_c", "attributeLabel": "Shipping Cost", "dateModified": "2024-04-30T15:29:56Z", "dateAdded": "2024-04-30T15:29:56Z", "readOnly": false }


ClosedDelete Pricing Attribute

Delete Pricing Attribute DELETE method

Description

Use this endpoint to delete the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

HTTP Method

DELETE

Request Body Parameters

None

Success Response

204


ClosedGet Pricing Attribute

Get Pricing AttributeGET Method

Description

Use this endpoint to retrieve the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

(Optional) This endpoint supports the following query specifications: expand and fields.

Refer to Query Parameters for more information.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

arrayType

Indicates whether pricing attribute is an array type

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

createdBy

The details of the user who created the record.

dataType

Data type of the pricing attribute.

Allowed values: "Boolean", "Currency", "String", "Decimal", "Date", and "Integer"

dateAdded

Creation date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

dateModified

Last modified date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

description

Description of the pricing attribute

lastModifiedBy

The details of the user who modified the record.

lookupType

The lookup type variable name for the pricing attribute

lookupTypeLabel

The lookup type display label for the pricing attribute

mappings

An array of mapped data source attributes

name

Name of the pricing attribute

templateVariableKey

Pricing attribute template variable key.

Allowed values: "Custom", "Quantity", "BomItemVariableName", "ChargeAttribute", "PriceAsOf", "RequestedRatePlanNumber", "ServiceDuration", "ServiceDurationPeriod", "RequestedAgreementNumber", "BuyingAccountID", "Currency Code", "PartNumber", "Customer ID", "Line Price As Of"

variableName

Variable name of the pricing attribute

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes

The expand query specification is used in the following example to include attribute mappings in the response.

https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c?expand=mappings


ClosedSample Response Body

{ "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "New Pricing Attribute", "variableName": "newPricingAttribute_c", "description": "", "dateModified": "2024-04-30T15:12:22Z", "dateAdded": "2024-04-30T14:55:52Z", "dataType": "String", "attributeLevel": "Line", "templateVariableKey": "Custom", "valid": true, "arrayType": false, "mappings": { "items": [{ "orderNumber": 1, "id": 38674532, "dataSourceAttribute": "/process/oraclecpqo/_sub_doc/transactionLine/_price_period", "dataSourceLabel": "Standard Quote Process", "dataSourceProviderVariableName": "oraclecpqo", "variableName": "_price_period", "attributeLabel": "Pricing Engine Price Period", "validMapping": true, "dateModified": "2024-04-30T15:12:22Z", "dateAdded": "2024-04-30T15:12:22Z", "readOnly": false }, { "orderNumber": 2, "id": 38674533, "dataSourceAttribute": "/part/_custom_attr/field4", "dataSourceLabel": "Item Attributes", "dataSourceProviderVariableName": "PART_CUSTOM_ATTRS", "variableName": "_part_custom_field4", "attributeLabel": "Price Period", "validMapping": true, "dateModified": "2024-04-30T15:12:22Z", "dateAdded": "2024-04-30T15:12:22Z", "readOnly": false } ], "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c" }, { "rel": "canonical", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c/mappings" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c/mappings?offset=0&limit=1000" } ] }, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c/mappings" } ] }


ClosedGet Pricing Attribute Mappings

Get Pricing Attribute Mappings GET Method

Description

Use this endpoint to retrieve attribute mapping information for the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}/mappings

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

(Optional) This endpoint supports the following query specifications: fields, finder, limit, offset, onlyData, orderby, and totalResults, for more information, see Manage Collections.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

An array of attributes that are mapped to a pricing attribute.

attributeLabel

The label of the pricing data source attribute

createdBy

The details of the user who created the record.

dataSourceAttribute

The mapped data source attribute

dataSourceLabel

The mapped label of the data source

dataSourceProviderVariableName

The variable name of the data source provider

dateAdded

Creation date of the pricing attribute mapping

dateModified

Last modified date of the pricing attribute mapping

id

The unique identifier of the pricing data source attribute

lastModifiedBy

The details of the user who modified the record.

orderNumber

The position (starting from 1) of the pricing data source attribute in the ordered list

readOnly

indicates if the attribute has any restrictions for edits

variableName

Indicates whether the pricing data source attribute has a valid mapping

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c/mappings


ClosedSample Response Body

{ "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "New Pricing Attribute", "variableName": "newPricingAttribute_c", "description": "", "dateModified": "2024-04-30T15:12:22Z", "dateAdded": "2024-04-30T14:55:52Z", "dataType": "String", "attributeLevel": "Line", "templateVariableKey": "Custom", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/newPricingAttribute_c/mappings" } ] }


ClosedGet Pricing Attributes

Get Pricing AttributesGET Method

Description

Use this endpoint to retrieve a list of all pricing attributes in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes

Endpoint Parameters

None

(Optional) This endpoint supports the following query specifications.q, expand, fields, finder, limit, offset, onlyData, orderby, and totalResults, for more information, see Manage Collections.

HTTP Method

GET

Request Body Parameters

None

Response Body Parameters

A collection of pricing attributes.

arrayType

Indicates whether pricing attribute is an array type

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

createdBy

The details of the user who created the record.

dataType

Data type of the pricing attribute. Allowed values: "Boolean", "Currency", "String", "Decimal", "Date", and "Integer"

dateAdded

Creation date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

dateModified

Last modified date of the pricing attribute.
Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z

description

Description of the pricing attribute

lastModifiedBy

The details of the user who modifieded the record.

lookupType

The lookup type variable name for the pricing attribute

lookupTypeLabel

The lookup type display label for the pricing attribute

mappings

An array of mapped data source attributes

name

Name of the pricing attribute

templateVariableKey

Pricing attribute template variable key.

Allowed values: "Custom", "Quantity", "BomItemVariableName", "ChargeAttribute", "PriceAsOf", "RequestedRatePlanNumber", "ServiceDuration", "ServiceDurationPeriod", "RequestedAgreementNumber", "BuyingAccountID", "Currency Code", "PartNumber", "Customer ID", "Line Price As Of"

variableName

Variable name of the pricing attribute

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes

The limit query specification is used in the following example to limit the results to five attributes per page.

https://sitename.oracle.com/rest/v17/pricingSetup/attributes?limit=5


ClosedSample Response Body

{ "items": [{ "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "Quantity", "variableName": "_quantity", "description": "The exploded line quantity used in Pricing Engine.\n\nFor example, in a product hierarchy with 2 child products per root product and 3 grandchild parts per child product, this value will be '6' for the grandchild product when the root quantity is '1', and 12 when the root quantity is '2'.\n\nThis attribute implicitly maps to the Quantity (_price_quantity) attribute in the quote line Price Attribute Set, but the default can be overridden by explicitly defining a different mapping.", "dateModified": "2022-06-29T14:34:29Z", "dateAdded": "2022-06-29T14:34:29Z", "dataType": "Integer", "attributeLevel": "Line", "templateVariableKey": "Quantity", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_quantity" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_quantity/mappings" } ] }, { "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "Bom Item Variable Name", "variableName": "_bomItemVariableName", "description": "Variable Name of the BOM item definition for a BOM item. It is empty for a part item.", "dateModified": "2023-03-23T14:37:16Z", "dateAdded": "2023-03-23T14:37:16Z", "dataType": "String", "attributeLevel": "Line", "templateVariableKey": "BomItemVariableName", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_bomItemVariableName" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_bomItemVariableName/mappings" } ] }, { "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "Price As Of", "variableName": "_priceAsOf", "description": "Price as of date. When empty, the current timestamp at the pricing execution is used.", "dateModified": "2023-09-21T14:39:45Z", "dateAdded": "2023-09-21T14:39:45Z", "dataType": "Date", "attributeLevel": "Header", "templateVariableKey": "PriceAsOf", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_priceAsOf" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_priceAsOf/mappings" } ] }, { "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "Requested Rate Plan Number", "variableName": "_requestedRatePlanNumber", "description": "Requested Rate Plan Number.", "dateModified": "2023-09-21T14:39:45Z", "dateAdded": "2023-09-21T14:39:45Z", "dataType": "String", "attributeLevel": "Line", "templateVariableKey": "RequestedRatePlanNumber", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_requestedRatePlanNumber" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_requestedRatePlanNumber/mappings" } ] }, { "createdBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "lastModifiedBy": { "firstName": "John", "lastName": "Smith", "emailId": "john.smith@companyname.com" }, "name": "Service Duration", "variableName": "_serviceDuration", "description": "The duration to service a product, measured in the unit of Service Duration Period. Only applicable to a product that fulfills a service contract.", "dateModified": "2023-12-18T17:00:10Z", "dateAdded": "2023-12-18T17:00:10Z", "dataType": "Integer", "attributeLevel": "Line", "templateVariableKey": "ServiceDuration", "arrayType": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_serviceDuration" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes/_serviceDuration/mappings" } ] } ], "offset": 0, "limit": 5, "count": 5, "hasMore": true, "links": [{ "rel": "canonical", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes?offset=0&limit=5" }, { "rel": "next", "href": "https://sitename.oracle.com/rest/v17/pricingSetup/attributes?offset=5&limit=5" } ] }


ClosedUpdate Pricing Attribute

Update Pricing Attribute PATCH method

Description

Use this endpoint to update the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

HTTP Method

PATCH

Add Pricing Attribute

arrayType

Indicates whether pricing attribute is an array type

attributeLevel

Pricing attribute level. Allowed values: "Header" and "Line"

dataType

Type of the pricing attribute data. Allowed values: "Boolean", "Currency", "String", "Decimal", "Date", and "Integer"

description

The description of the pricing attribute

lookupType

The lookup type variable name for the pricing attribute

lookupTypeLabel

The lookup type display label for the pricing attribute

mappings

JSON data for all attributes that are mapped to a pricing attribute

name

Name of the pricing attribute

templateVariableKey

Pricing attribute template variable key. Allowed values: "Custom"and "Quantity"

variableName

The variable name of the pricing attribute

Success Response

204

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes/testAttribute


ClosedSample Request Body

{ "name": "New pricing attribute name" }


ClosedUpdate Pricing Attribute Mappings

Update Pricing Attribute MappingsPATCH method

Description

Use this endpoint to update mapping information for the specified pricing attribute in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes/{attributeVariableName}/mappings

Endpoint Parameters

attributeVariableName

The variable name of the Pricing Engine pricing attribute.

HTTP Method

PATCH

Request Body Parameters

The array of pricing patch operations.

op

The operation to be performed. Allowed values: "add", "remove", and "replace".

path

The JSON pointer string for "path" property.

value

The target value. Refer to Add Pricing Attribute for more information.

Success Response

204

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes/testAttribute/mappings


ClosedSample Request Body - Add Example

[{ "op": "add", "path": "/", "value": { "dataSourceProviderVariableName": "CONFIG_ATTRS_test3", "variableName": "textField1", "orderNumber": 4 } } ]


ClosedSample Request Body - Remove Example

[{ "op": "remove", "path": "/3022752151", "value": {} } ]


ClosedSample Request Body - Replace Example

[{ "op": "replace", "path": "/3022752151", "value": { "orderNumber": 1 } } ]


ClosedUpdate Pricing Attributes

Update Pricing Attributes PATCH method

Description

Use this endpoint to update or delete pricing attributes in Pricing Engine.

URI Endpoint

/rest/v17/pricingSetup/attributes

Endpoint Parameters

None

HTTP Method

PATCH

Request Body Parameters

The array of pricing patch operations.

op

The operation to be performed. Allowed values: "add", "remove", and "replace".

path

The JSON pointer string for "path" property.

value

The target value. Refer to Add Pricing Attribute for more information.

Success Response

204

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/pricingSetup/attributes


ClosedSample Request Body

[{ "op": "add", "path": "/", "value": { "name": "New", "variableName": "testAdd_c", "dataType": "Currency", "attributeLevel": "Line" } }, { "op": "remove", "path": "/shippingCost_c", "value": { "variableName": "shippingCost_c" } }, { "op": "replace", "path": "/newPricingAttribute_c", "value": { "name": "Updated Attribute Name" } } ]


 

Related Topics

Related Topics Link IconSee Also