I have developed an application using UCCE Agent API 10.0 to manipulate agent Attributes. I can add and remove attributes without any issues. I'm now modifying that application to additionaly enable changing the Agent name information, specifically first and last name.
When submitting the XML to the Agent API, I see that the attributes are still being updated as requested, however, the agent's last name is not changing. I am not receiving any error to indicate where the problem might lie.
Here is the <person> exceprt from the XML that I'm submitting to the API.
I have also tried just changing the name without changing attributes, with the same result. No error and no name change.
I'm posting an additional finding after further experimentation with the UCCE Agent API
Using a supervisor login, I tried to change the last name of an agent and I get the following error
<errorMessage>Supervisors are not allowed to edit this field</errorMessage>
However, still using a supervisor login, when i change only the attributes for an agent, the ChangeStamp and DateTimeStamp fields in the Person record are both updated as though the Person record was changed.
So, per the first example, the Supervisor login doesn't have rights to change the last name part of a Person record, yet the change stamp and date time stamp update when no information is changed.
When invoking the Agent API, Supervisors and non-PCCE administrators are only allowed to update the following fields as part of a PUT operation (attempting to update any other field, including Person information, will result in an access denied error):
The errors you are observing are by design. Hope that clarifies your question.
Thank you for jumping in here and providing information about the UCCE API. I am sitll wondering about my original post.
My first efforts at changing the Agent Name information was done using the administrator login. I would not receive any error but the name was also unchanged. I do notice in the API documentation that if information that is considered read-only is submitted in an update request it is ignored. Is that why the name is not bieng updated? Is it considered to be read-only? Because the person record is listed as required and as I mentioned, the change stamp and datetime fields in the t_Person table change even though no data in that record changed.
In summary, is there a way to change the Agent name using any of the availble UCCE API calls?
There is currently no way in the UCCE API to accomplish what you are trying to do. Unfortunately many of the API features in PCCE are still restricted on UCCE. If anyone out there is aware of any roadmap for opening up more functionality in the UCCE API, please feel free to share. We've had no luck tracking this information down and would appreciate any insight anyone may have. Thanks!