Create or update an array of pricing logic algorithm specification
https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/pricingLogicAlgorithmSpecifications
Request
There are no request parameters for this operation.
- application/json
array
1
50
-
Array of:
object PricingLogicAlgorithmSpecification
Title:
PricingLogicAlgorithmSpecification
Discriminator:{ "propertyName":"@type", "mapping":{ "PricingLogicAlgorithmSpec":"#/components/schemas/PricingLogicAlgorithmSpecification", "PricingLogicAlgorithmSpecOracle":"#/components/schemas/PricingLogicAlgorithmSpecificationOracle" } }
It is designed to model flexible interface definition in order to provide maximal reuse for existing rating algorithms.
object
PricingLogicAlgorithmSpecification
Discriminator Values
-
@baseType: string
base class type (immediate parent) of the pricing logic algorithm specification.
-
@schemaLocation: string
hyperlink reference to schema describing this object.
-
@type: string
class type of the pricing logic algorithm specification.
-
description: string
A narrative that explains in detail what the pricing logic algorithm specification is.
-
href: string
Reference of the pricing logic algorithm specification.
-
id: string
Maximum Length:
30
Unique identifier of the pricing logic algorithm specification. -
lastUpdate: string
(date-time)
Date and time of the last update
-
lifecycleStatus: string
Used to indicate the current lifecycle status
-
name(required): string
Name of the pricing logic algorithm specification.
-
plaSpecCharacteristic: array
plaSpecCharacteristic
-
targetProductSchema: object
TargetProductSchema
Title:
TargetProductSchema
The reference object to the schema and type of target product which is described by product specification -
validFor: object
TimePeriod
Title:
TimePeriod
The period for which the productOffering is valid -
version: string
Pricing logic algorithm specification version.
array
-
Array of:
object PLASpecCharacteristic
Title:
PLASpecCharacteristic
A characteristic quality or distinctive feature of a PlaSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process.
object
TargetProductSchema
-
@schemaLocation(required): string
This field provides a link to the schema describing the target product
-
@type(required): string
class type of the target product
object
TimePeriod
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime(required): string
(date-time)
An instant of time, starting at the TimePeriod
object
PLASpecCharacteristic
-
@baseType: string
base class type (immediate parent) of the PLASpecCharacteristic
-
@schemaLocation: string
hyperlink reference to the schema describing this characteristic
-
@type: string
the class type of this characteristic
-
@valueSchemaLocation: string
This (optional) field provides a link to the schema describing the value type.
-
configurable: boolean
If true, the Boolean indicates that the PLASpecCharacteristic is configurable
-
description: string
A narrative that explains in detail what the PLASpecCharacteristic is
-
extensible: boolean
An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a product
-
isUnique: boolean
An indicator that specifies if a value is unique for the specification. Possible values are; "unique while value is in effect" and "unique whether value is in effect or not"
-
maxCardinality: integer
The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality
-
minCardinality: integer
The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality
-
name(required): string
Name of the PLASpecCharacteristic
-
plaSpecCharacteristicValue: array
plaSpecCharacteristicValue
-
plaSpecCharRelationship: array
plaSpecCharRelationship
-
regex: string
A rule or principle represented in regular expression used to derive the value of a characteristic value
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party -
valueType: string
Allowed Values:
[ "STRING", "NUMBER", "OBJECT", "ARRAY", "DECIMAL", "BOOLEAN", "DATE", "DATETIME" ]
A kind of value that the characteristic can take on, such as numeric, text and so forth
array
-
Array of:
object PLASpecCharacteristicValue
Title:
PLASpecCharacteristicValue
A number or text that can be assigned to a PLASpecCharacteristic.
array
-
Array of:
object PLASpecCharRelationship
Title:
PLASpecCharRelationship
An aggregation, migration, substitution, dependency or exclusivity relationship between/among PLASpecCharacteristic.
object
TimePeriodOracle
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime: string
(date-time)
An instant of time, starting at the TimePeriod
object
PLASpecCharacteristicValue
-
@baseType: string
base class type (immediate parent) of the PLASpecCharacteristic
-
@schemaLocation: string
Hyperlink reference to schema describing this object
-
@type: string
The class type of the characteristic value
-
isDefault: boolean
Indicates if the value is the default value for a characteristic
-
rangeInterval: string
Allowed Values:
[ "OPEN", "CLOSED", "CLOSED_BOTTOM", "CLOSED_TOP" ]
An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". -
regex: string
Regular expression to define constraint on the allowed value
-
unitOfMeasure: string
Allowed Values:
[ "NONE", "SECOND", "MINUTE", "HOUR", "DAY", "MONTH", "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE", "PAGES", "MOVIES", "TIME_INTERVAL", "QUANTITY", "MBPS", "GBPS" ]
Could be minutes, GB... -
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party -
value(required):
value
A discrete value that the characteristic can take on. the value type is defined by 'valueType' characteristic
-
valueFrom: string
The low range value that a characteristic can take on
-
valueTo: string
The upper range value that a characteristic can take on
-
valueType: string
Allowed Values:
[ "STRING", "NUMBER", "OBJECT", "ARRAY", "DECIMAL", "BOOLEAN", "DATE", "DATETIME" ]
A kind of value that the characteristic can take on, such as numeric, text, and so forth
object
array
object
PLASpecCharRelationship
-
@baseType: string
base class type (immediate parent) of the plaSpecCharRelationship
-
@schemaLocation: string
hyperlink reference to schema describing this object
-
@type: string
Class type of target pla specification
-
charSpecSeq: integer
The order in which a CharacteristicSpecification appears within another CharacteristicSpecification that defines a grouping of CharacteristicSpecifications. For example, a grouping may represent the name of an individual. The given name is first, the middle name is second, and the last name is third.
-
href: string
Hyperlink reference to the target pla specification
-
id(required): string
the identifier of the associated pla specification
-
name(required): string
Name of the target pla specification characteristic
-
relationshipType(required): string
Allowed Values:
[ "AGGREGATION", "MIGRATION", "SUBSTITUTION", "DEPENDENCY", "EXCLUSIVITY" ]
Type of relationship such as aggregation, migration, substitution, dependency, exclusivity -
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party
Response
- application/json
200 Response
array
-
Array of:
object PricingLogicAlgorithmSpecification
Title:
PricingLogicAlgorithmSpecification
Discriminator:{ "propertyName":"@type", "mapping":{ "PricingLogicAlgorithmSpec":"#/components/schemas/PricingLogicAlgorithmSpecification", "PricingLogicAlgorithmSpecOracle":"#/components/schemas/PricingLogicAlgorithmSpecificationOracle" } }
It is designed to model flexible interface definition in order to provide maximal reuse for existing rating algorithms.
object
PricingLogicAlgorithmSpecification
Discriminator Values
-
@baseType: string
base class type (immediate parent) of the pricing logic algorithm specification.
-
@schemaLocation: string
hyperlink reference to schema describing this object.
-
@type: string
class type of the pricing logic algorithm specification.
-
description: string
A narrative that explains in detail what the pricing logic algorithm specification is.
-
href: string
Reference of the pricing logic algorithm specification.
-
id: string
Maximum Length:
30
Unique identifier of the pricing logic algorithm specification. -
lastUpdate: string
(date-time)
Date and time of the last update
-
lifecycleStatus: string
Used to indicate the current lifecycle status
-
name(required): string
Name of the pricing logic algorithm specification.
-
plaSpecCharacteristic: array
plaSpecCharacteristic
-
targetProductSchema: object
TargetProductSchema
Title:
TargetProductSchema
The reference object to the schema and type of target product which is described by product specification -
validFor: object
TimePeriod
Title:
TimePeriod
The period for which the productOffering is valid -
version: string
Pricing logic algorithm specification version.
array
-
Array of:
object PLASpecCharacteristic
Title:
PLASpecCharacteristic
A characteristic quality or distinctive feature of a PlaSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process.
object
TargetProductSchema
-
@schemaLocation(required): string
This field provides a link to the schema describing the target product
-
@type(required): string
class type of the target product
object
TimePeriod
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime(required): string
(date-time)
An instant of time, starting at the TimePeriod
object
PLASpecCharacteristic
-
@baseType: string
base class type (immediate parent) of the PLASpecCharacteristic
-
@schemaLocation: string
hyperlink reference to the schema describing this characteristic
-
@type: string
the class type of this characteristic
-
@valueSchemaLocation: string
This (optional) field provides a link to the schema describing the value type.
-
configurable: boolean
If true, the Boolean indicates that the PLASpecCharacteristic is configurable
-
description: string
A narrative that explains in detail what the PLASpecCharacteristic is
-
extensible: boolean
An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a product
-
isUnique: boolean
An indicator that specifies if a value is unique for the specification. Possible values are; "unique while value is in effect" and "unique whether value is in effect or not"
-
maxCardinality: integer
The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality
-
minCardinality: integer
The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality
-
name(required): string
Name of the PLASpecCharacteristic
-
plaSpecCharacteristicValue: array
plaSpecCharacteristicValue
-
plaSpecCharRelationship: array
plaSpecCharRelationship
-
regex: string
A rule or principle represented in regular expression used to derive the value of a characteristic value
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party -
valueType: string
Allowed Values:
[ "STRING", "NUMBER", "OBJECT", "ARRAY", "DECIMAL", "BOOLEAN", "DATE", "DATETIME" ]
A kind of value that the characteristic can take on, such as numeric, text and so forth
array
-
Array of:
object PLASpecCharacteristicValue
Title:
PLASpecCharacteristicValue
A number or text that can be assigned to a PLASpecCharacteristic.
array
-
Array of:
object PLASpecCharRelationship
Title:
PLASpecCharRelationship
An aggregation, migration, substitution, dependency or exclusivity relationship between/among PLASpecCharacteristic.
object
TimePeriodOracle
-
endDateTime: string
(date-time)
An instant of time, ending at the TimePeriod.
-
startDateTime: string
(date-time)
An instant of time, starting at the TimePeriod
object
PLASpecCharacteristicValue
-
@baseType: string
base class type (immediate parent) of the PLASpecCharacteristic
-
@schemaLocation: string
Hyperlink reference to schema describing this object
-
@type: string
The class type of the characteristic value
-
isDefault: boolean
Indicates if the value is the default value for a characteristic
-
rangeInterval: string
Allowed Values:
[ "OPEN", "CLOSED", "CLOSED_BOTTOM", "CLOSED_TOP" ]
An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". -
regex: string
Regular expression to define constraint on the allowed value
-
unitOfMeasure: string
Allowed Values:
[ "NONE", "SECOND", "MINUTE", "HOUR", "DAY", "MONTH", "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE", "PAGES", "MOVIES", "TIME_INTERVAL", "QUANTITY", "MBPS", "GBPS" ]
Could be minutes, GB... -
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party -
value(required):
value
A discrete value that the characteristic can take on. the value type is defined by 'valueType' characteristic
-
valueFrom: string
The low range value that a characteristic can take on
-
valueTo: string
The upper range value that a characteristic can take on
-
valueType: string
Allowed Values:
[ "STRING", "NUMBER", "OBJECT", "ARRAY", "DECIMAL", "BOOLEAN", "DATE", "DATETIME" ]
A kind of value that the characteristic can take on, such as numeric, text, and so forth
object
array
object
PLASpecCharRelationship
-
@baseType: string
base class type (immediate parent) of the plaSpecCharRelationship
-
@schemaLocation: string
hyperlink reference to schema describing this object
-
@type: string
Class type of target pla specification
-
charSpecSeq: integer
The order in which a CharacteristicSpecification appears within another CharacteristicSpecification that defines a grouping of CharacteristicSpecifications. For example, a grouping may represent the name of an individual. The given name is first, the middle name is second, and the last name is third.
-
href: string
Hyperlink reference to the target pla specification
-
id(required): string
the identifier of the associated pla specification
-
name(required): string
Name of the target pla specification characteristic
-
relationshipType(required): string
Allowed Values:
[ "AGGREGATION", "MIGRATION", "SUBSTITUTION", "DEPENDENCY", "EXCLUSIVITY" ]
Type of relationship such as aggregation, migration, substitution, dependency, exclusivity -
validFor: object
TimePeriodOracle
Title:
TimePeriodOracle
Validity period of the related party
400 Response
array
-
Array of:
object Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "Error":"#/components/schemas/Error", "BulkError":"#/components/schemas/BulkError" } }
401 Response
object
Error
-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list)
-
message: string
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
404 Response
object
Error
-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list)
-
message: string
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
405 Response
object
Error
-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list)
-
message: string
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
500 Response
object
Error
-
@schemaLocation: string
It provides a link to the schema describing a REST resource.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list)
-
message: string
Text that provide more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
Text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
url pointing to documentation describing the error
-
status: string
http error code extension like 400-2
Examples
The following example shows how to create or update an array of pricing logic algorithm specification by submitting a put request on the REST resource using cURL.
cURL Command
curl -u username:password -X PUT https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/pricingLogicAlgorithmSpecifications -H 'Content-Type: application/json' -D @put_plaspecifications_v4.json | json_pp
Example of Request Body
The following shows an example of the request body in JSON format.
[ { "id": "PlaSpec_year_2021_001", "name": "PlaSpec_year_2021_001", "description": "description of plaspec001", "version": "1.0", "@type": "PricingLogicAlgorithmSpecificationOracle", "@baseType": "PricingLogicAlgorithmSpecification", "lifecycleStatus": "In design", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z" }, "project": { "id": "BulkDocProject", "name": "Bulk Doc Project" }, "plaSpecCharacteristic": [ { "name": "Colours123", "description": "Phone Colour", "valueType": "STRING", "configurable": true, "minCardinality": 1, "maxCardinality": 1, "isUnique": true, "extensible": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "plaSpecCharacteristicValue": [ { "isDefault": false, "value": "Gold", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } }, { "isDefault": false, "value": "Blue", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } }, { "isDefault": true, "value": "Yellow", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } } ] } ] }, { "id": "PlaSpec_year_2021_002", "name": "PlaSpec_year_2021_002", "description": "description of plaspec001", "version": "1.0", "@type": "PricingLogicAlgorithmSpecificationOracle", "@baseType": "PricingLogicAlgorithmSpecification", "lifecycleStatus": "In design", "project": { "id": "BulkDocProject", "name": "Bulk Doc Project" }, "plaSpecCharacteristic": [ { "name": "Colours123", "description": "Phone Colour", "valueType": "STRING", "configurable": true, "minCardinality": 1, "maxCardinality": 1, "isUnique": true, "extensible": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "plaSpecCharacteristicValue": [ { "isDefault": false, "value": "Gold", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } }, { "isDefault": false, "value": "Blue", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } }, { "isDefault": true, "value": "Yellow", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" } } ] } ] } ]
Example of Response Body
The following shows an example of the response body in JSON format.
[ { "id": "PlaSpec_year_2021_001", "name": "PlaSpec_year_2021_001", "description": "description of plaspec001", "href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/pricingLogicAlgorithmSpecifications/PlaSpec_year_2021_001", "version": "1.0", "lifecycleStatus": "In design", "@type": "PricingLogicAlgorithmSpecificationOracle", "@baseType": "PricingLogicAlgorithmSpecification", "@schemaLocation": "https://{FusionAppsHost}/CatalogManagement/schema/oracle/PricingLogicAlgorithmSpecificationOracle.yml", "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z" }, "project": { "id": "BulkDocProject", "name": "Bulk Doc Project", "href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/productCatalogManagement/v4/project/BulkDocProject" }, "plaSpecCharacteristic": [ { "name": "Colours123", "description": "Phone Colour", "valueType": "STRING", "extensible": false, "configurable": true, "isUnique": true, "minCardinality": 1, "maxCardinality": 1, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "plaSpecCharacteristicValue": [ { "isDefault": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Gold" }, { "isDefault": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Blue" }, { "isDefault": true, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Yellow" } ] } ] }, { "id": "PlaSpec_year_2021_002", "name": "PlaSpec_year_2021_002", "description": "description of plaspec001", "href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/pricingLogicAlgorithmSpecifications/PlaSpec_year_2021_002", "version": "1.0", "lifecycleStatus": "In design", "@type": "PricingLogicAlgorithmSpecificationOracle", "@baseType": "PricingLogicAlgorithmSpecification", "@schemaLocation": "https://{FusionAppsHost}/CatalogManagement/schema/oracle/PricingLogicAlgorithmSpecificationOracle.yml", "project": { "id": "BulkDocProject", "name": "Bulk Doc Project", "href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/productCatalogManagement/v4/project/BulkDocProject" }, "plaSpecCharacteristic": [ { "name": "Colours123", "description": "Phone Colour", "valueType": "STRING", "extensible": false, "configurable": true, "isUnique": true, "minCardinality": 1, "maxCardinality": 1, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "plaSpecCharacteristicValue": [ { "isDefault": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Gold" }, { "isDefault": false, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Blue" }, { "isDefault": true, "validFor": { "startDateTime": "2020-05-02T16:42:23.0Z", "endDateTime": "2021-07-14T00:00:00.0Z" }, "value": "Yellow" } ] } ] } ]