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. Tipo de dados: cadeia de caracteres Tabela: Canais de serviço [awa_service_channel] |
| 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. Tipo de dados: cadeia de caracteres Tabela: Estados de presença [awa_presence_state] |
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 - openServiceNowFormwithChildTab()
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 que contém o registro a ser aberto. |
| 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.openServiceNowFormwithChildTab({
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 - setICContext(Tipo de cadeia de caracteres, Objeto<Context> )
Define os dados de contexto relacionados aos controles de interação no cliente. Use esses dados de contexto para determinar a IU do cliente a ser exibida no OpenFrame.
Para obter informações adicionais sobre controles interativos, consulte Interaction Controls Component.
Para obter informações adicionais sobre registros de interação, consulte CSM voice interaction record page.
| Nome | Tipo | Descrição |
|---|---|---|
| Tipo | Cadeia de caracteres | Tipo de dados de contexto a ser definido. Valores válidos:
|
| <Context> | Objeto | Dados de contexto a serem definidos. Cada tipo de dados de contexto tem um conjunto diferente de dados de entrada possíveis. Objetos de dados Context válidos:
|
| activeCall | Matriz de objetivos | Detalhes sobre uma chamada ativa. Cada objeto representa uma chamada ativa em andamento. |
| activeCall.currentParticipant | Objeto | Obrigatório. Detalhes sobre as capacidades de chamada do participante atual e o status da chamada. |
| activeCall.currentParticipant.ator | Cadeia de caracteres | Tipo de participante na chamada. Valores válidos:
Nota: Outros tipos de participante a serem adicionados no futuro. |
| activeCall.currentParticipant.callStartTime | Cadeia de caracteres | Data e hora em que a chamada foi iniciada. Padrão de tempo: UTC Formato: RSS - "<day of week> , dd mmm aaaa hh:MM:ss GMT". Por exemplo: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.currentParticipant.capacidades | Objeto | Detalhes sobre as capacidades que o participante atual (agente) pode executar durante uma chamada. Os ícones associados aparecem no componente de chamada ativa para os recursos que estão habilitados. |
| activeCall.currentParticipant.capacidades.dtmf | Booliano | Sinalizador que indica se o agente tem a capacidade de DTMF (Dual Tone Multi-Frequency, multifrequência de tom duplo) para a chamada atual. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.endCall | Booliano | Sinalizador que indica se o participante associado pode encerrar a chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.sinalizador | Booliano | Sinalizador que indica se o participante pode sinalizar a chamada quanto a problemas de qualidade, como problemas de qualidade de voz. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.em espera | Booliano | Sinalizador que indica se o participante pode colocar a chamada em espera. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.leaveAndTransfer | Booliano | Sinalizador que indica se o participante pode transferir a chamada para outro agente e, em seguida, encerrar a chamada. Habilite esta capacidade para ações como transferências de consulta, em que o usuário consultado não é o proprietário da chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.mergeCall | Booliano | Sinalizador que indica se o participante pode mesclar a chamada. Use esta capacidade quando as ramificações de chamada do participante puderem ser mescladas. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.mudo | Booliano | Sinalizador que indica se o participante pode silenciar a chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacities.resumeRecording | Booliano | Sinalizador que indica se o participante pode retomar a gravação da chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.pausaRegistro | Booliano | Sinalizador que indica se o participante pode pausar a gravação da chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.startRecording | Booliano | Sinalizador que indica se o participante pode começar a gravar a chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.stopRecording | Booliano | Sinalizador que indica se o participante pode parar de gravar a chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.capacidades.transferência | Booliano | Sinalizador que indica se o participante pode transferir a chamada. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.connectedTime | Cadeia de caracteres | Data e hora em que a chamada foi conectada inicialmente. Base de tempo: UTC Formato: RSS - "<day of week> , dd mmm aaaa hh:MM:ss GMT". Por exemplo: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.currentParticipant.custom-capability-state-1 | Booliano | Uso futuro. |
| activeCall.currentParticipant.sinalizado | Booliano | Sinalizador que indica se a chamada está sinalizada por um problema, como um problema de qualidade de voz. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.em espera | Booliano | Sinalizador que indica o estado retido do participante. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.id | Cadeia de caracteres | Obrigatório. Sys_id do registro do participante associado, como o sys_id do agente. Tabela: usuário [sys_user] |
| activeCall.currentParticipant.mudo | Booliano | Sinalizador que indica o estado mudo do participante. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.name | Cadeia de caracteres | Nome do participante. |
| activeCall.currentParticipant.pausado | Booliano | Sinalizador que indica o estado pausado do participante. Valores válidos:
Padrão: falso |
| activeCall.currentParticipant.recording | Cadeia de caracteres | Estado de gravação atual da chamada. Valores válidos:
|
| activeCall.currentParticipant.wrappingUP | Objeto | Uso futuro. |
| activeCall.customPayload | Objeto | Carga personalizada a ser passada para o OpenFrame. Este é um objeto de forma livre e pode conter todos os dados necessários para personalizar o componente de chamada ativa, como adicionar botões ou texto. |
| activeCall.direction | Cadeia de caracteres | Direção da chamada para o participante associado. Valores válidos:
|
| activeCall.externalId | Obrigatório. Valor exclusivo que identifica a chamada ativa atual no sistema externo associado. | |
| activeCall.nowRecordId | Cadeia de caracteres | Obrigatório. Sys_id do registro de chamada ativa. Tabela: Interação [interação] Somente opção compatível com o sistema de base. |
| activeCall.nowRecordTable | Cadeia de caracteres | Obrigatório. Tabela à qual a chamada ativa pertence. Tabela: Interação [interação] Somente opção compatível com o sistema de base. |
| activeCall.participants | Matriz de objetivos | Obrigatório. Lista dos participantes adicionais na chamada. Um participante pode ser um agente, um cliente, uma pessoa externa que não é um agente ou um cliente ou uma fila. |
| activeCall.participants.ator | Cadeia de caracteres | Tipo de ator para o participante associado. Por exemplo:
|
| activeCall.participants.ani | Identificação automática de números. Número de telefone a ser exibido para o destinatário da chamada telefônica. | |
| activeCall.participants.address | Cadeia de caracteres | Número de telefone do participante. |
| activeCall.participants.capacidades | Objeto | Detalhes sobre o tipo de capacidades que o participante tem para a chamada associada. |
| activeCall.participants.capacidades.endCall | Booliano | Sinalizador que indica se o participante associado pode encerrar a chamada. Valores válidos:
Padrão: falso |
| activeCall.participants.capacidades.em espera | Booliano | Sinalizador que indica se o participante pode colocar a chamada em espera. Valores válidos:
Padrão: falso |
| activeCall.participants.capacidades.mudo | Booliano | Sinalizador que indica se o participante pode silenciar a chamada. Valores válidos:
Padrão: falso |
| activeCall.participants.connectedTime | Cadeia de caracteres | Obrigatório. Data e hora em que o participante se conectou inicialmente à chamada. Padrão de tempo: UTC Formato: RSS - "<day of week> , dd mmm aaaa hh:MM:ss GMT". Por exemplo: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.participants.customPayload | Objeto | Carga personalizada a ser passada para o OpenFrame. Este é um objeto de forma livre e pode conter todos os dados necessários para personalizar o componente de chamada ativa, como adicionar botões ou texto. |
| activeCall.participants.dnes | Cadeia de caracteres | Serviço de identificação de número discado. Número de telefone discado pelo participante. |
| activeCall.participants.em espera | Booliano | Sinalizador que indica o estado retido do participante. Valores válidos:
Padrão: falso |
| activeCall.participants.holdAtTime | Cadeia de caracteres | Data e hora em que a conexão do participante com a chamada foi colocada em espera. Base de tempo: UTC Formato: RSS - "<day of week> , dd mmm aaaa hh:MM:ss GMT". Por exemplo: "Wed, 17 Dec 2024 05:23:41 GMT" |
| activeCall.participants.id | Cadeia de caracteres | Obrigatório. ID exclusivo do participante do sistema da Central de contato como serviço (CCaaS). |
| activeCall.participants.muted | Booliano | Sinalizador que indica o estado mudo do participante. Valores válidos:
Padrão: falso |
| activeCall.participants.name | Cadeia de caracteres | Nome do participante. |
| activeCall.participants.requestACW | Booliano | Válido somente quando o activeCall.currentParticipant.actor for "agente". Sinalize que indicaque o participante precisa fazer o acompanhamento com o cliente. Valores válidos:
Padrão: falso |
| activeCall.participants.requireWrapup | Booliano | Válido somente quando o activeCall.currentParticipant.actor for "agente". Sinalizador que indica se o componente de encerramento deve ser exibido quando a chamada for concluída. Valores válidos:
Padrão: falso |
| activeCall.participants.state | Cadeia de caracteres | Estado da ramificação da chamada do participante. Aparece abaixo do número de telefone no componente de chamada ativa. Pode ser qualquer texto significativo, como:
|
| activeCall.type | Cadeia de caracteres | Tipo de chamada. Valores válidos:
|
| <idleState> | Objeto | Descreve o contexto do estado ocioso do agente. Esses dados de contexto determinam as informações que aparecem no teclado de discagem quando um agente está aguardando uma chamada e as capacidades que ele tem por meio deste teclado de discagem. |
| <idleState>.capacidade | Objeto | Descrição das capacidades de estado ocioso do usuário atual. |
| <idleState>.capability.globalContactPesquisa | Booliano | Sinalizador que indica se a lista de contatos globais deve ser exibida no estado ocioso. Valores válidos:
Padrão: falso |
| <idleState>.capacidade.logOut | Booliano | Sinalizador que indica se o usuário pode fazer logout no estado ocioso. Valores válidos:
Padrão: falso |
| <idleState>.capability.outBoundCall | Booliano | Sinalizador que indica se o usuário pode fazer uma chamada de saída no estado ocioso. Valores válidos:
Padrão: falso |
| <idleState>.currentInboundId | Cadeia de caracteres | Identificador de entrada da aplicação do provedor usado para criar a interação de chamada de saída. Tabela: localizado no campo de ID da tabela Identidades de canal do provedor [sys_cs_provider_application]. Padrão: aplicação do provedor do sistema base |
| <idleState>.dialpadInfoMessage | Objeto | Detalhes sobre a mensagem de informações a serem exibidas no teclado de discagem do usuário, como a fila selecionada no momento.No exemplo a seguir, o label é a Fila selecionada: e o value são as Consultas do cliente. Você também pode usar apenas o parâmetro label ou value com a fila Selecionada: Consultas do cliente. |
| <idleState>.dialpadInfoMessage.rótulo | Cadeia de caracteres | Rótulo de forma livre a ser exibido no teclado de discagem. |
| <idleState>.dialpadInfoMessage.value | Cadeia de caracteres | Texto de mensagem de forma livre a ser exibido após o rótulo no teclado de discagem. |
| <idleState>.enableState | Objeto | Detalhes sobre o estado de habilitação dos botões no teclado de discagem. |
| <idleState>.enableState.logOut | Booliano | Sinalizador que indica se o botão de logout deve ser habilitado na IU no estado ocioso. Valores válidos:
Padrão: falso |
| <idleState>.enableState.outBoundCall | Booliano | Sinalizador que indica se o botão de chamada de saída deve ser habilitado na IU no estado ocioso. Valores válidos:
Padrão: falso |
| searchTargetList | Matriz de objetivos | Detalhes dos dados relacionados à transferência para uma tabela ServiceNow. |
| searchTargetList.externalId | Cadeia de caracteres | Identificador exclusivo da chamada associada no sistema CCaaS. |
| searchTargetList.nowRecordId | Cadeia de caracteres | Obrigatório. Sys_id do registro ao qual o searchTargetList pertence. Nota: Somente registros na tabela Interação [interação] são compatíveis no momento. |
| searchTargetList.nowRecordTable | Cadeia de caracteres | Obrigatório. ServiceNow tabela à qual o searchTargetList pertence. Tabela: somente valores válidos - |
| searchTargetList.participantID | Cadeia de caracteres | Identificador exclusivo do participante do sistema CCaaS. |
| searchTargetList.targets | Matriz de objetivos | Detalhes sobre os agentes, usuários externos e/ou filas para os quais a chamada pode ser transferida. |
| searchTargetList.targets.payload | Objeto | Detalhes sobre as informações a serem exibidas no controle de chamada de transferência. A seguir está um exemplo de um controle de transferência de chamada que contém uma lista de agentes para os quais a chamada pode ser transferida. A captura de tela mostra quais elementos da IU cada parâmetro em list.payload controla. Este exemplo mostra uma carga de agente ( Veja a seguir um exemplo de carga de fila ( |
| searchTargetList.targets.payload.list | Matriz de objetivos | Detalhes sobre a carga para cada tipo de destino. |
| searchTargetList.targets.payload.list.hasStats | Booliano | Sinalizador que indica se o destino associado tem estatísticas adicionais, como um tempo de espera para uma fila. Valores válidos:
Padrão: falso |
| searchTargetList.targets.payload.list.id | Cadeia de caracteres | Identificador exclusivo do agente ou da fila no sistema CCaaS. |
| searchTargetList.targets.payload.list.moreInfo | Matriz de objetivos | Obrigatório se searchTargetList.targets.payload.list.hasStats estiver definido como "verdadeiro". Lista de habilidades que o agente ou a fila têm. Essas informações aparecem em uma janela pop-up quando o usuário seleciona o ícone de informações no final do nome das entidades. |
| searchTargetList.targets.payload.list.moreInfo.label | Cadeia de caracteres | Rótulo de forma livre para as informações a serem exibidas na janela pop-up, como uma habilidade ou idioma. |
| searchTargetList.targets.payload.list.moreInfo.value | Cadeia de caracteres | Texto a ser exibido na janela pop-up após o rótulo, como Certificado pelo CRM ou Alemão. |
| searchTargetList.targets.payload.list.name | Cadeia de caracteres | Nome do agente, usuário externo ou fila. Localizado no sistema CCaaS. |
| searchTargetList.targets.payload.list.presença | Cadeia de caracteres | Estado de presença do agente associado. Este parâmetro só é válido para um searchTargetList.targets.type de "agent".Valores válidos:
|
| searchTargetList.targets.transferSubtypes | Matriz de objetivos | Detalhes sobre o tipo de transferência compatível com o searchTargetList.targets.typeespecificado. Essas informações aparecem quando o usuário clica na elipse ao lado do nome do destino na IU. Por exemplo, se apenas um tipo de consulta for compatível com o tipo de destino atual, digamos, fila, esta matriz conterá um objeto para denotar o tipo de consulta de transferência. |
| searchTargetList.targets.transferSubtypes.id | Cadeia de caracteres | Identificador do subtipo de transferência. Valores válidos:
Deve corresponder ao valor em searchTargetList.targets.transferSubtypes.label. |
| searchTargetList.targets.transferSubtypes.label | Cadeia de caracteres | Rótulo do subtipo de transferência. Se você não aprovar um rótulo, nada aparecerá na IU para o subtipo de transferência. Valores válidos:
Deve corresponder ao valor em searchTargetList.targets.transferSubtypes.id. |
| searchTargetList.targets.type | Cadeia de caracteres | Tipo de meta. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como definir o contexto de estado ativo.
openFrameAPI.setICContext("activeCall", {
"activeCall": [
{
"nowRecordTable": "interaction",
"nowRecordId": "12345675678903456",
"externalId": "1234567890",
"type": "call",
"direction": "inbound",
"currentParticipant": {
"id": "participant1",
"name": "John 1",
"actor": "agent",
"state": "connected",
"connectedTime": "Fri, 12 Jul 2024 05:23:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 04:20:22 GMT",
"muted": false,
"held": true,
"paused": true,
"flagged": true,
"recording": "in_progress",
"capabilities": {
"hold": false,
"mute": true,
"endCall": true,
"startRecording": true,
"pauseRecording": true,
"stopRecording": true,
"resumeRecording": true,
"transfer": true,
"mergeCall": true,
"leaveAndTransfer": true,
"dtmf": true,
"flag": true
}
},
"participants": [
{
"id": "customer1",
"name": "Gilly 1",
"actor": "customer",
"address": "+18582359874",
"ani": "+16193287356",
"dnis": "+18004346258",
"state": "connected",
"connectedTime": "Fri, 12 Jul 2024 00:23:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 20:55:04 GMT",
"muted": false,
"held": false,
"heldAtTime": "Fri, 12 Jul 2024 20:55:04 GMT",
"capabilities": {
"mute": true,
"hold": true,
"endCall": true
}
},
{
"id": "agent2",
"name": "Ned",
"actor": "agent",
"address": "+3134787324",
"ani": "+13134787324",
"dnis": "+14773286943",
"state": "Ringing...",
"requireWrapup": true,
"requestACW": true,
"connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
"callStartTime": "Fri, 12 Jul 2024 20:56:34 GMT",
"muted": true,
"held": true,
"heldAtTime": "Fri, 12 Jul 2024 20:55:41 GMT",
"capabilities": {
"mute": true,
"endCall": true,
"hold": true
}
}
]
},
{
"nowRecordTable": "interaction",
"nowRecordId": "12345yhedfh534576u5",
"externalId": "1234567890",
"type": "call",
"direction": "inbound",
"currentParticipant": {
"id": "participant1",
"name": "John 1",
"actor": "agent",
"state": "connected",
"muted": true,
"held": false,
"recording": "in_progress",
"paused": true,
"flagged": true,
"capabilities": {
"hold": false,
"mute": true,
"endCall": true,
"record": true,
"startRecording": true,
"stopRecording": true,
"transfer": true,
},
"mergeCall": false,
"dtmf": true,
"flag": true
}
},
"participants": [
{
"id": "customer1",
"name": "Gilly 2",
"actor": "customer",
"address": "+123456789",
"state": "connected",
"connectedTime": "Wed, 04 Dec 2024 00:23:41 GMT",
"muted": true,
"held": false,
"heldAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
"capabilities": {
"mute": true,
"hold": true,
"endCall": true
}
},
{
"id": "agent2",
"name": "Ned 2",
"actor": "agent",
"address": "+123456789",
"state": "Ringing...",
"connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
"muted": true,
"held": true,
"heldaAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
"capabilities": {
"mute": true,
"endCall": true,
"hold": true
}
}
]
}
]
}
);
O exemplo a seguir mostra como definir o contexto do estado ocioso.
openFrameAPI.setICContext("idleState", {
"capability": {
"outBoundCall": true,
"logOut": true
},
"enableState": {
"outBoundCall": true,
"logOut": true
},
"dialpadInfoMessage": {
"label": "Info Message Label",
"value": "Info Message Value"
},
"currentInboundId": "1234"
});
O exemplo a seguir mostra como definir o contexto da lista de destino da pesquisa.
openFrameAPI.setICContext("searchTargetList",
{
"searchTargetList": [
{
"nowRecordTable": "interaction",
"nowRecordId": "1234",
"externalId": "5678",
"participantID": "participant1",
"targets": [
{
"type": "agent",
"transferSubtypes": [
{
"id": "consult",
"label": "Consult"
},
{
"id": "blind",
"label": "Blind"
}
],
"payload": {
"list": [
{
"name": "John Jason",
"id": "agent1Id",
"hasStats": "true",
"presence": "away",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
}
]
}
]
}
},
{
"type": "queue",
"transferSubtypes": [
{
"id": "consult",
"label": "Consult"
},
{
"id": "blind",
"label": "Blind"
}
],
"payload": {
"list": [
{
"name": "Product Support Queue",
"id": "queue1Id",
"hasStats": "true",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
},
{
"label": "Queue Skill",
"value": "German"
}
]
},
{
"name": "Billing Queue",
"id": "queue2Id",
"hasStats": "true",
"moreInfo": [
{
"label": "Skill",
"value": "10sec"
}
]
}
]
}
}
],
"customPayload": {}
}
],
"customPayload": {}
});
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 |
|---|---|---|
| ícones | 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:
|
| retorno de chamada do evento | função | Função a ser chamada quando ocorre o evento especificado. |
| Tipo | Descrição |
|---|---|
| resultados | 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.
|
| openframe_ heart_beat | O evento openframe_heart_beat retorna o seguinte objeto:
|
| openframe_wrap_up_enviado | O evento openframe_wrap_up_submitted retorna o seguinte objeto:
|
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,
"isAutoAccepted": 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);