Skip to main content

Create & Update Actor

The Actor API allows for the creation and modification of actors within the system, such as customers or users. This API provides a flexible way to assign roles, update entity details, and manage user credentials automatically based on assigned roles. Below, you will find the necessary requests and parameters for creating and updating an actor efficiently.

Creating an Actor

The CreateActor API allows you to create a new actor, such as a customer or person, by sending a request with the necessary role assignments and field values.

Method: POST
URL: {host_url}/api/actors/Actor/CreateActor

Minimal Request

{
"modelType":"CreateActorCommand",
"modelUpdates":[
{
"modelType":"ChangePersonFieldsetUpdate",
"firstName":{
"value":"John"
},
"lastName":{
"value":"Smith"
}
}
],
"roleNames":[
"CustomerPerson",
"Person",
"Customer"
]
}

Role Assignment

  • The roleNames field is an array of role system names that will be assigned to the newly created actor.
  • The roleIds field (if used) contains an array of role IDs.

Retrieving Role IDs

To retrieve role IDs dynamically, you can use RoleApiService:

  • getRoles(): Retrieves a list of roles, with optional filters based on request parameters (e.g., include/exclude specific role IDs).
  • getRoleBySystemName(): Retrieves a role using its system name.
note

There is a hardcoded role system name, User, which determines whether a security user should be created. If the User role is included in the roleNames array, the system will automatically generate a security user.

  • The new user will have the following properties:
    • Name = First Name + Last Name
    • Email = Same as provided in the request
    • Password = Same as Email

Model Updates

  • The modelUpdates field contains additional attributes that can be set for the new actor, such as first name, birthdate, email, etc.
  • Model updates have the ModelUpdate suffix.
  • Properties using IOptional type are not mandatory.

Updating an Actor

The UpdateActor API allows modifications to an existing actor's details, such as changing personal information.

  • Method: POST
  • URL: {host_url}/api/actors/Actor/UpdateActor

Minimal Request

{
"modelType":"UpdateActorCommand",
"modelUpdates":[
{
"modelType":"ChangePersonFieldsetUpdate",
"firstName":{
"value":"John"
},
"lastName":{
"value":"Smith"
}
}
],
"entityId": your_actor_id
}
note

In update actor command ActorId need to be specified in property entityId and also should be presented set of model updates in which should be defined which exactly properties need to be updated.