Notificar - Global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 13 min. de leitura
  • . Notificar A API permite interagir com chamadas de Notify e mensagens SMS usando scripts.

    Acesse o global Notificar e seus métodos associados no SNC namespace.

    Notify - call(cadeia de caracteres notificyPhoneNumber, cadeia de caracteres toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, cadeia de caracteres userSysId, cadeia de caracteres groupSysId, GlideRecord sourceRecord)

    Liga para o número de telefone compatível com E.164 especificado.

    Além disso, este método pode adicionar automaticamente o número de telefone especificado a uma chamada em conferência especificada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    NotifyPhoneNumber Cadeia de caracteres ou NotifyPhoneNumber Notify número de telefone do qual fazer a chamada. Quando você inicia uma chamada, o fluxo de trabalho de chamada de saída para o grupo de números associado a este número é executado. Certifique-se de que este fluxo de trabalho inclua um ingressar na chamada em conferência atividade para conectar o usuário à chamada em conferência.
    ToPhoneNumber Cadeia de caracteres Número de telefone para ligar. Os números chamados são adicionados à chamada em conferência.
    ConferenceCall GlideRecord Opcional. Se este parâmetro for passado, os chamadores identificados no toPhoneNumbero parâmetro entra automaticamente na chamada em conferência identificada por este registro.

    GlideRecord para a tabela Notify Call [NOTIFY_CALL] que identifica o registro de chamada em conferência. Este registro é adicionado automaticamente ao bloco de anotações do fluxo de trabalho de chamada de saída como a variável workflow.scratchpad.conference_call.

    userSysId Cadeia de caracteres Opcional. Identificador exclusivo (sys_id) do usuário associado à chamada.
    groupSysId Cadeia de caracteres Opcional. Identificador exclusivo (sys_id) do grupo associado à chamada.
    sourceRecord GlideRecord Opcional. Registro de origem que solicitou esta chamada.
    Tabela 2. Retornos
    Tipo Descrição
    vazio

    Este exemplo ilustra como iniciar uma chamada para outro número de telefone.

    var from = '+14048007337';
    var to = '+31646810495';
    
    // set up call
    new SNC.Notify().call(from, to);

    Este exemplo ilustra como iniciar uma chamada para a lista de números de telefone e ingressar automaticamente esses números em uma nova chamada em conferência.

    var notify = new SNC.Notify();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    Este exemplo ilustra como iniciar uma nova chamada em conferência.

    SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), null, null, null);

    Este exemplo ilustra como iniciar uma nova chamada em conferência usando um registro de usuário.

    var sysUserGr = new GlideRecord('sys_user');
    sysUserGr.get('active conference sys id');
     
    if (conferenceGr.isValid) {
        SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), sysUserGr.getUniqueValue(), null, null);
    }

    Este exemplo ilustra como iniciar uma nova chamada em conferência com um usuário, grupo e registro de origem.

    var sysUserGr = new GlideRecord('sys_user');
    sysUserGr.get('active sys user sys id');
     
    var sysUserGroupGr = new GlideRecord('sys_user_group');
    sysUserGroupGr.get('active sys user group sys id');
     
    var incidentGr = new GlideRecord('incident');
    incidentGr.get('incident sys_id');
     
    if (conferenceGr.isValid) {
        SNC.Notify.call('+15413970605', '+91406XXXXXXX',
            SNC.Notify.conferenceCall(),
            sysUserGr.getUniqueValue(),
            sysUserGroupGr.getUniqueValue(),
            incidentGr.getUniqueValue());
    }

    Escopo equivalente

    Para usar o. chamada() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - call() .

    Notify - conferenceCall (GlideRecord sourceRecord)

    Cria um novo GlideRecord de chamada em conferência.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    sourceRecord GlideRecord Opcional. Registro que iniciou a solicitação para criar a chamada em conferência. Usado para preencher os campos de origem e tabela no registro NOTIFY_CONFERENCE_CALL.
    Tabela 4. Retornos
    Tipo Descrição
    GlideRecord Novo registro de chamada em conferência Notify [NOTIFY_CONFERENCE_CALL].
    var notify = new SNC.Notify();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    Escopo equivalente

    Para usar o. ConferenceCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - conferenceCall() .

    Notify - dequeueCall (GlideRecord callRecord)

    Reinicia uma chamada depois que ela foi colocada em uma fila (em espera).

    Use este método para retomar chamadas que foram colocadas em uma fila com QueueCall() método.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Registro de chamada GlideRecord Um objeto GlideRecord na tabela Notify Call [Notify_call] com a chamada em espera que você deseja retomar.
    Tabela 6. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como reativar uma chamada que foi colocada em espera.

    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.dequeueCall(notifyCallGr);
    }

    Escopo equivalente

    Para usar o. DequeueCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - dequeueCall() .

    ForwardCall (chamada GlideRecord, destino de cadeia de caracteres, cadeia de caracteres dtmf)

    Encaminha a chamada especificada para um destinatário de chamada diferente.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    chamada GlideRecord ou String Notify registro de chamada ou o ID de chamada do provedor de telefonia da chamada a ser encaminhada.
    destino GlideRecord ou String Notify registro de número de telefone ou um número de telefone compatível com E.164, do chamador para o qual encaminhar a chamada.
    dtmf Cadeia de caracteres Tom duplo - Código de multifrequência (DTMF) a ser enviado mediante conexão de chamada.
    Tabela 8. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como encaminhar uma chamada para outro número de telefone.

    var callID = 'CA92374b5aa561dab476a7001db6026edc'; // Twilio Call ID
    var phoneNumber = '+91406xxxxxxx';
    var dtmfTones = null;
     
    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
    }

    Escopo equivalente

    Para usar o. ForwardCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - forwardCall() .

    Notify - getAvailableClients(cadeia de caracteres notificyNumber)

    Retorna uma lista de sessões de cliente que estão disponíveis para receber chamadas.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    NotifyNumber Cadeia de caracteres Número de telefone do Notify válido.
    Tabela 10. Retornos
    Tipo Descrição
    GlideRecord GlideRecord da tabela NOTIFY_CLIENT_SESSION para o número de telefone especificado.

    Retorna "0" se não houver sessões de cliente disponíveis.

    O exemplo a seguir mostra como usar o método getAvailableClients() para indexar na tabela Notify_client_session e iterar em todos os clientes Notify disponíveis.

    var clientSessionGr = SNC.Notify.getAvailableClients('+185xxxxxxxx'); 
    // Here clientSessionGr is of type GlideRecord on 'notify_client_session' table.
     
    var isLoggedInUserAvailable = false;
    while (clientSessionGr.next()) {
      if (clientSessionGr.user == gs.getUserID())
        isLoggedInUserAvailable = clientSessionGr.available;
    }
    gs.info('isLoggedInUserAvailable - ' + isLoggedInUserAvailable);

    Escopo equivalente

    Para usar o. GetAvailableClients() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getAvailableClients() .

    Notify - getParentCallID(GlideRecord callRecord)

    Retorna o sys_id da chamada primária de uma chamada especificada.

    Qualquer chamada iniciada pelo encaminhamento de outra chamada, como com a atividade de encaminhamento de fluxo de trabalho, é considerada secundária da chamada original. A chamada original é a chamada primária.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Registro de chamada GlideRecord Registro na tabela Notify Call [NOTIFY_CALL] para a qual retornar o status da chamada.
    Tabela 12. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id exclusivo do registro de chamada primário.

    Este exemplo mostra como obter a chamada primária da chamada especificada.

    var callRecord = new GlideRecord('notify_call');
    callRecord.get("0f4f5863ff13310014ecffffffffff28");
    
    var notify = new SNC.Notify();
    var parentCallID = notify.getParentCallID(callRecord);

    Notify - getPhoneNumbers()

    Retorna todos os números de telefone e códigos curtos disponíveis para notificação.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Lista Lista de objetos NotifyPhoneNumber, cada objeto representando um número de telefone disponível para notificação.
    var list = SNC.Notify.getPhoneNumbers();
    for (var i = 0; i < list.size(); i++) {
        var num = list.get(i);
        gs.info(num.getNumber())
    }

    Escopo equivalente

    Para usar o. GetPhoneNumbers() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getPhoneNumbers() .

    Notify - getTokens(GlideRecord, registro)

    Retorna tokens de cliente para todos os drivers de telefonia ativos para uso em WebRTC ou clientes móveis.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    registro GlideRecord GlideRecord a ser usado para identificar o cliente Notify, como um registro de grupo ou um registro de usuário.
    Tabela 16. Retornos
    Tipo Descrição
    Cadeia de caracteres Tokens RTC da Web para os drivers compatíveis, como uma cadeia de caracteres JSON com o seguinte formato: "DriverName1: "Token1", driverName2: "Token2", como "TwilioDirect":"eyJhxxxx.eyJleHAiOiIXxxx.7fejxxx_mbLxxx"

    Este exemplo mostra como obter os tokens de cliente para o usuário conectado no momento.

    // get Notify client Tokens per active Notify driver for the currently logged in user
    var json = new SNC.Notify().getTokens();
     
    // Parse the JSON that was return into a tokens object
    var tokens = JSON.parse(json);
    
    // Log line
    gs.log('Notify client tokens for the currently logged in user');
    
     // iterate over the driver tokens
    for (var driver in tokens) {
     	gs.log(driver + ' Driver token: ' + tokens[driver]);
    }

    Este exemplo mostra como obter os tokens de cliente para cada grupo do Notify.

    // instantiate Notify
    var notify = new SNC.Notify();
     
    // get all Notify Groups
    var notifyGroup = new GlideRecord("notify_group");
    notifyGroup.query();
     
    // iterate over all notify groups
    while (notifyGroup.next()) {
      // generate Notify Client tokens per active Notify Driver for this group
      var json = notify.getTokens(notifyGroup);
      var tokens = JSON.parse(json);
     
      for (var driver in tokens) {
        gs.log(gs.getMessage("Notify Client token for {0} driver and Notify Group '{1}': {2}", [driver, notifyGroup.getValue('name'), tokens[driver]]));
      }
    }

    Escopo equivalente

    Para usar o. GetTokens() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getTokens() .

    Notify - getTokenTTL (proprietário da cadeia de caracteres)

    Retorna a quantidade máxima de tempo que uma sessão do cliente permanece ativa para um driver de telefonia especificado antes de expirar automaticamente.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    responsável Cadeia de caracteres Nome do driver de telefonia para o qual recuperar a duração da sessão.

    Valores válidos:

    • Twilio: Para o motorista antigo
    • TwilioDirect: Para o novo driver
    Tabela 18. Retornos
    Tipo Descrição
    Inteiro Duração máxima da sessão (em segundos). Padrão: 1800 segundos

    O exemplo a seguir mostra como chamar corretamente este método e a resposta associada. Ele também mostra o que é retornado se um driver inválido for aprovado.

    var owner = "TwilioDirect";  // Valid driver
    var ttl = SNC.Notify.getTokenTTL(owner);
    gs.info("Token TTL for " + owner + " --> " + ttl);
     
    owner = "Abcxyz";  // Invalid driver
    ttl = SNC.Notify.getTokenTTL(owner);
    // For an invalid driver, we throw NoSuchNotifyDriverException saying that Abcxyzdriver is not available
    // and return the default value of TTL
    gs.info("Token TTL for " + owner + " --> " + ttl); 

    Escopo equivalente

    Para usar o. GetTokenTTL() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getAvailableClients() .

    Notify - hasCapability (cadeia de caracteres notificyPhoneNumber, capacidade de cadeia de caracteres)

    Determina se o número de telefone especificado tem a capacidade especificada.

    O driver de telefonia associado ao número de telefone contém uma lista de todas as capacidades do telefone.
    Nota:
    No sistema base, o driver Notify JS só tem "show_speakers" como uma capacidade; isso pode ser modificado.
    Tabela 19. Parâmetros
    Nome Tipo Descrição
    NotifyPhoneNumber Cadeia de caracteres Número de telefone para o qual verificar a capacidade especificada.
    capacidade Cadeia de caracteres Capacidade de detectar. O texto da cadeia de caracteres deve corresponder exatamente ao que está no telefone.
    Tabela 20. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o telefone especificado tem a capacidade especificada.
    • verdadeiro: o telefone tem a capacidade
    • falso: o telefone não tem a capacidade

    Este exemplo mostra como verificar se um telefone tem uma capacidade específica.

    // Each driver has a defined set of capabilities.
    
    var capability = 'show_speakers';
    gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // true
     
    capability = 'send_sms';
    gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // false

    Escopo equivalente

    Para usar o. HasCapability() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - hasCapability() .

    Notify - KICK (participante GlideRecord)

    Remove o chamador especificado da chamada em conferência Notify atual.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    participante GlideRecord Objeto GlideRecord que contém o registro Notify Participant [notify_participant] do chamador a ser removido da chamada em conferência.
    Tabela 22. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como remover um participante de uma chamada em conferência.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.kick(notifyParticipantGr);
    }

    Escopo equivalente

    Para usar o. kick() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - kick() .

    Notify - modifyCall (GlideRecord callRecord, NotifyAction)

    Executa uma ou mais ações em uma chamada telefônica do Notify ativa.

    As ações disponíveis que você pode executar nas chamadas incluem enfileirar ou retirar a chamada da fila, ler texto, reproduzir áudio ou encaminhar a chamada. Você também pode criar ações personalizadas Chamar o. ModifyCall() depois de especificar todas as ações que você deseja aplicar à chamada especificada. Consulte NotifyAction Documentação da API para obter mais informações sobre as ações disponíveis.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    Registro de chamada GlideRecord Notify Call [NOTIFY_CALL] registro da chamada para a qual as ações serão aplicadas.
    Notify yAction NotifyAction Objeto NotifyAction que descreve uma ou mais ações a serem executadas na chamada. Crie este objeto chamando um ou mais dos NotifyAction() métodos.
    Tabela 24. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como modificar uma chamada.

    // get the most recent call record
    var callRecord = new GlideRecord('notify_call');
    callRecord.orderByDesc('sys_created_on');
    callRecord.query();
     
    if (callRecord.next()) {
        // instantiate notify action container class
        var notifyAction = new SNC.NotifyAction();
        // The call is already in progress. Now, we want to modify the call behavior by putting this call in a queue.
        // So, we add a queue action to queue the call
        notifyAction.addQueue('my fancy queue');
       
        // modify the call by passing in the above action, putting the call in a queue
        new SNC.Notify().modifyCall(callRecord, notifyAction);
    } else {
        gs.log('no such call record');
    }

    Escopo equivalente

    Para usar o. ModifyCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - modifyCall() .

    Notify - mudo (GlideRecord participantRecord)

    Silencia o participante da chamada em conferência especificado.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    Registro de participante GlideRecord GlideRecord da tabela Notify_participant para o participante silenciar.
    Tabela 26. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como silenciar um chamador.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.mute(notifyParticipantGr);
    }

    Escopo equivalente

    Para usar o. mudo() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - mute() .

    Notify - queueCall (GlideRecord callRecord)

    Coloca a chamada especificada em uma fila (em espera).

    Retome uma chamada em fila usando DequeueCall() método.

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    Registro de chamada GlideRecord Objeto GlideRecord do registro Notify Call (tabela NOTIFY_CALL) a ser colocado em espera.
    Tabela 28. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como colocar uma chamada em espera (na fila).

    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.queueCall(notifyCallGr);
    }

    Escopo equivalente

    Para usar o. QueueCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - queueCall() .

    Notify - sendBulkSMS(cadeia de caracteres notificyPhoneNumber, matriz para PhoneNumbers, cadeia de caracteres MessageBody, origem GlideRecord)

    Envia uma mensagem SMS especificada para a lista especificada de clientes do Notify (números de telefone).

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    NotifyPhoneNumber Cadeia de caracteres Notify número de telefone do qual a mensagem SMS está sendo enviada.
    ToPhoneNumbers Matriz de cadeia de caracteres Lista separada por vírgulas de números de telefone para os quais enviar a mensagem SMS.

    Formato: E.164

    Corpo da mensagem Cadeia de caracteres Texto SMS a ser enviado.
    origem GlideRecord Registro de origem que solicitou esta mensagem SMS, como um incidente.
    Tabela 30. Retornos
    Tipo Descrição
    Cadeia de caracteres Nulo

    O exemplo a seguir mostra como enviar uma mensagem SMS em massa.

    var incidentGr = new GlideRecord('incident');
    incidentGr.get(active incident sys_id');
    if (incidentGr.isValid()) {
        SNC.Notify.sendBulkSMS('+15413970605', ['+919885XXXXXX', '+919775XXXXXX'], 'Test automation message', incidentGr);
    }

    Escopo equivalente

    Para usar o. SendBulkSMS() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - sendBulkSMS() .

    Notify - sendSMS(cadeia de caracteres notificyPhoneNumber, cadeia de caracteres ToPhoneNumber, cadeia de caracteres MessageBody, origem GlideRecord)

    Envia uma mensagem de texto SMS para um número de telefone compatível com E.164.

    Este método cria um novo registro na tabela Mensagem Notify [NOTIFY_MESSAGE] e o associa ao registro de origem.

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    NotifyPhoneNumber Cadeia de caracteres Notify número de telefone do qual a mensagem SMS está sendo enviada.
    ToPhoneNumber Cadeia de caracteres Número de telefone compatível com E.164 para o qual enviar a mensagem SMS.
    Corpo da mensagem Cadeia de caracteres Corpo da mensagem de texto SMS.
    origem GlideRecord Registro de origem que solicitou esta mensagem SMS, como um incidente.
    Tabela 32. Retornos
    Tipo Descrição
    Cadeia de caracteres SID de mensagem exclusivo; armazenado no registro Mensagem de Notify [notify_message] como message_id.

    O exemplo a seguir mostra como enviar uma mensagem SMS.

    var incidentGr = new GlideRecord('incident');
    incidentGr.get('active incident sys_id');
    if (incidentGr.isValid()) {
        SNC.Notify.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
    }

    Escopo equivalente

    Para usar o. SendSMS() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - sendSMS() .

    Notify - desativar mudo (GlideRecord participantRecord)

    Ativa o som do participante da chamada em conferência especificado.

    Tabela 33. Parâmetros
    Nome Tipo Descrição
    Registro de participante GlideRecord GlideRecord da tabela Notify_participant para o participante ativar o mudo.
    Tabela 34. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como ativar o mudo de um chamador.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.unmute(notifyParticipantGr);
    }

    Escopo equivalente

    Para usar o. desativar mudo() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - unmute() .