NotifyClient - Cliente
A API NotifyClient permite 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 parâmetro. Como as chamadas 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 - Client(Object notifyConfig, booliano inicializeVendorClientLazily)
Instancia um novo objeto Notify WebRTC Client.
| Nome | Tipo | Descrição |
|---|---|---|
| inicializarVendorClientLazily | Booliano | Sinalizador que indica se a função autoSelectVendorCallback deve ser usada no método setCallerId() 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 solicitante onIncoming deve ser invocado imediatamente para as chamadas recebidas.
|
| notifyConfig.vendor | 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(cadeia de caracteres evento, 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 usuário sys_id faz com que a chamada seja feita por meio de comunicação de navegador para navegador. Você pode obter o usuário sys_id da tabela Sessão WebRTC do Notify. Nota: Se você fornecer um número de telefone e um 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 da função.
notifyClient.call({
phoneNumber: "+18001112223"
});
Este exemplo demonstra a passagem de um sys_id de registro de usuário como o parâmetro da função.
notifyClient.call({
userId: "6816f79cc0a8016401c5a33be04be441"
});
Este exemplo mostra um manipulador de cliques 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 um cliente WebRTC (sys_id do usuário). Você pode obter esse sys_id na tabela Sessão WebRTC do Notify. |
| 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 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(Função de retorno de chamada)
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, função de retorno de chamada)
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 |
|---|---|---|
| ID da chamada | Cadeia de caracteres | Identificador exclusivo da chamada para a qual o identificador de chamada primário será retornado. |
| 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. |
| 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()
Encerre 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 ON-LINE. 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)
Ative ou desative 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 a chamada atual.
notifyClient.mute( "true" );
NotifyClient - pickCall()
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 capturar uma chamada.
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient - sendDtmf(cadeia de caracteres digits)
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 value, Function autoSelectVendorCallback)
Define o ID do chamador da 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 do cliente WebRTC ativo.
Este tipo de disponibilidade é diferente de um agente estar 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 de 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 |