I think some clarification needs to be made on this document…
When the document refers to sending “Multiple Entitlements” within the same request, what it is ACTUALLY saying is that you can send multiple entitlements of the same TYPE.
So if you have $plan.RoleId$ as your entitlement and in your Account Schema an Identity can have more than ONE of these (ie. RoleId1, RoleId2, RoleId3) Then when you use the information in this document, the Connector will be able to send ALL of those roles over in a single request.
Meaning, THIS part of the documentation is correct:
{ "addRoleIds": $plan.addRoleIds$ }
1. If `addRemoveEntInSingleReq` is set to `false`, then the placeholder value for the attribute marked as an entitlement is passed in separate API requests.
First request payload:
jsonBody={ "addRoleIds": "9dd23398-b905-4878-b7ad-bc02d22171d9" }
Second request payload:
jsonBody={ "addRoleIds": "8defe39c0-54f6-47b4-8a15-fcc2622923sk" }
2. If `addRemoveEntInSingleReq` is set to `true`, then the placeholder value for the attribute marked as an entitlement is passed as an array and is executed in a single request.
Single request payload, passed as an ARRAY:
jsonBody={ "addRoleIds": ["97ee39c0-54f6-47b4-8a15-fcc262292386","8defe39
Where this falls apart, is defining what happens when you send Multiple Entitlement Requests of the DIFFERENT Types.
For Example:
You have on Entitlement Type called ROLEID and another entitlement type called SERVICEID.
Because these types are not the same, they will be sent as separate requests, EVEN if you have this <entry key="addRemoveEntInSingleReq">
set to TRUE.
This means that if your API requires multiple Entitlement Types be sent at the same time, eg…
<UserSetup>
<firstname> John </firstname>
<lastname> Doe </lastname>
<ROLEID> $plan.roleId$ </ROLEID>
<SERVICEID>$plan.serviceId$</SERVICEID>
</UserSetup>
your request will fail…
Because ISC will send the Entitlements SEPARATELY, the API will only pick up one set and not the other.
tell me I’m wrong