Update the Pricing for a Product Offering
http://host:port/productCatalogManagement/v4/productOfferingPrice/{id}
Partially updates the pricing for a product offering.
Request
-
id(required): string
A unique ID that identifies resources.
- application/json
object
ProductOfferingPriceOracle
-
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "ProductOfferingPrice":"#/components/schemas/ProductOfferingPrice", "ProductOfferingPriceOracle":"#/components/schemas/ProductOfferingPriceOracle" } }
It is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a product offering price that reflects an alteration). The price applied for a product offering may also be influenced by factors such as the product offering term, the customer selected etc. For example, a product offering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this product offering term. A product offering may be cheaper with a 24 month commitment than with a 12 month commitment. -
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "ProductOfferingPriceOracle":"#/components/schemas/ProductOfferingPriceOracle" } }
object
Discriminator Values
-
@baseType: string
The immediate base class type of the product offering price.
-
@schemaLocation: string
Refers to the hyperlink to the schema describing this resource.
-
@type: string
The class type of this product offering price.
-
billingCycle: object
BillingCycleRef
Makes billing cycle settings available to a catalog.
-
bundledPopRelationship: array
bundledPopRelationship
Represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship.
-
constraint: array
constraint
Represents a policy or a rule applied to product offering price.
-
description: string
Description of the product offering price.
-
eventCandidate: object
EventCandidateRef
An entity that makes an event specification available to a catalog.
-
href: string
The unique resource URL of the product offering price.
-
id: string
The unique ID of the resource.
-
isBundle: boolean
A flag that indicates whether the price of a product offering is composite (bundle) or not.
-
lastUpdate: string
(date-time)
The last update time of the product offering price.
-
lifecycleStatus: string
The lifecycle status of the product offering price.
-
name: string
Name of the product offering price.
-
percentage: number
(float)
Indicates the percentage to be applied if the product offering price is an alteration (such as a discount).
-
popRelationship: array
popRelationship
Contains the product offering prices related to the particular product offering price. For example, a price alteration such as allowance or discount.
-
price: object
Money
A base or value business entity used to represent money.
-
priceType: string
Allowed Values:
[ "RECURRING", "ONE_TIME", "USAGE", "USAGE_PREPAID", "USAGE_POSTPAID", "ALTERATION", "ALLOWANCE", "OVERAGE", "OVERAGE_PRICE_PLAN", "PENALTY", "ROLLOVER", "ONE_TIME_PRICE_PLAN", "RECURRING_PRICE_PLAN", "USAGE_PRICE_PLAN", "ALTERATION_PRICE_PLAN", "DISTRIBUTION_PRICE_PLAN" ]
A category that describes the price. For example, recurring, discount, allowance, penalty etc. -
pricingLogicAlgorithm: array
pricingLogicAlgorithm
Represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from product characteristic values (such as assigned bandwidth).
-
prodSpecCharValueUse: array
prodSpecCharValueUse
Product offering uses the product specification characteristic value to add additional attributes to override properties of similar values contained in the product specification characteristic value. The corresponding characteristics addressed by this object must exist in the corresponding product specification. The available characteristic values for a product specification characteristic in a product specification can be modified at the product offering price level. The list of values in product specification characteristic value use is a strict subset of the list of values as defined in the corresponding product specification characteristics.
-
productOfferingTerm: array
productOfferingTerm
A list of conditions under which a product offering price is made available to customers. For instance, a product offering price can be offered with multiple commitment periods.
-
recurringChargePeriodLength: integer
Indicates the period of the recurring charge. It sets to zero if it is not applicable.
-
recurringChargePeriodType: string
Allowed Values:
[ "MONTHLY", "BI_MONTHLY", "QUARTERLY", "SEMI_ANNUAL", "ANNUAL", "DAILY" ]
The period to repeat the application of the price. -
rumCandidate: object
RumCandidateRef
An entity that makes a RUM details available to a catalog.
-
tax: array
tax
An amount of money levied on the price of a product by a legislative body.
-
unitOfMeasure: object
Quantity
An amount in a given unit.
-
validFor: object
TimePeriod
A period of time, either as a deadline (endDateTime only), a startDateTime only, or both.
-
version: string
Version of the product offering price.
object
Discriminator Values
Show Source-
discountRules: array
discountRules
-
Filters: array
Filters
-
maxQuantity: string
A maximum quantity of something, typically the total of a thing or things in number, size, value, extent, or money.
-
priceAlteration: array
priceAlteration
-
PricingLogicAlgorithmOracle: array
PricingLogicAlgorithmOracle
-
quantityExpression: object
QuantityExpression
Title:
QuantityExpression
Contains the resource and type of quantity expression.
-
serviceCandidate: object
ServiceCandidateRef
An entity that makes a service specification available to a catalog.
-
taxOracle: array
taxOracle
-
triggers: array
triggers
Response
- application/json
200 Response
object
ProductOfferingPriceOracle
-
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "ProductOfferingPrice":"#/components/schemas/ProductOfferingPrice", "ProductOfferingPriceOracle":"#/components/schemas/ProductOfferingPriceOracle" } }
It is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a product offering price that reflects an alteration). The price applied for a product offering may also be influenced by factors such as the product offering term, the customer selected etc. For example, a product offering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this product offering term. A product offering may be cheaper with a 24 month commitment than with a 12 month commitment. -
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "ProductOfferingPriceOracle":"#/components/schemas/ProductOfferingPriceOracle" } }
object
Discriminator Values
-
@baseType: string
The immediate base class type of the product offering price.
-
@schemaLocation: string
Refers to the hyperlink to the schema describing this resource.
-
@type: string
The class type of this product offering price.
-
billingCycle: object
BillingCycleRef
Makes billing cycle settings available to a catalog.
-
bundledPopRelationship: array
bundledPopRelationship
Represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship.
-
constraint: array
constraint
Represents a policy or a rule applied to product offering price.
-
description: string
Description of the product offering price.
-
eventCandidate: object
EventCandidateRef
An entity that makes an event specification available to a catalog.
-
href: string
The unique resource URL of the product offering price.
-
id: string
The unique ID of the resource.
-
isBundle: boolean
A flag that indicates whether the price of a product offering is composite (bundle) or not.
-
lastUpdate: string
(date-time)
The last update time of the product offering price.
-
lifecycleStatus: string
The lifecycle status of the product offering price.
-
name: string
Name of the product offering price.
-
percentage: number
(float)
Indicates the percentage to be applied if the product offering price is an alteration (such as a discount).
-
popRelationship: array
popRelationship
Contains the product offering prices related to the particular product offering price. For example, a price alteration such as allowance or discount.
-
price: object
Money
A base or value business entity used to represent money.
-
priceType: string
Allowed Values:
[ "RECURRING", "ONE_TIME", "USAGE", "USAGE_PREPAID", "USAGE_POSTPAID", "ALTERATION", "ALLOWANCE", "OVERAGE", "OVERAGE_PRICE_PLAN", "PENALTY", "ROLLOVER", "ONE_TIME_PRICE_PLAN", "RECURRING_PRICE_PLAN", "USAGE_PRICE_PLAN", "ALTERATION_PRICE_PLAN", "DISTRIBUTION_PRICE_PLAN" ]
A category that describes the price. For example, recurring, discount, allowance, penalty etc. -
pricingLogicAlgorithm: array
pricingLogicAlgorithm
Represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from product characteristic values (such as assigned bandwidth).
-
prodSpecCharValueUse: array
prodSpecCharValueUse
Product offering uses the product specification characteristic value to add additional attributes to override properties of similar values contained in the product specification characteristic value. The corresponding characteristics addressed by this object must exist in the corresponding product specification. The available characteristic values for a product specification characteristic in a product specification can be modified at the product offering price level. The list of values in product specification characteristic value use is a strict subset of the list of values as defined in the corresponding product specification characteristics.
-
productOfferingTerm: array
productOfferingTerm
A list of conditions under which a product offering price is made available to customers. For instance, a product offering price can be offered with multiple commitment periods.
-
recurringChargePeriodLength: integer
Indicates the period of the recurring charge. It sets to zero if it is not applicable.
-
recurringChargePeriodType: string
Allowed Values:
[ "MONTHLY", "BI_MONTHLY", "QUARTERLY", "SEMI_ANNUAL", "ANNUAL", "DAILY" ]
The period to repeat the application of the price. -
rumCandidate: object
RumCandidateRef
An entity that makes a RUM details available to a catalog.
-
tax: array
tax
An amount of money levied on the price of a product by a legislative body.
-
unitOfMeasure: object
Quantity
An amount in a given unit.
-
validFor: object
TimePeriod
A period of time, either as a deadline (endDateTime only), a startDateTime only, or both.
-
version: string
Version of the product offering price.
object
Discriminator Values
Show Source-
discountRules: array
discountRules
-
Filters: array
Filters
-
maxQuantity: string
A maximum quantity of something, typically the total of a thing or things in number, size, value, extent, or money.
-
priceAlteration: array
priceAlteration
-
PricingLogicAlgorithmOracle: array
PricingLogicAlgorithmOracle
-
quantityExpression: object
QuantityExpression
Title:
QuantityExpression
Contains the resource and type of quantity expression.
-
serviceCandidate: object
ServiceCandidateRef
An entity that makes a service specification available to a catalog.
-
taxOracle: array
taxOracle
-
triggers: array
triggers
400 Response
object
-
@baseType: string
Defines the super-class while sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
Defines the sub-class entity name while sub-classing.
-
code(required): string
Application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
HTTP error code extension.
401 Response
object
-
@baseType: string
Defines the super-class while sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
Defines the sub-class entity name while sub-classing.
-
code(required): string
Application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
HTTP error code extension.
404 Response
object
-
@baseType: string
Defines the super-class while sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
Defines the sub-class entity name while sub-classing.
-
code(required): string
Application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
HTTP error code extension.
405 Response
object
-
@baseType: string
Defines the super-class while sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
Defines the sub-class entity name while sub-classing.
-
code(required): string
Application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
HTTP error code extension.
500 Response
object
-
@baseType: string
Defines the super-class while sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
Defines the sub-class entity name while sub-classing.
-
code(required): string
Application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
HTTP error code extension.
Examples
Example 1: Update the Price of a Charge
Note:
The @type in the request payload will be "@type": "ProductOfferingPriceOracle".curl -X PATCH 'http://hostname:port/productCatalogManagement/v4/productOfferingPrice/OT_MultiBI_charge1210'
Example of the Request Body
The following example shows the contents of the request body in JSON format.
{
"@type": "ProductOfferingPriceOracle",
"priceAlteration": [
{
"@type": "POPAlterationOracle",
"price": {
"@type":"ProductPriceValueOracle",
"dutyFreeAmount": {
"unit": "USD",
"value": 200.0
}
}
}
]
}
Example of the Response Body
The following example shows the contents of the response body in JSON format.
{
"atBaseType": "ProductOfferingPrice",
"atType": "ProductOfferingPriceOracle",
"eventCandidate": {
"name": "EventBillingProductFeePurchase"
},
"href": "/productCatalogManagement/v4/productOfferingPrice/OT_MultiBI_charge1210",
"id": "OT_MultiBI_charge1210",
"isBundle": false,
"lastUpdate": "2023-12-01T01:35:06Z",
"lifecycleStatus": "Active",
"name": "OT_MultiBI_charge1210",
"priceType": "ONE_TIME",
"rumCandidate": {
"name": "OCCURRENCE"
},
"validFor": {
"endDateTime": "2023-05-01T00:33:55Z",
"startDateTime": "2023-04-02T00:33:50Z"
},
"version": "1.0",
"priceAlteration": [
{
"atType": "POPAlterationOracle",
"price": {
"atType": "ProductPriceValueOracle",
"dutyFreeAmount": {
"unit": "USD",
"value": 200.0
}
}
}
],
"taxOracle": [
{
"atType": "TaxItemOracle",
"id": "ct_direct",
"taxCategory": "VERTEX_COMMTAX_21",
"taxTime": "BILLING_TIME"
}
]
}
Example 2: Update the Price of a Charge Selector
Note:
The @type in the request payload will be "@type": "ProductOfferingPriceSelectorOracle".The -d option specifies the file to attach as the request body.
curl -X PATCH 'http://hostname:port/productCatalogManagement/v4/productOfferingPrice/ChargeSelectorPop'
Example of the Request Body
The following example shows the contents of the request body in JSON format.
{
"@type": "ProductOfferingPriceSelectorOracle",
"constraint": [
{
"@type": "ConstraintOracle",
"constraintRule": [
{
"name": "Rule1",
"productOfferingPrice": [
{
"@type": "ProductOfferingPriceOracle",
"@baseType": "productOfferingPrice",
"id": "ChargeSelectorRule_1",
"name": "ChargeSelectorRule_1",
"description": "Description of one time Price",
"lastUpdate": "2023-08-04T06:50:17.017Z",
"lifecycleStatus": "Active",
"isBundle": false,
"priceType": "RECURRING",
"recurringChargePeriodType": "MONTHLY",
"recurringChargePeriodLength": 1,
"priceAlteration": [
{
"@type": "POPAlterationOracle",
"unitOfMeasure": {
"amount": 1,
"units": "NONE"
},
"price": {
"@type": "ProductPriceValueOracle",
"dutyFreeAmount": {
"unit": "USD",
"value": 20
}
}
}
],
"validFor": {
"startDateTime": "2023-08-04T06:50:17.017Z",
"endDateTime": "2024-08-04T06:55:17.017Z"
},
"rumCandidate": {
"name": "NONE"
},
"eventCandidate": {
"name": "EventBillingProductFeeCycleCycle_forward_monthly"
}
}
],
"valueRelationship": [
{
"fieldKind": "EVENT_SPEC_FIELD",
"fieldName": "EventBillingProductFeeCycleCycle_forward_monthly.NAME",
"fieldValue": "Sam*",
"operation": "EQUAL_TO",
"separator": ";"
}
]
}
],
"version": "1.0",
"stereoType": "CHARGE_RATE_PLAN_SELECTOR",
"name": "ChargeSelectorPop",
"id": "ChargeSelectorPop"
}
]
}
Example of the Response Body
{
"atBaseType": "ProductOfferingPrice",
"atType": "ProductOfferingPriceSelectorOracle",
"constraint": [
{
"atType": "ConstraintOracle",
"id": "ChargeSelectorPop",
"name": "ChargeSelectorPop",
"version": "1.0",
"constraintRule": [
{
"name": "Rule1",
"productOfferingPrice": [
{
"atBaseType": "productOfferingPrice",
"atType": "ProductOfferingPriceOracle",
"description": "Description of one time Price",
"eventCandidate": {
"name": "EventBillingProductFeePurchase"
},
"id": "ChargeSelRule_1",
"isBundle": false,
"lastUpdate": "2023-08-04T06:50:17.017Z",
"lifecycleStatus": "Active",
"name": "ChargeSelRule_1",
"priceType": "RECURRING",
"recurringChargePeriodLength": 1,
"recurringChargePeriodType": "MONTHLY",
"rumCandidate": {
"name": "NONE"
},
"validFor": {
"endDateTime": "2024-08-04T06:55:17.017Z",
"startDateTime": "2023-08-04T06:50:17.017Z"
},
"priceAlteration": [
{
"atType": "POPAlterationOracle",
"unitOfMeasure": {
"amount": 1.0,
"units": "NONE"
},
"price": {
"atType": "ProductPriceValueOracle",
"dutyFreeAmount": {
"unit": "USD",
"value": 20.0
}
}
}
]
}
],
"valueRelationship": [
{
"fieldKind": "PRODUCT_SPEC_FIELD",
"fieldName": "TelcoGsm.NAME",
"fieldValue": "Sam*",
"operation": "EQUAL_TO",
"separator": ";"
}
]
}
],
"stereoType": "CHARGE_RATE_PLAN_SELECTOR"
}
],
"eventCandidate": {
"name": "EventBillingProductFeePurchase"
},
"href": "/productCatalogManagement/v4/productOfferingPrice/ChargeSelectorPop",
"id": "ChargeSelectorPop",
"isBundle": false,
"lifecycleStatus": "Active",
"name": "ChargeSelectorPop",
"popRelationship": [
{
"atType": "ProductOfferingPriceRelationship",
"id": "ChargeSelRule_1",
"name": "ChargeSelRule_1",
"relationshipType": "COMPOSITE"
}
],
"priceType": "ONE_TIME",
"version": "1.0",
"serviceCandidate": {
"atType": "ServiceCandidateRef",
"id": "TelcoGsm",
"name": "TelcoGsm"
}
}