[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]: # ({4da6e973-16fcb884})
### Parámetros

`(object/array)` Propiedades de la item prototype que se van a actualizar.

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

Además de las [propiedades estándar de la item prototype](object#item-prototype), el método acepta los siguientes parámetros.

|Parámetro|[Tipo](/manual/api/reference_commentary#data-types)|Descripción|
|--|--|------|
|preprocessing|array|Opciones de [preprocesamiento de la item prototype](/manual/api/reference/itemprototype/object#item-prototype-preprocessing) para reemplazar las opciones de preprocesamiento actuales.<br><br>[Comportamiento del parámetro](/manual/api/reference_commentary#parameter-behavior):<br>- *sólo lectura* para objetos heredados|
|tags|array|[Etiquetas de la item prototype](/manual/api/reference/itemprototype/object#item-prototype-tag).|

[comment]: # ({/4da6e973-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]: # ({c183c453-d7fe7206})
#### Actualizar el prototipo de la 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": [
            {
                "name": "random",
                "value": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "id": 1
}
```

Respuesta:

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

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

[comment]: # ({98e86439-e5fc44e0})
#### Actualización de las opciones de preprocesamiento de item

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

[Petición](/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]: # ({/98e86439-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})
