UpdateTechnicalAttributes
The UpdateTechnicalAttributes, ServiceMax IoT Event allows you to create and update attributes of a single IB in the request payload using REST API.
The following table lists the various attributes of the OOTB event:
Attributes
Values
Web service Class Name
UpdateTechnicalAttributes
REST Endpoint URI*
/services/apexrest/SVMXC/svmx/rest/IOTServiceIntf/UpdateTechnicalAttributes/2.0/
* The REST endpoint URI must be prefixed with http://<your salesforce organization url>.
For example, if your Salesforce organization URL is na17.salesforce.com, then UpdateTechnicalAttributesevent can be invoked as http://na17.salesforce.com/services/apexrest/SVMXC/svmx/rest/IOTServiceIntf/UpdateTechnicalAttributes/2.0/.
The request payload includes information about the attributes, their value, datatype, IB identifier, and so on that needs to be passed from the external system as a part of the web service. In the JSON request:
Asset: Provides generic information about the Installed Product.
Event: Contains the details of the event including a list of technical attributes.
Others: Contains the fields whose values together constitute the unique external ID as identified by the field SerialNumber in IB.
Within the Event section, the following are the mandatory keys for each technical attribute:
label: Name of the technical attribute.
defaultValue: The default value to be used for the technical attribute.
format: The format of the technical attribute value. The format can be Boolean, Number, Text, or Picklist. If the format is not specified or if the specified format is not Boolean, Number, Text, or Picklist, the text is considered the default format.
The following is a sample request payload structure to update the technical attributes of an IB which is recognized by the keys passed in the other section of the JSON request. This JSON also includes passing picklist as an attribute.
{

"Asset": {

"ThingName": "MRI - Machine - 1234",

"ProductName": "MRI Machine",

"InstalledProductName": "MRI Machine #1234",

"SerialNumber": "Los Angeles90017West Block"

},

"Event": {

"instancePayload": {

"picklist": {

"Monitor Type": {

"values": [

"LCD",

"CRT",

"LCD Flat Panel"

],

"setDefaultValue": true

}

},

"Fields": [

{
"title": "User Interface",

"Description": "User interfaces for the Ultrasound machine",

"technicalAttributes": [

{

"label": "Monitor Size",

"type": "Static",

"defaultValue": "22",

"Unit": "Inches",

"readOnly": "Yes",

"format": "Number"

},

{

"label": "2D Image Mode",

"type": "Static",

"defaultValue": "Yes",

"Unit": "text",

"readOnly": "",

"format": "Text"

},

{

"label": "Monitor Type",

"type": "Static",

"defaultValue": "LCD Flat Panel",

"Unit": "",

"readOnly": "",

"format": "Picklist",

"picklistId": "Monitor Type",

"picklistSfId": ""

}

]

}

]

}

},

"Others": {

"City": "Los Angeles",

"Zip": "90017",

"Location": "West Block"

}

}
For execution status and event traceability, see Event Traceability.
Maintaining Attribute History for ServiceMax IoT events
The technical attribute data updated from ServiceMax IoT events are maintained in the attribute history table. The attribute history table holds one entry per day per IB by default, which is the most recent entry. To maintain more than one history entry per IB per day, update the group setting SET002 (Module: Installed Base App, Sub Module: General).
Value of SET 002
Result
Value ( n) = 1
Only the last technical attribute entry is maintained in the attribute history per day for the same Installed Product.
Value (n) > 1
N number of entries are saved in the attributes history per day for the same installed product.
The default value is 1, the maximum value supported is 5.
Example: If the setting value is three, only that day's last three technical attribute entries are saved in the history table for the same installed product.
For advanced technical attributes API capability, see SaveTechnicalAttributes.
Was this helpful?