We recommend reviewing what is submitted before posting, in case your idea has already been submitted by another community member. If it has been submitted, vote for that existing feature request (by clicking the up arrow) to increase its opportunity of being added to Cireson solutions.
For more information around feature requests in the Cireson Community click here.
Option to include/exclude encoded images in API GetServiceCatalog for lightweight response
Currently the API returns both service request and offering request images encoded as base 64 and base 32 (?) for each image in the service catalog. In a case with 60 request offerings this means 240 (2 image x 2 encodings x 60 offerings) images encoded in the request. Even if the images are small (60KB) this amounts to sizes far exceeding what is needed (240 images x 60KB per image = 1.4MB total).
Adding an optional attribute to the API could trim this data from the API call, making it faster and more usable for custom solutions. If includeImageData is false, the api could return true/false for the existence of image data.
/** * GetServiceCatalog * * api/V3/ServiceCatalog/GetServiceCatalog?userId={userId}&isScoped={isScoped}&includeImageData={includeImageData} * * API endpoint for retrieving a service catalog with all offerings for a user. * */ <br>@param {string} userId // The user ID hash for which user to fetch data. @param {boolean} isScoped // Select if the request should return only offerings matching the current users scope. @param {boolean} includeImageData // Select weather or not to include encoded image data in the API result. Default true. @example [...]/GetServiceCatalog?userId=[...]&isScoped=true&includeImageData=false [ { "CategoryId": "bcacf8fe-4c63-4735-896e-eb18e9dec1b6", "Category": "sample string 2", "ServiceOfferingId": "25a26713-0a17-46e8-9850-1f77b16e3d6e", "Service": "sample string 4", "ServiceImage": true, "RequestOfferingId": "8afa5d4c-7610-4b41-a6bd-e5f9d76272c0", "RequestOfferingImage": true, "RequestOfferingTitle": "sample string 6", "RequestOfferingDescription": "sample string 7", "RequestOfferingTargetTemplateType": "sample string 8", "IsFavorite": true, "FavoriteImage": "GoldStar.png", "IsAdvancedRequestOffering": true, "RequestOfferingLinkUrl": "sample string 11", "RequestOfferingLinkTargetType": "sample string 12" }, {...} ] @example [...]/GetServiceCatalog?userId=[...]&isScoped=true&includeImageData=true [ { "CategoryId": "bcacf8fe-4c63-4735-896e-eb18e9dec1b6", "Category": "sample string 2", "ServiceOfferingId": "25a26713-0a17-46e8-9850-1f77b16e3d6e", "Service": "sample string 4", "ServiceImage": "QEA=[...]", "ServiceImage64": "QEA=[...]", "RequestOfferingId": "8afa5d4c-7610-4b41-a6bd-e5f9d76272c0", "RequestOfferingImage": "QEA=[...]", "RequestOfferingImage64": "QEA=[...]", "RequestOfferingTitle": "sample string 6", "RequestOfferingDescription": "sample string 7", "RequestOfferingTargetTemplateType": "sample string 8", "IsFavorite": true, "FavoriteImage": "GoldStar.png", "IsAdvancedRequestOffering": true, "RequestOfferingLinkUrl": "sample string 11", "RequestOfferingLinkTargetType": "sample string 12" }, {...} ]<br>