I have a publish channel that is sending an outbound JSON message to an external system's REST API. I need to take the basic Maximo message and wrap it with some metadata. I want the URL and API key in the message to be replaced with a value coming from Maximo system properties.
What are my options? Can I use the JSON Mapper application? If so, how do you get at the system property values for those fields in the mapping?
Can I do this with an automation script? I looked at the publish channel external exit script, but it looks like they work with a StructuredData object, and I'm not sure how much control I have over the structure of the message.
Any feedback, or better yet, examples, would be very helpful! For reference, this is what I'm trying to get a message to look like:
{
"targets": [
{
"method": "POST",
"headers":[
{
"headerKey": "x-api-key",
"headerValue": "0d************************************************************59"
}
],
"url": "https://externalsys.mydomain.com/updatecue"
}
],
"payload": {
"_action": "Replace",
"_event": true,
"_id": "ABCD-50047",
"_translangcode": "EN",
"description": "CUE description 12:57:32 PM",
"href": "http:\/\/localhost\/maximo\/oslc\/os\/cuestimate\/_T05FT0svNTAwNDc-",
"masterwonum": "2025-1001205730",
"ogslvinitiatedcue": false,
"orgid": "ONEOK",
"plusdestcontrolid": 52119,
"requestnum": "50047",
"requesttype": "JOB",
"requesttype_description": "Job WO",
"siteid": "DISTR",
"status": "APPR",
"status_description": "Approved",
"statusdate": "2025-12-27T16:38:47-06:00"
}
}
-Theo Pozzy
#Integrations------------------------------
Theo Pozzy
OneGas
------------------------------