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

REST CONNECTOR : Import Account Entitlement Mapping from XML Response(BU) using REST Connector

sumalatham
New Contributor III
New Contributor III

Hello Team

 

We are able to import from a XML Response using REST Connector the below objects successfully like below:

1.AccountImport

2.Entitlements Import

3.Role Account-Entilement Mapping

 

We are facing issue in importing the BU Account Entitlement mapping from  XML Response using REST Connector.

 

Note: We cannot use the SOAP Connector due to certain limitations with the application API's because the Access Token can only be retrieved from a REST call.

 

Below is the Sample XML Response (Removed unnecessary information in the response):

 

AccountUserID is the AccountID value in Saviynt and the entitlement information is present under the Business Units attribute in the SOAP response and the Entitlement Value is the ID parameter in the response.

 

 

XML Response:

 <RetrieveResponseMsg xmlns="http://test.com">

            <OverallStatus>OK</OverallStatus>

            <RequestID>8c87c4d8-edd1-4f39-b3c9-222222</RequestID>

            <Results xsi:type="AccountUserAccount">

                <PartnerKey xsi:nil="true" />

                <ObjectID xsi:nil="true" />

                <AccountUser>

                    <PartnerKey xsi:nil="true" />

                    <ObjectID xsi:nil="true" />

                    <AccountUserID>23456222q</AccountUserID>

                    <UserID> SSM tetstss</UserID>

                    <Name>tetstss</Name>

                    <Email>SMtetst@test.com</Email>

                    <ActiveFlag>false</ActiveFlag>

                    <Delete>0</Delete>

                </AccountUser>

                <Account>

                    <PartnerKey xsi:nil="true" />

                    <ID>4500010069</ID>

                    <ObjectID xsi:nil="true" />

                    <AccountType>None</AccountType>

                    <Name>Cartier BU</Name>

                    <IsActive>1</IsActive>

                    <CustomerID>0</CustomerID>

                    <Subscription xsi:nil="true" />

                </Account>

            </Results>

            <Results xsi:type="AccountUserAccount">

                <PartnerKey xsi:nil="true" />

                <ObjectID xsi:nil="true" />

                <AccountUser>

                    <PartnerKey xsi:nil="true" />

                    <ObjectID xsi:nil="true" />

                    <AccountUserID>2345622234</AccountUserID>

                    <UserID> SSM tetstss22</UserID>

                    <Name>tetstss22</Name>

                    <Email>SMtetst22@test.com</Email>

                    <ActiveFlag>false</ActiveFlag>

                    <Delete>0</Delete>

                </AccountUser>

                <Account>

                    <PartnerKey xsi:nil="true" />

                    <ID>4500010069</ID>

                    <ObjectID xsi:nil="true" />

                    <AccountType>None</AccountType>

                    <Name>Cartier BU</Name>

                    <IsActive>1</IsActive>

                    <CustomerID>0</CustomerID>

                    <Subscription xsi:nil="true" />

                </Account>

            </Results>

</RetrieveResponseMsg>

 

Please can you help on this?

 

Thanks

Sumalatha

5 REPLIES 5

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @sumalatham,

We are checking on it, we will keep you posted.

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

NM
Honored Contributor II
Honored Contributor II

Hi @sumalatham , could you please highlight the business unit in response and also payload for a single user.

sumalatham
New Contributor III
New Contributor III

Hello @NM 

Please find the API payload, response and AccountENTImportJSON  in the attachment.

Thanks

Sumalatha

 

Hello @NM 

Payload:

Hello Team

I am able to map account to entitlements for Users who have single BU.

API Response:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://test.com" xmlns:xsi=https://test.com" xmlns:xsd="https://test.com" xmlns:wsa="http://schemassss.xmlsoap.org/w" x>
<soap:Body>
<RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/passartnerAPId">
<OverallStatus>OK</OverallStatus>
<RequestID>433-ass4bbc-8a3f-002d51b657b1</RequestID>
<Results xsi:type="AccountUserAccount">
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUser>
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUserID>71044204023</AccountUserID> !------USER ID-------!
<UserID>IAMTestUser2@test.com.dev</UserID>
<Name>IAMTestUser2 f IAMTestUser2 l</Name>
<Email>IAMTestUser2@test.com.dev</Email>
<ActiveFlag>true</ActiveFlag>
<Delete>0</Delete>
</AccountUser>
<Account>
<PartnerKey xsi:nil="true" />
<ID>50000847022</ID>!------BU ID-------!
<ObjectID xsi:nil="true" />
<AccountType>None</AccountType>
<Name>Chloé test QA</Name>
<IsActive>1</IsActive>
<CustomerID>0</CustomerID>
<Subscription xsi:nil="true" />
</Account>
</Results>
</RetrieveResponseMsg>
</soap:Body>
</soap:Envelope>

But if user have more than one BU then we are unable to map these two entitlements to account for that user like below:

API Response:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://test.com" xmlns:xsi=https://test.com" xmlns:xsd="https://test.com" xmlns:wsa="http://schemassss.xmlsoap.org/w" x>
<soap:Body>
<RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/passartnerAPId">
<OverallStatus>OK</OverallStatus>
<RequestID>433-ass4bbc-8a3f-002d51b657b1</RequestID>
<Results xsi:type="AccountUserAccount">
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUser>
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUserID>7104420401</AccountUserID> !------USER ID-------!
<UserID>IAMTestUser2@test.com.dev</UserID>
<Name>IAMTestUser2 f IAMTestUser2 l</Name>
<Email>IAMTestUser2@test.com.dev</Email>
<ActiveFlag>true</ActiveFlag>
<Delete>0</Delete>
</AccountUser>
<Account>
<PartnerKey xsi:nil="true" />
<ID>50000847022</ID>!------BU ID-------!
<ObjectID xsi:nil="true" />
<AccountType>None</AccountType>
<Name>Chloé test QA</Name>
<IsActive>1</IsActive>
<CustomerID>0</CustomerID>
<Subscription xsi:nil="true" />
</Account>
</Results>
<Results xsi:type="AccountUserAccount">
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUser>
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
<AccountUserID>7104420401</AccountUserID> !------USER ID-------!
<UserID>IAMTestUser2@test.com.dev</UserID>
<Name>IAMTestUser2 f IAMTestUser2 l</Name>
<Email>IAMTestUser2@test.com.dev</Email>
<ActiveFlag>true</ActiveFlag>
<Delete>0</Delete>
</AccountUser>
<Account>
<PartnerKey xsi:nil="true" />
<ID>5000100712</ID> !------BU ID-------!
<ObjectID xsi:nil="true" />
<AccountType>None</AccountType>
<Name>Cartier testQA</Name>
<IsActive>1</IsActive>
<CustomerID>0</CustomerID>
<Subscription xsi:nil="true" />
</Account>
</Results>
</RetrieveResponseMsg>
</soap:Body>
</soap:Envelope>

 We are using below snippet in the json:

"listField": "soap:Envelope.soap:Body.RetrieveResponseMsg",
"entIdPath": "Results.Account.ID",
"accIdPath": "Results.AccountUser.AccountUserID",
"entKeyField": "entitlementID",
"acctKeyField": "accountID"

 

Please help on this?

 

Thanks

Sumalatha