Notification par e-mail API : ServiceNow Fluent
L’API de notification par e-mail définit les notifications [sysevent_email_action] qui envoient des e-mails automatisés en fonction des opérations de base de données, des événements personnalisés ou des déclencheurs manuels.
Pour en savoir plus sur les notifications par e-mail, reportez-vous à la section Email and SMS notifications.
Objet EmailNotification
Créez une notification par e-mail [sysevent_email_action] spécifiant quand l’envoyer, qui la reçoit, ce qu’elle contient et si elle peut être remise dans une synthèse d’e-mail.
Pour en savoir plus sur la création de notifications par e-mail, reportez-vous à la section Create an email notification.
| Nom | Type | Description |
|---|---|---|
| Table | Référence ou chaîne | Requis. Identificateur de variable ou nom d’une table à laquelle la notification s’applique. Pour définir une table, utilisez l’option API de table : ServiceNow Fluent. Remarque : Ne sélectionnez pas la table Tâche [task], qui est destinée à étendre d’autres tables. Les notifications qui s’exécutent directement sur la table de tâches ne sont pas prises en charge. |
| triggerConditions | Objet | Requis. Conditions qui déclenchent la notification. Pour plus d'informations, consultez Objet triggerConditions. |
| nom | Chaîne | Nom unique pour la notification par e-mail. |
| description | Chaîne | Description de l’objectif de la notification par e-mail. |
| catégorie | Référence ou chaîne | Identificateur de variable ou nom d’une catégorie de notification pour le regroupement de notifications. Pour définir une catégorie de notification, utilisez le fichier API d’enregistrement : ServiceNow Fluent. Par défaut : catégorie d’e-mail par défaut (c97d83137f4432005f58108c3ffa917a) |
| notificationType | Chaîne | Type de notification. Valeurs valides :
Par défaut : e-mail |
| actif | Booléen | Marqueur indiquant si la notification est active. Par défaut : true |
| obligatoire | Booléen | Marqueur indiquant si la notification est requise. Valeur par défaut : false |
| enableDynamicTranslation | Booléen | Marqueur indiquant s’il faut activer la traduction dynamique pour la notification. Valeur par défaut : false |
| contenu d’e-mail | Objet | Le contenu et la mise en forme de l’e-mail. Pour plus d'informations, consultez Objet emailContent. |
| recipientDetails | Objet | Les destinataires de l’e-mail. Pour plus d'informations, consultez Objet recipientDetails. |
| Synthèse | Objet | Le contenu et le format du résumé de l’e-mail. Pour plus d'informations, consultez Objet de synthèse. |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import { EmailNotification } from '@servicenow/sdk/core'
EmailNotification({
table: 'incident',
name: 'Custom Event Notification',
description: 'Triggered by custom event',
category: 'c97d83137f4432005f58108c3ffa917a', // Default email category sys_id
triggerConditions: {
generationType: 'event',
eventName: 'custom.incident.escalated',
order: 100
},
recipientDetails: {
recipientUsers: ['6816f79cc0a8016401c5a33be04be441'], // Admin user sys_id
eventParm1WithRecipient: true, // Event param 1 contains recipient
isSubscribableByAllUsers: true
},
emailContent: {
contentType: 'text/html',
subject: 'Incident Escalated',
messageHtml: '<p>An incident has been escalated.</p>'
}
})
Objet triggerConditions
Configurez les conditions qui doivent être remplies pour que la notification soit envoyée.
| Nom | Type | Description |
|---|---|---|
| generationType | Chaîne | Requis. Méthode de déclenchement de la notification par e-mail. Valeurs valides :
|
| onRecordInsert | Booléen | Marqueur indiquant s’il faut envoyer la notification lorsqu’un enregistrement est inséré. Remarque : Cette propriété ou la propriété onRecordUpdate doit avoir la valeur vrai. Valeur par défaut : false |
| onRecordUpdate | Booléen | Marqueur indiquant s’il faut envoyer la notification lorsqu’un enregistrement est mis à jour. Remarque : Cette propriété ou la propriété onRecordInsert doit être vraie. Valeur par défaut : false |
| eventName | Chaîne | Nom d’un événement personnalisé déclenchant l’envoi de la notification. Cette propriété est requise si la valeur de la propriété generationType est |
| affectedFieldOnEvent | Chaîne | Paramètre d’événement qui contient le champ affecté. Cette propriété s’applique uniquement si la propriété generationType est définie sur Valeurs valides :
|
| poids | Numéro | Priorité de notification par rapport aux notifications en double. Les notifications qui ont la même table cible et les mêmes destinataires sont considérées comme des doublons si les pondérations sont différentes. Si les poids sont identiques, une évaluation supplémentaire est effectuée pour vérifier si le sujet et le corps (à l’exclusion du filigrane) sont identiques pour être considérés comme une notification en double. Lorsqu’il existe des notifications en double, le système envoie uniquement la notification ayant le poids le plus élevé. Toutes les autres notifications sont déplacées de la boîte d’envoi vers la boîte aux lettres ignorée. La valeur par défaut de 0 entraîne l’envoi de la notification par le système (en supposant que les conditions sont remplies). Valeur maximale : 1000 Par défaut : 0 |
| condition | Chaîne | Requête de filtre qui spécifie les champs et les valeurs qui doivent être vrais pour que les utilisateurs puissent accéder à l’objet. Pour en savoir plus, consultez Operators available for filters and queries. |
| advancedCondition | Chaîne | Une instruction conditionnelle JavaScript qui doit renvoyer vrai ou définir une variable de réponse globale sur vrai pour envoyer la notification. Pour plus d'informations, consultez Advanced conditions for email notifications. Remarque : Cette propriété est évaluée en plus des autres conditions que vous définissez sur la notification. La condition et la condition avancée doivent être évaluées comme vraies pour envoyer la notification. |
| itemTable | Référence ou chaîne | Identificateur de variable ou nom de la table à laquelle l’élément de notification se réfère. Pour définir une table, utilisez l’option API de table : ServiceNow Fluent. |
| Élément | Chaîne | Élément à utiliser pour le contexte de notification. |
| order | Numéro | L’ordre d’exécution de la notification. Valeur maximale : 9999 Par défaut : 100 |
triggerConditions: {
generationType: "engine",
onRecordInsert: false,
onRecordUpdate: true,
weight: 100,
condition: "priority=1^ORpriority=2^state!=6^state!=7", // High/Critical priority, not resolved/closed
order: 100
}
Objet emailContent
Configurez le contenu d’une notification par e-mail.
| Nom | Type | Description |
|---|---|---|
| contentType | Chaîne | Le type de contenu d’e-mail. Valeurs valides :
Par défaut : text/html |
| modèle | Référence ou chaîne | Identificateur ou sys_id variable d’un modèle d’e-mail [sysevent_email_template]. Pour définir un modèle d’e-mail, utilisez le fichier API d’enregistrement : ServiceNow Fluent. Vous pouvez uniquement spécifier un modèle d’e-mail qui répond à l’une des conditions suivantes :
|
| Le style | Référence ou chaîne | Identificateur ou sys_id variable d’un style d’e-mail [sys_email_style]. Pour définir un style d’e-mail, utilisez l’option API d’enregistrement : ServiceNow Fluent. |
| objet | Chaîne | Ligne d’objet de l’e-mail. Si ce champ est vide, le système utilise la valeur Objet du modèle d’e-mail. Vous pouvez utiliser le format |
| smsAlternate | Chaîne | Message de notification à envoyer spécifiquement aux appareils SMS. Le message alternatif du SMS est limité à 140 caractères. Si vide, le système utilise l’autre valeur SMS du modèle d’e-mail. Vous pouvez utiliser le format |
| importance | Chaîne | Niveau d’importance du message. Valeurs valides :
|
| includePièces jointes | Booléen | Marqueur indiquant s’il faut inclure des pièces jointes de l’enregistrement de déclenchement de notification avec l’e-mail. Valeur par défaut : false |
| omettre le filigrane | Booléen | Marqueur indiquant s’il faut omettre le filigrane joint à chaque e-mail. Pour plus d’informations, voir Filigranes sur les e-mails de notification. Valeur par défaut : false |
| de | Chaîne | Adresse e-mail à partir de laquelle envoyer la notification. |
| replyTo | Chaîne | Adresse e-mail à laquelle les destinataires peuvent répondre. |
| pushMessageOnly | Booléen | Marqueur indiquant s’il faut envoyer la notification uniquement sous forme de notification push à un appareil mobile. Valeur par défaut : false |
| pushMessageList | Tableau | Une liste d’identificateurs de variables ou sys_ids de messages push [sys_push_notif_msg] à associer à la notification. Pour définir une notification push, utilisez le fichier API d’enregistrement : ServiceNow Fluent. Remarque : Le message push et la notification doivent être destinés à la même table. |
| forceDelivery | Booléen | Marqueur indiquant s’il faut contourner les préférences de notification de l’utilisateur qui empêcheraient une notification et envoyer quand même la notification. Valeur par défaut : false |
| messageHtml | Chaîne | Contenu HTML du message de notification. Si ce champ est vide, le système utilise le code HTML du message issu du modèle d’e-mail. Vous pouvez utiliser le format Cette propriété est requise si la valeur de la propriété contentType est |
| messageText | Chaîne | Le contenu en texte brut du message de notification. Si ce champ est vide, le système utilise le texte du message issu du modèle d’e-mail. Vous pouvez utiliser le format Cette propriété est requise si la valeur de la propriété contentType est |
| message | Chaîne | Déconseillé. Contenu du message. |
emailContent: {
contentType: "text/html",
subject: "CRITICAL: Incident \${number} - \${short_description}",
messageHtml: `
<div style="background-color: #ff4444; color: white; padding: 10px; border-radius: 5px;">
<h2>CRITICAL INCIDENT ALERT</h2>
<p><strong>Incident:</strong> \${number}</p>
<p><strong>Priority:</strong> \${priority}</p>
<p><strong>Description:</strong> \${short_description}</p>
<p><strong>Assigned To:</strong> \${assigned_to.name}</p>
<p><strong>Created:</strong> \${sys_created_on}</p>
<p><a href="\${instance_url}/incident.do?sys_id=\${sys_id}" style="color: #ffffff; text-decoration: underline;">View Incident</a></p>
</div>
`,
smsAlternate:
"CRITICAL: Incident \${number} - \${short_description}. Priority: \${priority}. Assigned: \${assigned_to.name}",
pushMessageList: ["mobile_push_notification_sys_id"],
forceDelivery: true,
importance: "high"
}
Objet de synthèse
Configurez le contenu d’une synthèse d’e-mail qui résume l’activité d’une notification sélectionnée et de ses enregistrements cibles pendant un intervalle de temps spécifié.
Pour obtenir des informations générales sur les synthèses d’e-mail, reportez-vous à la section Email digests.
| Nom | Type | Description |
|---|---|---|
| Autoriser | Booléen | Marqueur indiquant si les utilisateurs doivent recevoir cette notification sous forme de synthèse. Si la valeur est faux, toutes les autres propriétés de l’objet de synthèse sont ignorées. Valeur par défaut : false |
| par défaut | Booléen | Marqueur indiquant si le mode synthèse est activé par défaut pour cette notification. Valeur par défaut : false |
| type | Chaîne | Le type de synthèse. Valeurs valides :
|
| intervalle par défaut | Référence ou chaîne | Identificateur de variable ou sys_id d’intervalle de synthèse [sys_email_digest_interval] à utiliser comme intervalle de temps par défaut pour la remise de la synthèse. Pour définir un intervalle de synthèse, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| objet | Chaîne | Ligne d’objet de la synthèse d’e-mail. Si ce champ est vide, le système utilise la valeur Objet du modèle d’e-mail. Vous pouvez utiliser le format |
| HTML | Chaîne | Le contenu HTML du résumé de l’e-mail. Vous pouvez utiliser le format |
| Texte | Chaîne | Le contenu en texte brut du résumé de l’e-mail. Vous pouvez utiliser le format |
| modèle | Chaîne | Identificateur ou sys_id variable d’un modèle d’e-mail [sysevent_email_template]. Pour définir un modèle d’e-mail, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| séparateurHtml | Chaîne | Séparateur HTML qui apparaît entre chaque élément résumé dans la synthèse. Vous pouvez utiliser le format Par défaut : |
| separatorText | Chaîne | Séparateur de texte brut qui s’affiche entre chaque élément résumé dans la synthèse. Vous pouvez utiliser le format Par défaut : |
| de | Chaîne | Adresse e-mail à partir de laquelle envoyer la notification. |
| replyTo | Chaîne | Adresse e-mail à laquelle les destinataires peuvent répondre. |
digest: {
allow: true,
defaultInterval: hourlyDigest,
template: escalationTemplate,
subject: "Incident Escalation Digest - \${digest_count} incidents require attention",
html: `<div>
<div>Incident Escalation Digest</div>
</div>`,
separatorHtml: '<hr style="margin: 15px 0;">',
from: "noreply@company.com",
replyTo: "itsupport@company.com"
}
Objet recipientDetails
Configurez la personne qui reçoit une notification par e-mail.
Les destinataires des notifications doivent être des utilisateurs actifs définis en tant qu’utilisateurs actifs dans la table Utilisateur [sys_user]. Ils doivent également disposer d’une adresse e-mail valide définie pour leur canal principal (appareil) dans la table Récepteur de notification [cmn_notif_device]. Les destinataires des notifications doivent également avoir les préférences de notification appropriées activées.
| Nom | Type | Description |
|---|---|---|
| recipientUsers | Tableau | Une liste des identificateurs de variables ou des sys_ids d’utilisateurs [sys_user] ou une liste des adresses e-mail pour recevoir la notification. Pour définir un utilisateur, utilisez l’option API d’enregistrement : ServiceNow Fluent. |
| champs de destinataire | Tableau | Liste des champs qui font référence aux utilisateurs ou groupes d’utilisateurs qui recevront la notification. Les champs doivent être des champs de référence. Par exemple, si une notification utilise la table Incident [incident], vous pouvez spécifier le champ |
| groupes de destinataires | Tableau | Une liste des identificateurs de variables ou des sys_ids de groupes d’utilisateurs [sys_user_group] pour recevoir la notification. Pour définir un groupe d’utilisateurs, utilisez le fichier API d’enregistrement : ServiceNow Fluent. Remarque : Les membres du groupe reçoivent des notifications individuelles uniquement si l’option Inclure les membres est sélectionnée dans l’enregistrement du groupe. |
| excludeDelegates | Booléen | Marqueur indiquant s’il faut exclure les utilisateurs délégués. Définissez cette propriété sur vrai pour empêcher l’instance d’envoyer des notifications par e-mail aux délégués des utilisateurs et des membres des groupes que vous avez sélectionnés. Valeur par défaut : false |
| isSubscribableByAllUsers | Booléen | Marqueur indiquant s’il faut autoriser tous les utilisateurs à s’abonner à la notification. Pour plus d'informations, consultez Subscription-based notifications. Remarque : Si l’enregistrement contient des données sensibles ou protégées, envisagez de restreindre la liste des destinataires aux seuls utilisateurs et groupes qui y ont normalement accès, en laissant la valeur de cette propriété sur faux. Vous pouvez également configurer le contenu de votre notification afin que les données privées ou sensibles ne soient pas exposées. Par exemple, vous pouvez insérer un lien vers l’enregistrement associé, afin que les détails ne soient pas révélés dans la notification. Valeur par défaut : false |
| sendToCreator | Booléen | Marqueur indiquant s’il faut envoyer la notification à la personne qui a effectué l’action qui a démarré le processus de notification, si la personne est également un destinataire. Si le créateur de l’événement n’est pas spécifié dans l’un des champs de destinataire, il ne reçoit pas de notification, quel que soit le paramètre de ce champ. Valeur par défaut : false |
| eventParm1WithRecipient | Booléen | Marqueur indiquant si le paramètre d’événement 1 contient un ou plusieurs destinataires de notifications. Cette propriété s’applique uniquement aux notifications basées sur les événements. |
| eventParm2WithRecipient | Booléen | Marqueur indiquant si le paramètre d’événement 2 contient un ou plusieurs destinataires de notifications. Cette propriété s’applique uniquement aux notifications basées sur les événements. |
recipientDetails: {
recipientGroups: ["d625dccec0a8016700a222a0f7900d06"], // IT Support group sys_id
recipientFields: ["assigned_to", "caller_id"],
sendToCreator: false,
isSubscribableByAllUsers: false
}