# usermacro.get

### Описание

`целое число/массив usermacro.get(объект параметры)`

Этот метод позволяет получать макросы узла сети и глобальные макросы в
соответствии с заданными параметрами.

### Параметры

`(объект)` Параметры задают желаемый вывод.

Этот метод поддерживает следующие параметры.

|Параметр|Тип|Тип|
|----------------|------|------|
|globalmacro|флаг|Возврат глобальных макросов вместо макросов узла сети.|
|globalmacroids|строка/массив|Возврат глобальных макросов только с заданными ID.|
|groupids|строка/массив|Возврат только тех макросов узла сети, которые принадлежат узлам сети или шаблонам из заданных групп узлов сети.|
|hostids|строка/массив|Возврат только тех макросов, которые принадлежат заданным узлам сети или шаблонам.|
|hostmacroids|строка/массив|Возврат макросов узла сети только с заданными ID.|
|selectGroups|запрос|Возврат групп узлов сети, которым принадлежат макросы узла сети, в свойстве `groups`.<br><br>Используется только при получении макросов узла сети.|
|selectHosts|запрос|Возврат узлов сети, которым принадлежат макросы узла сети, в свойстве `hosts`.<br><br>Используется только при получении макросов узла сети.|
|selectTemplates|запрос|Возврат шаблонов, которым принадлежат макросы узла сети, в свойстве `templates`.<br><br>Используется только при получении макросов узла сети.|
|sortfield|строка/массив|Сортировка результата в соответствии с заданными свойствами.<br><br>Возможные значения: `macro`.|
|countOutput|флаг|Эти параметры являются общими для всех методов `get` и они описаны в [справочных комментариях](/ru/manual/api/reference_commentary#общие_параметры_get_метода).|
|editable|логический|^|
|excludeSearch|флаг|^|
|filter|объект|^|
|limit|целое число|^|
|output|запрос|^|
|preservekeys|флаг|^|
|search|объект|^|
|searchByAny|логический|^|
|searchWildcardsEnabled|логический|^|
|sortorder|строка/массив|^|
|startSearch|флаг|^|

### Возвращаемые значения

`(целое число/массив)` Возвращает либо:

-   массив объектов;
-   количество найденных объектов, если используется параметр
    `countOutput`.

### Примеры

#### Получение макросов узла сети с узла сети

Получение всех добавленных макросов узла сети с узла сети "10198".

Запрос:

``` {.java}
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10198"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Ответ:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "9",
            "hostid": "10198",
            "macro": "{$INTERFACE}",
            "value": "eth0"
        },
        {
            "hostmacroid": "11",
            "hostid": "10198",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public"
        }
    ],
    "id": 1
}
```

#### Получение глобальных макросов

Получение всех глобальных макросов.

Запрос:

``` {.java}
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "globalmacro": true
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Ответ:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": [
        {
            "globalmacroid": "6",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public"
        }
    ],
    "id": 1
}
```

### Исходный код

CUserMacro::get() в
*frontends/php/include/classes/api/services/CUserMacro.php*.
