TMForumAPI
Pega product catalog is certified on TMForum Product Catalog Management API (TMF 620). Pega product catalog provides GET, POST, PATCH, and DELETE API methods for Product Offering, Product Specification and Product Offering Price entities.
The benefits of TMForum APIs are
- Standard interface to integrate with product catalog
- Reduces time to launch partners’ services and products
- Reduces time to market (TTM) for new products and services
- Reduces time to implement
For more details about TMForum visit TMForum Home and API page TMForum APIs.
The dedicated Service Package for TMForum API’s is productCatalogManagement. The input request and output response format for each API is as per JSON structure defined for TMForum Specification guide v4.1.0. The error codes were also defined as per TMF Specification guide. For details, see the TM Forum Specification document.
The Rulesets that hold TMForumAPI entities are:
It hold rules that support to integrate with TMForum Product Catalog 620 API.
This contains data model i.e., request and response data structure required TMF620 API as per TMForum standards.
Catalog Entity | API Operation | Description | Request | Response |
Product Offering | GET List | It retrieves list of all Product Offering entities present in the system | In URL few filters were passed as Query string parameters to limit the response data. They are: isBundle* | |
GET{id} | It retrieves details of single Product offering. No offer would be returned if Offer is in Resolved-Complete state | The PO entity id whose details need to be retrieved will be passed as input through path parameter in URL. In URL few filters were passed as Query string parameters to limit the response data They are : | ||
POST | It creates offer in Catalog as expected. Product Offering entity will be created with the details passed in the request json. | |||
PATCH | It updates existing entity in the system with details passed in the input request. If the entity is already in published state, then it creates new version. The id of the entity which is being updated needs to be passed in the path parameter of the URL. The data that needs to be updated will be passed in the input request. | |||
DELETE | Delete Product Offering API actually deletes offer in Catalog as expected. This offer may be published or unpublished. Delete here actually means moving Work object to Resolved-Completed state | The entity id needs to be passed in the path parameter of the URL while performing this operation. | ||
Product Specification | GET List | It will retrieve list of all Product Spec entities present in the system | In URL few filters were passed as Query string parameters to limit the response data.They are : isBundle* | GET List Product Specification Sample Response The no. of entities in the response is limited to 50 for better performance. This limit can be updated in GetProductSpecifications Report definition, under Data Access tab. This report definition is an Extension point in the application.
|
GET{id} | It retrieves details of single Product specification. No entity is returned if spec is in Resolved-Complete state | The PS entity id whose details need to be retrieved will be passed as input through path parameter in URL. In URL few filters were passed as Query string parameters to limit the response data They are : | ||
POST | It creates spec in Catalog as expected. Product specification entity will be created with the details passed in the request json. | |||
PATCH | It updates existing entity in the system with details passed on the input request. If the entity is already in published state, then it creates new version. The id of the entity which is being updated needs to be passed in the path parameter of the URL. The data that needs to be updated will be passed in the input request. | |||
DELETE | Delete Product Specification API deletes specification in Catalog as expected. This spec may be published or unpublished. Delete here means moving Work object to Resolved-Completed state | The entity id needs to be passed in the path parameter of the URL while performing this operation | ||
Product Offering Price | GET List | It will retrieve list of all Pricing entities present in the system | In URL few filters were passed as Query string parameters to limit the response data.They are : isBundle* | GET List Product Offering Sample Response The no. of entities in the response is limited to 50 for better performance. This limit can be updated in FetchProductOfferingPrices Report definition, under Data Access tab. This report definition is an Extension point in the application. |
GET{id} | It retrieves details of single Product offering price. No entity is returned if Pricing entity is in Resolved-Complete state | The Product Offering Price entity id whose details need to be retrieved will be passed as input through path parameter in URL. In URL few filters were passed as Query string parameters to limit the response data They are : | ||
POST | Create Product offering price API creates pricing entity in Catalog as expected. Product Offering Price entity will be created with the details passed in the request json. | |||
PATCH | It updates existing Product offering price entity in the system with details passed on the input request. If the entity is already in published state, then it creates new version. The id of the entity which is being updated needs to be passed in the path parameter of the URL. The data that needs to be updated will be passed in the input request | |||
DELETE | Delete Product offering price API deletes pricing entity in Catalog as expected. This product offering price entity may be published or unpublished. Delete here actually means moving Work object to Resolved-Completed state.
| The entity id needs to be passed in the path parameter of the URL while performing this operation. |
API Parameters:
Parameter | Allowed List of Values | Description |
isBundle | true | Retrieves bundle entities |
false | Retrieves simple entities | |
isSellable | true | Retrieves sellable entities |
false | Retrieves non-sellable entities | |
lifeCycleStatus | Available now (For PO) | Retrieves entities with status Available now |
Expired (For PO) | Retrieves entities with status Expired | |
Coming soon (For PO) | Retrieves entities with status Coming soon | |
Active (For PS and PE) | Retrieves entities with status Active | |
In Active (For PS and PE) | Retrieves entities with status InActive | |
Planned (For PS and PE) | Retrieves entities with status Planned | |
fields | Comma separated property names of TMForum need to be passed. | Retrieves entities with values of properties that were passed in fields filter |
TMForum API Extension points
These APIS can readily be used by customers. Extension points are provided so that if there is any business requirementto add additional name/value pair in response and business logic, they can use them.
Rule name | Applies to class | Ruleset | Comments |
GetAllProductOfferingsExt | PegaComm-API-ProductCatalog |
PegaCM-PCFAPI | Can be extended to add more properties in Product Offering response |
GetAllProductSpecificationsExt | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Can be extended to add more properties in Product Specification response |
GetAllProductOfferingPricesExt | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Can be extended to add more properties in Product Offering Price response |
ValidateDeletePOIDExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point for customization of ValidateDeletePOID DT functionality. |
ValidateDeletePEIdExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point for additional customization in validation of delete price id functionality. |
ValidateDeletePSIDExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point for additional customization in validation of delete spec id functionality. |
SetPEPeriodType | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point Decision table for adding new recurring Charge period Type’s |
SetPriceUnitExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point Decision table where different operator locales and currency symbols can be added |
GetProductSpecifications | PegaComm-FW-PCFW-Work-ProductSpecification | PegaCM-PCFAPI | Extension point RD where max records to retrieve can be override |
FetchProductOfferingPrices | PegaComm-FW-PCFW-Work-PriceEntity | PegaCM-PCFAPI | Extension point RD where max records to retrieve can be override |
GeneratePEStructureExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point DT to generate Pricing Entity work page clipboard with TMF Request of Product Offering price |
GeneratePSStructureExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point DT to generate Product Specification work page clipboard with TMF Request of Product Specification |
POPricePatchRequestMappingExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point DT for price patch api to map request |
POPriceResponseMappingExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point DT for Product offering price response mapping |
ProductSpecResponseMappingExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point DT for Product Specification response mapping |
SetDefaultProperties | PegaComm-FW-PCFW-Work-ProductSpecification | PegaCM-PCFAPI | Extension point DT to Set default values for fields in catalog for product specification resource that are not supported by TMF |
SetDefaultProperties | PegaComm-FW-PCFW-Work-ProductOffering | PegaCM-PCFAPI | Extension point DT to Set Hardcoded values for mandatory fields in catalog for Product offering resource which are not supported by TMF |
SetDefaultProperties | PegaComm-FW-PCFW-Work | PegaCM-PCFAPI | Used in CreateNewEntity activity to set default values for Product offering/ Specification/Pricing entity as a placeholder DT |
UpdateSpecWorkPageExtn | PegaComm-API-ProductCatalog | PegaCM-PCFAPI | Extension point for UpdateSpecWorkPage DT used in PATCH ProductSpecification API |
CopyWorkPageLevelProperties | PegaComm-FW-PCFW-Work-ProductSpecification | PegaCM-PCFAPI | Extension point DT to Copy work page level properties to actual work page |
CopyWorkPageLevelProperties | PegaComm-FW-PCFW-Work | PegaCM-PCFAPI | Used in CreateNewEntity activity to copy work page level properties for offer/spec/pricing object as a placeholder |