openFrameAPI - Cliente
A openFrameAPI fornece métodos que interagem com o OpenFrame. O OpenFrame é uma estrutura onipresente que os parceiros de comunicação podem usar para integrar seus sistemas na plataforma ServiceNow.
Um dos principais requisitos é a capacidade de conectar e servir código de diferentes domínios que podem se conectar perfeitamente com subsistemas parceiros. Esta conexão entre domínios é necessária para manter conexões e retornos de chamada registrados em sistemas de comunicação sem problemas entre domínios.
openFrameAPI - getAWAAgentPresence (cadeia de caracteres bem-sucedida, falha de cadeia de caracteres)
Retorna o estado de presença atual do agente conectado.
| Nome | Tipo | Descrição |
|---|---|---|
| êxito | Cadeia de caracteres | Se o método for bem-sucedido, nome da função de retorno de chamada a ser invocada. |
| falha | Cadeia de caracteres | Se o método falhar, nome da função de retorno de chamada a ser invocada. |
| Tipo | Descrição |
|---|---|
| presença | Resultados passados para a função de retorno de chamada de sucesso pela infraestrutura openFrame. Tipo de dados: objeto |
| presença.disponível | Sinalizador que indica se o agente associado está disponível. Valores válidos:
Tipo de dados: booliano |
| presença.canais | Lista de canais de comunicação disponíveis com o agente. Tipo de dados: matriz de objetos
|
| presença.canais.disponíveis | Sinalizador que indica se o canal está disponível. Valores válidos:
Tipo de dados Booliano |
| presence.channels.name | Nome do canal, como Bate-papo ou Telefone. Tipo de dados: cadeia de caracteres |
| presença.canais.restrict_update | Sinalizador que indica se o usuário pode restringir atualizações para o canal. Valores válidos:
Tipo de dados Booliano |
| presença.canais.service_channel_type | Tipo do canal de serviço. Tipo de dados: cadeia de caracteres |
| presença.canais.sys_id | Sys_id do registro do canal. Localizado na tabela Canais de serviço [awa_service_channel]. Tipo de dados: cadeia de caracteres |
| presence.name | Nome do estado de presença do agente. Tipo de dados: cadeia de caracteres |
| presença.sys_id | Sys_id do registro do estado de presença. Localizado na tabela Estados de presença [awa_presence_state]. Tipo de dados: cadeia de caracteres |
O exemplo de código a seguir mostra como chamar este método.
function failure(data)
{
console.log("failure: " + JSON.stringify(data));
}
function success(data)
{
console.log("success: " + JSON.stringify(data));
}
openFrameAPI.getAWAAgentPresence(success, failure)
Resposta à função de retorno de chamada de sucesso:
success: {
"presence": {
"name": "Available",
"sys_id": "0b10223c57a313005baaaa65ef94f970",
"available": true,
"channels": [
{
"name": "Chat",
"available": true,
"sys_id": "27f675e3739713004a905ee515f6a7c3",
"restrict_update": false,
"service_channel_type": "chat"
}
]
}
}
openFrameAPI - ocultar ()
Oculta o OpenFrame no TopFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.hide()
openFrameAPI - init(Configuração de objeto, retorno de chamada de sucesso da função, retorno de chamada da falha de função)
Inicializa o OpenFrame. Este deve ser o primeiro método a ser chamado.
Este método inicializa a comunicação com o TopFrame e inicializa todos os elementos visuais passados no parâmetro config.
| Nome | Tipo | Descrição |
|---|---|---|
| config | Objeto | Pares de nome-valor a serem usados durante o processo de inicialização. Possíveis chaves: Todas as chaves são opcionais. Passe um objeto vazio se não quiser definir esses pares de chave-valor.
|
| sucessoRetorno de chamada | função | Nome da função de retorno de chamada a ser usada se o método de inicialização for bem-sucedido. A configuração do OpenFrame armazenada no sistema é passada como um parâmetro para a função de retorno de chamada. |
| falhaRetorno de chamada | função | Nome da função de retorno de chamada a ser usada se o método de inicialização falhar. |
| Tipo | Descrição |
|---|---|
| vazio |
var config = {
height: 300,
width: 200
}
function handleCommunicationEvent(context) {
console.log("Communication from Topframe", context);
}
function initSuccess(snConfig) {
console.log("openframe configuration", snConfig);
//register for communication event from TopFrame
openFrameAPI.subscribe(openFrameAPI.EVENTS.COMMUNICATION_EVENT,
handleCommunicationEvent);
}
function initFailure(error) {
console.log("OpenFrame init failed...", error);
}
openFrameAPI.init(config, initSuccess, initFailure);
openFrameAPI - isVisible(retorno de chamada da função)
Verifica se o OpenFrame está visível no TopFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| retorno de chamada | função | A função de retorno de chamada recebe um parâmetro com um valor verdadeiro ou falso. Verdadeiro se o OpenFrame estiver visível e falso se não estiver visível. |
| Tipo | Descrição |
|---|---|
| vazio |
function callback(isVisible) {
console.log(isVisible)
}
openFrameAPI.isVisible(callback)
openFrameAPI - openCustomURL(Detalhes da cadeia de caracteres)
Abre uma URL personalizada na interface IU16.
| Nome | Tipo | Descrição |
|---|---|---|
| URL | Cadeia de caracteres | Texto da URL personalizada. Tamanho máximo: 2083 caracteres |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.openCustomURL('10_cool_things.do');
openFrameAPI - openServiceNowForm(Detalhes do objeto)
Abre um URL de formulário.
- Na interface da plataforma, esta API abre um URL de formulário no TopFrame.
- Para Espaço do agente, esta API oferece suporte ao gerenciamento da guia de interação. Em Espaço do agente, um registro de interação é aberto em uma guia primária e o registro de entidade especificado é aberto em uma guia secundária na guia de interação.
| Nome | Tipo | Descrição |
|---|---|---|
| detalhes | Objeto | Pares de chave-valor que identificam a URL do formulário a ser aberto. |
| detalhes.entidade | Cadeia de caracteres | Nome da tabela ou entidade. |
| details.interaction_sys_id | Cadeia de caracteres | Opcional. Sys_id do registro de interação a ser aberto como guia primária em Espaço do agente. Nota: Na interface da plataforma, o interaction_sys_id é ignorado. |
| detalhes.consulta | Cadeia de caracteres | Consulta para identificar o registro a ser aberto, como: query:'sys_id=<record_sys_id> ' . |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra o uso básico na plataforma:
openFrameAPI.openServiceNowForm({entity:'customer_account',
query:'sys_id=447832786f0331003b3c498f5d3ee452', 'interaction_sys_id':'3be092313b711300758ce9b534efc4dd'});
O exemplo a seguir mostra como usar o parâmetro query para criar um novo registro com dados fornecidos no formulário usando sysparm_query e uma consulta codificada para preencher os campos de nome e sobrenome no espaço:
openFrameAPI.openServiceNowForm({ entity: 'sys_user',
query: 'sys_id=-1&sysparm_query=first_name=Ivan^last_name=Greggor' });
openFrameAPI - openServiceNowFormwithChildTabIf()
Abre um formulário ServiceNow com uma guia secundária se invocado em um espaço ou abre uma entidade se invocado na interface UI16.
| Nome | Tipo | Descrição |
|---|---|---|
| openServiceNowFormwithChildTab | Objeto | Define se a API abre um formulário ServiceNow com uma guia secundária se invocada em um espaço ou abre uma entidade se invocada na interface UI16. |
| openServiceNowFormwithChildTab.entity | Cadeia de caracteres | Nome da tabela. |
| openServiceNowFormwithChildTab.sys_id | Cadeia de caracteres | Sys_id do registro a ser aberto. |
| openServiceNowFormwithChildTab.parent_entity | Cadeia de caracteres | Nome da tabela a ser aberta como uma guia primária. |
| openServiceNowFormwithChildTab.parent_entity_sys_id | Cadeia de caracteres | Sys_id do registro primário a ser aberto. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir abre a entidade primária como uma guia primária em um espaço configurado ou abre apenas a entidade se invocada em IU16.
openFrameAPI.openServiceNowFormwithChildTablf({
entity: “customer_account”,
sys_id: “447832786f0331003b3c498f5d3ee452”,
parent_entity: “interaction”,
parent_entity_sys_id: “3be092313b711300758ce9b534efc4dd”
});
openFrameAPI - openServiceNowList(Detalhes do objeto)
Abre um URL de lista na interface IU16.
| Nome | Tipo | Descrição |
|---|---|---|
| detalhes | Objeto | Pares de chave-valor que descrevem o conteúdo a ser usado ao abrir o URL da lista. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});
openFrameAPI - setFrameMode(mode)
Define o modo OpenFrame.
- Define o ícone apropriado no cabeçalho: recolher ou expandir
- Gera o evento relevante para CTI:
- openFrameAPI.EVENTS.COLLAPSO
- openFrameAPI.EVENTOS.EXPAND
| Nome | Tipo | Descrição |
|---|---|---|
| Modo | Cadeia de caracteres | Defina o Modo OpenFrame. Opções enumeradas:
|
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
openFrameAPI - setHeight(height)
Define a altura do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| Altura | Número | Altura em pixels |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setHeight(100);
openFrameAPI - setIcons(Ícones de matriz)
Define ícones no cabeçalho do OpenFrame que são colocados ao lado do ícone de fechamento.
| Nome | Tipo | Descrição |
|---|---|---|
| ícones | Matriz de objetos | Uma lista de configurações de ícone, em que cada configuração de ícone é um objeto com valores de chave imageURL, imageTitlee qualquer outro contexto necessário. Tamanho máximo: os ícones podem ter no máximo 16x16 pixels. Imagens maiores são ajustadas automaticamente para este máximo. |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setIcons([{imageURL:'https://mydomian.com/image/mute.png',
imageTitle:'mute', id:101}, {imageURL:'https://mydomian.com/image/hold.png',
imageTitle:'hold', id:102}]);
openFrameAPI - setPresenceIndicator(presença)
Define o indicador de presença para exibir a disponibilidade do agente em um espaço.
Para obter mais informações sobre como configurar o OpenFrame, consulte Como criar uma configuração do OpenFrame
| Nome | Tipo | Descrição |
|---|---|---|
| Estado | Cadeia de caracteres | Estado de presença do agente. Estados padrão:
Você também pode especificar estados personalizados. |
| cor | Cadeia de caracteres | Cor do indicador de presença no espaço. Cores compatíveis:
|
| Tipo | Descrição |
|---|---|
| vazio |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI - setSize(largura do número, altura do número)
Define o tamanho do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| largura | Número | Deve ser maior que zero. |
| altura | Número | Deve ser maior que zero. |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setSize(300, 370);
openFrameAPI - setSubtitle(cadeia de caracteres subTitle)
Define a legenda do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| subTitle | Cadeia de caracteres | Uma cadeia de caracteres de 256 caracteres ou menos. |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setSubtitle('+18888888888');
openFrameAPI - setTitle(cadeia de caracteres título)
Define o título do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| título | Cadeia de caracteres | Uma cadeia de caracteres de 256 caracteres ou menos. |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setTitle('Incoming Call');
openFrameAPI – setTitleIcon(ícone de objeto)
Define o ícone de título do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| ícone | Objeto | Objeto de pares de chave-valor. As chaves incluem imageURL, imageTitlee qualquer outro contexto necessário. Tamanho máximo: os ícones podem ter no máximo 16x16 pixels. Imagens maiores são ajustadas automaticamente para este máximo. |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setTitleIcon({imageURL:'/my/image/path.png', imageTitle:'mute', id:101});
openFrameAPI.setTitleIcon({imageURL:'https://mydomian.com/image/path.png',
imageTitle:'mute', id:101});
openFrameAPI - setWidth(width)
Define a largura do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| Largura | Número | Largura em pixels |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.setWidth(100);
openFrameAPI - mostrar ()
Torna o OpenFrame visível no TopFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
openFrameAPI.show()
openFrameAPI - inscreva-se (evento openFrameAPIEVENT, função eventCallback)
Assina um evento especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| evento | openFrameAPIEVENT | O evento a ser assinado:
|
| eventCallback | função | Função a ser chamada quando ocorre o evento especificado. |
| Tipo | Descrição |
|---|---|
| results | A maioria das assinaturas de evento não tem valores de retorno. As assinaturas de evento que retornam valores são descritas nas entradas da tabela a seguir. |
| openframe_awa_agent_presence | Em AWA, o evento openframe_awa_agent_presence retorna o objeto de presença :presence: Informações sobre o estado de presença atual e o canal de um agente.
|
| openframe_awa_workitem_accepted e openframe_awa_workitem_offered | Em AWA, os eventos openframe_awa_workitem_accepted e openframe_awa_workitem_offered retornam o objeto workItem :workItem: informações sobre o item de trabalho associado ao evento.
|
| openframe_awa_workitem_rejected | Em AWA, o evento openframe_awa_workitem_rejected retorna o objeto workItem :workItem: informações sobre o item de trabalho associado ao evento.
|
O exemplo de código a seguir mostra como chamar este método para um evento openframe_awa_agent_presence.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_agent_presence, handleIconClick);
Saída:
// Sample presence object output
// openframe_awa_agent_presence event only
{
"result":{
"presence":{
"name":"Available",
"sys_id":"27f675e3739713004a905ee515f6a7c3",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"36f675e4239713124a905fe515f6a832",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"9378a530a1820610f809018efd9bc01e",
"restrict_update":false
}
]
}
}
}
O exemplo de código a seguir mostra como chamar este método para um evento openframe_awa_workitem_accepted.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_accepted, handleIconClick);
Saída:
// Sample workItem object output
// openframe_awa_workitem_accepted event only
{
"result": {
"workItem": {
"sys_id": "14c86c40a1650610f87701807d9bc0be",
"size": 1,
"serviceChannel": {
"name": "Chat",
"sys_id": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "aa582040a1650610f87701807d9bc076",
"table": "interaction"
},
"previousWorkItem": "7c78a440a1650610f87701807d9bc02b",
"isQueueTransferred": true
}
}
}
O exemplo de código a seguir mostra como chamar este método para um evento openframe_awa_workitem_rejected.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);
Saída:
// Sample workItem object output
// openframe_awa_workitem_rejected event only
{
"payload": {
"workItem": {
"sys_id": "2c3bdc4824250610f8775e73b116f8de",
"size": "1",
"serviceChannel": {
"name": "Chat",
"sysID": "27f675e3739713004a905ee515f6a7c3"
},
"document": {
"sys_id": "cf0a180824250610f8775e73b116f80c",
"table": "interaction"
},
"rejection": {
"reason": "Busy",
"sys_id": "4e93fa29b38023002e7b6e5f26a8dc20"
},
"previousWorkItem": "831b9c4824250610f8775e73b116f841",
"isQueueTransferred": true
}
}
}
openFrameAPI - versão ()
Retorna a versão da API do OpenFrame.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A versão da API do OpenFrame |
var version = openFrameAPI.version();
console.log("API version " + version);