TM Forum Open API
Product Catalog Management API
Browse the operator's products, offers and prices
The Product Catalog Management API enables businesses to efficiently manage the entire lifecycle of catalog elements, ensuring that products, offers, and services remain well-organized and accessible across various business functions.
- Product discovery
- Offer pricing
- Catalog sync
What you can do with this API
-
List or find Catalog objects GET
/catalogInputs:
fields,offset,limit -
Creates a Catalog POST
/catalog -
Retrieves a Catalog by ID GET
/catalog/{id}Inputs:
id,fields -
Updates partially a Catalog PATCH
/catalog/{id}Inputs:
id -
Deletes a Catalog DELETE
/catalog/{id}Inputs:
id -
List or find Category objects GET
/categoryInputs:
fields,offset,limit -
Creates a Category POST
/category -
Retrieves a Category by ID GET
/category/{id}Inputs:
id,fields - 48 more operations in the API reference
Read the full API overview
Product Catalog Management API
The Product Catalog Management API enables businesses to efficiently manage the entire lifecycle of catalog elements, ensuring that products, offers, and services remain well-organized and accessible across various business functions.
Key Capabilities
1. Catalog Creation & Maintenance
- Allows businesses to define, structure, and update product catalogs dynamically.
- Supports version control, ensuring catalogs remain up to date with the latest offerings.
2. Product & Offer Management
- Enables creation, modification, and removal of product listings and associated offerings.
- Supports configuration of pricing, descriptions, attributes, and availability details.
3. Integration with Business Processes
- Allows consultation of catalog elements during processes like:
- Ordering – Ensures customers access relevant products during purchase.
- Campaign Management – Supports marketing teams in promoting specific products.
- Sales Management – Helps sales teams offer accurate product details and promotions.
4. Customization & Categorization
- Enables grouping of products based on categories, attributes, and market segments.
- Supports custom pricing strategies and region-specific product offerings.
5. Real-Time Updates & Synchronization
- Ensures that catalog updates are reflected across all integrated systems instantly.
- Helps businesses synchronize product data across e-commerce platforms, CRM, and ERP systems.
6. Advanced Search & Filtering
- Provides search functionalities for users to find products quickly based on attributes or keywords.
- Supports dynamic filtering to refine product selections during browsing.
Use Cases of Product Catalog Management API
- E-Commerce & Online Retail – Ensures seamless product catalog updates across digital storefronts.
- Enterprise Sales & Marketing – Helps businesses manage product offerings for targeted campaigns.
- Subscription-Based Services – Allows customization of subscription models based on catalog items.
- Telecom & Digital Services – Enables structured catalog management for service offerings.
- Wholesale & Distribution – Supports bulk pricing and product catalog segmentation for different markets.
The Product Catalog Management API plays a key role in ensuring catalog consistency, accessibility, and accuracy, allowing businesses to enhance their product lifecycle management and sales operations.
Questions about the Product Catalog Management API
What can I do with the Product Catalog Management API?
The Product Catalog Management API enables businesses to efficiently manage the entire lifecycle of catalog elements, ensuring that products, offers, and services remain well-organized and accessible across various business functions.
- List or find Catalog objects (
GET /catalog) - Creates a Catalog (
POST /catalog) - Retrieves a Catalog by ID (
GET /catalog/{id}) - Updates partially a Catalog (
PATCH /catalog/{id}) - Deletes a Catalog (
DELETE /catalog/{id}) - List or find Category objects (
GET /category) - Creates a Category (
POST /category) - Retrieves a Category by ID (
GET /category/{id}) - Updates partially a Category (
PATCH /category/{id}) - Deletes a Category (
DELETE /category/{id}) - List or find ProductOffering objects (
GET /productOffering) - Creates a ProductOffering (
POST /productOffering) - Retrieves a ProductOffering by ID (
GET /productOffering/{id}) - Updates partially a ProductOffering (
PATCH /productOffering/{id}) - Deletes a ProductOffering (
DELETE /productOffering/{id}) - List or find ProductOfferingPrice objects (
GET /productOfferingPrice) - Creates a ProductOfferingPrice (
POST /productOfferingPrice) - Retrieves a ProductOfferingPrice by ID (
GET /productOfferingPrice/{id}) - Updates partially a ProductOfferingPrice (
PATCH /productOfferingPrice/{id}) - Deletes a ProductOfferingPrice (
DELETE /productOfferingPrice/{id}) - List or find ProductSpecification objects (
GET /productSpecification) - Creates a ProductSpecification (
POST /productSpecification) - Retrieves a ProductSpecification by ID (
GET /productSpecification/{id}) - Updates partially a ProductSpecification (
PATCH /productSpecification/{id}) - Deletes a ProductSpecification (
DELETE /productSpecification/{id}) - List or find ImportJob objects (
GET /importJob) - Creates a ImportJob (
POST /importJob) - Retrieves a ImportJob by ID (
GET /importJob/{id}) - Deletes a ImportJob (
DELETE /importJob/{id}) - List or find ExportJob objects (
GET /exportJob) - Creates a ExportJob (
POST /exportJob) - Retrieves a ExportJob by ID (
GET /exportJob/{id}) - Deletes a ExportJob (
DELETE /exportJob/{id}) - Register a listener (
POST /hub) - Unregister a listener (
DELETE /hub/{id}) - Client listener for entity CatalogCreateEvent (
POST /listener/catalogCreateEvent) - Client listener for entity CatalogAttributeValueChangeEvent (
POST /listener/catalogAttributeValueChangeEvent) - Client listener for entity CatalogStateChangeEvent (
POST /listener/catalogStateChangeEvent) - Client listener for entity CatalogDeleteEvent (
POST /listener/catalogDeleteEvent) - Client listener for entity CatalogBatchEvent (
POST /listener/catalogBatchEvent) - Client listener for entity CategoryCreateEvent (
POST /listener/categoryCreateEvent) - Client listener for entity CategoryAttributeValueChangeEvent (
POST /listener/categoryAttributeValueChangeEvent) - Client listener for entity CategoryStateChangeEvent (
POST /listener/categoryStateChangeEvent) - Client listener for entity CategoryDeleteEvent (
POST /listener/categoryDeleteEvent) - Client listener for entity ProductOfferingCreateEvent (
POST /listener/productOfferingCreateEvent) - Client listener for entity ProductOfferingAttributeValueChangeEvent (
POST /listener/productOfferingAttributeValueChangeEvent) - Client listener for entity ProductOfferingStateChangeEvent (
POST /listener/productOfferingStateChangeEvent) - Client listener for entity ProductOfferingDeleteEvent (
POST /listener/productOfferingDeleteEvent) - Client listener for entity ProductOfferingPriceCreateEvent (
POST /listener/productOfferingPriceCreateEvent) - Client listener for entity ProductOfferingPriceAttributeValueChangeEvent (
POST /listener/productOfferingPriceAttributeValueChangeEvent) - Client listener for entity ProductOfferingPriceStateChangeEvent (
POST /listener/productOfferingPriceStateChangeEvent) - Client listener for entity ProductOfferingPriceDeleteEvent (
POST /listener/productOfferingPriceDeleteEvent) - Client listener for entity ProductSpecificationCreateEvent (
POST /listener/productSpecificationCreateEvent) - Client listener for entity ProductSpecificationAttributeValueChangeEvent (
POST /listener/productSpecificationAttributeValueChangeEvent) - Client listener for entity ProductSpecificationStateChangeEvent (
POST /listener/productSpecificationStateChangeEvent) - Client listener for entity ProductSpecificationDeleteEvent (
POST /listener/productSpecificationDeleteEvent)
Which inputs does each call to the Product Catalog Management API need?
GET /catalog/{id}: requiresidPATCH /catalog/{id}: requiresidDELETE /catalog/{id}: requiresidGET /category/{id}: requiresidPATCH /category/{id}: requiresidDELETE /category/{id}: requiresidGET /productOffering/{id}: requiresidPATCH /productOffering/{id}: requiresidDELETE /productOffering/{id}: requiresidGET /productOfferingPrice/{id}: requiresidPATCH /productOfferingPrice/{id}: requiresidDELETE /productOfferingPrice/{id}: requiresidGET /productSpecification/{id}: requiresidPATCH /productSpecification/{id}: requiresidDELETE /productSpecification/{id}: requiresidGET /importJob/{id}: requiresidDELETE /importJob/{id}: requiresidGET /exportJob/{id}: requiresidDELETE /exportJob/{id}: requiresidDELETE /hub/{id}: requiresid
Every call also needs Authorization: Bearer <access_token>. The API reference on this page shows each field's type and an example request.
Which errors can the Product Catalog Management API return?
- 400: Bad Request
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found
- 405: Method Not allowed
- 409: Conflict
- 500: Internal Server Error
On 401, request a new access token and retry.
Where is the Product Catalog Management API available?
Product Catalog Management is available in Algeria, Kuwait, Maldives, Oman, Palestine and Tunisia.
Which standard does the Product Catalog Management API follow?
It follows the TM Forum Open API standard used across the telecom industry. See our TM Forum certification page.
Sample call
From the published OpenAPI specification. Replace the placeholders with your app's credentials and real values.
Call the API
curl -X GET https://api.ooredoo.com/tmf-api/productCatalogManagement/v1/catalog \
-H "Authorization: Bearer $ACCESS_TOKEN"API reference
Try any endpoint in the sandbox