[comment]: # ({02ea8022-02ea8022})
# usermacro.get

[comment]: # ({/02ea8022-02ea8022})

[comment]: # ({78b5ab06-28befc82})
### Descrizione

`integer/array usermacro.get(object parameters)`

Questo metodo consente di recuperare le macro del host e globali in base ai
parametri specificati.

::: noteclassic
Questo metodo è disponibile per utenti di qualsiasi tipo. I permessi
per chiamare il metodo possono essere revocati nelle impostazioni del ruolo utente. Vedere [Ruoli utente](/manual/web_interface/frontend_sections/users/user_roles)
per ulteriori informazioni.
:::

[comment]: # ({/78b5ab06-28befc82})

[comment]: # ({665d8bba-141835f9})
### Parametri

`(object)` Parametri che definiscono l'output desiderato.

Il metodo supporta i seguenti parametri.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|globalmacro|flag|Restituisce i global macros invece dei host macros.|
|globalmacroids|ID/array|Restituisce solo i global macros con gli ID specificati.|
|groupids|ID/array|Restituisce solo gli host macros che appartengono agli host o ai template dei gruppi host o dei gruppi template specificati.|
|hostids|ID/array|Restituisce solo i macros che appartengono agli host o ai template specificati.|
|hostmacroids|ID/array|Restituisce solo gli host macros con gli ID specificati.|
|inherited|boolean|Se impostato su `true`, restituisce solo gli user macros dei host prototype ereditati da un template.|
|selectHostGroups|query|Restituisce i gruppi host a cui appartiene l'host macro nella proprietà [`hostgroups`](/manual/api/reference/hostgroup/object).<br><br>Usato solo durante il recupero degli host macros.|
|selectHosts|query|Restituisce gli host a cui appartiene l'host macro nella proprietà [`hosts`](/manual/api/reference/host/object).<br><br>Usato solo durante il recupero degli host macros.|
|selectTemplateGroups|query|Restituisce i gruppi template a cui appartiene il template macro nella proprietà [`templategroups`](/manual/api/reference/templategroup/object).<br><br>Usato solo durante il recupero dei template macros.|
|selectTemplates|query|Restituisce i template a cui appartiene l'host macro nella proprietà [`templates`](/manual/api/reference/template/object).<br><br>Usato solo durante il recupero degli host macros.|
|sortfield|string/array|Ordina il risultato in base alle proprietà specificate.<br><br>Valori possibili: `macro`.|
|countOutput|boolean|Questi parametri sono descritti nella [reference commentary](/manual/api/reference_commentary#common-get-method-parameters).|
|editable|boolean|^|
|excludeSearch|boolean|^|
|filter|object|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|
|selectGroups<br>(deprecated)|query|Questo parametro è deprecato, usare invece `selectHostGroups` o `selectTemplateGroups`.<br>Restituisce i gruppi host e i gruppi template a cui appartiene l'host macro nella proprietà `groups`.<br><br>Usato solo durante il recupero degli host macros.|

[comment]: # ({/665d8bba-141835f9})

[comment]: # ({7223bab1-7223bab1})
### Valori restituiti

`(integer/array)` Restituisce o:

- una matrice di oggetti;
- il conteggio degli oggetti recuperati, se il parametro `countOutput` è
    stato usato.

[comment]: # ({/7223bab1-7223bab1})

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

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

[comment]: # ({4540e2f0-7089e052})
#### Recupero delle macro host per un host

Recupera tutte le macro host definite per l'host "10198".

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

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10198"
    },
    "id": 1
}
```

Risposta:

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "9",
            "hostid": "10198",
            "macro": "{$INTERFACE}",
            "value": "eth0",
            "description": "",
            "type": "0",
            "automatic": "0"
        },
        {
            "hostmacroid": "11",
            "hostid": "10198",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0",
            "automatic": "0"
        }
    ],
    "id": 1
}
```

[comment]: # ({/4540e2f0-7089e052})

[comment]: # ({93c3e1f5-29b64a7a})
#### Recupero delle macro globali

Recupera tutte le macro globali.

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

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "globalmacro": true
    },
    "id": 1
}
```

Risposta:

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "globalmacroid": "6",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0"
        }
    ],
    "id": 1
}
```

[comment]: # ({/93c3e1f5-29b64a7a})

[comment]: # ({26db0ec2-26db0ec2})
### Fonte

CUserMacro::get() in *ui/include/classes/api/services/CUserMacro.php*.

[comment]: # ({/26db0ec2-26db0ec2})
