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

acctEntParams using processing type httpEntToAcct not mapping

do12
New Contributor III
New Contributor III

Hi

I'm not sure if I'm using httpEnttoAcct correctly in my entitlement to account mapping. I've successfully imported Accounts and Entitlements using this JSON and I now need to pass each Group Name in httpParams to get the list of Group Members (this is how it works in Postman). Would ${id} be the correct way to do it?

So far what I've attempted has not done any mapping and I've not seen any error messages either so please can you take a look and see if there's anything obviously wrong with the JSON.

{
"accountParams":
{
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig":
{
"deleteLinks": true,
"statusColumn": "customproperty2",
"activeStatus": [
"true"] ,
"accountThresholdValue": 200,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": true

},
"call":
{
"call1":
{
"callOrder": 0,
"stageNumber": 0,
"http":
{
"url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/OneStreamWeb\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Userlist\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "userList",
"keyField": "name",
"colsToPropsMap":
{
"accountID": "uniqueID~#~char",
"customproperty2": "isEnabled~#~bool",
"name": "email~#~char",
"displayname": "name~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"successResponses":
{
"statusCode": [200, 201]
},
"unsuccessResponses":
{
"statusCode": [400, 401, 404, 500]
}
}
}
},

"entitlementParams":
{
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes":
{
"Group":
{
"call":
{
"call1":
{
"callOrder": 0,
"stageNumber": 0,
"http":
{
"url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Group\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "groupList",
"keyField": "entitlementID",
"colsToPropsMap":
{
"entitlementID": "uniqueID~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"disableDeletedEntitlements": true
}}}}},

"acctEntParams": {
"connection": "acctAuth",
"entTypes": {
"Group": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpEntToAcct",
"http": {
"url": "https://****.com/****Api/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = GroupMembership, Groupname = ${id}\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "groupMembership",
"entKeyField": "entitlementID",
"acctKeyField": "name"

}
}
}

}
}
}

 

11 REPLIES 11

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 this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

do12
New Contributor III
New Contributor III

Attached curl command and screenshots from Postman.

Please use below

{
  "accountParams": {
    "connection": "acctAuth",
    "processingType": "SequentialAndIterative",
    "statusAndThresholdConfig": {
      "deleteLinks": true,
      "statusColumn": "customproperty2",
      "activeStatus": [
        "true"
      ],
      "accountThresholdValue": 200,
      "correlateInactiveAccounts": false,
      "inactivateAccountsNotInFile": false,
      "deleteAccEntForActiveAccounts": true
    },
    "call": {
      "call1": {
        "callOrder": 0,
        "stageNumber": 0,
        "http": {
          "url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
          "httpHeaders": {
            "Authorization": "Bearer ${connection.token}",
            "Accept": "application/json"
          },
          "httpParams": "{\"BaseWebServerUrl\": \"https://****.com/OneStreamWeb\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Userlist\"}",
          "httpContentType": "application/json",
          "httpMethod": "POST"
        },
        "listField": "userList",
        "keyField": "name",
        "colsToPropsMap": {
          "accountID": "uniqueID~#~char",
          "customproperty2": "isEnabled~#~bool",
          "name": "email~#~char",
          "displayname": "name~#~char",
          "customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
        },
        "successResponses": {
          "statusCode": [
            200,
            201
          ]
        },
        "unsuccessResponses": {
          "statusCode": [
            400,
            401,
            404,
            500
          ]
        }
      }
    }
  },
  "entitlementParams": {
    "connection": "acctAuth",
    "processingType": "SequentialAndIterative",
    "entTypes": {
      "Group": {
        "call": {
          "call1": {
            "callOrder": 0,
            "stageNumber": 0,
            "http": {
              "url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
              "httpHeaders": {
                "Authorization": "Bearer ${connection.token}",
                "Accept": "application/json"
              },
              "httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Group\"}",
              "httpContentType": "application/json",
              "httpMethod": "POST"
            },
            "listField": "groupList",
            "keyField": "entitlementID",
            "colsToPropsMap": {
              "entitlementID": "uniqueID~#~char",
              "entitlement_value": "name~#~char",
              "description": "description~#~char",
              "acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
            },
            "disableDeletedEntitlements": true
          }
        }
      }
    }
  },
  "acctEntParams": {
    "connection": "acctAuth",
    "entTypes": {
      "Group": {
        "call": {
          "call1": {
            "callOrder": 0,
            "stageNumber": 0,
            "processingType": "httpEntToAcct",
            "http": {
              "url": "https://****.com/****Api/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
              "httpHeaders": {
                "Authorization": "Bearer ${connection.token}",
                "Accept": "application/json"
              },
              "httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = GroupMembership, Groupname = ${id}\"}",
              "httpContentType": "application/json",
              "httpMethod": "POST"
            },
            "listField": "groupMembership",
            "entKeyField": "entitlementID",
            "acctIdPath": "memberEmail",
            "acctKeyField": "accountID"
          }
        }
      }
    }
  }
}

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

NM
Esteemed Contributor
Esteemed Contributor

Hi @do12 , do you see the response coming in logs

After running access import, fetch logs and share it across to debug the issue.


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

do12
New Contributor III
New Contributor III

Attached logs after running access import

NM
Esteemed Contributor
Esteemed Contributor

Hi @do12 , logs doesn't seem to be relevant.

Can you attach new extract?


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

do12
New Contributor III
New Contributor III

I've tried again. searching logs isn't easy.  Like I said there's no errors with the jobs but I suspect I'm doing something wrong in the mapping.

NM
Esteemed Contributor
Esteemed Contributor

@do12 ,

try this

{
"accountParams":
{
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig":
{
"deleteLinks": true,
"statusColumn": "customproperty2",
"activeStatus": [
"true"] ,
"accountThresholdValue": 200,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": true

},
"call":
{
"call1":
{
"callOrder": 0,
"stageNumber": 0,
"http":
{
"url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/OneStreamWeb\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Userlist\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "userList",
"keyField": "name",
"colsToPropsMap":
{
"accountID": "uniqueID~#~char",
"customproperty2": "isEnabled~#~bool",
"name": "email~#~char",
"displayname": "name~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"successResponses":
{
"statusCode": [200, 201]
},
"unsuccessResponses":
{
"statusCode": [400, 401, 404, 500]
}
}
}
},

"entitlementParams":
{
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes":
{
"Group":
{
"call":
{
"call1":
{
"callOrder": 0,
"stageNumber": 0,
"http":
{
"url": "https://****.com/OneStreamApi/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = Group\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "groupList",
"keyField": "entitlementID",
"colsToPropsMap":
{
"entitlementID": "uniqueID~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"disableDeletedEntitlements": true
}}}}},

"acctEntParams": {
"connection": "acctAuth",
"entTypes": {
"Group": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpEntToAcct",
"http": {
"url": "https://****.com/****Api/api/DataProvider/GetAdoDataSetForAdapter?api-version=5.2.0",
"httpHeaders":
{
"Authorization": "Bearer ${connection.token}",
"Accept": "application/json"
},
"httpParams": "{\"BaseWebServerUrl\": \"https://****.com/****Web\",\"ApplicationName\": \"Dev\",\"WorkspaceName\": \"Default\",\"AdapterName\": \"REST_CALL\",\"ResultDataTableName\": \"RestAPIResults\",\"CustomSubstVarsAsCommaSeparatedPairs\": \"Method = Report, ReportName = GroupMembership, Groupname = ${id}\"}",
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "groupMembership",
"entKeyField": "entitlementID",
"acctKeyField": "name",

"acctIdPath","memberEmail"
}
}
}

}
}
}

 


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

do12
New Contributor III
New Contributor III

Thank you for the response. I've tried that but there's no change

Could you kindly provide a detailed snapshot of the information extracted from the logs, encompassing errors and other pertinent functionality details encountered during the execution of this process? Your assistance in furnishing this information would greatly aid in the analysis and resolution of any issues .



‼️‼️⚠️Do not upload any attachments that contain sensitive information, such as IP Addresses, URLs, Company/Employee Names, Email Addresses, etc.⚠️‼️‼️


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

do12
New Contributor III
New Contributor III

Thanks but I've got it working now. I just needed to change entKeyField from entitlementID to entitlement_value.