Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

TMForumAPI

Updated on December 8, 2021

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:


PegaCM-PCFAPI: It hold rules that support to integrate with TMForum Product Catalog 620 API.
PegaCM-PCFAPIData: This contains data model i.e., request and response data structure required TMF620 API as per TMForum standards.

Note: This separate ruleset is created for data model so that systems consuming these API can also utilize the same ruleset on the connector side to do the data mapping; if it is a PEGA application.

 

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*
isSellable*
lifeCycleStatus*
fields*

GET List Product Offering Price SampleResponse

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 :
fields*

GET{id} Product Offering Sample Response

POST

It creates offer in Catalog as expected. Product Offering entity will be created with the details passed in the request json.

POST Product Offering Sample Request

POST Product Offering Sample Response

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.

PATCH Product Offering Sample Request

PATCH Product Offering Price Sample Response

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*
lifeCycleStatus*
fields*

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 :
fields*

GET{id} Product Specification Sample Response

POST

It creates spec in Catalog as expected. Product specification entity will be created with the details passed in the request json.

POST Product Specification Sample Request

POST Product Specification Sample Response

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.

PATCH Product Specification Sample Request

PATCH Product Specification Sample Response

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*
lifeCycleStatus*
fields*

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 :
fields*

GET{id} Product Offering Price Sample Response

 

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.

POST Product Offering Price Sample Request

POST Product Offering Price Sample Response

 

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

PATCH Product Offering Price Sample Request

PATCH Product Offering Price Sample Response

 

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 

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us