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

String object list - All accounts and entitlements are not fully imported into saviynt

Shaik-Misba
New Contributor III
New Contributor III

I am trying to import accounts and entitlements from the rest application. I am able import only 50 accounts and 6 entitlements. Here I am importing entitlements from the accounts itself. In the api response header there is a link field, there is no count and starting page info in both response and header. I am providing the json and the sample response and link.

{
    "accountParams": {
        "connection": "acctAuth",
        "createUsers": false,
        "adminName": "admin",
        "processingType": "SequentialAndIterative",
        "call": {
            "call1": {
                "callOrder": 0,
                "stageNumber": 0,
                "showResponse": true,
                "http": {
                    "url": "https://xxxxxxx/admin/api/2024-07/users.json",
                    "httpParams": "",
                    "httpMethod": "GET",
                    "httpHeaders": {
                        "X-abc-Access-Token": "${access_token}"
                    }
                },
                "listField": "users",
                "keyField": "accountID",
                "colsToPropsMap": {
                    "accountID": "id~#~char",
                    "name": "first_name~#~char",
                    "customproperty3": "email~#~char",
                    "customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
                },
                "pagination": {
                    "nextUrl": {
                        "nextUrlPath": "${headers?.Link==null?'':headers?.Link?.contains('next')?headers?.Link?.split(',')?.size()==2?headers?.Link?.split(',')[0]?.replace('<', '')?.replace('>; rel=\"next\"','')?.trim():headers?.Link?.split(',')[1].replace('<', '').replace('>; rel=\"next\"','').trim():''}"    
                    }
 
 
                }
            }
        },
        "acctEntMappings": {
            "Permissions": {
                "listPath": "permissions",
                "idPath": "",
                "keyField": "entitlementID"
            }
        }
    },
    "entitlementParams": {
        "connection": "acctAuth",
        "processingType": "SequentialAndIterative",
        "entTypes": {
            "Permissions": {
                "entTypeOrder": 0,
                "call": {
                    "call1": {
                        "callOrder": 0,
                        "stageNumber": 0,
                        "showResponse": true,
                        "http": {
                            "url": "https://xxxxxx/admin/api/2024-07/users.json",
                            "httpParams": "",
                            "httpMethod": "GET",
                            "httpHeaders": {
                                "X-abc-Token": "${access_token}"
                            }
                        },
                        "listField": "users",
                        "keyField": "entitlementID",
                        "colsToPropsMap": {
                            "entitlementID": "permissions[0]~#~char",
                            "entitlement_value": "permissions[0]~#~char"
                        },
                        "pagination": {
                            "nextUrl": {
                                "nextUrlPath": "${headers?.Link==null?'':headers?.Link?.contains('next')?headers?.Link?.split(',')?.size()==2?headers?.Link?.split(',')[0]?.replace('<', '')?.replace('>; rel=\"next\"','')?.trim():headers?.Link?.split(',')[1].replace('<', '').replace('>; rel=\"next\"','').trim():''}"    
                            }
}
                    }
                }
            }
        }
    },
    "acctEntParams": {
        "processingType": "acctToEntMapping"
    }
}

Here is the Postman response:-

{
    "users": [
        {
            "id"test19,
            "first_name""firstName",
            "email""abc@gmail.com",
            "url"null,
            "im"null,
            "screen_name"null,
            "phone"null,
            "last_name""Edler",
            "account_owner"false,
            "receive_announcements"0,
            "bio"null,
            "permissions": [
                "applications",
                "channels",
                "customers",
                "dashboard",
                "domains",
                "draft_orders",
                "edit_orders",
                "gift_cards",
                "links",
                "locations",
              
            ],
            "locale""en-GX",
            "user_type""regular",
            "admin_graphql_api_id""gid://xxx/AdxxabrSerializerxxxx",
            "tfa_enabled?"false
        }
]
}
Could you please help me out?
3 REPLIES 3

Dhruv_S
Saviynt Employee
Saviynt Employee

Please refer to the REST connector guide for JSON construction and supported formats.

Examples for JSON Construction (saviyntcloud.com)

Shaik-Misba
New Contributor III
New Contributor III

CP31 value is populated in Saviynt Still the all the entitlements are not imported. Now the accounts are imported but the entitlements count is only 13 

Issue resolved. I am sharing the updated json for your reference.

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call0": {
"callOrder": 1,
"stageNumber": 1,
"http": {
"httpMethod": "GET",
"url": "xxxxx/admin/api/2024-07/users.json",
"httpHeaders": {
"X-xx-Access-Token": "${access_token}",
"Accept": "*/*"
}
},
"listField": "users",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "email~#~char",
"customproperty1": "firstName~#~char",
"customproperty2": "lastName~#~char",
"customproperty3": "email~#~char",
"customproperty4": "permissions[0]~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${headers?.link==null?'':headers?.link?.contains('next')?headers?.link?.split(',')?.size()==2?headers?.link?.split(',')[1]?.replace('<', '')?.replace('>; rel=\"next\"','')?.trim():headers?.link?.split(',')[0].replace('<', '').replace('>; rel=\"next\"','').trim():''}"
}
}
}
},
"acctEntMappings": {
"permissions": {
"listPath": "permissions",
"idPath": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID":"#CONST#${return response?.toString()}~#~char",
"entitlement_value":"#CONST#${return response?.toString()}~#~char"
}

}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"permissions": {

}
}
},
"acctEntParams": {
"entTypes": {
"permissions": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "acctToEntMapping"
}
}
}
}
}
}