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

Sav4SavREST accounts import always returns active status for all accounts

glegault
New Contributor II
New Contributor II

Hello,

We noticed that Sav4SavREST accounts that are disabled using a disable account task/job go back to the active state the next time our Sav4SavREST account import jobs run. 

I suppose this is related to statusColumn/activeStatus in the ImportAccountEntJSON connexion but I cannot seem to find the correct configuration to make this work as expected. We would like to have inactive users also showing inactive Sav4SavREST accounts.

Attached is the current configuration.

Thank you for the help!

7 REPLIES 7

sk
All-Star
All-Star

@glegault Try this JSON

 

 

{
    "accountParams": {
        "connection": "userAuth",
        "processingType": "SequentialAndIterative",
        "statusAndThresholdConfig": {
            "statusColumn": "customproperty11",
            "activeStatus": [
                "1"
            ],
            "deleteLinks": true,
            "accountThresholdValue": 100,
            "correlateInactiveAccounts": false,
            "inactivateAccountsNotInFile": true,
            "deleteAccEntForActiveAccounts": false
        },
        "call": {
            "call1": {
                "callOrder": 0,
                "stageNumber": 0,
                "http": {
                    "url": "https://fondsftq-dev.saviyntcloud.com/ECM/api/v5/user?q=accountExpired:0&fields=username,email,displayname,statuskey&sort=username&order=desc",
                    "httpHeaders": {
                        "Authorization": "${access_token}",
                        "Accept": "application/json"
                    },
                    "httpContentType": "application/json",
                    "httpMethod": "GET"
                },
                "listField": "results",
                "keyField": "accountID",
                "colsToPropsMap": {
                    "accountID": "username~#~char",
                    "name": "username~#~char",
                    "displayName": "displayname~#~char",
                    "customproperty2": "email~#~char",
                    "customproperty11": "statuskey~#~char"
                },
                "pagination": {
                    "offset": {
                        "offsetParam": "offset",
                        "batchParam": "max",
                        "batchSize": 500,
                        "totalCountPath": 999999999
                    }
                }
            }
        }
    },
    "entitlementParams": {
        "connection": "userAuth",
        "processingType": "SequentialAndIterative",
        "entTypes": {
            "SAVRoles": {
                "entTypeOrder": 0,
                "call": {
                    "call1": {
                        "callOrder": 0,
                        "stageNumber": 0,
                        "http": {
                            "url": "https://fondsftq-dev.saviyntcloud.com/ECMv6/api/userms/savroles",
                            "httpHeaders": {
                                "Authorization": "${access_token}",
                                "Accept": "application/json"
                            },
                            "httpContentType": "application/json",
                            "httpMethod": "GET",
                            "successResponses": {
                                "statusCode": [
                                    200,
                                    201
                                ]
                            }
                        },
                        "listField": "savroles",
                        "keyField": "entitlementID",
                        "colsToPropsMap": {
                            "entitlementID": "ROLENAME~#~char",
                            "entitlement_value": "ROLENAME~#~char",
                            "customproperty1": "CUSTOMPROPERTY1~#~char"
                        }
                    }
                }
            }
        }
    },
    "acctEntParams": {
        "entTypes": {
            "Roles": {
                "call": {
                    "call1": {
                        "callOrder": 0,
                        "stageNumber": 0,
                        "processingType": "entToAcctMapping"
                    }
                }
            },
            "SAVRoles": {
                "call": {
                    "call1": {
                        "connection": "userAuth",
                        "acctKeyField": "accountID",
                        "callOrder": 0,
                        "stageNumber": 1,
                        "processingType": "httpEntToAcct",
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}"
                            },
                            "url": "https://fondsftq-dev.saviyntcloud.com/ECMv6/api/userms/savroles/${id}/users?limit=1000&offset=0",
                            "httpContentType": "application/json",
                            "httpMethod": "GET"
                        },
                        "listField": "users",
                        "entKeyField": "entitlementID",
                        "acctIdPath": "username"
                    }
                }
            }
        }
    }
}

 

or

