mediatype.get

Description

integer/array mediatype.get(object parameters)

La méthode permet de récupérer les types de média selon les paramètres donnés.

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 User roles pour plus d’informations.

Paramètres

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

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

Lors de la demande d'informations liées à l'utilisateur sur les types de média, les utilisateurs de type Admin et User ne peuvent récupérer des données que sur leur propre utilisateur. Pour un exemple, voir Récupération des types de média en tant qu'Admin.

Paramètre Type Description
mediatypeids ID/array Retourner uniquement les types de média avec les ID donnés.
mediaids ID/array Retourner uniquement les types de média utilisés par les médias donnés.
userids ID/array Retourner uniquement les types de média utilisés par les utilisateurs donnés.
selectActions query Retourner une propriété actions avec les actions qui utilisent le type de média.
selectMessageTemplates query Retourner une propriété message_templates avec un tableau de messages de type de média.

Comportement du paramètre :
- pris en charge pour les utilisateurs de type Super admin
selectUsers query Retourner une propriété users avec les utilisateurs qui utilisent le type de média.

Voir user.get pour les restrictions selon le type d'utilisateur.
sortfield string/array Trier le résultat selon les propriétés données.

Valeurs possibles : mediatypeid.
filter object Retourner uniquement les résultats qui correspondent exactement au filtre donné.

Accepte un objet, où les clés sont des noms de propriété et les valeurs sont soit une valeur unique, soit un tableau de valeurs à comparer.

Ne prend pas en charge les propriétés du type de données text.

Propriétés possibles de l'objet type de média pour les utilisateurs de type Admin et User : mediatypeid, name, type, status, maxattempts.
output query Propriétés de l'objet type de média à retourner.

Les utilisateurs de type Admin et User ne peuvent récupérer que les propriétés suivantes : mediatypeid, name, type, status, maxattempts, description. Pour un exemple, voir Récupération des types de média en tant qu'Admin.

Par défaut : extend.
search object Retourner les résultats correspondant au motif donné (insensible à la casse).

Accepte un objet, où les clés sont des noms de propriété et les valeurs sont des chaînes à rechercher. Si aucune option supplémentaire n'est fournie, cela effectuera une recherche LIKE "%…%".

Prend en charge uniquement les propriétés du type de données string et text.

Propriétés possibles de l'objet type de média pour les utilisateurs de type Admin et User : name, description.
countOutput boolean Ces paramètres sont décrits dans le commentaire de référence.
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valeurs retournées

(integer/array) Retourne soit :

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

Exemples

Récupération des types de média

Récupérez tous les types de média configurés. L'exemple suivant renvoie deux types de média :

  • type de média e-mail ;
  • type de média SMS.

Requête :

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": "extend",
        "selectMessageTemplates": "extend"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "1",
            "type": "0",
            "name": "Email",
            "smtp_server": "mail.example.com",
            "smtp_helo": "example.com",
            "smtp_email": "[email protected]",
            "exec_path": "",
            "gsm_modem": "",
            "username": "",
            "passwd": "",
            "status": "0",
            "smtp_port": "25",
            "smtp_security": "0",
            "smtp_verify_peer": "0",
            "smtp_verify_host": "0",
            "smtp_authentication": "0",
            "maxsessions": "1",
            "maxattempts": "3",
            "attempt_interval": "10s",
            "message_format": "0",
            "script": "",
            "timeout": "30s",
            "process_tags": "0",
            "show_event_menu": "1",
            "event_menu_url": "",
            "event_menu_name": "",
            "description": "",
            "provider": "0",
            "message_templates": [
                {
                    "eventsource": "0",
                    "recovery": "0",
                    "subject": "Problème : {EVENT.NAME}",
                    "message": "Le problème a commencé à {EVENT.TIME} le {EVENT.DATE}\r\nNom du problème : {EVENT.NAME}\r\nHôte : {HOST.NAME}\r\nSévérité : {EVENT.SEVERITY}\r\nDonnées opérationnelles : {EVENT.OPDATA}\r\nID du problème d'origine : {EVENT.ID}\r\n{TRIGGER.URL}"
                },
                {
                    "eventsource": "0",
                    "recovery": "1",
                    "subject": "Résolu : {EVENT.NAME}",
                    "message": "Le problème a été résolu à {EVENT.RECOVERY.TIME} le {EVENT.RECOVERY.DATE}\r\nNom du problème : {EVENT.NAME}\r\nHôte : {HOST.NAME}\r\nSévérité : {EVENT.SEVERITY}\r\n\r\nID du problème d'origine : {EVENT.ID}\r\n{TRIGGER.URL}"
                },
                {
                    "eventsource": "0",
                    "recovery": "2",
                    "subject": "Problème mis à jour : {EVENT.NAME}",
                    "message": "{USER.FULLNAME} a effectué l'action {EVENT.UPDATE.ACTION} sur le problème le {EVENT.UPDATE.DATE} à {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nL'état actuel du problème est {EVENT.STATUS}, acquitté : {EVENT.ACK.STATUS}."
                },
                {
                    "eventsource": "1",
                    "recovery": "0",
                    "subject": "Découverte : {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
                    "message": "Règle de découverte : {DISCOVERY.RULE.NAME}\r\n\r\nIP du périphérique : {DISCOVERY.DEVICE.IPADDRESS}\r\nDNS du périphérique : {DISCOVERY.DEVICE.DNS}\r\nÉtat du périphérique : {DISCOVERY.DEVICE.STATUS}\r\nTemps de fonctionnement du périphérique : {DISCOVERY.DEVICE.UPTIME}\r\n\r\nNom du service du périphérique : {DISCOVERY.SERVICE.NAME}\r\nPort du service du périphérique : {DISCOVERY.SERVICE.PORT}\r\nÉtat du service du périphérique : {DISCOVERY.SERVICE.STATUS}\r\nTemps de fonctionnement du service du périphérique : {DISCOVERY.SERVICE.UPTIME}"
                },
                {
                    "eventsource": "2",
                    "recovery": "0",
                    "subject": "Auto-enregistrement : {HOST.HOST}",
                    "message": "Nom de l'hôte : {HOST.HOST}\r\nIP de l'hôte : {HOST.IP}\r\nPort de l'agent : {HOST.PORT}"
                }
            ],
            "parameters": []
        },
        {
            "mediatypeid": "3",
            "type": "2",
            "name": "SMS",
            "smtp_server": "",
            "smtp_helo": "",
            "smtp_email": "",
            "exec_path": "",
            "gsm_modem": "/dev/ttyS0",
            "username": "",
            "passwd": "",
            "status": "0",
            "smtp_port": "25",
            "smtp_security": "0",
            "smtp_verify_peer": "0",
            "smtp_verify_host": "0",
            "smtp_authentication": "0",
            "maxsessions": "1",
            "maxattempts": "3",
            "attempt_interval": "10s",
            "message_format": "1",
            "script": "",
            "timeout": "30s",
            "process_tags": "0",
            "show_event_menu": "1",
            "event_menu_url": "",
            "event_menu_name": "",
            "description": "",
            "provider": "0",
            "message_templates": [
                {
                    "eventsource": "0",
                    "recovery": "0",
                    "subject": "",
                    "message": "{EVENT.SEVERITY} : {EVENT.NAME}\r\nHôte : {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                },
                {
                    "eventsource": "0",
                    "recovery": "1",
                    "subject": "",
                    "message": "RÉSOLU : {EVENT.NAME}\r\nHôte : {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                },
                {
                    "eventsource": "0",
                    "recovery": "2",
                    "subject": "",
                    "message": "{USER.FULLNAME} a effectué l'action {EVENT.UPDATE.ACTION} sur le problème le {EVENT.UPDATE.DATE} à {EVENT.UPDATE.TIME}"
                },
                {
                    "eventsource": "1",
                    "recovery": "0",
                    "subject": "",
                    "message": "Découverte : {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
                },
                {
                    "eventsource": "2",
                    "recovery": "0",
                    "subject": "",
                    "message": "Auto-enregistrement : {HOST.HOST}\r\nIP de l'hôte : {HOST.IP}\r\nPort de l'agent : {HOST.PORT}"
                }
            ],
            "parameters": []
        }
    ],
    "id": 1
}

