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