A Inbound Communications Reference
Learn about the inbound requests that PDC REST Services Manager accepts from your enterprise product catalog. These requests are notification events that contain the complete definition of the product offering or product offering price objects.
PDC REST Services Manager accepts the following inbound event notifications:
ProductOfferingCreateEvent
The TMF 620 ProductOfferingCreateEvent event is sent by an enterprise product catalog to PDC REST Services Manager to create charge offers in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingCreateEvent
Method
POST
Sample ProductOfferingCreateEvent JSON Payload
{
"eventId":"00004",
"eventTime":"2025-11-16T16:42:25-04:00",
"eventType":"ProductOfferingCreateEvent",
"event":{
"productOffering":{
"@type": "ProductOffering",
"@schemaLocation": "/catalogManagement/Oracle/Schema/Oracle.ProductOffering.yml",
"id": "productOffering_4321",
"name": "Product Offering 4321",
"description": "A product with a one-time charge and a discount",
"href": "/mobile/custom/catalogManagement/productOffering/productOffering_4321",
"isSellable": true,
"validFor": {
"startDateTime": "2025-11-15T16:42:25-04:00",
"endDateTime": "2025-12-16T16:42:25-04:00"
},
"lastUpdate": "2025-11-16T16:42:25-04:00",
"lifecycleStatus": "Launch",
"isBundle": false,
"version": "1.0",
"serviceCandidate": {
"@type": "ServiceCandidateRef",
"id": "98765",
"href": "/mobile/custom/catalogManagement/serviceSpecification/98765",
"name": "Mobile Service"
},
"productOfferingPrice": [
{
"@type": "ProductOfferingPrice",
"id": "popOOO_1234",
"name": "ProductOfferingPrice1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234"
},
{
"@type": "ProductOfferPriceAlteration",
"id": "popRBMdp_6543_Discount",
"name": "Discount6543",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popRBMdp_6543_Discount"
}
]
}
}
}
}
ProductOfferingAttributeValueChangeEvent
The TMF 620 ProductOfferingAttributeValueChangeEvent event is sent by an enterprise product catalog to PDC REST Services Manager to update attributes on charge offers in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingAttributeValueChangeEvent
Method
POST
Sample ProductOfferingAttributeValueChangeEvent JSON Payload
The ProductOfferingAttributeValueChangeEvent payload must contain the full definition of the object being updated, not just the changed attributes.
This sample shows the same definitions as for the ProductOfferingCreateEvent, but the values for the name, description, and version attributes are changed.
{
"eventId":"00005",
"eventTime":"2025-11-16T16:42:25-04:00",
"eventType":"ProductOfferingAttributeValueChangeEvent",
"event":{
"productOffering":{
"@type": "ProductOffering",
"@schemaLocation": "/catalogManagement/Oracle/Schema/Oracle.ProductOffering.yml",
"id": "productOffering_4321",
"name": "A Nice Product Offering",
"description": "A nice product with a one-time charge and a discount",
"href": "/mobile/custom/catalogManagement/productOffering/productOffering_4321",
"isSellable": true,
"validFor": {
"startDateTime": "2025-11-15T16:42:25-04:00",
"endDateTime": "2025-12-16T16:42:25-04:00"
},
"lastUpdate": "2025-11-16T16:42:25-04:00",
"lifecycleStatus": "Launch",
"isBundle": false,
"version": "2.0",
"serviceCandidate": {
"@type": "ServiceCandidateRef",
"id": "98765",
"href": "/mobile/custom/catalogManagement/serviceSpecification/98765",
"name": "Mobile Service"
},
"productOfferingPrice": [
{
"@type": "ProductOfferingPrice",
"id": "popOOO_1234",
"name": "ProductOfferingPrice1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234"
},
{
"@type": "ProductOfferPriceAlteration",
"id": "popRBMdp_6543_Discount",
"name": "Discount6543",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popRBMdp_6543_Discount"
}
]
}
}
}
}
ProductOfferingStateChangeEvent
The TMF 620 ProductOfferingCreateEvent event is sent by an enterprise product catalog to PDC REST Services Manager to change the lifecycle state of charge offers in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingStateChangeEvent
Method
POST
Sample ProductOfferingStateChangeEvent JSON Payload
The ProductOfferingStateChangeEvent payload does not need to contain the entire ProductOffering definition. PDC REST Services Manager uses the @type, id, name, href, and lifecycleStatus attributes to identify the correct charge offer and update the status.
{
"eventId":"00006",
"eventTime":"2025-11-16T16:42:25-04:00",
"eventType":"ProductOfferingStateChangeEvent",
"event":{
"productOffering":{
"@type": "ProductOffering",
"id": "productOffering_4321",
"name": "Product Offering 4321",
"href": "/mobile/custom/catalogManagement/productOffering/productOffering_4321",
"lifecycleStatus": "Retired",
}
}
}
}
ProductOfferingPriceCreateEvent
The TMF 620 ProductOfferingPriceCreateEvent event is sent by an enterprise product catalog to PDC REST Services Manager to create charges in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingPriceCreateEvent
Method
POST
Sample ProductOfferingPriceCreateEvent JSON Payload
{
"eventId":"00001",
"eventTime":"2025-11-16T16:42:25-04:00",
"eventType":"ProductOfferingPriceCreateEvent",
"event":{
"productOfferingPrice":{
"@type": "ProductOfferingPrice",
"@baseType": "ProductOfferingPrice",
"id": "popOOO_1234",
"name": "ProductOfferingPrice1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234",
"@schemaLocation": "/catalogManagement/Oracle/Oracle.ProductOfferingPrice.yml",
"description": "A one-time fee",
"version": "1.0",
"isBundle": false,
"discountable": false,
"billOnPurchase": false,
"priceType": "ONE_TIME_PRICE_PLAN",
"price": {
"unit": "USD",
"value": 100.00
},
"popRelationship": [
{
"@type": "PopRelationship",
"id": "popOOO_1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234",
"name": "ProductOfferingPrice1234",
"relationshipType": "DISCOUNT"
}
],
"tax": [
{
"@type": "TaxItemOracle",
"taxCategory": "US",
"taxTime": "BILLING_TIME",
"taxCode": "cycle",
"taxAmount": {
"unit": "USD",
"value": 0
},
"taxRate": 0,
"taxProvider": "Provider1"
}
],
"validFor": {
"startDateTime": "2025-11-16T16:42:25-04:00",
"endDateTime": "2025-12-16T16:42:25-04:00"
},
"lifecycleStatus": "Launch"
}
}
}
ProductOfferingPriceAttributeValueChangeEvent
The TMF 620 ProductOfferingPriceAttributeValueChangeEvent event is sent by an enterprise product catalog to PDC REST Services Manager to update attributes on charges in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingPriceAttributeValueChangeEvent
Method
POST
Sample ProductOfferingPriceAttributeValueChangeEvent JSON Payload
The ProductOfferingPriceAttributeValueChangeEvent payload must contain the full definition of the object being updated, not just the changed attributes.
This sample shows the same definitions as for the ProductOfferingPriceCreateEvent, but the values for the version and discountable attributes are changed.
{
"eventId":"00002",
"eventTime":"2025-11-16T16:42:25-04:00",
"eventType":"ProductOfferingPriceAttributeValueChangeEvent",
"event":{
"productOfferingPrice":{
"@type": "ProductOfferingPrice",
"@baseType": "ProductOfferingPrice",
"id": "popOOO_1234",
"name": "ProductOfferingPrice1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234",
"@schemaLocation": "/catalogManagement/Oracle/Oracle.ProductOfferingPrice.yml",
"description": "A one-time fee",
"version": "2.0",
"isBundle": false,
"discountable": false,
"billOnPurchase": false,
"priceType": "ONE_TIME_PRICE_PLAN",
"price": {
"unit": "USD",
"value": 75.00
},
"popRelationship": [
{
"@type": "PopRelationship",
"id": "popOOO_1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234",
"name": "ProductOfferingPrice1234",
"relationshipType": "DISCOUNT"
}
],
"tax": [
{
"@type": "TaxItemOracle",
"taxCategory": "US",
"taxTime": "BILLING_TIME",
"taxCode": "cycle",
"taxAmount": {
"unit": "USD",
"value": 0
},
"taxRate": 0,
"taxProvider": "Provider1"
}
],
"validFor": {
"startDateTime": "2025-11-16T16:42:25-04:00",
"endDateTime": "2025-12-16T16:42:25-04:00"
},
"lifecycleStatus": "Launch"
}
}
}
ProductOfferingPriceStateChangeEvent
The TMF 620 ProductOfferingPriceStateChangeEvent event is sent by an enterprise product catalog to PDC REST Services Manager to change the lifecycle state of charges in PDC.
Endpoint
/productCatalogManagement/v1/listener/ProductOfferingPriceStateChangeEvent
Method
POST
Sample ProductOfferingPriceStateChangeEvent JSON Payload
The ProductOfferingPriceStateChangeEvent payload does not need to contain the entire ProductOfferingPrice definition. PDC REST Services Manager uses the @type, id, name, href, and lifecycleStatus attributes to identify the correct charge and update the status.
{
"eventId": "00003",
"eventTime": "2025-11-16T16:42:25-04:00",
"eventType": "ProductOfferingPriceStateChangeEvent",
"event": {
"productOfferingPrice": {
"@type": "ProductOfferingPrice",
"@baseType": "ProductOfferingPrice",
"id": "popOOO_1234",
"name": "ProductOfferingPrice1234",
"href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_1234",
"lifecycleStatus": "Retired"
}
}
}
ProjectPublish
The ProjectPublish event is sent by an enterprise product catalog to PDC REST Services Manager to notify PDC that a project has been published, and product offerings are available to be queried.
Endpoint
/productCatalogManagement/v1/projectPublishEvent
Method
POST
Sample ProductOfferingCreateEvent JSON Request Body
{
"id": "{{$guid}}",
"eventId": "{{$guid}}",
"eventTime": "{{EVENT_TIME}}",
"eventType": "projectPublishEvent",
"correlationId": "{{$guid}}",
"domain": "productCatalogManagement",
"timeOcurred": "{{TIME_OCURRED}}",
"event": {
"project": {
"id": "{{PROJECT_ID}}",
"lifecycleStatus": "{{LIFECYCLE_STATUS}}",
"name": "{{PROJECT_ID}}",
"acknowledgementUrl": "{{ACKNOWLEDGEMENT_URL}}",
"projectItems": [
{
"id": "OOO_{{INSTANCE_ID}}_OOO",
"href": "{{ECC_MOCK}}/OOO_{{INSTANCE_ID}}_OOO",
"name": "OOO_{{INSTANCE_ID}}_OOO",
"version": "1.0",
"@referredType": "ProductOfferingOracle"
}
]
}
}
}
Sample Response
Status: 201
description: received for the processing
ProductOffering/{Name}
The TMF 620 ProductOffering request is sent by an enterprise product catalog to PDC REST Services Manager to retrieve a charge offer.
Endpoint
/productCatalogManagement/v4/productOffering/{name}
Method
GET
Sample JSON Payload Returned by PDC REST Services Manager
{
"atBaseType": "ProductOffering",
"atType": "ProductOffering",
"description": "ChargeOffer2",
"href": "/productCatalogManagement/v1/productOffering/ChargeOffer2",
"id": "ChargeOffer2",
"isBundle": false,
"isSellable": false,
"lifecycleStatus": "In design",
"name": "ChargeOffer2",
"productOfferingPrice": [
{
"atType": "ProductOfferingPriceRef",
"href": "/productCatalogManagement/v1/productOfferingPrice/ChargeOffer2pp",
"id": "ChargeOffer2pp",
"name": "ChargeOffer2pp"
}
],
"serviceCandidate": {
"atReferredType": "ServiceCandidate",
"atType": "ServiceCandidateRef",
"id": "TelcoGsm",
"name": "TelcoGsm"
},
"validFor": {
"startDateTime": "2022-07-14T00:00:00Z"
},
"version": "1.0"
}
ProductOfferingPrice/{Name}
The TMF 620 ProductOfferingPrice request is sent by an enterprise product catalog to PDC REST Services Manager to retrieve a charge offer price entity by name.
Endpoint
/productCatalogManagement/v4/productOfferingPrice/{name}
Method
GET
Sample Returned JSON Payload
This shows a sample JSON payload returned for a one-time charge offer with a price tag.
{
"atBaseType": "ProductOfferingPrice",
"atType": "ProductOfferingPriceOracle",
"href": "productCatalogManagement/v4/productOfferingPrice/priceTagOneTimePOP",
"id": "priceTagOneTimePOP",
"isBundle": false,
"name": "priceTagOneTimePOP",
"priceType": "ONE_TIME",
"validFor": {},
"version": "1.0",
"priceAlteration": [
{
"atType": "POPAlterationOracle",
"id": "priceTagOneTimePOP_BI_1",
"name": "priceTagOneTimePOP_BI_1",
"price": {
"dutyFreeAmount": {
"unit": "USD",
"value": 1000.0
},
"priceTag": {
"attributeName": "price",
"description": "PT_Set_1000",
"tagName": "PT_Set_1000",
"tagScope": "EVENT_PROFILE"
}
},
"priceType": "ONE_TIME"
}
]
}
Sample Returned JSON Payload
This shows a sample JSON payload returned for a recurring charge offer pricing entity with a tax code.
{
"atBaseType": "ProductOfferingPrice",
"atType": "ProductOfferingPriceOracle",
"href": "productCatalogManagement/v4/productOfferingPrice/charge-2",
"id": "charge-2",
"isBundle": false,
"name": "charge-2",
"priceType": "RECURRING",
"recurringChargePeriodLength": 1,
"recurringChargePeriodType": "BI_MONTHLY",
"tax": [
{
"id": "VAT",
"taxCategory": "CUSTOM",
"taxRate": 5.0
}
],
"validFor": {
"endDateTime": "2038-01-01T00:00:00Z",
"startDateTime": "1970-01-01T00:00:00Z"
},
"version": "1.0",
"priceAlteration": [
{
"atType": "POPAlterationOracle",
"price": {
"dutyFreeAmount": {
"unit": "USD",
"value": 200.0
}
}
}
]
}