---
schema_version: "1"
id: 692db1f127df682d46669698e15f1c1e94d650cb57bcba071cec2a13dc20a9af
title: Extensibility for TMF637 v4 Product Inventory Management API
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/guides/Extensibility/TMF637_extensibility.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/guide/TMF637_extensibility.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 168143e3134afe4d9efa3767e08eb4e6c40b7579384cef1dd27e0a975f3c32ba
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
# Extensibility for TMF637 v4 Product Inventory Management API

For the TMF637 API, extensibility is enabled through Apex lifecycle hooks and customizable GraphQL queries, allowing customers to adjust request and response payloads without compromising TMF compliance.
Pre-hooks validate or reshape incoming requests, and post-hooks refine or filter responses for GET (list and retrieve) operations.

- Extend the main entity with additional fields
- Map a field from a different or related entity
- Customize WHERE clauses at the main entity level
- Customize WHERE clauses at the sub-resource level
- Apply sorting (ORDER BY) on main and sub-resource results
  **important:** - For access methods, prerequisites, and using the API, see [TMF637 v4 Product Inventory Management API](https://developer.salesforce.com/docs/industries/communications/TMF637/TMF637.md).

## Assumptions

The customer or integrator implements the pre-hook and post-hook Apex classes and customizes the GraphQL queries based on the provided interfaces and hooks.

## Interfaces and Hooks

The following table lists interfaces and corresponding lifecycle hooks supported for customizing the TMF637 operations.

| Interface Name                 | Hooks Supported                                                                                                            | Pre-processing Capabilities <div style="width:290px"></div>            | GraphQL / Payload Customization <div style="width:290px"></div> | Post-processing Capabilities <div style="width:290px"></div> |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ |
| IProductInventoryManagementGET | `resolveApexClassName`<br>`transformRequest`<br>`applyCustomValidations`<br>`customiseGraphQLQuery`<br>`setUpdatedPayload` | Validate permissions, enforce access rules, apply business validations | Modify GraphQL query fields, filters, transformations           | Refine or enrich API responses                               |
