[comment]: # ({896915aa-896915aa})
# template.get

[comment]: # ({/896915aa-896915aa})

[comment]: # ({808af69c-4e400711})
### Description

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

Cette méthode permet de récupérer des modèles selon les
paramètres fournis.

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

[comment]: # ({/808af69c-4e400711})

[comment]: # ({d3a12b20-97f0e40b})
### Paramètres

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

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

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|templateids|ID/array|Retourne uniquement les modèles avec les ID de modèle donnés.|
|groupids|ID/array|Retourne uniquement les modèles qui appartiennent aux groupes de modèles donnés.|
|parentTemplateids|ID/array|Retourne uniquement les modèles auxquels le modèle donné est lié.|
|hostids|ID/array|Retourne uniquement les modèles qui sont liés aux hôtes/modèles donnés.|
|graphids|ID/array|Retourne uniquement les modèles qui contiennent les graphiques donnés.|
|itemids|ID/array|Retourne uniquement les modèles qui contiennent les éléments donnés.|
|triggerids|ID/array|Retourne uniquement les modèles qui contiennent les déclencheurs donnés.|
|with\_items|flag|Retourne uniquement les modèles qui ont des éléments.|
|with\_triggers|flag|Retourne uniquement les modèles qui ont des déclencheurs.|
|with\_graphs|flag|Retourne uniquement les modèles qui ont des graphiques.|
|with\_httptests|flag|Retourne uniquement les modèles qui ont des scénarios web.|
|evaltype|integer|Méthode d'[évaluation des balises](/manual/web_interface/frontend_sections/data_collection/hosts#using-filter).<br><br>Valeurs possibles :<br>0 - *(par défaut)* Et/Ou;<br>2 - Ou.|
|tags|object/array|Retourne uniquement les modèles avec les balises données.<br>Format : `[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]`.<br>Un tableau vide retourne tous les modèles.<br><br>Valeurs possibles de [operator](/manual/web_interface/frontend_sections/data_collection/hosts#using-filter) :<br>0 - *(par défaut)* Contient;<br>1 - Égal à;<br>2 - Ne contient pas;<br>3 - Différent de;<br>4 - Existe;<br>5 - N'existe pas.|
|selectTags|query|Retourne les balises du modèle dans la propriété [`tags`](/manual/api/reference/template/object#template-tag).|
|selectHosts|query|Retourne les hôtes liés au modèle dans la propriété [`hosts`](/manual/api/reference/host/object).<br><br>Prend en charge `count`.|
|selectTemplateGroups|query|Retourne les groupes de modèles auxquels le modèle appartient dans la propriété [`templategroups`](/manual/api/reference/templategroup/object).|
|selectTemplates|query|Retourne les modèles auxquels le modèle donné est lié dans la propriété [`templates`](/manual/api/reference/template/object).<br><br>Prend en charge `count`.|
|selectParentTemplates|query|Retourne les modèles liés au modèle donné dans la propriété `parentTemplates`.<br><br>Prend en charge `count`.|
|selectHttpTests|query|Retourne les scénarios web du modèle dans la propriété [`httpTests`](/manual/api/reference/httptest/object).<br><br>Prend en charge `count`.|
|selectItems|query|Retourne les éléments du modèle dans la propriété [`items`](/manual/api/reference/item/object).<br><br>Prend en charge `count`.|
|selectDiscoveries|query|Retourne les découvertes de bas niveau du modèle dans la propriété `discoveries`.<br><br>Prend en charge `count`.|
|selectTriggers|query|Retourne les déclencheurs du modèle dans la propriété [`triggers`](/manual/api/reference/trigger/object).<br><br>Prend en charge `count`.|
|selectGraphs|query|Retourne les graphiques du modèle dans la propriété [`graphs`](/manual/api/reference/graph/object).<br><br>Prend en charge `count`.|
|selectMacros|query|Retourne les macros du modèle dans la propriété [`macros`](/manual/api/reference/usermacro/object#host-macro).|
|selectDashboards|query|Retourne les tableaux de bord du modèle dans la propriété [`dashboards`](/manual/api/reference/templatedashboard/object).<br><br>Prend en charge `count`.|
|selectValueMaps|query|Retourne une propriété [`valuemaps`](/manual/api/reference/valuemap/object) avec les mappages de valeurs du modèle.|
|limitSelects|integer|Limite le nombre d'enregistrements renvoyés par les sous-sélections.<br><br>S'applique aux sous-sélections suivantes :<br>`selectTemplates` - les résultats seront triés par `name`;<br>`selectHosts` - triés par `host`;<br>`selectParentTemplates` - triés par `host`;<br>`selectItems` - triés par `name`;<br>`selectDiscoveries` - triés par `name`;<br>`selectTriggers` - triés par `description`;<br>`selectGraphs` - triés par `name`;<br>`selectDashboards` - triés par `name`.|
|sortfield|string/array|Trie le résultat selon les propriétés données.<br><br>Valeurs possibles : `hostid`, `host`, `name`, `status`.|
|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|^|
|selectGroups<br>(deprecated)|query|Ce paramètre est obsolète, veuillez utiliser `selectTemplateGroups` à la place.<br>Retourne les groupes de modèles auxquels le modèle appartient dans la propriété [`groups`](/manual/api/reference/templategroup/object).|

[comment]: # ({/d3a12b20-97f0e40b})

[comment]: # ({7223bab1-7223bab1})
### Valeurs de retour

`(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]: # ({dfae5d3a-7e546e9a})
#### Récupération des modèles par nom

Récupérez toutes les données de deux modèles nommés "Linux" et "Windows".

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

```json
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux",
                "Windows"
            ]
        }
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "proxyid": "0",
            "host": "Linux",
            "status": "3",
            "disable_until": "0",
            "error": "",
            "available": "0",
            "errors_from": "0",
            "lastaccess": "0",
            "ipmi_authtype": "0",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "ipmi_disable_until": "0",
            "ipmi_available": "0",
            "snmp_disable_until": "0",
            "snmp_available": "0",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "ipmi_errors_from": "0",
            "snmp_errors_from": "0",
            "ipmi_error": "",
            "snmp_error": "",
            "jmx_disable_until": "0",
            "jmx_available": "0",
            "jmx_errors_from": "0",
            "jmx_error": "",
            "name": "Linux",
            "flags": "0",
            "templateid": "10001",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "uuid": "282ffe33afc74cccaf1524d9aa9dc502"
        },
        {
            "proxyid": "0",
            "host": "Windows",
            "status": "3",
            "disable_until": "0",
            "error": "",
            "available": "0",
            "errors_from": "0",
            "lastaccess": "0",
            "ipmi_authtype": "0",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "ipmi_disable_until": "0",
            "ipmi_available": "0",
            "snmp_disable_until": "0",
            "snmp_available": "0",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "ipmi_errors_from": "0",
            "snmp_errors_from": "0",
            "ipmi_error": "",
            "snmp_error": "",
            "jmx_disable_until": "0",
            "jmx_available": "0",
            "jmx_errors_from": "0",
            "jmx_error": "",
            "name": "Windows",
            "flags": "0",
            "templateid": "10081",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "uuid": "522d17e1834049be879287b7c0518e5d"
        }
    ],
    "id": 1
}
```

[comment]: # ({/dfae5d3a-7e546e9a})

[comment]: # ({4e2a2df6-84d0cbf3})
#### Récupération des groupes de modèles

Récupérez les groupes de modèles dont le modèle « Linux by Zabbix agent » est membre.

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

```json
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTemplateGroups": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent"
            ]
        }
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "templategroups": [
                {
                    "groupid": "10",
                    "name": "Templates/Operating systems",
                    "uuid": "846977d1dfed4968bc5f8bdb363285bc"
                }
            ]
        }
    ],
    "id": 1
}
```

[comment]: # ({/4e2a2df6-84d0cbf3})

[comment]: # ({ce53b2e1-a8599e09})
#### Récupération des hôtes par modèle

Récupérez les hôtes auxquels le modèle « 10001 » (*Linux by Zabbix agent*) est lié.

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

```json
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "templateid",
        "templateids": "10001",
        "selectHosts": ["hostid", "name"]
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "hosts": [
                {
                    "hostid": "10084",
                    "name": "Zabbix server"
                },
                {
                    "hostid": "10603",
                    "name": "Host 1"
                },
                {
                    "hostid": "10604",
                    "name": "Host 2"
                }
            ]
        }
    ],
    "id": 1
}
```

[comment]: # ({/ce53b2e1-a8599e09})

[comment]: # ({3380e3c0-0fe2d603})
#### Recherche par tags de modèle

Récupérer les modèles qui ont le tag "host-name" égal à "{HOST.NAME}".

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

```json
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}",
                "operator": 1
            }
        ]
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}
```

[comment]: # ({/3380e3c0-0fe2d603})

[comment]: # ({a0ef7cf5-ee3fc022})
### Voir aussi

-   [Groupe de modèles](/manual/api/reference/templategroup/object#template-group)
-   [Modèle](object#template)
-   [Macro utilisateur](/manual/api/reference/usermacro/object#hosttemplate-level-macro)
-   [Interface d'hôte](/manual/api/reference/hostinterface/object#host-interface)

[comment]: # ({/a0ef7cf5-ee3fc022})

[comment]: # ({4fdbde5d-4fdbde5d})
### Source

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

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