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

Account Import is working. Entitlement Import not working

LoneWolf2020
New Contributor III
New Contributor III

Hello,

This issue is related to a REST based application. Connection is established, Account Import is working. But, unfortunately, Entitlement import is not working.

Same API URL is used to fetch both account and entitlement details.

Customproperty 31 in accounts is not being populated as well.

Please find the importaccountentjson below:

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://www.xxxx.xxxx/api/v3/publisher/team/list?api_token=${connection.apitoken}&aid=${connection.a...}",
"httpHeaders": {},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "POST"
},
"listField": "team_members",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "uid~#~char",
"name": "personal_name~#~char",
"status": "#CONST#${return 'true'}~#~char",
"customproperty9": "#CONST#${return 'true'}~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
}
},
"acctEntMappings": {
"permissions": {
"importAsEntitlement": true,
"listPath": "permissions",
"idPath": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "permissions~#~char",
"entitlement_value": "permissions~#~char"
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"permissions": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

Status_threshold_config:

{
    "statusAndThresholdConfig": {
        "statusColumn": "customproperty9",
        "activeStatus": [
            "true"
        ],
        "deleteLinks": true,
        "accountThresholdValue": 5,
        "correlateInactiveAccounts": false,
        "inactivateAccountsNotInFile": true,
        "deleteAccEntForActiveAccounts": true,
        "inactivateEntsNotInFeed": true,
                "includeExistingActiveAccounts": true,
              "entThresholdValue": {
            "entType": {
                "permissions": {
                    "ent": 5
                }
            }
        }
    }
}

 

Sample Postman Response:
"team_members": [
        {
            "first_name": "ABC",
            "last_name": "XYZ",
            "personal_name": "ABC XYZ",
            "email": "ABC.XYZ@pqr.com",
            "uid": "ASWEDRF",
            "create_date": 1487283456,
            "last_login": 1487283456,
            "permissions": [
                "global_admin",
                "manage_business",
                "manage_promotions",
                "manage_templates",
                "manage_offers",
                "manage_notifications",
                "manage_users",
                "manage_terms",
                "manage_upgrade_options",
                "manage_localization",
                "manage_resources",
                "manage_paywalls",
                "manage_webhooks",
                "manage_team",
                "manage_composer",
                "view_composer",
                "manage_esp_site",
                "manage_esp_account",
                "manage_checkout_flows",
                "manage_cookie_manager",
                "manage_site_licenses",
                "non_financial_reports",
                "financial_reports",
                "revoke_access",
                "refund_payment",
                "cancel_subscription",
                "manage_cxense_site",
                "view_global_library",
                "global_library_manage_deployment",
                "manage_global_experiences"
            ]
        },

10 REPLIES 10

NM
Honored Contributor III
Honored Contributor III

@LoneWolf2020 try this 

{

"accountParams": {

"connection": "acctAuth",

"processingType": "SequentialAndIterative",

"call": {

"call1": {

"callOrder": 0,

"stageNumber": 0,

"http": {

"url": "https://www.xxxx.xxxx/api/v3/publisher/team/list?api_token=${connection.apitoken}&aid=${connection.a...}",

"httpHeaders": {},

"httpContentType": "application/x-www-form-urlencoded",

"httpMethod": "POST"

},

"listField": "team_members",

"keyField": "accountID",

"colsToPropsMap": {

"accountID": "uid~#~char",

"name": "personal_name~#~char",

"status": "#CONST#${return 'true'}~#~char",

"customproperty9": "#CONST#${return 'true'}~#~char",

"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"

}

}

},

"acctEntMappings": {

"permissions": {

"importAsEntitlement": true,

"listPath": "permissions",

"idPath": "",

"keyField": "entitlementID",

"colsToPropsMap": {

"entitlementID": "permissions~#~char",

"entitlement_value": "permissions~#~char"

}

}

},

"entitlementParams": {

"connection": "acctAuth",

"processingType": "SequentialAndIterative",

"entTypes": {

"permissions": {}

}

},

"acctEntParams": {

"processingType": "acctToEntMapping"

}

}

 

Plus it won't be able to map as for mapping 

Key:field relation is required

It will add the permission in cp31


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

LoneWolf2020
New Contributor III
New Contributor III

It is throwing 'Invalid JSON' error in JSON Lint for this updated JSON. Please help!

NM
Honored Contributor III
Honored Contributor III

@LoneWolf2020 missed a bracket

Update this part

"acctEntMappings": {

 

"permissions": {

 

"importAsEntitlement": true,

 

"listPath": "permissions",

 

"idPath": "",

 

"keyField": "entitlementID",

 

"colsToPropsMap": {

 

"entitlementID": "permissions~#~char",

 

"entitlement_value": "permissions~#~char"

 

}

 

}

}

},

 


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

LoneWolf2020
New Contributor III
New Contributor III

I still see the same issue. Moreover, what was updated in the json? I could not find any difference between the original json that I shared and the updated json shared. Please help!

NM
Honored Contributor III
Honored Contributor III

@LoneWolf2020 share complete json again 


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

LoneWolf2020
New Contributor III
New Contributor III

Sharing the json again for your reference:

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://www.www.www/api/v3/publisher/team/list?api_token=${connection.apitoken}&aid=${connection.aid}",
"httpHeaders": {},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "POST"
},
"listField": "team_members",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "uid~#~char",
"name": "personal_name~#~char",
"status": "#CONST#${return 'true'}~#~char",
"customproperty9": "#CONST#${return 'true'}~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
}
},
"acctEntMappings": {
"permissions": {
"importAsEntitlement": true,
"listPath": "permissions",
"idPath": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "permissions~#~char",
"entitlement_value": "permissions~#~char"
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"permissions": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

NM
Honored Contributor III
Honored Contributor III

@LoneWolf2020 okay so acctentmapping block should be inside account param block .. which is not 

Please correct it.


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

LoneWolf2020
New Contributor III
New Contributor III

This worked. Thank you so much!

Please share full working json


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

Working JSON:

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://www.www.www/api/v3/publisher/team/list?api_token=${connection.apitoken}&aid=${connection.aid}",
"httpHeaders": {},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "POST"
},
"listField": "team_members",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "uid~#~char",
"name": "personal_name~#~char",
"status": "#CONST#${return 'true'}~#~char",
"customproperty9": "#CONST#${return 'true'}~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"permissions": {
"importAsEntitlement": true,
"listPath": "permissions",
"idPath": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "#CONST#${response==null?'': response?.toString()}~#~char~#~char",
"entitlement_value": "#CONST#${response==null?'': response?.toString()}~#~char~#~char"
}
}
}
},

"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"permissions": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}