We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

REST CreateAccountJSON not resolving variables properly

BrandonLucas_BF
Regular Contributor III
Regular Contributor III

When we run the below CreateAccountJSON for the REST Connector it is passing the variables literally instead of resolving them. What is wrong with this JSON?

 

      {
        "accountIdPath": "call1.message.id",
        "responseColsToPropsMap": {
          "username": "call1.message.userName~#~char"
        },
        "call": [
          {
            "name": "call1",
            "connection": "acctAuth",
            "url": "https://urlremoved.com/api/users",
            "httpMethod": "POST",
            "httpParams": "{\"userName\":\"${user.systemuserName}@domain.com\",\"firstname\":\"${user.firstName}\",\"lastName\":\"${user.customproperty30}\",\"location\":\"${user.location}\",\"phoneNumber\":\"${user.phonenumber}\",\"position\":\"${user.title}\",\"sendMail\":\"true\",\"userName\":\"${user.systemusername}\"}",
            "httpHeaders": {
              "Authorization": "${access_token}",
              "Accept": "application/json"
            },
            "httpContentType": "application/json",
            "successResponses": [
              {
                "statusCode": 201
              }
            ]
          }
        ]
      }

 

4 REPLIES 4

BrandonLucas_BF
Regular Contributor III
Regular Contributor III

I was able to resolve this myself and it was due to case sensitivity in the json. I did not realize REST connector had a requirement to match the casing of the field columns in Saviynt database. This may be the case for other connectors as well, but had not noticed it. Any casing issues in REST connectors means no variables will resolve.

Reference the database schema "Column Name (For Querying)" values when referencing in JSON:

Database Schema Reference (saviyntcloud.com)

what was variable cause issued ?


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

It was a couple of different ones. Here is the working JSON for httpParams:

 

      "httpParams": "{\"userName\":\"${user.systemUserName}\",\"department\":\"${user.departmentname}\",\"emails/primary\":\"${user.email}\",\"publicEmailAddress\":\"${user.email}\",\"firstName\":\"${user.preferedFirstName}\",\"lastName\":\"${user.customproperty30}\",\"location\":\"${user.location}\",\"phoneNumber\":\"${user.phonenumber}\",\"position\":\"${user.title}\",\"sendMail\": false, \"profile\":{\"payratetype\":\"${user.customproperty14}\",\"costcenter\":\"${user.costcenter}\",\"country\":\"${user.country}\",\"function\":\"${user.customproperty13}\",\"region\":\"${user.region}\"},\"role\":{\"type\":\"${(requestAccessAttributes.get('dynamic_Access'))}\"} }",

Hi @BrandonLucas_BF,

Thanks for the working JSON for httpParams.