mediatype.create

Descrizione

object mediatype.create(object/array mediaTypes)

Questo metodo consente di creare nuovi tipi di supporto.

Questo metodo è disponibile solo per il tipo di utente Super admin. Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Vedere Ruoli utente per ulteriori informazioni.

Parametri

(object/array) Tipi di supporto da creare.

Oltre alle proprietà standard del tipo di supporto, il metodo accetta i seguenti parametri.

Parametro Type Descrizione
message_templates array Template di messaggio da creare per il tipo di supporto.

Valori restituiti

(object) Restituisce un oggetto contenente gli ID dei tipi di supporto creati nella proprietà mediatypeids. L'ordine degli ID restituiti corrisponde all'ordine dei tipi di supporto passati.

Esempi

Creazione di un tipo di supporto email

Creare un nuovo tipo di supporto email con una porta SMTP personalizzata e modelli di messaggio.

Richiesta:

{
    "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": "Il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" è iniziato alle {EVENT.TIME}."
            },
            {
                "eventsource": "0",
                "recovery": "1",
                "subject": "Risolto in {EVENT.DURATION}: {EVENT.NAME}",
                "message": "Il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" è stato risolto alle {EVENT.RECOVERY.TIME} del {EVENT.RECOVERY.DATE}."
            },
            {
                "eventsource": "0",
                "recovery": "2",
                "subject": "Problema aggiornato in {EVENT.AGE}: {EVENT.NAME}",
                "message": "{USER.FULLNAME} ha {EVENT.UPDATE.ACTION} il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" il {EVENT.UPDATE.DATE} alle {EVENT.UPDATE.TIME}."
            }
        ]
    },
    "id": 1
}

Risposta:

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

Creazione di un tipo di supporto script

Creare un nuovo tipo di supporto script con un valore personalizzato per il numero di tentativi e l'intervallo tra di essi.

Richiesta:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "1",
        "name": "Push notifications",
        "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
}

Risposta:

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

Creazione di un tipo di supporto webhook

Creare un nuovo tipo di supporto webhook.

Richiesta:

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

Risposta:

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

Fonte

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