openFrameAPI - Cliente

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 33 min. de leitura
  • 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.

    O OpenFrame tem duas partes significativas. Um reside na aplicação ServiceNow (conhecida como TopFrame) e nesta API que é originada da aplicação do parceiro. Esta API tem os métodos necessários para se comunicar com o TopFrame e controlar os recursos visuais do OpenFrame.
    Nota:
    Para se manter atualizado com referência à biblioteca do OpenFrame, use o seguinte URI de recurso: https://[servicenow instance]/scripts/openframe/latest/openFrameAPI.min.js.

    openFrameAPI - getAWAAgentPresence (cadeia de caracteres bem-sucedida, falha de cadeia de caracteres)

    Retorna o estado de presença atual do agente conectado.

    Tabela 1. Parâmetros
    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.
    Tabela 2. Retornos
    Tipo Descrição
    presença Resultados passados para a função de retorno de chamada de sucesso pela infraestrutura openFrame.

    Tipo de dados: objeto

    "presence": {  
      "available": Boolean, 
      "channels": [Array],
      "name": "String", 
      "sys_id": "String"
    }
    presença.disponível Sinalizador que indica se o agente associado está disponível.
    Valores válidos:
    • verdadeiro: o agente está disponível.
    • falso: o agente não está disponível.

    Tipo de dados: booliano

    presença.canais Lista de canais de comunicação disponíveis com o agente.

    Tipo de dados: matriz de objetos

    "channels": [
      { 
        "available": Boolean,
        "name": "String",
        "restrict_update": Boolean,
        "service_channel_type": "String",
        "sys_id": "String"
      }
    ]
    presença.canais.disponíveis Sinalizador que indica se o canal está disponível.
    Valores válidos:
    • verdadeiro: o canal está disponível.
    • falso: o canal não está disponível.

    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:
    • verdadeiro: o usuário pode restringir atualizações para o canal.
    • falso: o usuário não pode restringir atualizações para o canal.

    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.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    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.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    config Objeto Pares de nome-valor a serem usados durante o processo de inicialização.
    Possíveis chaves:
    • altura
    • subTitle
    • título
    • titleIcon
    • largura
    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.
    Tabela 6. Retornos
    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.

    Tabela 7. Parâmetros
    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.
    Tabela 8. Retornos
    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.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    URL Cadeia de caracteres Texto da URL personalizada.

    Tamanho máximo: 2083 caracteres

    Tabela 10. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.openCustomURL('10_cool_things.do');
    

    openFrameAPI - openServiceNowForm(Detalhes do objeto)

    Abre um URL de formulário.

    Quando um agente recebe uma chamada de entrada, a janela do OpenFrame exibe informações como conta, contato ou consumidor. Clicar em um link na janela do OpenFrame exibe o registro correspondente.
    • 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.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    detalhes Objeto Pares de chave-valor que identificam a URL do formulário a ser aberto.
    "details": {
      "entity": "String";
      "interaction_sys_id": "String";
      "query": "String"
    }
    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> ' .
    Tabela 12. Retornos
    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.

    Tabela 13. Parâmetros
    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.
    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "String",
      sys_id: String", 	
      parent_entity: "String",	
      parent_entity_sys_id: "String"
    })
    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.
    Tabela 14. Retornos
    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.

    Tabela 15. Parâmetros
    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:

    Tabela 16. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

    openFrameAPI - setFrameMode(mode)

    Define o modo OpenFrame.

    O modo aprovado nesta API:
    • Define o ícone apropriado no cabeçalho: recolher ou expandir
    • Gera o evento relevante para CTI:
      • openFrameAPI.EVENTS.COLLAPSO
      • openFrameAPI.EVENTOS.EXPAND
    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Modo Cadeia de caracteres Defina o Modo OpenFrame. Opções enumeradas:
    1. openFrameAPI.FRAME_MODE.COLLAPSO
    2. openFrameAPI.FRAME_MODE.EXPAND
    Tabela 18. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
    

    openFrameAPI - setHeight(height)

    Define a altura do OpenFrame.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    Altura Número Altura em pixels
    Tabela 20. Retornos
    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.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    Tipo Cadeia de caracteres Tipo de dados de contexto a ser definido.
    Valores válidos:
    • activeCall: define o contexto do componente de chamada ativa em andamento. Ao passar este tipo de contexto, você também deve passar o JSON activeCall[] como o parâmetro Context.

      Componente de chamada ativa

    • IdleState: define as capacidades de estado ocioso do usuário atual. Quando definido, a IU do estado ocioso (dial pad) aparece no OpenFrame. Ao passar este tipo de contexto, você também deve passar o<idleState> {} JSON como o parâmetro Context.

      Componente do teclado

    • searchTargetList: define o contexto do diretório telefônico. Quando definido, ele habilita a transferência de chamada no componente de chamada ativa. Ao passar este tipo de contexto, você também deve passar o JSON searchTargetList[] como o parâmetro Context.

      Transferir componente de chamada
    <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
    • <idleState>
    • searchTargetList
    activeCall Matriz de objetivos Detalhes sobre uma chamada ativa. Cada objeto representa uma chamada ativa em andamento.
    "activeCall": [
      { 
        "currentParticipant": {Object},
        "customPayload: {Object},
        "direction": "String",
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participants": [Array],
        "type": "String"
      }
    ]
    activeCall.currentParticipant Objeto Obrigatório. Detalhes sobre as capacidades de chamada do participante atual e o status da chamada.
    "currentParticipant": {
      "actor": "String",
      "callStartTime": "String",
      "capabilities": {Object},
      "connectedTime": "String",
      "custom-capability-state-1": Boolean,
      "flagged": Boolean,
      "held": Boolean,
      "id": "String",
      "muted": Boolean,
      "name": "String",
      "paused": Boolean,
      "recording": "String",
      "state": "String",
      "wrapUP": {Object}
    }
    activeCall.currentParticipant.​ator Cadeia de caracteres Tipo de participante na chamada.
    Valores válidos:
    • agente
    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.

    Captura de tela do componente de chamada ativa com ícones de capacidades
    "capabilities": {
      "dtmf": Boolean,
      "endCall": Boolean,
      "flag": Boolean,
      "hold": Boolean,
      "leaveAndTransfer": Boolean,
      "mergeCall": Boolean,
      "mute": Boolean,
      "resumeRecording": Boolean,
      "pauseRecording": Boolean,
      "startRecording": Boolean,
      "stopRecording": Boolean,
      "transfer": Boolean
    }
    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:
    • verdadeiro: o participante tem a capacidade DTMF.
    • falso: o participante não tem a capacidade DTMF.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​endCall Booliano Sinalizador que indica se o participante associado pode encerrar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode encerrar a chamada. O botão Encerrar chamada está habilitado na IU.
    • falso: o participante não pode encerrar a chamada. O botão Encerrar chamada está desabilitado na IU.

    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:
    • verdadeiro: o participante pode sinalizar chamadas com problemas.
    • falso: o participante não pode sinalizar chamadas de problema.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​em espera Booliano Sinalizador que indica se o participante pode colocar a chamada em espera.
    Valores válidos:
    • verdadeiro: o participante pode colocar a chamada em espera. O botão Em espera está habilitado na IU.
    • falso: o participante não pode colocar a chamada em espera. O botão Espera está desabilitado na IU.

    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:
    • verdadeiro: o participante pode transferir e entregar a chamada.
    • falso: o participante não pode transferir e encerrar a chamada.

    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:
    • verdadeiro: o participante pode mesclar a chamada. O botão de mesclagem está habilitado na IU.
    • falso: o participante não pode mesclar a chamada. O botão de mesclagem está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​mudo Booliano Sinalizador que indica se o participante pode silenciar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode silenciar a chamada. O botão mudo está habilitado na IU.
    • falso: o participante não pode silenciar a chamada. O botão mudo está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacities.​resumeRecording Booliano Sinalizador que indica se o participante pode retomar a gravação da chamada.
    Valores válidos:
    • verdadeiro: o participante pode retomar a gravação da chamada. O botão de pausar gravação está habilitado na IU.
    • falso: o participante não pode retomar a gravação da chamada. O botão de pausar gravação está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​pausaRegistro Booliano Sinalizador que indica se o participante pode pausar a gravação da chamada.
    Valores válidos:
    • verdadeiro: o participante pode pausar a gravação da chamada. O botão de pausar gravação está habilitado na IU.
    • falso: o participante não pode pausar a gravação da chamada. O botão de pausar gravação está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​startRecording Booliano Sinalizador que indica se o participante pode começar a gravar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode começar a gravar a chamada. O botão de gravação está habilitado na IU.
    • falso: o participante não pode começar a gravar a chamada. O botão de gravação está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​stopRecording Booliano Sinalizador que indica se o participante pode parar de gravar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode parar de gravar a chamada. O botão Parar gravação está habilitado na IU.
    • falso: o participante não pode parar de gravar a chamada. O botão Parar gravação está desabilitado na IU.

    Padrão: falso

    activeCall.currentParticipant.​capacidades.​transferência Booliano Sinalizador que indica se o participante pode transferir a chamada.
    Valores válidos:
    • verdadeiro: o participante pode transferir a chamada. O botão de transferência está habilitado na IU.
    • falso: o participante não pode transferir a chamada. O botão de transferência está desabilitado na IU.

    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:
    • verdadeiro: a chamada foi sinalizada para um problema.
    • falso: a chamada não foi sinalizada para um problema.

    Padrão: falso

    activeCall.currentParticipant.​em espera Booliano Sinalizador que indica o estado retido do participante.
    Valores válidos:
    • verdadeiro: o participante está em espera.
    • falso: o participante não está em espera.

    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:
    • verdadeiro: o participante está mudo.
    • falso: o participante não está mudo.

    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:
    • verdadeiro: o participante está pausado.
    • falso: o participante não está pausado.

    Padrão: falso

    activeCall.currentParticipant.​recording Cadeia de caracteres Estado de gravação atual da chamada.
    Valores válidos:
    • in_progress
    • nenhum
    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:
    • de entrada
    • saída
    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.
    "participants": [
      {
        "actor": "String",
        "ani": "String",
        "address": "String",
        "capabilities": {Object},
        "callStartTime" "String",
        "connectedTime": "String",
        "customPayload": {Object},
        "dnis": "String",
        "held": Boolean,
        "heldAtTime": "String",
        "id": "String",
        "muted": Boolean,
        "name": "String",
        "requestACW": Boolean,
        "requireWrapup": Boolean,
        "state": "String"
      }
    ]
    activeCall.​participants.​ator Cadeia de caracteres Tipo de ator para o participante associado.
    Por exemplo:
    • agente
    • cliente
    • externo
    • fila
    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.
    "capabilities": {
      "endCall": Boolean,
      "hold": Boolean,
      "mute": Boolean
    }
    activeCall.​participants.​capacidades.​endCall Booliano Sinalizador que indica se o participante associado pode encerrar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode encerrar a chamada. O botão Encerrar chamada está habilitado na IU.
    • falso: o participante não pode encerrar a chamada. O botão Encerrar chamada está desabilitado na IU.

    Padrão: falso

    activeCall.​participants.​capacidades.​em espera Booliano Sinalizador que indica se o participante pode colocar a chamada em espera.
    Valores válidos:
    • verdadeiro: o participante pode colocar a chamada em espera. O botão Em espera está habilitado na IU.
    • falso: o participante não pode colocar a chamada em espera. O botão Espera está desabilitado na IU.

    Padrão: falso

    activeCall.​participants.​capacidades.​mudo Booliano Sinalizador que indica se o participante pode silenciar a chamada.
    Valores válidos:
    • verdadeiro: o participante pode silenciar a chamada. O botão mudo está habilitado na IU.
    • falso: o participante não pode silenciar a chamada. O botão mudo está desabilitado na IU.

    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:
    • verdadeiro: o participante está em espera.
    • falso: o participante não está em espera.

    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:
    • verdadeiro: o participante está mudo.
    • falso: o participante não está mudo.

    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:
    • verdadeiro: acompanhamento necessário.
    • falso: nenhum acompanhamento necessário.

    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.


    Captura de tela do componente de encerramento
    Valores válidos:
    • verdadeiro: exibe o componente de encerramento na conclusão da chamada.
    • falso: não exibe o componente de encerramento na conclusão da chamada.

    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.
    Janela de chamada ativa mostrando o estado
    Pode ser qualquer texto significativo, como:
    • Alerta
    • Conectado
    • Chamando
    activeCall.type Cadeia de caracteres Tipo de chamada.
    Valores válidos:
    • chamada
    • solicitação de retorno de chamada
    • correio de voz
    <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> {
     "capability": {Object},
     "currentInboundId": "String",
     "dialpadInfoMessage": {Object},
     "enableState": {Object}
    }
    <idleState>.capacidade Objeto Descrição das capacidades de estado ocioso do usuário atual.
    "capability": {
      "globalContactSearch": Boolean,
      "logOut": Boolean,
      "outBoundCall": Boolean
    }
    <idleState>.capability.​globalContactPesquisa Booliano Sinalizador que indica se a lista de contatos globais deve ser exibida no estado ocioso.
    Valores válidos:
    • verdadeiro: exibe a lista de contatos globais.
    • falso: não exibe a lista de contatos globais.

    Padrão: falso

    <idleState>.capacidade.​logOut Booliano Sinalizador que indica se o usuário pode fazer logout no estado ocioso.
    Valores válidos:
    • verdadeiro: o usuário pode fazer logout quando a chamada está ociosa. O botão Fazer logout aparece no teclado de discagem.
    • falso: o usuário não pode fazer logout quando a chamada está ociosa.

    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:
    • verdadeiro: o usuário pode fazer uma chamada de saída quando a chamada está ociosa.
    • falso: o usuário não pode fazer uma chamada de saída quando a chamada está ociosa.

    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.
    "dialpadInfoMessage": {
       "label": "String",
       "value": "String"
     }

    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.


    Captura de tela do teclado de discagem com mensagem informativa
    <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.
    "enableState": {
       "logOut": Boolean,
       "outBoundCall": Boolean
     }
    <idleState>.​enableState.​logOut Booliano Sinalizador que indica se o botão de logout deve ser habilitado na IU no estado ocioso.
    Valores válidos:
    • verdadeiro: exibir o botão de logout no estado ocioso.
    • falso: não exibe o botão de logout no estado ocioso.

    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:
    • verdadeiro: exibir o botão de chamada de saída no estado ocioso.
    • falso: não exibe o botão de chamada de saída no estado ocioso.

    Padrão: falso

    searchTargetList Matriz de objetivos Detalhes dos dados relacionados à transferência para uma tabela ServiceNow.
    "searchTargetList": [
      {
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participantID": "String",
        "targets": [Array]
      }
    ]
    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 - "interação"

    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.
    "targets": [
      {
        "payload": {Object},
        "transferSubtypes": [Array],
        "type": "String"
      }
    ]
    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.


    Captura de tela da janela de chamada de transferência mostrando a associação de parâmetros
    "payload": {
      "list": [Array]
    }

    Este exemplo mostra uma carga de agente ("searchTargetList.targets.type" : "agent").

    "payload": {
      "list": [
        {
          "name": "Alice Anderson",
          "id": "agent1Id",
          "hasStats": "true",
          "presence": "available",
          "moreInfo": [
            {
              "label": "Skill",
              "value": "CRM certified"
            }
          ]
        }
      ]
    }

    Veja a seguir um exemplo de carga de fila ("searchTargetList.targets.type" : "queue").

    "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"
            }
          ]
        }
      ]
    }
    searchTargetList.​targets.​payload.​list Matriz de objetivos Detalhes sobre a carga para cada tipo de destino.
    "list": [
      {
        "hasStats": Boolean,
        "id": "String",
        "moreInfo": [Array],
        "name": "String",
        "presence": "String"
      }
    ]
    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:
    • verdadeiro: o destino tem estatísticas adicionais. Um ícone de informações aparece ao lado do nome do agente ou da fila.
    • falso: o destino não tem estatísticas adicionais.

    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.
    "moreInfo": [
      {
        "label": "String",
        "value": "String"
      }
    ]
    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:
    • disponível
    • ausente
    • ocupado
    • offline
    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.


    Componente de chamada de transferência mostrando tipos de transferência

    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.

    "transferSubtypes": [
      {
        "id": "String",
        "label": "String"
      }
    ]
    searchTargetList.​targets.​transferSubtypes.​id Cadeia de caracteres Identificador do subtipo de transferência.
    Valores válidos:
    • cego: o agente transfere diretamente a chamada do cliente para outro agente ou fila sem falar primeiro com o agente.
    • consultar: o agente contata o agente a quem deseja consultar e mescla o cliente na chamada com o agente de consultoria.

    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:
    • Cego
    • Consultar

    Deve corresponder ao valor em searchTargetList.targets.transferSubtypes.id.

    searchTargetList.​targets.​type Cadeia de caracteres Tipo de meta.
    Valores válidos:
    • agente
    • externo
    • fila
    Tabela 22. Retornos
    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.

    Tabela 23. Parâmetros
    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.

    Tabela 24. Retornos
    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

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    Estado Cadeia de caracteres Estado de presença do agente.

    Estados padrão:

    • Disponível
    • Ausente
    • Off-line

    Você também pode especificar estados personalizados.

    cor Cadeia de caracteres Cor do indicador de presença no espaço.

    Cores compatíveis:

    • vermelho
    • laranja
    • cinza
    • verde
    Tabela 26. Retornos
    Tipo Descrição
    vazio
    openframeAPI.setPresenceIndicator('Available', 'green');

    openFrameAPI - setSize(largura do número, altura do número)

    Define o tamanho do OpenFrame.

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    largura Número Deve ser maior que zero.
    altura Número Deve ser maior que zero.
    Tabela 28. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.setSize(300, 370);

    openFrameAPI - setSubtitle(cadeia de caracteres subTitle)

    Define a legenda do OpenFrame.

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    subTitle Cadeia de caracteres Uma cadeia de caracteres de 256 caracteres ou menos.
    Tabela 30. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.setSubtitle('+18888888888');

    openFrameAPI - setTitle(cadeia de caracteres título)

    Define o título do OpenFrame.

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    título Cadeia de caracteres Uma cadeia de caracteres de 256 caracteres ou menos.
    Tabela 32. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.setTitle('Incoming Call');

    openFrameAPI – setTitleIcon(ícone de objeto)

    Define o ícone de título do OpenFrame.

    Tabela 33. Parâmetros
    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.

    Tabela 34. Retornos
    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.

    Tabela 35. Parâmetros
    Nome Tipo Descrição
    Largura Número Largura em pixels
    Tabela 36. Retornos
    Tipo Descrição
    vazio
    openFrameAPI.setWidth(100);

    openFrameAPI - mostrar ()

    Torna o OpenFrame visível no TopFrame.

    Tabela 37. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 38. Retorna
    Tipo Descrição
    vazio
    openFrameAPI.show()

    openFrameAPI - inscreva-se (evento openFrameAPIEVENT, função eventCallback)

    Assina um evento especificado.

    Tabela 39. Parâmetros
    Nome Tipo Descrição
    evento openFrameAPIEVENT O evento a ser assinado:
    • openframe_agent_off_interaction: indica a presença de um agente no bate-papo como desativado ou disponível.
    • openframe_awa_agent_presence: em Atribuição avançada de trabalho (AWA), este evento ocorre quando há qualquer mudança no estado de presença do agente. Os desenvolvedores da Integração de telefonia e computação (CTI) podem assinar este evento para receber mudanças de estado de presença.
    • openframe_awa_workitem_accepted: ocorre quando um item de trabalho é aceito por um agente.
    • openframe_awa_workitem_offered: ocorre quando um item de trabalho é oferecido a um agente.
    • openframe_awa_workitem_rejected: ocorre quando um item de trabalho é rejeitado por um agente.
    • openframe_before_destroy: ocorre antes que o TopFrame seja descarregado.
    • openframe_collapse: ocorre quando o ícone de recolhimento é selecionado no cabeçalho do OpenFrame.
    • openframe_communication: específico da aplicação e pode ser personalizado.
    • openframe_communication_failure: ocorre quando a comunicação com o TopFrame falha.
    • openframe_expand: ocorre quando o ícone de expansão é selecionado no cabeçalho do OpenFrame.
    • openframe_Heart_beat: ocorre quando a sessão do usuário é estendida ou desconectada.
    • openframe_header_icon_clicked: obsoleto. Em vez disso, use openframe_icon_clicked ou openframe_title_icon_clicked.
    • openframe_hidden: ocorre quando o OpenFrame está oculto.
    • openframe_icon_clicked: ocorre quando qualquer ícone diferente do ícone de fechamento é selecionado no rodapé do OpenFrame. O retorno de chamada recebe o objeto de ícone como um parâmetro.
    • openframe_shown: ocorre quando o OpenFrame é mostrado.
    • openframe_title_icon_clicked: ocorre quando o ícone de título é selecionado no OpenFrame. O retorno de chamada recebe o objeto titleIcon como um parâmetro.
    • openframe_wrap_up_submitted: ocorre quando os períodos de encerramento terminam na caixa de diálogo não modal de encerramento. O evento é acionado somente quando o encerramento é externo.
    retorno de chamada do evento função Função a ser chamada quando ocorre o evento especificado.
    Tabela 40. Retornos
    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":{
      "available": Boolean,
      "channels":[
        {
          "available": Boolean,
          "name": "String",
          "restrict_update": Boolean,
          "sys_id": "String"
        }
      ],
      "name": "String",
      "sys_id": "String"
    }
    presence: Informações sobre o estado de presença atual e o canal de um agente.
    • presence.available: Sinalizador que indica se o agente está disponível.
    • presence.channels: Lista de objetos que descreve os canais de comunicação disponíveis com o agente.
      • presence.channels.available: Sinalizador que indica se o canal está disponível.
      • presence.channels.name: Nome do canal, como Bate-papo ou Telefone.
      • presence.channels.restrict_update: Sinalizador que indica se o usuário pode restringir atualizações.
      • presence.channels.sys_id: sys_id do canal.
    • presence.name: Nome do estado de presença do agente.
    • presence.sys_id: sys_id do estado de presença.
    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": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isAutoAccepted": Boolean,
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: informações sobre o item de trabalho associado ao evento.

    • workItem.document: Lista de documentos associados à tarefa de item de trabalho.
      • workItem.document.sys_id: Sys_id do documento atribuído à tarefa de item de trabalho.
      • workItem.document.table: Nome da tabela de documentos atribuída à tarefa.
    • workItem.isAutoAccepted: Sinalizador que indica se o item de trabalho foi aceito automaticamente pelo sistema. Defina como verdadeiro se o item de trabalho tiver sido aceito automaticamente.
    • workItem.isQueueTransferred: Sinalizador que indica se o item de trabalho foi transferido para a fila. Defina como verdadeiro se o item de trabalho for transferido da fila e falso se não for. Para obter mais informações sobre transferências de fila, consulte Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id do item de trabalho anterior para o mesmo ID de documento. Para os itens de trabalho de não transferência, este valor está vazio.
    • workItem.serviceChannel: Lista de canais de serviço associados à tarefa de item de trabalho.
      • workItem.serviceChannel.name: Nome do canal de serviço, como Bate-papo ou Telefone.
      • workItem.serviceChannel.sys_id: Sys_id do canal de serviço.
    • workItem.size: capacidade do agente usada quando este item de trabalho é atribuído ao agente.
    • workItem.sys_id: Sys_id do item de trabalho que foi aceito ou oferecido.
    openframe_awa_workitem_rejected Em AWA, o evento openframe_awa_workitem_rejected retorna o objeto workItem :
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "rejection": {
        "reason": "String",
        "sys_id": "String"
      },
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: informações sobre o item de trabalho associado ao evento.

    • workItem.document: Lista de documentos associados à tarefa de item de trabalho.
      • workItem.document.sys_id: Sys_id do documento atribuído à tarefa de item de trabalho.
      • workItem.document.table: Nome da tabela de documentos atribuída à tarefa.
    • workItem.isQueueTransferred: Sinalizador que indica se o item de trabalho foi transferido para a fila. Defina como verdadeiro se o item de trabalho for transferido da fila e falso se não for. Para obter mais informações sobre transferências de fila, consulte Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id do item de trabalho anterior para o mesmo ID de documento. Para os itens de trabalho de não transferência, este valor está vazio.
    • workItem.rejection: Lista de motivos para a rejeição do item de trabalho.
      • workItem.rejection.reason: Nome do motivo para rejeitar os itens de trabalho.
      • workItem.rejection.sys_id: Sys_id do motivo da rejeição.

        Tabela: Motivos de rejeição [awa_reject_reason]

    • workItem.serviceChannel: Lista de canais de serviço associados à tarefa de item de trabalho.
      • workItem.serviceChannel.name: Nome do canal de serviço, como Bate-papo ou Telefone.
      • workItem.serviceChannel.sys_id: Sys_id do canal de serviço.
    • workItem.size: capacidade do agente usada quando este item de trabalho é atribuído ao agente.
    • workItem.sys_id: Sys_id do item de trabalho que foi aceito ou oferecido.
    openframe_ heart_beat O evento openframe_heart_beat retorna o seguinte objeto:
    {
      "lastUiActivity": "String",
      "sessionLoggedIn": Boolean
    }
    • lastUiActivity: Opcional. Carimbo de data/hora da última atividade de IU que estendeu a sessão do usuário.
    • sessionLoggedIn Sinalizador que indica se o usuário está conectado.
      • verdadeiro: o usuário está conectado.
      • falso: o usuário não está conectado.
    openframe_wrap_up_enviado O evento openframe_wrap_up_submitted retorna o seguinte objeto:
    { 
      "wrapUp": {
        "external": Boolean,
        "externalSegmentId": "String", 
        "recordId": "String",
        "recordTable": "String",
        "wrapUpCode": "String",
        "wrapUpNotes": "String",
        "wrapUpSegmentId": "String"
      }
    }
    • external: sinalizador que indica se o encerramento é tratado internamente pela instância ServiceNow ou gerenciado fora da instância ServiceNow por algum outro sistema de chamadas.
      • verdadeiro: o encerramento é tratado por um sistema de chamada externo.
      • falso: o encerramento é tratado pela instância ServiceNow.
    • externalSegmentId: Identificador exclusivo do objeto de dados externos que acionou o encerramento externo.
    • recordId: Sys_id do registro de interação que está passando por encerramento.
    • recordTable: Nome da tabela que contém o registro. Sempre defina como "interação".
    • wrapUpCode: código selecionado pelo usuário durante o encerramento que indica como a interação foi resolvida.
    • wrapUpNotes: texto de forma livre inserido pelo usuário durante o encerramento que descreve como a interação foi resolvida.
    • wrapUpSegmentId: Sys_id do registro de segmento de encerramento de interação associado à interação. Localizado na tabela Segmento de encerramento [interaction_wrap_up_segment]. Contém os dados de encerramento.

    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.

    Tabela 41. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 42. Retorna
    Tipo Descrição
    Cadeia de caracteres A versão da API do OpenFrame
    var version = openFrameAPI.version();
    
    console.log("API version " + version);