[comment]: # translation:outdated

[comment]: # ({a0f60ec7-a0f60ec7})
# role.update

[comment]: # ({/a0f60ec7-a0f60ec7})

[comment]: # ({fa53568c-63875138})
### Descrição  
  
`object role.update(object/array roles)`  
  
Este método permite atualizar as funções existentes.  
  
::: noteclassic  
Este método está disponível apenas para o tipo de usuário *Super admin*.  
As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte [Funções do usuário](/manual/web_interface/frontend_sections/administration/user_roles) para obter mais informações.
:::

[comment]: # ({/fa53568c-63875138})

[comment]: # ({039903c0-fa5c3d93})
### Parâmetros  
  
`(object/array)` Propriedades da função a serem atualizadas.

A propriedade `roleid` deve ser definida para cada função, todas as outras propriedades são opcionais. Apenas as propriedades passadas serão atualizadas, todas as outras permanecerão inalteradas.  
  
Além das [propriedades de função padrão](object#role), o método aceita os seguintes parâmetros.

|Parâmetro|[Tipo](/manual/api/reference_commentary#data_types)|Descrição|
|--|--|------|
|rules|array|Acesse [rules](object#role_rules) para substituir as regras de acesso atuais atribuídas à função.|

[comment]: # ({/039903c0-fa5c3d93})

[comment]: # ({12d196f6-12d196f6})
### Valores de retorno  
  
`(object)` Retorna um objeto contendo os IDs dos papéis atualizados na propriedade `roleids`.

[comment]: # ({/12d196f6-12d196f6})

[comment]: # ({b41637d2-b41637d2})
### Exemplos

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({6c85c960-1ce1fe70})
#### Desativando a capacidade de executar scripts  
  
Atualize a função com o ID "5", desative a capacidade de executar scripts.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "actions": [
                    {
                        "name": "execute_scripts",
                        "status": "0"
                    }
                ]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/6c85c960-1ce1fe70})

[comment]: # ({2a5c80b6-a6349165})
#### Limitando o acesso à API  
  
Atualize a função com o ID "5", negue chamar qualquer método "criar", "atualizar" ou "excluir".

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "api.access": "1",
                "api.mode": "0",
                "api": ["*.create", "*.update", "*.delete"]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/2a5c80b6-a6349165})

[comment]: # ({36db1bd2-36db1bd2})
### Fonte

CRole::update() in *ui/include/classes/api/services/CRole.php*.

[comment]: # ({/36db1bd2-36db1bd2})
