NotifyClient - Cliente
A API NotifyClient fornece métodos que permitem que você use a funcionalidade de telefonia do Notify, como fazer e receber chamadas de um navegador da Web.
Vários métodos NotifyClient usam uma função de retorno de chamada como um parâmetro. Como as chamadas do método NotifyClient 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, por exemplo, atribuindo variáveis ou fazendo outras chamadas de API.
NotifyClient - Cliente (objeto notifyConfig, booliano initializeVendorClientLazily)
Instancia um novo objeto Cliente WebRTC do Notify.
| Nome | Tipo | Descrição |
|---|---|---|
| initializeVendorClientLazily | Booliano | Sinalizador que indica se a função autoSelectVendorCallback passada no método setCallerId() deve ser usada para definir automaticamente o fornecedor associado do solicitante (notifyConfig.vendor não precisa ser definido no construtor).
|
| notifyConfig | Objeto | Objeto JSON que contém as definições de configuração do cliente Notify WebRTC. |
| notifyConfig.autoLoadScriptResources | Booliano | Sinalizador que indica como carregar a biblioteca JS principal necessária para o cliente do fornecedor.
|
| 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.
|
| notifyConfig.skipParentId | Booliano | Sinalizador que indica se o chamador onIncoming deve ser invocado imediatamente para chamadas de entrada.
|
| notifyConfig.fornecedor | Constante | Fornecedor ao qual o solicitante pertence.
|
O exemplo a seguir mostra como criar o construtor NotifyClient, registrar vários ouvintes de eventos 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 Notify.
Usando este método, você pode registrar vários ouvintes. Cada ouvinte deve ser uma chamada de método separada.
| 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
|
| 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)
Chama o número de telefone especificado ou o número de telefone associado a um usuário especificado.
SNC.Notify.Status.| Nome | Tipo | Descrição |
|---|---|---|
| identificador | Objeto | Objeto JSON que contém um número de telefone para ligar ou o sys_id de um usuário WebRTC. Passar um sys_id de usuário faz com que a chamada seja feita por meio de comunicação entre navegadores. Você pode obter o sys_id do usuário na tabela Notify WebRTC Session. 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. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo demonstra a passagem de um número de telefone como o parâmetro de função.
notifyClient.call({
phoneNumber: "+18001112223"
});
Este exemplo demonstra a passagem de um registro de usuário sys_id 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
NotifyClient - encaminharCall(argumento do objeto)
Encaminha uma chamada telefônica de entrada ou de saída em andamento para um número de telefone diferente ou um cliente WebRTC diferente.
| 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 para um cliente WebRTC (usuário sys_id). Você pode obter este sys_id na tabela Notify WebRTC Session. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo demonstra o encaminhamento de uma chamada para um número de telefone diferente. O atributo dtmf permite que você envie tons de discagem DTMF para o número de destino.
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 método Notify-getAvailableClients() equivalente não filtra nenhum usuário.
| 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: |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| callId | Cadeia de caracteres | Identificador exclusivo da chamada para a qual o identificador de chamada primária será retornado. |
| retorno de chamada | Função | Função que obtém o objeto JSON que contém o identificador de chamada primária ou uma mensagem de erro se o identificador não puder ser obtido após várias tentativas. |
| 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ária.
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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como desconectar 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 interagir com a página. Este processo de inicialização é assíncrono, portanto, você deve fornecer um manipulador de eventos ONLINE. Este manipulador é chamado quando o processo de configuração é concluído e o sistema está pronto para receber ou fazer chamadas.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| muted | Booliano | Ativa ou desativa o mudo da chamada atual.
|
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como enviar mudo para a chamada atual.
notifyClient.mute( "true" );
NotifyClient - captador de chamada()
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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como atender uma chamada.
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient - sendDtmf (cadeias de caracteres)
Envie um ou mais dígitos válidos para DTMF na chamada atual.
| Nome | Tipo | Descrição |
|---|---|---|
| dígitos | Cadeia de caracteres | Um ou mais dígitos válidos para DTMF. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como enviar sinais DTMF para a chamada atual.
notifyClient.SendDtmf( "1246AF" ) {} );
NotifyClient - setCallerId(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.
| Nome | Tipo | Descrição |
|---|---|---|
| valor | Cadeia de caracteres | Número de telefone a ser usado para fazer e receber chamadas. |
| autoSelectVendorCallback | Função | Opcional. initializeVendorClientLazily deve ser definido como "verdadeiro" no construtor para usar esta função, caso contrário, será gerado um erro. 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(), já que este método requer que o fornecedor seja definido antes de ser chamado. Além disso, você também deve verificar se notifyConfig.vendor foi definido no retorno de chamada para garantir que um fornecedor tenha sido especificado. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como definir o ID do chamador. Este exemplo pressupõe que o fornecedor esteja 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 agente cliente WebRTC ativo.
Este tipo de disponibilidade é diferente de um agente em uma chamada. Nesse caso, 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 o valor do campo Disponível no registro Sessão conectada do cliente do Notify [notify_client_session] associado a esta sessão do cliente. Você pode obter uma lista de clientes disponíveis usando o método getAvailableClients().
| Nome | Tipo | Descrição |
|---|---|---|
| disponível | booliano | Sinalizador que indica se um cliente WebRTC ativo deseja receber chamadas.
|
| Tipo | Descrição |
|---|---|
| vazio |