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

Full import not bringing all the accounts, import of group membership also not working as expected.

Happy333
New Contributor
New Contributor

Pagination added. But full account import brings only a smaller number of accounts. Please verify and advise if any corrections need to be made with the Import JSON.
Also, group membership is not getting reflected to the users in Saviynt after access import. So please verify the JSON and advise.

 
ImportAccountEntJSON :
{
"accountParams": {
"connection": "userAuth",
"createUsers": true,
"adminName": "admin",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"activeStatus": [
        "ACTIVE","CREATED"
      ],"deleteLinks": false,
"accountThresholdValue": 10,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": false
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
                                "listField": "userInfoList",
"keyField": "accountID",
 
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "email~#~char",
"customproperty1": "email~#~char",
"status": "status~#~char",
"customproperty4": "company~#~char",
"customproperty5": "accountType~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "max",
"batchSize": 100,
"totalCountPath": "3000"
}
},
"disableDeletedAccounts": true
 
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Group": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "",
"httpHeaders": {
"content-Type": "application/json",
"Accept": "application/json",
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "groupInfoList",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "groupId~#~char",
"entitlement_value": "groupName~#~char",
"customproperty1": "createdDate~#~char",
"customproperty2": "isDefaultGroup~#~char",
"displayname": "groupName~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"disableDeletedEntitlements": true
}
},
"acctEntMappings": {
"listField": "group_memberships",
"idPath": "account_id",
"keyField": "accountID",
"importAsAccount": false
}
 
}
}
},
"acctEntParams": {
"entTypes": {
"Group": {
"call": {
"call1": {
"processingType": "acctToEntMapping",
"connection": "userAuth",
"http": {
"url": "",
"httpContentType": "application/json",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}"
}
},
"listField": "group_memberships",
"acctKeyField": "accountID",
"entKeyField": "entitlementID",
"acctIdPath": "UserId",
"entIdPath": "SecurityRoleIdentifier"
}
}
}
}
}
}
10 REPLIES 10

SB
Saviynt Employee
Saviynt Employee

Which application are you Integrating with. You can update ConfigJSON param in the REST connection with value {"showLogs":true} if not done already and check for the below 2 entries in the log file to see if the data is getting imported. 

Calling Webservice Url

Got Webservice API Response

Also, you can refer to the REST connector guide for examples on how to construct pagination.

https://docs.saviyntcloud.com/bundle/REST-v55x/page/Content/Developers-Handbook.htm


Regards,
Sahil

Happy333
New Contributor
New Contributor

Hi Sahil.
Good Day.! This is an Adobe application.
ConfigJSON is already there in place. I have referred REST connector guide and Adobe CC Integration guide.

Attaching account import log snippet for your reference.

Below pagination format also I have tried 

"pagination": {
                    "nextUrl": {
                        "nextUrlPath": "${response?.completeResponseMap?.lastPage==false? 'URL/'+Math.incrementExact(Integer.parseInt(headers.get('X-Current-Page'))):null}"
}

But result is same. Also, group membership mapping is not happening.
Attaching log file for your reference.

Share api output from postman


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

Please find the API response in the attachment.

I have also toggled accountThresholdValue that also didn't bring full import.

Happy333
New Contributor
New Contributor

Hi ,

I have also checked for any application level settings that need to be enabled for pagination. No such settings found. And as per my understanding, Adobe apps already support pagination and in the shared Adobe CC integration guide I have found the same.
So, please let me know if I need to check anything else or make any changes to the JSON.

SB
Saviynt Employee
Saviynt Employee

can you confirm what is the pagination logic that adobe is using and also provide examples of page1 url and page 2 url with response screenshot of the calls from postman 

Which value from response of call1 will help identify the next page url.


Regards,
Sahil

Happy333
New Contributor
New Contributor
 

SB
Saviynt Employee
Saviynt Employee

What is the expected url for page2 to be passed. Can you share the url example


Regards,
Sahil