ProactiveTriggerAPI : inclus dans le champ d’application
ProactiveTriggerAPI vous permet de créer des déclencheurs côté serveur qui envoient des messages contextuels à un utilisateur spécifié.
Cette API utilise des règles et des actions connexes basées sur ces règles pour envoyer des messages à un utilisateur. Ces règles et actions sont spécifiques au contexte et sont basées sur des données en temps réel recueillies lorsque l’utilisateur navigue entre les pages du portail. Pour en savoir plus, consultez Proactive Triggers.
Avant d’utiliser cette API, les types de déclencheurs, les règles et les actions doivent être configurés sur votre instance. Pour en savoir plus sur la configuration Déclencheurs proactifs, reportez-vous à la section Configuring Proactive Triggers.
À l’aide de cette API, vous pouvez envoyer des messages à un utilisateur spécifique ou à un utilisateur dans une session spécifique.
Par exemple, dans le cas où un client ajoute des articles à son panier, vous pouvez avoir un Déclencheurs proactifs événement dans une règle métier qui envoie un rappel à l’utilisateur pour terminer le paiement après une durée spécifiée.
De même, si un utilisateur exécute un Recherche IA à partir de a Portail de services et qu’aucun résultat n’est renvoyé, vous pouvez avoir une logique dans une règle métier qui crée un Déclencheurs proactifs qui envoie des offres alternatives à l’utilisateur via le client Web de message popover proactif.
Lors de l’appel de ProactiveTriggerAPI, il existe une séquence spécifique dans laquelle vous devez appeler les méthodes. Cette API s’exécute dans l’espace de noms sn_pt .
Tout d’abord, vous devez appeler la ProactiveTriggerAPI : createTrigger(String triggerTypeId) méthode pour spécifier le type de déclencheur que vous souhaitez créer. Cet appel est requis. Pour obtenir la liste des types de déclencheurs disponibles, reportez-vous à la section How Proactive Triggers work.
- ProactiveTriggerAPI : setUserId(String userId): identifie l’utilisateur par l’sys_id de l’enregistrement Utilisateur [sys_users] associé.
- ProactiveTriggerAPI : setUserName(String userName): identifie l’utilisateur par son nom d’utilisateur, par exemple « abel.tuter ».
- ProactiveTriggerAPI : setUserSessionId(String userId): identifie l’utilisateur par son sys_id de session en cours.
Ensuite, vous devez appeler la ProactiveTriggerAPI : setTriggerRecord(String triggerRecord) méthode pour spécifier l’enregistrement de déclencheur auquel appliquer les règles et les actions des déclencheurs proactifs.
Enfin, appelez la ProactiveTriggerAPI : process() méthode pour exécuter la chaîne d’appel. Les appels de méthode setTriggerRecord() et process() sont requis.
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserName(userName).setTriggerRecord(userId).process();
ProactiveTriggerAPI : createTrigger(String triggerTypeId)
Crée un événement côté Déclencheurs proactifs serveur.
| Nom | Type | Description |
|---|---|---|
| triggerTypeId (en anglais seulement) | Chaîne | ID unique du type de déclencheur à créer. Situé dans le champ ID de la table Types de déclencheurs proactifs [sys_cs_ptrigger_trigger_type]. Par exemple : |
| Paramètre | Description |
|---|---|
| Aucun |
La règle métier suivante montre comment appeler la méthode createTrigger() à l’intérieur d’une règle métier.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI : process()
Exécute la demande API spécifiée Déclencheurs proactifs .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| sys_id | Sys_id de l’enregistrement d’événement de déclenchement proactif qui a été créé. Situé dans la table Événement proactif [sys_cs_ptrigger_event]. Type de données : chaîne |
La règle métier suivante montre comment appeler la méthode process() pour exécuter la requête API spécifiée Déclencheurs proactifs .
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI : setTriggerRecord(String triggerRecord)
Définit l’enregistrement de déclencheur auquel appliquer les règles et les actions des déclencheurs proactifs.
Ces règles et actions sont définies dans l’enregistrement de type de déclencheur associé, situé dans la table Types de déclencheurs proactifs [sys_cs_ptrigger_trigger_type].
| Nom | Type | Description |
|---|---|---|
| triggerRecord | String ou GlideRecord | Sys_id ou GlideRecord de l’enregistrement de déclencheur auquel appliquer les règles et actions des déclencheurs proactifs associés. L’enregistrement de déclencheur se trouve dans la table spécifiée dans le champ trigger_table de l’enregistrement de type de déclencheur spécifié dans l’appel de méthode createTrigger(). Par exemple, si votre appel createTrigger() spécifie le type de déclencheur d’événement de recherche IA, la table de déclencheur est la table d’événement de recherche [sys_search_event]. Remarque : Cette table est généralement la même que celle qui a provoqué l’exécution de la règle métier. Si ce n’est pas la même chose, vous devrez ajouter cette sys_id au GlideRecord afin de pouvoir la transmettre à cette méthode. |
| Type | Description |
|---|---|
| Aucun |
La règle métier suivante montre comment appeler la méthode setTriggerRecord().
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI : setUserId(String userId)
Définit l’utilisateur auquel envoyer le message généré par l’événement associé Déclencheurs proactifs à l’aide de l’ID d’utilisateur.
| Nom | Type | Description |
|---|---|---|
| userId | Chaîne | Sys_id de l’utilisateur auquel envoyer le message associé Déclencheurs proactifs . Situé dans la table Utilisateur [sys_user] ou dans le GlideRecord associé. |
| Paramètre | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler la méthode setUserId() à l’aide de la valeur dans le champ utilisateur du GlideRecord actuel.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI : setUserName(String userName)
Définit l’utilisateur auquel envoyer le message généré par l’événement associé Déclencheurs proactifs à l’aide du nom d’utilisateur.
| Nom | Type | Description |
|---|---|---|
| userName | Chaîne | Nom de l’utilisateur auquel envoyer le message proactif. Ce nom doit être mis en corrélation avec le champ ID d’utilisateur dans la table Utilisateur [sys_user], par exemple « abel.tuter ». |
| Paramètre | Description |
|---|---|
| Aucun |
La règle métier suivante montre comment appeler la méthode setUserName() à l’aide de la valeur du champ sys_created_by du GlideRecord actuel.
try {
var triggerTypeId = "sn_pt.ai_search_event";
// User name of the user to whom to send the proactive message.
var userName = current.getValue("sys_created_by");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserName(userName).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI : setUserSessionId(String userId)
Définit l’ID de session utilisateur sur l’événement associé Déclencheurs proactifs . Avec cette méthode, le message proactif n’est envoyé qu’à l’utilisateur spécifique associé à une session spécifique.
| Nom | Type | Description |
|---|---|---|
| ID de session utilisateur | Chaîne | Sys_id de la session en cours de l’utilisateur à qui le Déclencheurs proactifs message doit être envoyé. Remarque : Toutes les tables ne contiennent pas d’ID de session. Avant d’utiliser ce point de terminaison, assurez-vous que la table à laquelle vous faites référence contient un ID de session valide. Si ce n’est pas le cas, le dernier ID de session disponible est utilisé, ce qui peut entraîner des résultats erronés. |
| Paramètre | Description |
|---|---|
| Aucun |
La règle métier suivante montre comment appeler la méthode setUserSessionId() à l’aide de la valeur du champ session du GlideRecord actuel.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var sessionId = current.getValue("session");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserSessionId(sessionId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}