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.
(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 |
(entero/matriz)
Devuelve:
countOutput
ha sido usado.Recupere todos los tipos de medios configurados. El siguiente ejemplo devuelve dos tipos de medios:
{
"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
}
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:
{
"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
}
El siguiente ejemplo devuelve tres tipos de medios:
{
"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
}
CMediaType::get() en ui/include/classes/api/services/CMediaType.php.