[comment]: # translation:outdated

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

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

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

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

Cette méthode permet de récupérer les macros d'hôte et globales selon les
paramètres donnés.

::: noteclassic
Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations
d'appeler la méthode peuvent être révoquées dans les paramètres des rôles utilisateur. Voir [User
roles](/manual/web_interface/frontend_sections/users/user_roles)
pour plus d'informations.
:::

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

[comment]: # ({0f02ef4c-141835f9})
### Paramètres

`(object)` Paramètres définissant la sortie souhaitée.

La méthode prend en charge les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|globalmacro|flag|Renvoyer les macros globales au lieu des macros d'hôte.|
|globalmacroids|ID/array|Renvoyer uniquement les macros globales avec les ID donnés.|
|groupids|ID/array|Renvoyer uniquement les macros d'hôte qui appartiennent à des hôtes ou à des modèles des groupes d'hôtes ou groupes de modèles donnés.|
|hostids|ID/array|Renvoyer uniquement les macros qui appartiennent aux hôtes ou modèles donnés.|
|hostmacroids|ID/array|Renvoyer uniquement les macros d'hôte avec les ID donnés.|
|inherited|boolean|Si défini sur `true`, renvoyer uniquement les macros utilisateur des prototypes d'hôte héritées d'un modèle.|
|selectHostGroups|query|Renvoyer les groupes d'hôtes auxquels appartient la macro d'hôte dans la propriété [`hostgroups`](/manual/api/reference/hostgroup/object).<br><br>Utilisé uniquement lors de la récupération des macros d'hôte.|
|selectHosts|query|Renvoyer les hôtes auxquels appartient la macro d'hôte dans la propriété [`hosts`](/manual/api/reference/host/object).<br><br>Utilisé uniquement lors de la récupération des macros d'hôte.|
|selectTemplateGroups|query|Renvoyer les groupes de modèles auxquels appartient la macro de modèle dans la propriété [`templategroups`](/manual/api/reference/templategroup/object).<br><br>Utilisé uniquement lors de la récupération des macros de modèle.|
|selectTemplates|query|Renvoyer les modèles auxquels appartient la macro d'hôte dans la propriété [`templates`](/manual/api/reference/template/object).<br><br>Utilisé uniquement lors de la récupération des macros d'hôte.|
|sortfield|string/array|Trier le résultat selon les propriétés données.<br><br>Valeurs possibles : `macro`.|
|countOutput|boolean|Ces paramètres sont décrits dans le [commentaire de référence](/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|^|

[comment]: # ({/0f02ef4c-141835f9})

[comment]: # ({7223bab1-7223bab1})
### Valeurs retournées

`(integer/array)` Renvoie soit :

-   un tableau d'objets ;
-   le nombre d'objets récupérés, si le paramètre `countOutput` a été utilisé.

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

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

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

[comment]: # ({4540e2f0-7089e052})
#### Récupération des macros d’hôte pour un hôte

Récupérez toutes les macros d’hôte définies pour l’hôte « 10198 ».

[Requête](/manual/api#performing-requests) :

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

Réponse :

```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]: # ({885a2441-f0872791})
#### Récupération des macros d’hôte pour un modèle

Récupérez les macros d’hôte définies pour le modèle "10265" qui contiennent "STATUS" dans le nom de la macro.

[Requête](/manual/api#performing-requests) :

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10265",
        "search": {
            "macro": "STATUS"
        }
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "6709",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.HOST}",
            "value": "",
            "description": "Le nom d’hôte ou l’adresse IP de l’hôte de la page de statut Apache.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "1",
                "section_name": "",
                "label": "Hôte de statut Apache",
                "description": "Nom d’hôte ou adresse IP de l’hôte de la page de statut Apache.",
                "required": "1",
                "regex": "",
                "options": []
            }
        },
        {
            "hostmacroid": "814",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.PATH}",
            "value": "server-status?auto",
            "description": "Le chemin URL de la page de statut Apache.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "3",
                "section_name": "",
                "label": "Chemin de la page de statut Apache",
                "description": "Chemin URL de la page de statut Apache.",
                "required": "1",
                "regex": "",
                "options": []
            }
        },
        {
            "hostmacroid": "815",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.PORT}",
            "value": "80",
            "description": "Le port de la page de statut Apache.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "1",
                "priority": "2",
                "section_name": "",
                "label": "Port de la page de statut Apache",
                "description": "Dans la plage de 1 à 65535 inclus.",
                "required": "1",
                "regex": "^-?([0-9]+|(([0-9]+)\\.([0-9]+)))$",
                "options": []
            }
        },
        {
            "hostmacroid": "816",
            "hostid": "10265",
            "macro": "{$APACHE.STATUS.SCHEME}",
            "value": "http",
            "description": "Le schéma de requête, qui peut être HTTP ou HTTPS.",
            "type": "0",
            "automatic": "0",
            "config": {
                "type": "2",
                "priority": "4",
                "section_name": "",
                "label": "Schéma de requête",
                "description": "Schéma de requête, qui peut être HTTP ou HTTPS.",
                "required": "0",
                "regex": "",
                "options": [
                    {
                        "value": "http",
                        "text": "HTTP"
                    },
                    {
                        "value": "https",
                        "text": "HTTPS"
                    }
                ]
            }
        }
    ],
    "id": 1
}
```

[comment]: # ({/885a2441-f0872791})

[comment]: # ({93c3e1f5-29b64a7a})
#### Récupération des macros globales

Récupérez toutes les macros globales.

[Requête](/manual/api#performing-requests) :

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

Réponse :

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

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

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

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

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