Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Accounts and entitlements are not importing-Rest

Shaik-Misba
New Contributor III
New Contributor III

I am trying to integrate a rest application (Adaptive workforce planning) with saviynt. The application has a basic authentication and it accepts only  data(username, password) only in the xml body. It doesn't have aothentoication api hence we are passing the username and password for each api. It has one api for all calls and the call method will be passed in xml.

the xml body request looks like below:

https://api.abc.com/api/v1

<?xml version='1.0' encoding='UTF-8'?>
<call method="exportUsers" callerName="offline export file">
<credentials login="abc@test.com" password="XXXXX" instanceCode="XXXX"/>
<include groups="true"/>
<user createdDate="true"/>
<include subscriptions="false"/>
</call>
I have given a connectionjson with dummy credentials, my job is running succesfully but the accounts are not imported. in the logs also there is no proper information. my importaccountentitlement json looks like these. Please help me out
 
{
"accountParams": {
"connection": "acctAuth",
"createUsers": true,
"adminName": "admin",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"showResponse": true,
"http": {
"url": "https://api.adapt.com/api/v70",
"httpParams": "{\"call\": {\"credentials\": {\"login\": \"xxx.com\",\"password\": \"xxxx\", \"instanceCode\":\"vvvv7\"},\"method\": \"exportUsers\",\"callerName\": \"offline export file\"}}",
"httpContentType": "application/xml",
"httpMethod": "POST",


"httpHeaders": {
"Accept": "application/xml",
"Authorization": "Basic abc"
}
},
"listField": "user",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "_login~#~char",
"name": "_name~#~char",
"customproperty3": "_email~#~char",
"customproperty16": "_timeZone~#~char",
"customproperty20": "_permissionSetIds~#~char"
}
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"PermissionSets": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://api.adaptiveis.com/api/vx",
"httpParams": "{\"call\": {\"credentials\": {\"login\": \"xxxx\",\"password\": \"xxx\", \"instanceCode\":\"xxS7\"},\"method\": \"exportPermissionSets\",\"callerName\": \"offline export file\"}}",
"httpContentType": "application/xml",
"httpMethod": "POST",

"httpHeaders": {
"Accept": "application/xml",
"Authorization": "Basic abc"
}
},
"listField": "permission_set",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "_id~#~char",
"entitlement_value": "_name~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {}
}
10 REPLIES 10

NM
Honored Contributor II
Honored Contributor II

Hi @Shaik-Misba can you share API response as well for users call?

rushikeshvartak
All-Star
All-Star

Please share postman screenshot and curl command [Refer https://codingnconcepts.com/postman/how-to-generate-curl-command-from-postman/ ]


⚠️‼️‼️Do not upload any attachments that contain sensitive information, such as IP Addresses, URLs, Company/Employee Names, Email Addresses, etc.‼️‼️⚠️


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

@NM @rushikeshvartak here is the curl command and api response

curl --location 'https://abc.com/api/vx' \
--header 'Content-Type: application/xml' \
--header 'Cookie: PLNAFFINITY=10e333573efbc675573ed' \
--data-raw '<?xml version='\''1.0'\'' encoding='\''UTF-8'\''?>
<call method="exportUsers" callerName="offline export file">
<credentials login="abc.com" password="password" instanceCode="xxxxx" />
<include groups="true"/>

</call>
Api Response
<?xml version="1.0" encoding="UTF-8"?>
<response success="true">
<output>
<users seqNo="2xx3">
<user id="x" login="abc@support.account" email="" name="* SUPPORT: nam" permissionSetIds="262" guid="asdfgh" timeZone="US/Pacific">
<subscriptions nosubscriptions="0" customerNewsLetter="0" customerWebinars="0" educationTraining="0" localEvents="0" partnerNewsLetter="0" partnerWebinars="0" newProductsAndEnhancements="0" surveys="0" systemAlertsAndUpdates="0" userGroups="0" />
</user>
<user id="5x1" login="rahul@test.support" email="" name="name(PROJECT TEAM)" permissionSetIds="1" guid="asdfg" timeZone="US/Pacific" groupIds="1154,1444,1208">
<subscriptions nosubscriptions="0" customerNewsLetter="0" customerWebinars="0" educationTraining="0" localEvents="0" partnerNewsLetter="0" partnerWebinars="0" newProductsAndEnhancements="0" surveys="0" systemAlertsAndUpdates="1" userGroups="0" />

</user>
</users>
</output>
</response>

"createUsers": true,

It should be false


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

I tried, still accounts are not imported

Does connection is successful? Share logs


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

I have given the the dummy connection json as you have suggeted in my previous post. I am sharing the logs for your info 

NM
Honored Contributor II
Honored Contributor II

Try by not giving underscore at the start httpHeaders": {

"Accept": "application/xml",

"Authorization": "Basic abc"

}

},

"listField": "user",

"keyField": "accountID",

"colsToPropsMap": {

"accountID": "_login~#~char",

"name": "_name~#~char",

"customproperty3": "_email~#~char",

"customproperty16": "_timeZone~#~char",

"customproperty20": "_permissionSetIds~#~char"

Shaik-Misba
New Contributor III
New Contributor III

 tried, still the accounts are not imported 

the call should be passed in xml formate itself and the liftfeild should be reponse.output.usrs.user