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

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

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

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

Este método permite atualizar protótipos de item 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. Veja [Funções de usuário](/manual/web_interface/frontend_sections/users/user_roles) para mais informações.
:::

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

[comment]: # ({4da6e973-16fcb884})
### Parâmetros

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

A propriedade `itemid` deve ser definida para cada protótipo de item, todas as outras
propriedades são opcionais. Somente as propriedades passadas serão atualizadas, todas
as outras permanecerão inalteradas.

Além das [propriedades padrão do protótipo de item](object#item-prototype), o método aceita os seguintes
parâmetros.

|Parâmetro|[Tipo](/manual/api/reference_commentary#data-types)|Descrição|
|--|--|------|
|preprocessing|array|Opções de [pré-processamento do protótipo de item](/manual/api/reference/itemprototype/object#item-prototype-preprocessing) para substituir as opções de pré-processamento atuais.<br><br>[Comportamento do parâmetro](/manual/api/reference_commentary#parameter-behavior):<br>- *somente leitura* para objetos herdados|
|tags|array|[Tags do protótipo de item](/manual/api/reference/itemprototype/object#item-prototype-tag).|

[comment]: # ({/4da6e973-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]: # ({817dd908-48cea947})
#### Alterando a interface de um protótipo de item

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

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

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

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

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

[comment]: # ({/6430348b-e1d8fc73})

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

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

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

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

Atualize um protótipo de item com a regra de pré-processamento de item "Multiplicador personalizado".

[Request](/manual/api#performing-requests):

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

Resposta:

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

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

[comment]: # ({c56158ac-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.

[Requisição](/manual/api#performing-requests):

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

Resposta:

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

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

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

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

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