mediatype.get

Descripción

integer/array mediatype.get(object parameters)

El método permite recuperar tipos de medios según los parámetros indicados.

Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(object) Parámetros que definen la salida deseada.

El método admite los siguientes parámetros.

Desde Zabbix 6.4.19, al solicitar información relacionada con el usuario sobre los tipos de medios, los usuarios de tipo Admin pueden recuperar solo datos sobre su propio usuario. Para ver un ejemplo, consulte Recuperación de tipos de medios como Admin.

Parámetro Tipo Descripción
mediatypeids cadena/matriz Devuelve solo los tipos de medios con los ID indicados.
mediaids cadena/matriz Devuelve solo los tipos de medios utilizados por el medio indicado.
userids cadena/matriz Devuelve solo los tipos de medios utilizados por los usuarios indicados.
selectMessageTemplates query Devuelve una propiedad message_templates con una matriz de mensajes de tipo de medio.

Comportamiento de los parámetros:
- compatible para usuarios de tipo Superadministrador (desde Zabbix 6.4.19)
selectUsers query Devuelve una propiedad users con los usuarios que utilizan el tipo de medio.
sortfield cadena/matriz Ordena el resultado por las propiedades indicadas.

Valores posibles: mediatypeid.
filter object Devuelve solo aquellos resultados que coinciden exactamente con el filtro dado.

Acepta un objeto, donde las claves son nombres de propiedades y los valores son un valor único o una matriz de valores con los que comparar.

Propiedades admitidas para usuarios de tipo Superadministrador: todas las propiedades de objeto de tipo multimedia, excepto las propiedades de tipo de datos text.

Propiedades admitidas para usuarios de tipo Administrador (desde Zabbix 6.4.19): mediatypeid, name, type, status, maxattempts.
output query Propiedades de objeto de tipo de medio que se devolverán.

Desde Zabbix 6.4.19, los usuarios de tipo Admin pueden recuperar únicamente las siguientes propiedades de objeto de tipo de medio: mediatypeid, name, type, status, maxattempts. Para ver un ejemplo, consulte Recuperación de tipos de medios como Admin.

Valor predeterminado: extend.
search object Devuelve resultados que coinciden con el patrón indicado (sin distinguir entre mayúsculas y minúsculas).

Acepta un objeto, donde las claves son nombres de propiedades y los valores son cadenas para buscar. Si no se proporcionan opciones adicionales, se realizará una búsqueda LIKE "%…%".

Propiedades admitidas para usuarios de tipo Superadministrador: todas las propiedades de objeto de tipo de medio de tipo de datos string y text.

Propiedades admitidas para usuarios de tipo Administrador (desde Zabbix 6.4.19): name, description.
countOutput boolean Estos parámetros, que son comunes para todos los métodos get, se describen en detalle en el comentario de referencia.
editable booleano
excludeSearch booleano
limit entero
preservekeys booleano
searchByAny booleano
searchWildcardsEnabled booleano
sortorder cadena/matriz
startSearch booleano

Valores de retorno

(entero/matriz) Devuelve:

  • una matriz de objetos;
  • el recuento de objetos recuperados, si el parámetro countOutput ha sido usado.

Ejemplos

Recuperando tipos de medios

Recupere todos los tipos de medios configurados. El siguiente ejemplo devuelve dos tipos de medios:

  • tipo de medio de correo electrónico;
  • Tipo de medio SMS.

Solicitud:

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

Respuesta:

{
           "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",
                   "content_type": "0",
                   "script": "",
                   "timeout": "30s",
                   "process_tags": "0",
                   "show_event_menu": "1",
                   "event_menu_url": "",
                   "event_menu_name": "",
                   "description": "",
                   "message_templates": [
                       {
                           "eventsource": "0",
                           "recovery": "0",
                           "subject": "Problem: {EVENT.NAME}",
                           "message": "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\nOperational data: {EVENT.OPDATA}\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "1",
                           "subject": "Resolved: {EVENT.NAME}",
                           "message": "Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\n\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "2",
                           "subject": "Updated problem: {EVENT.NAME}",
                           "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nCurrent problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}."
                       },
                       {
                           "eventsource": "1",
                           "recovery": "0",
                           "subject": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
                           "message": "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nDevice DNS: {DISCOVERY.DEVICE.DNS}\r\nDevice status: {DISCOVERY.DEVICE.STATUS}\r\nDevice uptime: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nDevice service name: {DISCOVERY.SERVICE.NAME}\r\nDevice service port: {DISCOVERY.SERVICE.PORT}\r\nDevice service status: {DISCOVERY.SERVICE.STATUS}\r\nDevice service uptime: {DISCOVERY.SERVICE.UPTIME}"
                       },
                       {
                           "eventsource": "2",
                           "recovery": "0",
                           "subject": "Autoregistration: {HOST.HOST}",
                           "message": "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {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",
                   "content_type": "1",
                   "script": "",
                   "timeout": "30s",
                   "process_tags": "0",
                   "show_event_menu": "1",
                   "event_menu_url": "",
                   "event_menu_name": "",
                   "description": "",
                   "message_templates": [
                       {
                           "eventsource": "0",
                           "recovery": "0",
                           "subject": "",
                           "message": "{EVENT.SEVERITY}: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "1",
                           "subject": "",
                           "message": "RESOLVED: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "2",
                           "subject": "",
                           "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
                       },
                       {
                           "eventsource": "1",
                           "recovery": "0",
                           "subject": "",
                           "message": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
                       },
                       {
                           "eventsource": "2",
                           "recovery": "0",
                           "subject": "",
                           "message": "Autoregistration: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
                       }
                   ],
                   "parameters": []
               }
           ],
           "id": 1
       }

Recuperación de tipos de medios como Admin

Como usuario de tipo Admin, recupera todos los tipos de medios que estén habilitados, con usuarios que utilicen estos tipos de medios. El siguiente ejemplo devuelve dos tipos de medios:

  • tipo de medio de correo electrónico con un usuario (desde Zabbix 6.4.19, solo el usuario del tipo Admin);
  • tipo de medio de SMS sin usuarios.

Solicitud:

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

Respuesta:

{
           "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",
                           "userdirectoryid": "0",
                           "ts_provisioned": "0"
                       }
                   ]
               },
               {
                   "mediatypeid": "3",
                   "type": "2",
                   "name": "SMS",
                   "status": "0",
                   "description": "",
                   "maxattempts": "3",
                   "users": []
               }
           ],
           "id": 1
       }

Recuperar tipos de medios de script y webhook

El siguiente ejemplo devuelve tres tipos de medios:

  • tipo de medio script con parámetros;
  • tipo de medio script sin parámetros;
  • tipo de medio de webhook con parámetros.

Solicitud:

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

Respuesta:

{
           "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
       }

Ver también

Fuente

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