We are just getting started using REST (SOAP) to integrate with a separate application that configures and provisions users. We are trying to update the Group, Role, Access Type, Active Status, based on a specific UserID. In the examples, I only see reference to using the UUID in each of these requests. For an examples that I found you have to use the:
/caisd-rest/<factory>/<object id>/<attribute name (SREL)
and in the example it called for the PUT method to look like:
PUT /caisd-rest/loc/U'0502D608F9122B48B7C9DAB9E0457F94' HTTP/1.1Host: hostnameContent-Type: application/xml;charset=UTF-8X-Obj-Attrs: delete_flag
All other examples I have seen for Groups, Roles, Users, etc. have included the UUID but I would like to prevent the call from trying to return the UUIDs and then parsing that information to re-add it to the Request.
Is there a way in the call to update the Role, Group, Access Types, and update Active status based on their UserID and not by using the UUID?
Hi Jessie, Unfortunately I dont believe that can be done because some things such the user's roles or access types are stored in different tables. Contacts are broken up into two tables - ca_contact, and usp_contact. The ca_contact table holds the info such as the first name, last name, email, userid and others. The usp_contact table, which relates to the ca_contact table by way of the UUID for the user (the usp_contact table doesnt have a userid field - it only matches ca_contact by UUID), holds the access type for the user. Roles are totally separate as its a many-to-one relationship, meaning that one user can have many roles associated to it. We recommend using access types to control roles rather than giving roles to individual users. Thus I dont believe you can update those things via userID as that is not unique necessarily where as UUID is always unique, and its what links the contact records to their associated access types, roles etc.
Hope this helps make sense a bit.