Leveraging Intelligent Recommendations for Operational Transformation. AMS Partners Click HERE | EMEA/APJ Click HERE |
11/06/2023 02:03 PM - edited 11/06/2023 02:04 PM
I am attempting to populate the account record via CREATEACCOUNTJSON in my custom REST integration; however I am encountering issues when I am trying to pass data back from the API response to populate the newly created account.
This configuration correctly provisions the account on the external platform, and does not throw any errors; a "blank" account is created within Saviynt with the accountIdPath and responseColsToPropsMap appearing to go unused. I do not see references to them being used via the Log Viewer.
{
"showResponse": true,
"accountIdPath": "call1.message?.id",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"id": "call1.message?.id~#~char",
"name": "call1.message?.id~#~char",
"displayName": "#CONST#${call1.message?.workPhone?.extension ?: call1.message?.id}~#~char",
"description": "#CONST#A PLATFORM NAME External Contact managed by Saviynt~#~char",
"createdon": "call1.message?.createDate~#~date",
"updatedate": "call1.message?.modifyDate~#~date"
},
"call": [
{
"name": "call1",
"connection": "PLATFORMNAMEOAuth2",
"httpMethod": "POST",
"url": "https://.../api/v2/externalcontacts/contacts",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpParams": "{\"firstName\": \"${user.preferedFirstName ?: user.firstname ?: ''}\", \"middleName\": \"${user.middlename ?: ''}\", \"lastName\": \"${user.lastname ?: ''}\", \"title\": \"${user.title ?: ''}\", \"workPhone\": { \"display\": \"${user.phonenumber ?: ''}\", \"userInput\": \"${user.phonenumber ?: ''}\", \"acceptsSMS\": false }, \"address\": { \"countryCode\": \"US\" }, \"workEmail\": \"${user.email ?: ''}\",\"surveyOptOut\": true }",
"successResponse": {
"statusCode": [
200
]
}
}
]
}
Example Response (per Provisioning Comments w/ showLogs: true):
{
"call1": {
"headers": {
"Date": "Mon, 06 Nov 2023 21:37:53 GMT",
"Content-Type": "application/json"
},
"message": {
"id": "504e6543-ad36-40b9-be8e-3d39c845321f",
"firstName": "John",
"lastName": "Doe",
"title": "Worker Level I",
"workPhone": { "display": "12345", "acceptsSMS": false, "userInput": "12345" },
"workEmail": "test@example.com",
"address": { "countryCode": "US" },
"modifyDate": "2023-11-06T21:37:53Z",
"createDate": "2023-11-06T21:37:53Z",
"surveyOptOut": true,
"type": "Curated",
"selfUri": "/api/v2/externalcontacts/contacts/504e6543-ad36-40b9-be8e-3d39c845321f"
},
"statusCode": 200,
"description": null
}
}
What am I doing wrong?
Solved! Go to Solution.
11/07/2023 07:16 AM
I opted to remove the optional chaining syntax (?.); replace id with accountID in the responseColsToPropsMap, and the issue seems to have resolved itself.
It's still odd to me that the Log Viewer was refusing to show any attempt at parsing responseColsToPropsMap, but Saviynt will never surprise me.