ProactiveTriggerAPI - com escopo

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 6 min. de leitura
  • A ProactiveTriggerAPI permite criar gatilhos do lado do servidor que enviam mensagens específicas de contexto para um usuário especificado.

    Esta API usa regras e ações relacionadas com base nessas regras para enviar mensagens a um usuário. Essas regras e ações são específicas do contexto e baseadas em dados em tempo real coletados conforme o usuário navega pelas páginas do portal. Para obter informações adicionais, confira Proactive Triggers.

    Antes de usar esta API, os tipos de gatilho, regras e ações devem ser configurados em sua instância. Para obter informações sobre como configurar Gatilhos proativos, consulte Configuring Proactive Triggers.

    Usando esta API, você pode enviar mensagens para um usuário específico ou para um usuário em uma sessão específica.

    Por exemplo, no caso em que um cliente adiciona itens ao carrinho, você pode ter um evento Gatilhos proativos em uma regra de negócio que envia um lembrete ao usuário para concluir o check-out após um determinado período de tempo.

    Da mesma forma, se um usuário executar um Pesquisa com IA de um Portal de serviços e nenhum resultado for retornado, você poderá ter lógica em uma regra de negócio que cria um Gatilhos proativos que envia ofertas alternativas ao usuário por meio do cliente web de mensagem pop-over proativo.

    Ao chamar a ProactiveTriggerAPI, há uma sequência específica na qual você deve chamar os métodos. Esta API é executada no namespace sn_pt.

    Primeiro, você deve chamar o método ProactiveTriggerAPI - createTrigger(String triggerTypeId) para especificar o tipo de gatilho que deseja criar. Esta chamada é necessária. Para obter a lista de tipos de gatilho disponíveis, consulte How Proactive Triggers work.

    Em seguida, você deve chamar um dos métodos que identifica o usuário para o qual as mensagens devem ser enviadas. Você pode fazer isso chamando um dos seguintes métodos:

    Em seguida, você deve chamar o método ProactiveTriggerAPI - setTriggerRecord(cadeia de caracteres triggerRecord) para especificar o registro do gatilho no qual serão aplicadas as regras e ações dos gatilhos proativos.

    Por fim, chame o método ProactiveTriggerAPI - process() para executar a cadeia de chamadas. As chamadas de método setTriggerRecord() e process() são necessárias.

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

    ProactiveTriggerAPI - createTrigger(String triggerTypeId)

    Cria um evento Gatilhos proativos do lado do servidor.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    gatilhoTipoId Cadeia de caracteres ID exclusivo do tipo de gatilho a ser criado. Localizado no campo ID da tabela Tipos de gatilhos proativos [sys_cs_ptrigger_trigger_type].

    Por exemplo: triggerTypeId = "sn_pt.ai_search_event"

    Tabela 2. Retorna
    Parâmetro Descrição
    Nenhum(a)

    A regra de negócio a seguir mostra como chamar o método createTrigger() dentro de uma regra de negócio.

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

    Executa a solicitação de API Gatilhos proativos especificada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    sys_id Sys_id do registro do evento de gatilho proativo que foi criado. Localizado na tabela Evento proativo [sys_cs_ptrigger_event].

    Tipo de dados: cadeia de caracteres

    A regra de negócio a seguir mostra como chamar o método process() para executar a solicitação de API Gatilhos proativos especificada.

    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(cadeia de caracteres triggerRecord)

    Define o registro do gatilho no qual as regras e ações dos gatilhos proativos serão aplicadas.

    Essas regras e ações são definidas no registro de tipo de gatilho associado, localizado na tabela Tipos de gatilho proativo [sys_cs_ptrigger_trigger_type].

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    gatilhoRegistro String ou GlideRecord Sys_id ou GlideRecord do registro do gatilho no qual serão aplicadas as regras e ações dos gatilhos proativos associados. O registro do gatilho está localizado na tabela especificada no campo trigger_table do registro do tipo de gatilho que foi especificado na chamada do método createTrigger().

    Por exemplo, se sua chamada createTrigger() especificou o tipo de gatilho de evento da Pesquisa com IA, a tabela de gatilhos será a tabela de evento de pesquisa [sys_search_event].

    Nota:
    Esta tabela é normalmente a mesma que causou a execução da regra de negócio. Se não for o mesmo, você precisará adicionar este sys_id ao GlideRecord para poder passá-lo para este método.
    Tabela 6. Retorna
    Tipo Descrição
    Nenhum(a)

    A regra de negócio a seguir mostra como chamar o método 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(cadeia de caracteres userId)

    Define o usuário para o qual a mensagem gerada pelo evento Gatilhos proativos associado será enviada usando o ID do usuário.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    userId Cadeia de caracteres Sys_id do usuário para quem a mensagem Gatilhos proativos associada será enviada. Localizado na tabela Usuário [sys_user] ou no GlideRecord associado.
    Tabela 8. Retorna
    Parâmetro Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar o método setUserId() usando o valor no campo de usuário do GlideRecord atual.

    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(cadeia de caracteres userName)

    Define o usuário para quem a mensagem gerada pelo evento Gatilhos proativos associado usando o nome de usuário será enviada.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    userName Cadeia de caracteres Nome do usuário para quem a mensagem proativa será enviada. Este nome deve estar correlacionado ao campo ID do usuário na tabela Usuário [sys_user], como "abel.tuter".
    Tabela 10. Retorna
    Parâmetro Descrição
    Nenhum(a)

    A regra de negócio a seguir mostra como chamar o método setUserName() usando o valor no campo sys_created_by do GlideRecord atual.

    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(cadeia de caracteres userId)

    Define o ID da sessão do usuário no evento Gatilhos proativos associado. Ao usar este método, a mensagem proativa só é enviada ao usuário específico associado a uma sessão específica.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    userSessionId Cadeia de caracteres Sys_id da sessão atual do usuário para quem a mensagem Gatilhos proativos deve ser enviada.
    Nota:
    Nem todas as tabelas contêm um ID de sessão. Antes de usar este endpoint, certifique-se de que a tabela à qual você está fazendo referência contenha um ID de sessão válido. Caso contrário, o ID de sessão disponível mais recente será usado, o que pode causar resultados incorretos.
    Tabela 12. Retorna
    Parâmetro Descrição
    Nenhum(a)

    A regra de negócio a seguir mostra como chamar o método setUserSessionId() usando o valor no campo de sessão do GlideRecord atual.

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