| I want to | Request Type | Example URL |
|---|---|---|
| Retrieve and display details of a requested catalog | GET by ID | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}<br><br>NOTE:<br>For invalid catalog ID, you will receive HTTP 404 error. |
| Based on the provided field values, retrieve and display details of a particular catalog ID. | GET by ID and Fields | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}?fields=name,id<br> |
| List all the catalogs present in the system. | GET List | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog |
| List all the catalogs present in the system based on the provided field values. | GET List with Fields | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?name=Cloud Services T |
| List all the catalogs present in the inventory based on the provided field values and filter applied. | GET List by Fields and Filtering | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?fields=isRoot,name,id&name=Catalog+Wholesale+Business |
| Limit the number of catalogs to a maximum of specified limit and<br>display results from the page specified by an offset. | GET List by limit and offset | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?lisRoot=true&fields=lifecycleStatus,name&limit=3&offset=2<br> |
| Create a catalog | POST | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog<br> |
| Update a catalog | PATCH | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID} |
| Delete a catalog | DELETE | {https<nolink>://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}<br> |
GET by ID
Consider you want to retrieve details of a catalog from the inventory. For example, catalog ID = 7cc8a363-51ab-2413-7214-6bf24f90e856.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/7cc8a363-51ab-2413-7214-6bf24f90e856
Sample Response
200 OK
{
"PageInfo": "Page 1 of 1",
"PageSize": 50,
"Result": {
"@referredType": "vlocity_cmt__Catalog__c",
"description": "A category to hold all available cloud service offers",
"id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
"isRoot": false,
"name": "Cloud Services T",
"lifecycleStatus": true,
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
"relatedParty": [
{
"href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
"@referredType": "RecordType",
"role": "Consumer",
"name": "demo user15",
"id": "123",
"@type": "RelatedParty"
}
],
"category": [
{
"href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
"@referredType": "vlocity_cmt__Catalog__c",
"id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
"name": "Cloud Storage",
"@type": "CategoryRef"
}
],
"validFor": {
"startDateTime": "2020-08-24T00:00:00.000+0000",
"endDateTime": "2024-03-25T00:00:00.000+0000"
},
"@type": "Catalog"
}
}
GET by ID and Fields
Consider you want to retrieve details of the catalog ID = 7cc8a363-51ab-2413-7214-6bf24f90e856 and get the name and id details in the output.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/7cc8a363-51ab-2413-7214-6bf24f90e856?fields=name,id
Sample Response
200 OK
{
"PageInfo": "Page 1 of 1",
"PageSize": 50,
"Result": {
"@referredType": "vlocity_cmt__Catalog__c",
"id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
"name": "Cloud Services T",
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
"@type": "Catalog"
}
}
GET List
Consider you want to retrieve details of all the catalogs in the inventory.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog
Sample Response
200 OK
{
"PageInfo": "Page 1 of 5",
"PageSize": 50,
"Result": [
{
"@referredType": "vlocity_cmt__Catalog__c",
"description": "A category to hold all available cloud service offers",
"id": "35b35cc6-0ac4-5d8d-1b53-c2cee91a8a52",
"isRoot": true,
"name": "aaaaaa",
"lifecycleStatus": true,
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bsNxAAI",
"validFor": {
"startDateTime": "2020-08-24T00:00:00.000+0000",
"endDateTime": "2024-03-25T00:00:00.000+0000"
},
"@type": "Catalog"
},
{
"@referredType": "vlocity_cmt__Catalog__c",
"description": "ADDON Root catalog",
"id": "be03bc15-8f67-c5a4-379e-32f4acf3cb96",
"isRoot": true,
"name": "Add On",
"lifecycleStatus": true,
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bKGIAA2",
"category": [
{
"href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxGiEAK",
"@referredType": "vlocity_cmt__Catalog__c",
"id": "15847f92-c3df-162a-50a1-3917a1dcf333",
"name": "Prepaid Add On",
"@type": "CategoryRef"
}
],
"@type": "Catalog"
},
{
"@referredType": "vlocity_cmt__Catalog__c",
"description": "A category to hold all available cloud service offers",
"id": "28a85d60-4e2d-9e27-80e3-73a3b04f6422",
"isRoot": false,
"name": "B12345",
"lifecycleStatus": true,
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boN8AAI",
"relatedParty": [
{
"href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
"@referredType": "RecordType",
"role": "Consumer",
"name": "demo user15",
"id": "123",
"@type": "RelatedParty"
}
],
"validFor": {
"startDateTime": "2020-08-24T00:00:00.000+0000",
"endDateTime": "2024-03-25T00:00:00.000+0000"
},
"@type": "Catalog"
}
]
}
GET List with Fields
Consider you want to retrieve all the catalogs by applying the requested fields.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?name=Cloud Services T
Sample Response
200 OK
{
"PageInfo": "Page 1 of 1",
"PageSize": 50,
"Result": {
"@referredType": "vlocity_cmt__Catalog__c",
"description": "A category to hold all available cloud service offers",
"id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
"isRoot": false,
"name": "Cloud Services T",
"lifecycleStatus": true,
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
"relatedParty": [
{
"href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
"@referredType": "RecordType",
"role": "Consumer",
"name": "demo user15",
"id": "123",
"@type": "RelatedParty"
}
],
"category": [
{
"href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
"@referredType": "vlocity_cmt__Catalog__c",
"id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
"name": "Cloud Storage",
"@type": "CategoryRef"
}
],
"validFor": {
"startDateTime": "2020-08-24T00:00:00.000+0000",
"endDateTime": "2024-03-25T00:00:00.000+0000"
},
"@type": "Catalog"
}
}
GET List by Fields and Filtering
Consider you want to retrieve all the catalogs by specified filter.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?fields=isRoot,name,id&name=Catalog+Wholesale+Business
Sample Response
200 OK
{
"PageInfo": "Page 1",
"PageSize": 50,
"result": {
"isBundle": "Simple",
"isCustomerVisible": true,
"productOffering": {
"id": "01tDp000000Ogk0IAC"
},
"description": "New DESC",
"id": "99394f76-7187-c384-b50a-de213527ecd9",
"name": "Testing Asset",
"productSerialNumber": "123",
"status": "Ready for review",
"href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/99394f76-7187-c384-b50a-de213527ecd9"
}
}
GET List by limit and offset
Consider you want to retrieve perform the following.
- Limit the number of catalogs to a maximum of specified limit
- Display results from the page specified by an offset
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog?isRoot=true&fields=lifecycleStatus,name&limit=3&offset=2
Sample Response
200 OK
{
"PageInfo": "Page 3 of 39",
"PageSize": 2,
"Result": [
{
"@referredType": "vlocity_cmt__Catalog__c",
"name": "category demo",
"lifecycleStatus": true,
"@type": "Catalog"
},
{
"@referredType": "vlocity_cmt__Catalog__c",
"name": "category name",
"lifecycleStatus": true,
"@type": "Catalog"
}
]
}
POST
Consider you want to create a new catalog.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog
Sample Request
{
"name": "Cloud Services retest",
"description": "A category to hold all available cloud service offers",
"validFor": {
"startDateTime": "2020-08-24T00:00:00Z",
"endDateTime": "2024-03-25T00:00:00Z"
},
"lifecycleStatus": "Active",
"@type": "Catalog",
"relatedParty": [
{
"id": "123",
"name": "demo user15",
"role": "Consumer",
"@referredType": "Account",
"@type": "RelatedParty"
}
]
}
Sample Response
{
"validFor": {
"endDateTime": "2024-03-25T00:00:00.000+0000",
"startDateTime": "2020-08-24T00:00:00.000+0000"
},
"relatedParty": [
{
"id": "123",
"name": "demo user15",
"role": "Consumer",
"@referredType": "RecordType"
}
],
"lifecycleStatus": true,
"isRoot": false,
"description": "A category to hold all available cloud service offers",
"name": "Cloud Services retest",
"id": "d5dd5c73-588e-857d-732b-d01e3090577a",
"@referredType": "vlocity_cmt__Catalog__c",
"statusCode": "201"
}
PATCH
Consider for the catalog ID: f24eb59b-a466-af2a-4db3-67c87430e8a6, you want to update sub-resource: relatedParty.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/f24eb59b-a466-af2a-4db3-67c87430e8a6
Sample Request
{
"relatedParty": [
{
"href": "/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC",
"@referredType": "RecordType",
"role": "MobilePhoneAccount",
"name": "AccTest1",
"id": "3424",
"@type": "RelatedParty"
}
]
}
Sample Response
{
"@type":"Catalog",
"validFor":{
"endDateTime":"2024-04-25T00:00:00.000+0000",
"startDateTime":"2021-08-24T00:00:00.000+0000"
},
"category":[
{
"@type":"CategoryRef",
"name":"CloudStorage updated 1",
"id":"03ed94db-2d33-af8e-f785-deddd0d6657d",
"@referredType":"vlocity_cmt__Catalog__c",
"href":"/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000001M2WbEAK"
}
],
"relatedParty":[
{
"@type":"RelatedParty",
"id":"3424",
"name":"AccTest1",
"role":"MobilePhoneAccount",
"@referredType":"RecordType",
"href":"/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC"
}
],
"href":"/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boMAAAY",
"lifecycleStatus":false,
"name":"Update from workbeanch 1",
"isRoot":false,
"id":"f24eb59b-a466-af2a-4db3-67c87430e8a6",
"description":"Update On from workbeanch 1",
"@referredType":"vlocity_cmt__Catalog__c"
}
DELETE
Consider you want to delete a catalog ID: 3830.
Sample URL
https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/3830
Sample Response
204 No content