Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

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
Valued Contributor II
Valued 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 you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.

@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 you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.

I tried, still accounts are not imported

Does connection is successful? Share logs


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

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
Valued Contributor II
Valued 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