{
    "accountParams": {
        "connection": "userAuth",
        "processingType": "SequentialAndIterative",
        "statusAndThresholdConfig": {
            "deleteLinks": true,
            "accountThresholdValue": 100,
            "correlateInactiveAccounts": false,
            "inactivateAccountsNotInFile": true,
            "deleteAccEntForActiveAccounts": false
        },
        "call": {
            "call1": {
                "callOrder": 0,
                "stageNumber": 0,
                "http": {
                    "url": "https://fondsftq-dev.saviyntcloud.com/ECM/api/v5/user?q=accountExpired:0&fields=username,email,displayname,statuskey&sort=username&order=desc",
                    "httpHeaders": {
                        "Authorization": "${access_token}",
                        "Accept": "application/json"
                    },
                    "httpContentType": "application/json",
                    "httpMethod": "GET"
                },
                "listField": "results",
                "keyField": "accountID",
                "colsToPropsMap": {
                    "accountID": "username~#~char",
                    "name": "username~#~char",
                    "displayName": "displayname~#~char",
                    "customproperty2": "email~#~char",
                    "customproperty11": "statuskey~#~char",
                    "status": "statuskey~#~char"
                },
                "pagination": {
                    "offset": {
                        "offsetParam": "offset",
                        "batchParam": "max",
                        "batchSize": 500,
                        "totalCountPath": 999999999
                    }
                }
            }
        }
    },
    "entitlementParams": {
        "connection": "userAuth",
        "processingType": "SequentialAndIterative",
        "entTypes": {
            "SAVRoles": {
                "entTypeOrder": 0,
                "call": {
                    "call1": {
                        "callOrder": 0,
                        "stageNumber": 0,
                        "http": {
                            "url": "https://fondsftq-dev.saviyntcloud.com/ECMv6/api/userms/savroles",
                            "httpHeaders": {
                                "Authorization": "${access_token}",
                                "Accept": "application/json"
                            },
                            "httpContentType": "application/json",
                            "httpMethod": "GET",
                            "successResponses": {
                                "statusCode": [
                                    200,
                                    201
                                ]
                            }
                        },
                        "listField": "savroles",
                        "keyField": "entitlementID",
                        "colsToPropsMap": {
                            "entitlementID": "ROLENAME~#~char",
                            "entitlement_value": "ROLENAME~#~char",
                            "customproperty1": "CUSTOMPROPERTY1~#~char"
                        }
                    }
                }
            }
        }
    },
    "acctEntParams": {
        "entTypes": {
            "Roles": {
                "call": {
                    "call1": {
                        "callOrder": 0,
                        "stageNumber": 0,
                        "processingType": "entToAcctMapping"
                    }
                }
            },
            "SAVRoles": {
                "call": {
                    "call1": {
                        "connection": "userAuth",
                        "acctKeyField": "accountID",
                        "callOrder": 0,
                        "stageNumber": 1,
                        "processingType": "httpEntToAcct",
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}"
                            },
                            "url": "https://fondsftq-dev.saviyntcloud.com/ECMv6/api/userms/savroles/${id}/users?limit=1000&offset=0",
                            "httpContentType": "application/json",
                            "httpMethod": "GET"
                        },
                        "listField": "users",
                        "entKeyField": "entitlementID",
                        "acctIdPath": "username"
                    }
                }
            }
        }
    }
}

Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

glegault
New Contributor II
New Contributor II

Hi Saathvik,

Thank you for the quick reply. I just tried both suggestions and sadly it did not seem to make a difference.

Also, I verified on inactive users that the SavforSavREST account has the CP11=0 so I would think the status should show "Inactive" instead of "Active" for all inactive users which currently does not.

Let me know if you need additional information and thank you again for the help!

glegault_0-1702665078022.png

glegault_1-1702665364571.png

 

 

Share your status threshold configuration 


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

STATUS_THRESHOLD_CONFIG is currently configured as following on our Sav4SavREST connection.

{
"statusAndThresholdConfig": {
"accountThresholdValue": 100
}
}

Please status condition in status threshold config instead of import json


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

Something like this?

{
"statusAndThresholdConfig": {
"accountThresholdValue": 100,
"statusColumn": "customproperty11",
"activeStatus": [
"1"
]
}
}

Then in the import how should status should be configured under colsToPropsMap: ?

"status": "active~#~char" OR "status": "statuskey~#~char" OR not configured?

Thank you!

I just want to mention that placing the status condition under STATUS_THRESHOLD_CONFIG instead of in the ImportAccountEntJSON worked so thank you for this!

In the ImportAccountEntJSON, the status under colsToPropsMap is currently configured like this which I think makes sense with what we are trying to do.

"status": "statuskey~#~char"

It was previously like this:

"status": "active~#~char" 

If you could just confirm this is OK I will leave this as is.

Thank you!