mediatype.create

Description

object mediatype.create(object/array mediaTypes)

Cette méthode permet de créer de nouveaux types de média.

Cette méthode est disponible uniquement pour le type d’utilisateur Super admin. Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.

Paramètres

(object/array) Types de média à créer.

En plus des propriétés standard des types de média, la méthode accepte les paramètres suivants.

Paramètre Type Description
message_templates array Modèles de message à créer pour le type de média.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des types de média créées sous la propriété mediatypeids. L'ordre des ID retournés correspond à l'ordre des types de média transmis.

Exemples

Création d’un type de média e-mail

Créez un nouveau type de média e-mail avec un port SMTP personnalisé et des modèles de message.

Requête:

{
    "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": "Problème : {EVENT.NAME}",
                "message": "Le problème \"{EVENT.NAME}\" sur l’hôte \"{HOST.NAME}\" a commencé à {EVENT.TIME}."
            },
            {
                "eventsource": "0",
                "recovery": "1",
                "subject": "Résolu en {EVENT.DURATION} : {EVENT.NAME}",
                "message": "Le problème \"{EVENT.NAME}\" sur l’hôte \"{HOST.NAME}\" a été résolu à {EVENT.RECOVERY.TIME} le {EVENT.RECOVERY.DATE}."
            },
            {
                "eventsource": "0",
                "recovery": "2",
                "subject": "Problème mis à jour dans {EVENT.AGE} : {EVENT.NAME}",
                "message": "{USER.FULLNAME} a {EVENT.UPDATE.ACTION} le problème \"{EVENT.NAME}\" sur l’hôte \"{HOST.NAME}\" le {EVENT.UPDATE.DATE} à {EVENT.UPDATE.TIME}."
            }
        ]
    },
    "id": 1
}

Réponse :

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

Création d'un type de média de script

Créez un nouveau type de média de script avec une valeur personnalisée pour le nombre de tentatives et l'intervalle entre celles-ci.

Requête :

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

Réponse :

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

Création d’un type de média webhook

Créez un nouveau type de média webhook.

Requête:

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

Réponse :

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

Source

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