[comment]: # ({cc00d3db-cc00d3db})
# itemprototype.update

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

[comment]: # ({63442cbb-63442cbb})
### Descrição

`object itemprototype.update(object/array itemPrototypes)`

Este método permite atualizar protótipos de itens existentes.

::: noteclassic
Este método está disponível apenas para os tipos de usuário *Admin* e *Super admin*. 
As permissões para chamar o método podem ser revogadas nas configurações 
de função do usuário. See [User roles](/manual/web_interface/frontend_sections/administration/user_roles)
para obter mais informações.
:::

[comment]: # ({/63442cbb-63442cbb})

[comment]: # ({3b327914-16fcb884})
### Parâmetros

`(object/array)` Propriedades do protótipo do item a serem atualizadas.

A propriedade `itemid` deve ser definida para cada protótipo de item, 
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 protótipo de item padrão](object#item_prototype), 
o método aceita os seguintes parâmetros.

|Parâmetro|[Tipo](/manual/api/reference_commentary#data_types)|Descrição|
|--|--|------|
|preprocessing|array|Protótipo de item [preprocessing](/manual/api/reference/itemprototype/object#item_prototype_preprocessing) opções para substituir as opções de pré-processamento atuais.|
|tags|array|Protótipo de item [tags](/manual/api/reference/itemprototype/object#item_prototype_tag).|

[comment]: # ({/3b327914-16fcb884})

[comment]: # ({f7f1feb9-f7f1feb9})
### Valores de retorno

`(object)` Retorna um objeto contendo os IDs dos protótipos de 
itens atualizados na propriedade `itemids`.

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

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

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

[comment]: # ({c90dddc6-48cea947})
#### Alterando a interface de um protótipo de item

Altere a interface do host que será usada pelos itens descobertos.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "27428",
        "interfaceid": "132"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "27428"
        ]
    },
    "id": 1
}
```

[comment]: # ({/c90dddc6-48cea947})

[comment]: # ({37e481d4-e1d8fc73})
#### Atualizar protótipo de item dependente

Atualize o protótipo de item dependente com o novo ID de 
protótipo de item mestre. Apenas dependências no mesmo 
host (regra de modelo/descoberta) são permitidas, portanto, 
o item mestre e dependente deve ter o mesmo hostid e ruleid.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "master_itemid": "25570",
        "itemid": "189030"
    },
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "189030"
        ]
    },
    "id": 1
}
```

[comment]: # ({/37e481d4-e1d8fc73})

[comment]: # ({988b9bcb-d7fe7206})
#### Atualizar protótipo de item do agente HTTP

Altere os campos de consulta e remova todos os cabeçalhos personalizados.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid":"28305",
        "query_fields": [
            {
                "random": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "28305"
        ]
    },
    "id": 1
}
```

[comment]: # ({/988b9bcb-d7fe7206})

[comment]: # ({e7525f97-e5fc44e0})
#### Atualizando opções de pré-processamento de itens

Atualizar um protótipo de item com a regra de pré-processamento de item “Custom
multiplier”.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "44211",
        "preprocessing": [
            {
                "type": 1,
                "params": "4",
                "error_handler": 2,
                "error_handler_params": "5"
            }
        ]
    },
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}
```

[comment]: # ({/e7525f97-e5fc44e0})

[comment]: # ({3908deff-15ba4525})
#### Atualizando um protótipo de item de script

Atualize um protótipo de item de script com um script 
diferente e remova parâmetros desnecessários que foram 
usados pelo script anterior.

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
    },
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}
```

[comment]: # ({/3908deff-15ba4525})

[comment]: # ({bc6956c2-bc6956c2})
### Fonte

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

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