ProactiveTriggerAPI - com escopo
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ócios que envia um lembrete ao usuário para concluir o check-out após um período especificado.
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ócios que cria um Gatilhos proativos que envia ofertas alternativas ao usuário por meio do cliente web de mensagem pop-up proativa.
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(cadeia de caracteres triggerTypeId) para especificar o tipo de gatilho que deseja criar. Esta chamada é obrigatória. Para obter a lista de tipos de gatilho disponíveis, consulte How Proactive Triggers work.
- ProactiveTriggerAPI - setUserId(cadeia de caracteres userId): identifica o usuário pelo sys_id do registro de usuário associado [sys_users].
- ProactiveTriggerAPI - setUserName(cadeia de caracteres userName): identifica o usuário pelo nome de usuário, como "abel.tuter".
- ProactiveTriggerAPI - setUserSessionId(cadeia de caracteres userId): identifica o usuário pelo sys_id da sessão atual.
Em seguida, você deve chamar o método ProactiveTriggerAPI - setTriggerRecord(cadeia de caracteres triggerRecord) para especificar o registro do gatilho no qual aplicar 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 obrigatórias.
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserName(userName).setTriggerRecord(userId).process();
ProactiveTriggerAPI - createTrigger(cadeia de caracteres triggerTypeId)
Cria um evento do lado do servidor Gatilhos proativos.
| Nome | Tipo | Descrição |
|---|---|---|
| triggerTypeId | Cadeia de caracteres | ID exclusivo do tipo de gatilho a ser criado. Localizado no campo ID da tabela Tipos de gatilho proativo [sys_cs_ptrigger_trigger_type]. Por exemplo: |
| Parâmetro | Descrição |
|---|---|
| Nenhum |
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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| sys_id | Sys_id do registro de 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ócios 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 do tipo de gatilho associado, localizado na tabela Tipos de gatilho proativo [sys_cs_ptrigger_trigger_type].
| Nome | Tipo | Descrição |
|---|---|---|
| registro-gatilho | 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 a chamada createTrigger() especificou o tipo de gatilho de evento do AI Search, a tabela do gatilho 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ócios. Se não for o mesmo, você precisará adicionar este sys_id ao GlideRecord para passá-lo para este método. |
| Tipo | Descrição |
|---|---|
| Nenhum |
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 enviar a mensagem gerada pelo evento Gatilhos proativos associado usando o ID do usuário.
| 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. |
| Parâmetro | Descrição |
|---|---|
| Nenhum |
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 o qual enviar a mensagem gerada pelo evento Gatilhos proativos associado usando o nome de usuário.
| 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". |
| Parâmetro | Descrição |
|---|---|
| Nenhum |
A regra de negócios 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 de 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.
| 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, verifique se a tabela que você está fazendo referência contém 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. |
| Parâmetro | Descrição |
|---|---|
| Nenhum |
A regra de negócios 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.
}