mediatype.create

Descripción

object mediatype.create(object/array mediaTypes)

Este método permite crear nuevos tipos de medios.

Este método solo está disponible para el tipo de usuario Super admin. Los permisos para llamar al método se pueden revocar en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.
Si los métodos de entrega se especifican en la marca de función $ZBX_FEATURE_FLAGS['media_type_denylist'] en el archivo de configuración del frontend (zabbix.conf.php), no se permite al usuario llamar al método para los tipos de medios correspondientes.

Parámetros

(object/array) Tipos de medios a crear.

Además de las propiedades estándar del tipo de medio, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
message_templates array Plantillas de mensajes que se crearán para el tipo de medio.

Valores de retorno

(object) Devuelve un objeto que contiene los IDs de los tipos de medio creados bajo la propiedad mediatypeids. El orden de los IDs devueltos coincide con el orden de los tipos de medio enviados.

Ejemplos

Creando un tipo de medio de correo electrónico

Cree un nuevo tipo de medio de correo electrónico con un puerto SMTP personalizado y plantillas de mensajes.

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "0",
        "name": "Email",
        "smtp_server": "mail.example.com",
        "smtp_helo": "example.com",
        "smtp_email": "[email protected]",
        "smtp_port": "587",
        "message_format": "1",
        "message_templates": [
            {
                "eventsource": "0",
                "recovery": "0",
                "subject": "Problema: {EVENT.NAME}",
                "message": "El problema \"{EVENT.NAME}\" en el equipo \"{HOST.NAME}\" comenzó a las {EVENT.TIME}."
            },
            {
                "eventsource": "0",
                "recovery": "1",
                "subject": "Resuelto en {EVENT.DURATION}: {EVENT.NAME}",
                "message": "El problema \"{EVENT.NAME}\" en el equipo \"{HOST.NAME}\" se ha resuelto a las {EVENT.RECOVERY.TIME} del {EVENT.RECOVERY.DATE}."
            },
            {
                "eventsource": "0",
                "recovery": "2",
                "subject": "Problema actualizado en {EVENT.AGE}: {EVENT.NAME}",
                "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema \"{EVENT.NAME}\" en el equipo \"{HOST.NAME}\" a las {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."
            }
        ]
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "7"
        ]
    },
    "id": 1
}

Creando un tipo de medio de script

Cree un nuevo tipo de medio de script con un valor personalizado para el número de intentos y el intervalo entre ellos.

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "1",
        "name": "Notificaciones push",
        "exec_path": "push-notification.sh",
        "maxattempts": "5",
        "attempt_interval": "11s",
        "parameters": [
            {
                "sortorder": "0",
                "value": "{ALERT.SENDTO}"
            },
            {
                "sortorder": "1",
                "value": "{ALERT.SUBJECT}"
            },
            {
                "sortorder": "2",
                "value": "{ALERT.MESSAGE}"
            }
        ]
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "8"
        ]
    },
    "id": 1
}

Creando un tipo de medio webhook

Cree un nuevo tipo de medio webhook.

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "4",
        "name": "Webhook",
        "script": "var Webhook = {\r\n    token: null,\r\n    to: null,\r\n    subject: null,\r\n    message: null,\r\n\r\n    sendMessage: function() {\r\n        // some logic\r\n    }\r\n}",
        "parameters": [
            {
                "name": "Message",
                "value": "{ALERT.MESSAGE}"
            },
            {
                "name": "Subject",
                "value": "{ALERT.SUBJECT}"
            },
            {
                "name": "To",
                "value": "{ALERT.SENDTO}"
            },
            {
                "name": "Token",
                "value": "<Token>"
            }
        ]
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "9"
        ]
    },
    "id": 1
}

Fuente

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