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

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

[comment]: # ({63442cbb-63442cbb})
### Descripción

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

Este método permite actualizar prototipos de item existentes.

::: noteclassic
Este método solo está disponible para los tipos de usuario *Administrador* y *Superadministrador*.
Los permisos para activar el método se pueden revocar en la configuración del rol de usuario.
Ver [User
roles](/manual/web_interface/frontend_sections/administration/user_roles)
para más información.
:::

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

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

`(object/array)` Item prototype properties to be updated.

La propiedad `itemid` debe definirse para cada prototipo de item, todas las demás
propiedades son opcionales. Sólo se actualizarán las propiedades pasadas, todas las
otras permanecerán sin cambios.

Además de las propiedades de [standard item prototypeproperties](object#prototipo_de_item), el método acepta los siguientes parámetros.

|Parámetro|[Tipo](/manual/api/reference_commentary#tipos_de_datos)|Descripción|
|--|--|------|
|preprocessing|matriz|Opciones de [preprocessing](/manual/api/reference/itemprototype/object#procesamiento_de_prototipo_de_item) del prototipo de item para reemplazar las opciones de preprocesamiento actuales.<br><br>
|tags|matriz|[tags](/manual/api/reference/itemprototype/object#etiqueta_de_prototipo_de_item) del prototipo de item.|

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

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

`(object)` Devuelve un objeto que contiene los ID de los prototipos de item
actualizados bajo la propiedad `itemids`.

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

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

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

[comment]: # ({c90dddc6-48cea947})
#### Cambiar la interfaz de un prototipo de item

Cambie la interfaz del host que utilizarán los items descubiertos.

Solicitud:

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

Respuesta:

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

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

[comment]: # ({37e481d4-e1d8fc73})
#### Actualizar el prototipo de de item dependiente

Actualice el prototipo de item dependiente con el nuevo ID del prototipo de item Principal. Solo se permiten dependencias en el mismo host (template/discovery rule), por lo tanto, los items principal y dependiente deben tener el mismo ID de host e ID de regla.

Solicitud:

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

Respuesta:

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

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

[comment]: # ({988b9bcb-d7fe7206})
#### Actualizar el prototipo de métrica del agente HTTP

Cambie los campos de consulta y elimine todos los encabezados personalizados.

Solicitud:

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

Respuesta:

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

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

[comment]: # ({e7525f97-e5fc44e0})
#### Actualización de opciones de preprocesamiento de items

Actualizar un prototipo de item con la regla de preprocesamiento de item "multiplicador personalizado".

Solicitud:

```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
}
```

Respuesta:

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

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

[comment]: # ({3908deff-15ba4525})
#### Actualización de un item de secuencia de comandos

Actualice un item de secuencia de comandos con una secuencia de comandos diferente y elimine los parámetros innecesarios que utilizó la secuencia de comandos anterior.

Solicitud:

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

Respuesta:

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

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

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

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

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