Catalog Use Cases
I want to Request Type Example URL Retrieve and display details of a requested catalog GET by ID {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}NOTE: 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://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}?fields=name,idList all the catalogs present in the system. GET List {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalogList all the catalogs present in the system based on the provided field values. GET List with Fields {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?name=Cloud Services TList all the catalogs present in the inventory based on the provided field values and filter applied. GET List by Fields and Filtering {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?fields=isRoot,name,id&name=Catalog+Wholesale+BusinessLimit the number of catalogs to a maximum of specified limit and display results from the page specified by an offset. GET List by limit and offset {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog?lisRoot=true&fields=lifecycleStatus,name&limit=3&offset=2Create a catalog POST {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalogUpdate a catalog PATCH {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}Delete a catalog DELETE {https://MyDomainLoginUrl} /services/apexrest/{namespace}/tmforum/productopenapi/v1/catalog/{ID}
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
1 200 OK
2 {
3 "PageInfo": "Page 1 of 1",
4 "PageSize": 50,
5 "Result": {
6 "@referredType": "vlocity_cmt__Catalog__c",
7 "description": "A category to hold all available cloud service offers",
8 "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
9 "isRoot": false,
10 "name": "Cloud Services T",
11 "lifecycleStatus": true,
12 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
13 "relatedParty": [
14 {
15 "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
16 "@referredType": "RecordType",
17 "role": "Consumer",
18 "name": "demo user15",
19 "id": "123",
20 "@type": "RelatedParty"
21 }
22 ],
23 "category": [
24 {
25 "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
26 "@referredType": "vlocity_cmt__Catalog__c",
27 "id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
28 "name": "Cloud Storage",
29 "@type": "CategoryRef"
30 }
31 ],
32 "validFor": {
33 "startDateTime": "2020-08-24T00:00:00.000+0000",
34 "endDateTime": "2024-03-25T00:00:00.000+0000"
35 },
36 "@type": "Catalog"
37 }
38 }
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
1 200 OK
2 {
3 "PageInfo": "Page 1 of 1",
4 "PageSize": 50,
5 "Result": {
6 "@referredType": "vlocity_cmt__Catalog__c",
7 "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
8 "name": "Cloud Services T",
9 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
10 "@type": "Catalog"
11 }
12 }
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
1 200 OK
2 {
3 "PageInfo": "Page 1 of 5",
4 "PageSize": 50,
5 "Result": [
6 {
7 "@referredType": "vlocity_cmt__Catalog__c",
8 "description": "A category to hold all available cloud service offers",
9 "id": "35b35cc6-0ac4-5d8d-1b53-c2cee91a8a52",
10 "isRoot": true,
11 "name": "aaaaaa",
12 "lifecycleStatus": true,
13 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bsNxAAI",
14 "validFor": {
15 "startDateTime": "2020-08-24T00:00:00.000+0000",
16 "endDateTime": "2024-03-25T00:00:00.000+0000"
17 },
18 "@type": "Catalog"
19 },
20 {
21 "@referredType": "vlocity_cmt__Catalog__c",
22 "description": "ADDON Root catalog",
23 "id": "be03bc15-8f67-c5a4-379e-32f4acf3cb96",
24 "isRoot": true,
25 "name": "Add On",
26 "lifecycleStatus": true,
27 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003bKGIAA2",
28 "category": [
29 {
30 "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxGiEAK",
31 "@referredType": "vlocity_cmt__Catalog__c",
32 "id": "15847f92-c3df-162a-50a1-3917a1dcf333",
33 "name": "Prepaid Add On",
34 "@type": "CategoryRef"
35 }
36 ],
37 "@type": "Catalog"
38 },
39 {
40 "@referredType": "vlocity_cmt__Catalog__c",
41 "description": "A category to hold all available cloud service offers",
42 "id": "28a85d60-4e2d-9e27-80e3-73a3b04f6422",
43 "isRoot": false,
44 "name": "B12345",
45 "lifecycleStatus": true,
46 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boN8AAI",
47 "relatedParty": [
48 {
49 "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
50 "@referredType": "RecordType",
51 "role": "Consumer",
52 "name": "demo user15",
53 "id": "123",
54 "@type": "RelatedParty"
55 }
56 ],
57 "validFor": {
58 "startDateTime": "2020-08-24T00:00:00.000+0000",
59 "endDateTime": "2024-03-25T00:00:00.000+0000"
60 },
61 "@type": "Catalog"
62 }
63 ]
64 }
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
1 200 OK
2 {
3 "PageInfo": "Page 1 of 1",
4 "PageSize": 50,
5 "Result": {
6 "@referredType": "vlocity_cmt__Catalog__c",
7 "description": "A category to hold all available cloud service offers",
8 "id": "7cc8a363-51ab-2413-7214-6bf24f90e856",
9 "isRoot": false,
10 "name": "Cloud Services T",
11 "lifecycleStatus": true,
12 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003biUxAAI",
13 "relatedParty": [
14 {
15 "href": "/services/data/v48.0/sobjects/Account/0015e00000qxgtpAAA",
16 "@referredType": "RecordType",
17 "role": "Consumer",
18 "name": "demo user15",
19 "id": "123",
20 "@type": "RelatedParty"
21 }
22 ],
23 "category": [
24 {
25 "href": "/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000000JxXqEAK",
26 "@referredType": "vlocity_cmt__Catalog__c",
27 "id": "03ed94db-2d33-af8e-f785-deddd0d6657d",
28 "name": "Cloud Storage",
29 "@type": "CategoryRef"
30 }
31 ],
32 "validFor": {
33 "startDateTime": "2020-08-24T00:00:00.000+0000",
34 "endDateTime": "2024-03-25T00:00:00.000+0000"
35 },
36 "@type": "Catalog"
37 }
38 }
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
1 200 OK
2
3 {
4 "PageInfo": "Page 1",
5 "PageSize": 50,
6 "result": {
7 "isBundle": "Simple",
8 "isCustomerVisible": true,
9 "productOffering": {
10 "id": "01tDp000000Ogk0IAC"
11 },
12 "description": "New DESC",
13 "id": "99394f76-7187-c384-b50a-de213527ecd9",
14 "name": "Testing Asset",
15 "productSerialNumber": "123",
16 "status": "Ready for review",
17 "href": "/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/product/99394f76-7187-c384-b50a-de213527ecd9"
18 }
19 }
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
1 200 OK
2
3 {
4 "PageInfo": "Page 3 of 39",
5 "PageSize": 2,
6 "Result": [
7 {
8 "@referredType": "vlocity_cmt__Catalog__c",
9 "name": "category demo",
10 "lifecycleStatus": true,
11 "@type": "Catalog"
12 },
13 {
14 "@referredType": "vlocity_cmt__Catalog__c",
15 "name": "category name",
16 "lifecycleStatus": true,
17 "@type": "Catalog"
18 }
19 ]
20 }
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
1 {
2 "name": "Cloud Services retest",
3 "description": "A category to hold all available cloud service offers",
4 "validFor": {
5 "startDateTime": "2020-08-24T00:00:00Z",
6 "endDateTime": "2024-03-25T00:00:00Z"
7 },
8 "lifecycleStatus": "Active",
9 "@type": "Catalog",
10 "relatedParty": [
11 {
12 "id": "123",
13 "name": "demo user15",
14 "role": "Consumer",
15 "@referredType": "Account",
16 "@type": "RelatedParty"
17 }
18 ]
19 }
Sample Response
1 {
2 "validFor": {
3 "endDateTime": "2024-03-25T00:00:00.000+0000",
4 "startDateTime": "2020-08-24T00:00:00.000+0000"
5 },
6 "relatedParty": [
7 {
8 "id": "123",
9 "name": "demo user15",
10 "role": "Consumer",
11 "@referredType": "RecordType"
12 }
13 ],
14 "lifecycleStatus": true,
15 "isRoot": false,
16 "description": "A category to hold all available cloud service offers",
17 "name": "Cloud Services retest",
18 "id": "d5dd5c73-588e-857d-732b-d01e3090577a",
19 "@referredType": "vlocity_cmt__Catalog__c",
20 "statusCode": "201"
21 }
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
1 {
2 "relatedParty": [
3 {
4 "href": "/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC",
5 "@referredType": "RecordType",
6 "role": "MobilePhoneAccount",
7 "name": "AccTest1",
8 "id": "3424",
9 "@type": "RelatedParty"
10 }
11 ]
12 }
Sample Response
1 {
2 "@type":"Catalog",
3 "validFor":{
4 "endDateTime":"2024-04-25T00:00:00.000+0000",
5 "startDateTime":"2021-08-24T00:00:00.000+0000"
6 },
7 "category":[
8 {
9 "@type":"CategoryRef",
10 "name":"CloudStorage updated 1",
11 "id":"03ed94db-2d33-af8e-f785-deddd0d6657d",
12 "@referredType":"vlocity_cmt__Catalog__c",
13 "href":"/services/data/v48.0/sobjects/vlocity_cmt__CatalogRelationship__c/a2R5e000001M2WbEAK"
14 }
15 ],
16 "relatedParty":[
17 {
18 "@type":"RelatedParty",
19 "id":"3424",
20 "name":"AccTest1",
21 "role":"MobilePhoneAccount",
22 "@referredType":"RecordType",
23 "href":"/services/data/v48.0/sobjects/Account/0015e00000uMie0AAC"
24 }
25 ],
26 "href":"/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/catalog/a0e5e000003boMAAAY",
27 "lifecycleStatus":false,
28 "name":"Update from workbeanch 1",
29 "isRoot":false,
30 "id":"f24eb59b-a466-af2a-4db3-67c87430e8a6",
31 "description":"Update On from workbeanch 1",
32 "@referredType":"vlocity_cmt__Catalog__c"
33 }
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