Récupération des types de média en tant qu’Admin

En tant qu’utilisateur de type Admin, récupérez tous les types de média activés, avec les utilisateurs qui utilisent ces types de média. L’exemple suivant renvoie deux types de média :

  • le type de média email avec un utilisateur (uniquement l’utilisateur du type Admin lui-même) ;
  • le type de média SMS sans utilisateur.

Requête :

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": "extend",
        "filter": {
            "status": 0
        },
        "selectUsers": "extend"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "1",
            "type": "0",
            "name": "Email",
            "status": "0",
            "description": "",
            "maxattempts": "3",
            "users": [
                {
                    "userid": "3",
                    "username": "database-admin",
                    "name": "John",
                    "surname": "Doe",
                    "url": "",
                    "autologin": "0",
                    "autologout": "0",
                    "lang": "default",
                    "refresh": "30s",
                    "theme": "default",
                    "attempt_failed": "0",
                    "attempt_ip": "",
                    "attempt_clock": "0",
                    "rows_per_page": "50",
                    "timezone": "default",
                    "roleid": "2",
                    "provisioned": "0"
                }
            ]
        },
        {
            "mediatypeid": "3",
            "type": "2",
            "name": "SMS",
            "status": "0",
            "description": "",
            "maxattempts": "3",
            "users": []
        }
    ],
    "id": 1
}

Retrieve script and webhook media types

The following example returns three media types:

  • script media type with parameters;
  • script media type without parameters;
  • webhook media type with parameters.

Request:

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": ["mediatypeid", "name", "parameters"],
        "filter": {
            "type": [1, 4]
        }
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "10",
            "name": "Script with parameters",
            "parameters": [
                {
                    "sortorder": "0",
                    "value": "{ALERT.SENDTO}"
                },
                {
                    "sortorder": "1",
                    "value": "{EVENT.NAME}"
                },
                {
                    "sortorder": "2",
                    "value": "{ALERT.MESSAGE}"
                },
                {
                    "sortorder": "3",
                    "value": "Zabbix alert"
                }
            ]
        },
        {
            "mediatypeid": "13",
            "name": "Script without parameters",
            "parameters": []
        },
        {
            "mediatypeid": "11",
            "name": "Webhook",
            "parameters": [
                {
                    "name": "alert_message",
                    "value": "{ALERT.MESSAGE}"
                },
                {
                    "name": "event_update_message",
                    "value": "{EVENT.UPDATE.MESSAGE}"
                },
                {
                    "name": "host_name",
                    "value": "{HOST.NAME}"
                },
                {
                    "name": "trigger_description",
                    "value": "{TRIGGER.DESCRIPTION}"
                },
                {
                    "name": "trigger_id",
                    "value": "{TRIGGER.ID}"
                },
                {
                    "name": "alert_source",
                    "value": "Zabbix"
                }
            ]
        }
    ],
    "id": 1
}

Voir également

Source

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