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

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

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

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

Este método permite actualizar prototipos de métrica existentes.

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

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

[comment]: # ({607a518f-16fcb884})
### Parámetros

`(objeto/matriz)` Propiedades del prototipo de métrica que se actualizarán.

La propiedad `itemid` debe definirse para cada prototipo de métrica, 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 [prototipo de métrica estándar](object#item_prototype), el método acepta los siguientes
parámetros.

|Parámetro|[Tipo](/manual/api/reference_commentary#data_types)|Descripción|
|--|--|------|
|preprocessing|matriz|Opciones de [preprocesamiento](/manual/api/reference/itemprototype/object#item_prototype_preprocessing) del prototipo de métrica para reemplazar las opciones de preprocesamiento actuales.<br><br>[Comportamiento de parámetros](/manual/api/reference_commentary# parámetro-comportamiento):<br>- *solo lectura* para objetos heredados|
|tags|matriz|[Etiquetas](/manual/api/reference/itemprototype/object#item_prototype_tag) del prototipo de métrica.|

[comment]: # ({/607a518f-16fcb884})

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

`(objeto)` Devuelve un objeto que contiene los ID de los prototipos de métrica 
actualizados bajo la propiedad `itemids`.

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

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

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

[comment]: # ({817dd908-48cea947})
#### Cambiar la interfaz de un prototipo de métrica

Cambie la interfaz del equipo que utilizarán las métricas descubiertas.

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


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

Respuesta:

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

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

[comment]: # ({6430348b-e1d8fc73})
#### Actualizar el prototipo de métrica dependiente

Actualice el prototipo de métrica dependiente con el nuevo ID del prototipo de métrica principal. Solo
se permiten dependencias en el mismo equipo (template/discovery rule),
por lo tanto, la métrica principal y dependiente deben tener el mismo ID de equipo e ID de regla.

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

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

Respuesta:

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

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

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

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

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

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

Respuesta:

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

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

[comment]: # ({42088f69-e5fc44e0})
#### Actualización de opciones de preprocesamiento de métricas

Actualizar un prototipo de métrica con la regla de preprocesamiento de métrica "multiplicador personalizado".

[Solicitud](/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
}
```

Respuesta:

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

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

[comment]: # ({c56158ac-15ba4525})
#### Actualización de un prototipo de métrica de script

Actualizar un prototipo de métrica de script con una secuencia de comandos diferente y eliminar los
parámetros innecesarios que fueron utilizados por el script anterior.

[Solicitud](/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
}
```

Respuesta:

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

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

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

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

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