ProactiveTriggerAPI : Bereichsbezogen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 5 Minuten Lesedauer
  • Mit der ProactiveTriggerAPI können Sie serverseitige Auslöser erstellen, die kontextspezifische Nachrichten an einen angegebenen Benutzer senden.

    Diese API verwendet Regeln und zugehörige Aktionen, die auf diesen Regeln basieren, um Nachrichten an einen Anwender zu senden. Diese Regeln und Aktionen sind kontextspezifisch und basieren auf Echtzeitdaten, die beim Navigieren des Benutzers durch Portalseiten erfasst werden. Weitere Informationen finden Sie unter Proactive Triggers.

    Bevor Sie diese API verwenden, müssen die Auslösertypen, Regeln und Aktionen in Ihrer Instanz konfiguriert werden. Informationen zur Konfiguration von Proaktive Auslöserfinden Sie unter Configuring Proactive Triggers.

    Mit dieser API können Sie Nachrichten an einen bestimmten Anwender oder an einen Anwender in einer bestimmten Sitzung senden.

    Beispiel: Für den Fall, dass ein Kunde Artikel in den Einkaufswagen legt, können Sie ein Ereignis Proaktive Auslöser in einer Geschäftsregel festlegen, das den Benutzer daran erinnert, nach einer bestimmten Zeit zur Kasse zu gehen.

    Wenn ein Benutzer KI-Suche über einen Serviceportal ausführt und keine Ergebnisse zurückgegeben werden, können Sie eine Logik in einer Business Rule verwenden, die einen Proaktive Auslöser erstellt, der über den proaktiven Popover-Nachrichten-Webclient alternative Angebote an den Benutzer sendet.

    Wenn Sie die ProactiveTriggerAPIaufrufen, müssen die Methoden in einer bestimmten Reihenfolge aufgerufen werden. Diese API wird im Namespace sn_pt ausgeführt.

    Zuerst sollten Sie die Methode ProactiveTriggerAPI – createTrigger(String triggerTypeId) aufrufen, um den Typ des Auslösers anzugeben, den Sie erstellen möchten. Dieser Aufruf ist erforderlich. Die Liste der verfügbaren Auslösertypen finden Sie unter How Proactive Triggers work.

    Als Nächstes sollten Sie eine der Methoden aufrufen, die den Benutzer identifiziert, an den die Nachrichten gesendet werden sollen. Rufen Sie dazu eine der folgenden Methoden auf:

    Als Nächstes rufen Sie die Methode ProactiveTriggerAPI – setTriggerRecord(String triggerRecord) auf, um den Auslöserdatensatz anzugeben, auf den die Regeln und Aktionen des proaktiven Auslösers angewendet werden sollen.

    Rufen Sie abschließend die Methode ProactiveTriggerAPI – process() auf, um die Aufrufkette auszuführen. Die Methodenaufrufe setTriggerRecord() und process() sind erforderlich.

    Beispiel:
    var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
      .setUserName(userName).setTriggerRecord(userId).process();
    

    ProactiveTriggerAPI – createTrigger(String triggerTypeId)

    Erstellt ein serverseitiges Ereignis Proaktive Auslöser.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    triggerTypeId Zeichenfolge Eindeutige ID des zu erstellenden Auslösertyps. Befindet sich im Feld „ID“ der Tabelle „Proaktive Auslösertypen“ [sys_cs_ptrigger_trigger_type].

    Beispiel: triggerTypeId = "sn_pt.ai_search_event"

    Tabelle : 2. Ergebnisse
    Parameter Beschreibung
    Keine

    Die folgende Geschäftsregel zeigt, wie die Methode createTrigger() innerhalb einer Geschäftsregel aufgerufen wird.

    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()

    Führt die angegebene Proaktive Auslöser API-Anforderung aus.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    sys_id Sys_id des erstellten Datensatzes für das proaktive Auslöserereignis. Befindet sich in der Tabelle „Proaktives Ereignis“ [sys_cs_ptrigger_event].

    Datentyp: Zeichenfolge

    Die folgende Geschäftsregel zeigt, wie die Methode process() aufgerufen wird, um die angegebene API-Anforderung Proaktive Auslöser auszuführen.

    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)

    Legt den Auslöserdatensatz fest, auf den die Regeln und Aktionen der proaktiven Auslöser angewendet werden sollen.

    Diese Regeln und Aktionen sind im zugehörigen Auslösertyp-Datensatz definiert, der sich in der Tabelle „Proaktive Auslösertypen“ [sys_cs_ptrigger_trigger_type] befindet.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    triggerRecord Zeichenfolge oder GlideRecord Sys_id oder GlideRecord des Auslöserdatensatzes, auf den die Regeln und Aktionen der zugehörigen proaktiven Auslöser angewendet werden sollen. Der Auslöserdatensatz befindet sich in der Tabelle, die im Feld trigger_table des Auslösertyp-Datensatzes angegeben ist, der im Methodenaufruf createTrigger() angegeben wurde.

    Wenn in Ihrem Aufruf von createTrigger() beispielsweise der Auslösertyp „Ereignis der KI-Suche“ angegeben wurde, ist die Auslösertabelle die Tabelle „Suchereignis“ [sys_search_event].

    Hinweis:
    Diese Tabelle ist normalerweise mit der Tabelle identisch, die die Ausführung der Geschäftsregel verursacht hat. Wenn sie nicht identisch ist, müssen Sie diese sys_id zum GlideRecord hinzufügen, damit Sie sie an diese Methode übergeben können.
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Keine

    Die folgende Geschäftsregel zeigt, wie die Methode setTriggerRecord() aufgerufen wird.

    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)

    Legt den Benutzer fest, an den die vom zugeordneten Ereignis Proaktive Auslöser generierte Nachricht anhand der Benutzer-ID gesendet werden soll.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    userId Zeichenfolge Sys_id des Anwenders, an den die zugeordnete Nachricht Proaktive Auslöser gesendet werden soll. Befindet sich in der Tabelle „Benutzer“ [sys_user] oder im zugehörigen GlideRecord.
    Tabelle : 8. Ergebnisse
    Parameter Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie die Methode setUserId() mit dem Wert im Feld user des aktuellen GlideRecord aufgerufen wird.

    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)

    Legt den Anwender fest, an den die vom zugeordneten Ereignis Proaktive Auslöser generierte Nachricht mit dem Anwendernamen gesendet werden soll.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    userName Zeichenfolge Name des Anwenders, an den die proaktive Nachricht gesendet werden soll. Dieser Name muss mit dem Feld „Anwender-ID“ in der Tabelle „Anwender“ [sys_user] übereinstimmen, z. B. „abel.tuter“.
    Tabelle : 10. Ergebnisse
    Parameter Beschreibung
    Keine

    Die folgende Geschäftsregel zeigt, wie die Methode setUserName() mit dem Wert im Feld sys_created_by des aktuellen GlideRecord aufgerufen wird.

    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)

    Legt die Anwendersitzungs-ID für das zugeordnete Ereignis Proaktive Auslöser fest. Bei Verwendung dieser Methode wird die proaktive Nachricht nur an einen bestimmten Benutzer gesendet, der einer bestimmten Sitzung zugeordnet ist.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    userSessionId Zeichenfolge Sys_id der aktuellen Sitzung des Anwenders, an den die Nachricht Proaktive Auslöser gesendet werden soll.
    Hinweis:
    Nicht alle Tabellen enthalten eine Sitzungs-ID. Stellen Sie vor der Verwendung dieses Endpunkts sicher, dass die Tabelle, auf die Sie verweisen, eine gültige Sitzungs-ID enthält. Andernfalls wird die letzte verfügbare Sitzungs-ID verwendet, was zu fehlerhaften Ergebnissen führen kann.
    Tabelle : 12. Ergebnisse
    Parameter Beschreibung
    Keine

    Die folgende Geschäftsregel zeigt, wie die Methode „setUserSessionId() “ mit dem Wert im Feld „session“ des aktuellen GlideRecord aufgerufen wird.

    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.
    }