[comment]: # translation:outdated

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

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

[comment]: # ({189466f4-63442cbb})
### Описание

`object itemprototype.update(объект/массив itemPrototypes)`

Этот метод позволяет обновлять существующие прототипы элементов данных.

::: noteclassic
Этот метод доступен только пользователям с типом доступа *Администратор* и *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

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

[comment]: # ({new-16fcb884})
### Параметры

`(объект/массив)` Свойства прототипов элементов данных, которые будут
обновлены.

Свойство `itemid` должно быть указано по каждому прототипу элементов
данных, все остальные свойства опциональны. Будут обновлены только
переданные свойства, все остальные останутся неизменными.

В дополнение к [стандартным свойствам прототипа элементов
данных](object#прототип_элементов_данных), этот метод принимает
следующие параметры.

|Параметр|Тип|Описание|
|----------------|------|----------------|
|applications|массив|ID групп элементов данных, которые заменят текущие группы элементов данных.|
|applicationPrototypes|массив|Имена прототипов групп элементов данных, которые заменят текущие прототипы групп элементов данных.|
|preprocessing|массив|Опции предобработки прототипа элементов данных, которые заменят текущие опции предварительной обработки.|

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

[comment]: # ({f7f1feb9-f7f1feb9})
### Возвращаемые значения

`(объект)` Возвращает объект, который содержит ID обновленных прототипов
элементов данных, указанных в свойстве `itemids`.

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

[comment]: # ({b41637d2-b41637d2})
### Примеры

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

[comment]: # ({b2577e1d-48cea947})
#### Изменение интерфейса прототипа элемента данных

Изменить интерфейс узла сети, который будет использоваться обнаруженными элементами данных.

Запрос:

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

Ответ:

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

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

[comment]: # ({4e3a3f37-e1d8fc73})
#### Обновление прототип зависимого элемента данных 

Обновить прототип зависимого элемента данных новым ID  основного прототипа элемента данных. Разрешены 
зависимости только от одного и того же узла сети (шаблона /правила обнаружения),
поэтому главный и зависимый элементы данных должны иметь одинаковые hostid и ruleid.

Запрос:

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

Ответ:

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

[comment]: # ({/4e3a3f37-e1d8fc73})

[comment]: # ({new-d7fe7206})
#### Обновление прототипа элементов данных HTTP агента

Изменение полей запроса и удаление всех пользовательских заголовков.

Запрос:

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

Ответ:

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

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

[comment]: # ({f053a21c-e5fc44e0})
#### Обновление параметров предварительной обработки элемента данных

Обновить прототип элемента данных с помощью правила предварительной обработки элемента данных “Custom
multiplier”.

Запрос:

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

Ответ:

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

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

[comment]: # ({new-15ba4525})
#### Updating a script item prototype

Update a script item prototype with a different script and remove
unnecessary parameters that were used by previous script.

Request:

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

Response:

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

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

[comment]: # ({bc6956c2-bc6956c2})
### Источник

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

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