NotifyClient - Cliente

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 11 min. de leitura
  • . NotifyClient A API fornece métodos que permitem usar a funcionalidade de telefonia do Notify, como fazer e receber chamadas de um navegador da Web.

    Vários NotifyClient os métodos usam uma função de retorno de chamada como um parâmetro. Porque NotifyClient as chamadas de método são feitas de forma assíncrona, esses métodos não podem retornar um valor diretamente. Use a função de retorno de chamada para analisar os dados retornados, como atribuir variáveis ou fazer outras chamadas de API.

    NotifyClient - Cliente (Object notifyConfig, booliano initializeVendorClientLazily)

    Instancia um novo objeto Notify WebRTC Client.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    InicializeVendorClientLazily Booliano Sinalizador que indica se a função autoSelectVendorCallback deve ser usada no SetCallerId() método para definir automaticamente o fornecedor associado do solicitante ( notifyConfig.vendornão precisa ser definido no construtor).
    • Falso: Padrão. Não use a função AutoSelectVendorCallback para definir o fornecedor do chamador. O fornecedor deve ser definido no construtor.
    • Verdadeiro: Use a função AutoSelectVendorCallback para definir o fornecedor quando o ID do chamador for definido.
    NotifyConfig Objeto Objeto JSON que contém as definições de configuração do Notify WebRTC Client.
    notifyConfig.autoLoadScriptResources Booliano Sinalizador que indica como carregar a biblioteca JS principal necessária para o cliente do fornecedor.
    • Falso: Padrão. Use códigos específicos do fornecedor para carregar a biblioteca JS do fornecedor necessária (habilita compatibilidade com versões anteriores).
    • Verdadeiro: Use notifyClient.js para carregar a biblioteca JS principal.
    notifyConfig.callerId Número Número do Notify registrado a ser usado. Não defina diretamente este valor. Use o método notifyClient.setCallerID() para definir este valor.
    NotifyConfig.forceRefreshToken Booliano Sinalizador que indica se os tokens de cliente expirados devem ser renovados automaticamente.
    • Falso: Não renove automaticamente tokens de cliente quando expirarem.
    • Verdadeiro: Padrão. Renove automaticamente tokens de cliente quando expirarem.
    NotifyConfig.skipParentId Booliano Sinalizador que indica se o chamador onIncoming deve ser invocado imediatamente para chamadas de entrada.
    • Falso: Padrão. Não chame imediatamente o manipulador de eventos onIncoming.
    • Verdadeiro: Invoque imediatamente o manipulador de eventos onIncoming. Ao definir este sinalizador, se houver outra chamada, em que <Dial> <Client> Twiml causou a chamada de entrada e, em seguida, definir este sinalizador faz com que o sistema faça uma pesquisa automática do back-end. Esta pesquisa automática obtém a referência notify_call primária.
    NotifyConfig.vendor Constante Fornecedor ao qual o solicitante pertence.
    • Notify.Vendor.Twilio_DIRECT
    • Notify.Vendor.Twilio (driver Twilio mais antigo e descontinuado)

    O exemplo a seguir mostra como criar o construtor NotifyClient, registrar vários ouvintes de evento e inicializar o driver do cliente.

    jQuery(function () {
    
      var notifyConfig = {
        autoLoadScriptResources: true // This will take care of auto loading the JS resources needed by the client (if any)
      };
      var client = new SNC.Notify.Client(notifyConfig, true); // The second argument ensures that the proper vendor for the given number is auto determined
      client.setCallerId('valid_notify_long_number', function () {
        // This is called after the vendor has been determined.
    
        if (!notifyConfig.vendor) // Means this number has no compatible vendor
          return;
    
        client.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
          // Ability to call is available
        });
        client.addEventListener(SNC.Notify.STD_EVENTS.OFFLINE, function () {
          // Ability to call is _not_ available right now
        });
        client.addEventListener(SNC.Notify.STD_EVENTS.ERROR, function (msg, code) {
          // Some error happened
        });
          //... register other event handlers here
          //Show UI elements which can be used to invoke client.call() and other APIs
        client.init(); // This is important to call this.
        });
    });

    NotifyClient - addEventListener(evento de cadeia de caracteres, função fn)

    Registra um manipulador de eventos para ouvir mudanças em um cliente do Notify.

    Usando este método, você pode registrar vários ouvintes. Cada ouvinte deve ser uma chamada de método separada.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    evento Cadeia de caracteres Nome do evento a ser escutado.

    Em vez de passar cadeias de caracteres, use as constantes definidas em SNC.NOTIFY.STD_EVENTS .

    • CALL_START: A chamada foi iniciada e está em andamento.
    • CALL_CANCEL: O solicitante cancelou a chamada.
    • CALL_INIT: WebRTC conectado a uma chamada (de entrada ou de saída).
    • CALL_DISCONNECT: A chamada atual foi desconectada.
    • ERRO: Ocorreu um erro. Parâmetros: Message(cadeia de caracteres), errCode(cadeia de caracteres)
      • mensagem mensagem de erro a ser exibida.
      • ErrCode : Opcional. Código de erro associado.
    • INCOMING_CALL: A chamada está chegando. Parâmetros: De(cadeia de caracteres), para(cadeia de caracteres), Callid(cadeia de caracteres), parentId(cadeia de caracteres), SYSID(cadeia de caracteres), isFromClient (booliano)
      • de número de telefone do chamador.
      • . número de telefone chamado.
      • Callid SID da chamada.
      • IdentID referência notify_call primária. Se skipParentId estiver definido como verdadeiro, este parâmetro não deverá ser passado.
      • SYSID Somente chamadas WebRTC-to-WebRTC. Identificador exclusivo (sys_id) do solicitante.
      • IsFromClient Somente chamadas WebRTC-to-WebRTC. Sinalizador que indica se a chamada é de outro cliente WebRTC.
    • CALL_MUTE: O cliente está mudo.
    • CALL_UNMUTE: O cliente não está mudo.
    • WebRTC não está ativa.
    • ONLINE: A sessão do WebRTC está pronta. Deve ser definido após chamar o método init().
    Tabela 3. Retornos
    Tipo Descrição
    Função Função a ser usada para cancelar o registro de um ouvinte.

    Este exemplo mostra como registrar vários ouvintes.

    jQuery(function () {
    
      var notifyConfig = {
        autoLoadScriptResources: true // This will take care of auto loading the JS resources needed by the client (if any)
      };
      var client = new SNC.Notify.Client(notifyConfig, true); // The second argument ensures that the proper client for the given number is auto determined
      client.setCallerId('valid_notify_long_number', function () {
        // This is called after the client has been determined.
    
        if (!notifyConfig.vendor) // Means this number has no compatible client
          return;
    
        client.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
          // Ability to call is available
        });
        client.addEventListener(SNC.Notify.STD_EVENTS.OFFLINE, function () {
          // Ability to call is _not_ available right now
        });
        client.addEventListener(SNC.Notify.STD_EVENTS.ERROR, function (msg, code) {
          // Some error happened
        });
          //... register other event handlers here
         
        client.init(); // This is important to call this.
        });
    });

    Este exemplo mostra como cancelar o registro de um ouvinte.

    var dereg = notifyClient.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
     ... 
     }); 
     dereg(); 
      // The event listener function is no longer triggered.

    NotifyClient - call(identificador de objeto)

    Liga para o número de telefone especificado ou o número de telefone associado a um usuário especificado.

    Nota:
    Ao verificar o status de uma chamada/conexão, sempre compare com as constantes fornecidas por SNC.Notify.Status .
    Tabela 4. Parâmetros
    Nome Tipo Descrição
    identificador Objeto Objeto JSON que contém um número de telefone para chamar ou o sys_id de um usuário WebRTC. Passar um sys_id do usuário faz com que a chamada seja feita por meio da comunicação navegador a navegador.

    Você pode obter o sys_id do usuário na tabela Sessão do Notify WebRTC.

    Nota:
    Se você fornecer um número de telefone e o sys_id do usuário, o método usará somente o número de telefone.
    Tabela 5. Retornos
    Tipo Descrição
    vazio

    Este exemplo demonstra a aprovação de um número de telefone como o parâmetro de função.

    notifyClient.call({
        phoneNumber: "+18001112223"
    });

    Este exemplo demonstra a aprovação de um sys_id de registro de usuário como o parâmetro de função.

    notifyClient.call({
        userId: "6816f79cc0a8016401c5a33be04be441"
    });

    Este exemplo mostra um manipulador de clique de botão.

    $j("#pickupCallBtn").on("click", function() {
    	notifyClient.hangupCall();
    });

    Este exemplo mostra um manipulador de eventos.

    onConnect: function(status) {  
      // webRTC receives a call connection event (incoming or outgoing).
      if (status == SNC.Notify.Status.OPEN) {
        setStatus(getTimeStamp() + " -- Successfully established call");
        showHangupButton();
      }
    },

    NotifyClient - destruir()

    Elimina o cliente Notify atual, tornando-o inutilizável.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 7. Retorna
    Tipo Descrição
    vazio

    NotifyClient - forwardCall(argumento de objeto)

    Encaminha uma chamada telefônica de entrada ou saída contínua para um número de telefone diferente ou um cliente WebRTC diferente.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    argumento Objeto Objeto JSON que contém as informações necessárias para encaminhar a chamada para um número de telefone ou um cliente WebRTC (sys_id do usuário). Você pode obter este sys_id na tabela Sessão do Notify WebRTC.
    Tabela 9. Retornos
    Tipo Descrição
    vazio

    Este exemplo demonstra o encaminhamento de uma chamada para um número de telefone diferente. O atributo dtmf permite enviar tons de discagem DTMF para o número de recebimento.

    var arg = {
        type: "number",
        id: "+17012345678",
        dtmf: "1234"
    }
    client.forwardCall(arg);

    Este exemplo demonstra o encaminhamento de uma chamada para um cliente Notify diferente.

    var arg = {
        type: "userId",
        id: "6816f79cc0a8016401c5a33be04be441"
    }
    client.forwardCall(arg);

    NotifyClient - getAvailableClients(retorno de chamada da função)

    Retorna uma lista de clientes disponíveis para aceitar chamadas.

    Este método exclui o cliente atual da lista. O equivalente Notify-getAvailableClients() o método não filtra nenhum usuário.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    retorno de chamada Função Função a ser usada para analisar a lista de clientes. Esta função aceita um único parâmetro, uma matriz de objetos JSON com o seguinte formato:
    [{
        sys_id: "...",  // user's sys_id
        name: "..." // user's name
    }]
    Tabela 11. Retornos
    Tipo Descrição
    vazio

    NotifyClient - getParentId(cadeia de caracteres CALLID, retorno de chamada da função)

    Retorna o identificador de chamada primário para um identificador de chamada especificado, se houver.

    Dependendo do provedor de telefonia, pode haver um atraso antes que o identificador de chamada primário seja retornado; portanto, você deve fornecer uma função de retorno de chamada.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Callid Cadeia de caracteres Identificador exclusivo da chamada para a qual retornar o identificador de chamada primário.
    retorno de chamada Função Função que obtém o objeto JSON que contém o identificador de chamada primário ou uma mensagem de erro se o identificador não puder ser obtido após várias tentativas.
    Tabela 13. Retornos
    Tipo Descrição
    Cadeia de caracteres Identificador de chamada primária.

    Este exemplo mostra como usar este método para obter o identificador de chamada primário.

    notifyClient.getParentId( callId, function(jsonObj) {} );

    Este exemplo mostra o conteúdo do parâmetro jsonObj.

    {
    	parentId: "xyz",
    	error: "msg"
    }

    NotifyClient - getStatus()

    Retorna o status normalizado da chamada atual.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 15. Retorna
    Tipo Descrição
    Cadeia de caracteres Status atual da chamada. Os valores retornados pela API do provedor de telefonia são normalizados substituindo o valor do driver retornado pelo valor equivalente, conforme definido em snc.Notify.Status.

    Este exemplo mostra como obter o status do cliente Notify atual.

    clientStatus = notifyClient.getStatus();

    NotifyClient - hangupCall()

    Encerrar a chamada atual.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 17. Retorna
    Tipo Descrição
    vazio

    Este exemplo de como desligar uma chamada.

    $j("#pickupCallBtn").on("click", function() {
        notifyClient.hangupCall();
    });

    NotifyClient - init()

    Inicializa o driver do cliente.

    Por exemplo, ao usar o cliente Twilio, ele invoca o método Twilio.Device.setup() . Chame este método depois que o usuário interagiu com a página. Este processo de inicialização é assíncrono, portanto, você deve fornecer um manipulador de eventos ON-LINE. Este manipulador é chamado quando o processo de configuração é concluído e o sistema está pronto para atender ou fazer chamadas.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 19. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como inicializar o cliente Notify.

    $j(function() {
      notifyClient = new SNC.Notify.Client( notifyConfig );
      notifyClient.setCallerId( '+31858889170' );
      notifyClient.init();
    });

    NotifyClient - mudo (booliano mudo)

    Ativar ou desativar o mudo do cliente atual.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    muted Booliano Ativa ou desativa o mudo da chamada atual.
    • (ou qualquer valor não verdadeiro) desativa o mudo da chamada atual.
    • verdadeiro: silencia a chamada atual.
    Tabela 21. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como enviar o mudo da chamada atual.

    notifyClient.mute( "true" );

    NotifyClient - pickupCall()

    Atende e se conecta a uma chamada de entrada de um cliente WebRTC.

    Chame este método quando houver uma notificação de uma chamada de entrada.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 23. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como atender uma chamada.

    $j("#pickupCallBtn").on("click", function() {
        notifyClient.pickupCall();
    });

    NotifyClient - sendDtmf (dígitos de cadeia de caracteres)

    Envie um ou mais dígitos válidos para DTMF sobre a chamada atual.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    dígitos Cadeia de caracteres Um ou mais dígitos válidos para DTMF.
    Tabela 25. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como enviar sinais DTMF para a chamada atual.

    notifyClient.SendDtmf( "1246AF" ) {} );

    NotifyClient - setCallerId(Valor da cadeia de caracteres, função autoSelectVendorCallback)

    Define o ID do chamador para a sessão do cliente atual.

    Você pode mudar ou atualizar o ID do chamador a qualquer momento, no entanto, o ID do chamador deve pertencer ao mesmo fornecedor.

    Tabela 26. Parâmetros
    Nome Tipo Descrição
    valor Cadeia de caracteres Número de telefone a ser usado para fazer e receber chamadas.
    AutoSelectVendorCallback Função Opcional. initializeVendorClientLazilydeve ser definido como "verdadeiro" no construtor para usar esta função, caso contrário, um erro será gerado.

    Nome da função de retorno de chamada a ser chamada quando o fornecedor for definido automaticamente para o número de telefone especificado. Com esta opção, o fornecedor não precisa ser especificado no construtor ( notifyConfig.vendor). A seleção automática de fornecedor é uma operação assíncrona. Portanto, este retorno de chamada é necessário para indicar quando é seguro chamar notifyConfig.init() , pois este método requer que o fornecedor seja definido antes de ser chamado. Além disso, você também deve verificar se notifyConfig.vendorfoi definido no retorno de chamada para garantir que um fornecedor tenha sido especificado.

    Tabela 27. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como definir o ID do chamador. Este exemplo pressupõe que o fornecedor está definido no construtor.

    $j(function() {
      notifyClient = new SNC.Notify.Client( notifyConfig );
      notifyClient.setCallerId( '+31858889170' );
      notifyClient.init();
    });

    NotifyClient - setClientAvailable (booliano disponível)

    Define a disponibilidade de um Client Agent WebRTC ativo.

    Este tipo de disponibilidade é diferente de um agente que está em uma chamada. Um cliente WebRTC ativo pode estar conectado e não em uma chamada, mas pode não querer receber chamadas.

    Chamar este método atualiza Disponível Valor do campo no registro Notify Client Connected Session [notify_client_session] associado a esta sessão do cliente. Você pode obter uma lista de clientes disponíveis usando GetAvailableClients() método.

    Tabela 28. Parâmetros
    Nome Tipo Descrição
    disponível booliano Sinalizador que indica se um cliente WebRTC ativo deseja receber chamadas.
    • falso: o cliente não deseja receber chamadas.
    • verdadeiro: o cliente deseja receber chamadas.
    Tabela 29. Retornos
    Tipo Descrição
    vazio