Catalog Resource Mappings
Before using the TMF620 catalog resource mappings, refer the following.
- The ids and names sent in the subResource (category / relatedParty) must be present in the system to create a new relationship.
- The names of the catalogs are unique when patching. Ensure that
namefield remains unique in the PATCH request. - Creation of
hrefin the response body is not supported. - Catalog code field is populated with same value as catalog name by replacing all the spaces present in the catalog name.
- There is only one entity in the RelatedParty array.
- Fields
name,idandroleare used to find the matching related party. - If there exists a Catalog in database with catalog code matching the
nameattribute (after replacing the spaces from name) or if there exists a Catalog in database with Catalog code matching the value coming inCatalogCode__cmapping, then these will result in failure of POST API as these catalogs are already present in the database. - Assigning of default PriceList to a catalog is implemented through a separate Data Mapper (VPL-TMForumGetDefaultPriceList). This DR is invoked when the TMFTMForumCreateCatalog VIP is invoked. Implementation teams can change the functionality of the DR to assign a different PriceList value.
- The CreateCatalog POST API can also handle creation of multiple catalogs when invoked from the category resource.
- The
@typeattribute from the request is used to differentiate between catalog request and category request. Absence of this attribute in the request will result in failure of the POST API.
| TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
|---|---|---|---|---|---|---|
| href | string | Specifies a unique reference of the catalog. | TMF Catalog URL + vlocity_cmt__Catalog__c.Id | Specifies the GET URL of the TMF catalog that ends with the ID field. | No | NA |
| id | string | Specifies a unique identifier of the catalog. | vlocity_cmt__GlobalKey__c | Unique identifier of the catalog. | No | NA |
| description | string | Describes the catalog. | vlocity_cmt__Description__c | Describes the catalog. | No | NA |
| lifecycleStatus | string | Specifies the current lifecycle status. | vlocity_cmt__IsActive__c | Specifies if the catalog is active. Values for lifecycleStatus are Active and Inactive. | No | NA |
| name | string | Required. Specifies the name of the catalog. | Name | Specifies the name of the catalog. | Yes | The catalog name must be unique in the Salesforce org. |
| validFor - startDateTime/endDateTime | object | Specifies the period for which the catalog is valid. | vlocity_cmt__StartDateTime__c/vlocity_cmt__EndDateTime__c | Specifies the validity of the catalog. | No | NA |
| relatedParty | array | Defines a party or party role that's linked to a specific entity. | vlocity_cmt__VendorAccount__c | Specifies the field that's derived from the vendor column of the catalog object. | No | Use an existing account. |
| @type | string | Defines the subclass extensible name when subclassing. | Resource name (Catalog) | The @type attribute differentiates between the catalog and category request and doesn't have a direct mapping in Salesforce. | Yes | NA |
| isRoot | boolean | If true, this indicates that the catalog is a root of catalog. | vlocity_cmt__IsCatalogRoot__c | Specifies if the parent catalog is root catalog or child catalog. | No | NA |
| TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
|---|---|---|---|---|---|---|
| name | string | Specifies the name of the related party. | Name | Specifies the name of the account. | No | NA |
| href | string | Specifies the hyperlink reference of the related party. | TMF Account URL + Account.Id | Specifies the GET URL of the TMF catalog that ends with the ID field. | No | NA |
| id | string | Specifies the unique identifier of the related party. | Account.AccountNumber | Specifies the external ID for the specified account. | Yes | Use an existing account. |
| role | string | Specifies the role played by the related party. | Account.RecordType.Name | Specifies the record type of the account. | No | Use an existing account. |
| @referredType | string | Specifies the actual type of the target instance when needed for disambiguation. | Schema object name (Account) | Specifies that the sObject type is Account. | No | NA |
| @type | string | Defines the subclass extensible name when subclassing. | JSON representation type (RelatedParty) | Specifies the vendor account. | No | NA |
| TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
|---|---|---|---|---|---|---|
| name | string | Specifies the name of the Category. | Name | Specifies the name of the account. | No | NA |
| href | string | Specifies the hyperlink reference of the category. | TMF Category URL + vlocity_cmt__Catalog__c.ID | Specifies the GET URL of the TMF catalog that ends with the ID field. | No | NA |
| id | string | Specifies the unique identifier of the category. | vlocity_cmt__Catalog__c.vlocity_cmt__GlobalKey__c | Specifies the external ID for the specified account. | Yes | NA |
| @referredType | string | Specifies the actual type of the target instance when needed for disambiguation. | vlocity_cmt__Catalog__c | Specifies that the sObject type is Account. | No | NA |
| @type | string | Defines the subclass extensible name when subclassing. | JSON representation type (CategoryRef) | Specifies the category reference. | No | NA |