NotifyJsTelephonyDriver - Global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 9 minutes de lecture
  • L’API NotifyJsTelephonyDriver fournit des méthodes que vous pouvez utiliser pour obtenir des informations sur les capacités du pilote de téléphonie associé.

    Il s’agit d’un point d’extension scripté qui ne peut être utilisé que lorsque son objet est renvoyé par une autre méthode, telle que NotifyUtil - getTelephonyDriverFromNotifyNumber(). Vous ne pouvez pas appeler cette API directement. La méthode d’appel associe un pilote spécifique à l’interface, en faisant abstraction des détails de détermination du pilote. Chacun des pilotes disponibles implémente la même interface, qui est définie par l’API NotifyJsTelephonyDriver .

    Dans l’exemple de code suivant, la méthode getTelephonyDriverFromNotifyNumber() renvoie une implémentation de cette API, l’interface du pilote étant déterminée par le numéro de téléphone transmis, tel que TwilioNotifyJsTelephonyDriver.
    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            driverName: driver.getName(),
            supportsCall: driver.supportsCall(),
            supportsSMS: driver.supportsSms()
          } 
        }
    } 

    Pour voir quels pilotes sont associés au point d’extension NotifyJsTelephonyDriver, accédez à Points d’extension système>global. NotifyJsTelephonyDriver. Toutes les implémentations de pilotes associées s’affichent dans l’onglet Implémentations .

    Pour plus d’informations sur les points d’extension scriptés, voir Utilisation de points d’extension pour étendre le point de fonctionnalité de l’application.

    Pour utiliser cette API, vous devez activer le module d’extension Notification (com.snc.notify). Pour activer des implémentations de pilotes spécifiques, telles que Twillo, vous devez activer leur plugin spécifique.

    NotifyJsTelephonyDriver : appel (objet notifyPhoneNumber, chaîne phoneNumber)

    Appelle un numéro de téléphone spécifié.

    Tableau 1. Paramètres
    Nom Type Description
    notifyPhoneNumber NotifyPhoneNumber : global Enregistrement NotifyPhoneNumber qui contient le numéro de téléphone Notification à partir duquel passer l’appel. Situé dans la table Numéro de téléphone de Notification [notify_number].
    toPhoneNumber Chaîne Numéro de téléphone à appeler.

    Format : E.164

    Tableau 2. Renvoie
    Type Description
    Aucun

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
    
        }
    } 

    NotifyJsTelephonyDriver : getCapabilities()

    Renvoie une liste des options du pilote de téléphonie.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Aucun

    Cet exemple renvoie les options du pilote de téléphonie associé.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
           capabilities: driver.getCapabilities()
          } 
        }
    } 

    NotifyJsTelephonyDriver : getMaxSizeForBulkSms(String phoneNumber)

    Renvoie le nombre maximal de numéros de téléphone auxquels le pilote de téléphonie associé au numéro de téléphone de Notification transmis peut envoyer un SMS en une seule fois.

    Tableau 5. Paramètres
    Nom Type Description
    phoneNumber Chaîne Numéro de téléphone de Notification pour vérifier le nombre maximal de numéros de téléphone que le conducteur associé est en mesure d’envoyer dans un message SMS en masse.
    Tableau 6. Renvoie
    Type Description
    Numéro Nombre maximal de numéros de téléphone auxquels un message SMS peut être envoyé en une seule remise de SMS en masse.

    Cet exemple renvoie le nombre maximal de numéros de téléphone qui peuvent être envoyés en un seul SMS en bloc pour le pilote de téléphonie associé.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
           return {
           maxSmsNumbers: driver.getMaxSizeForBulkSMS(notifyNumber)
          }       
        }
    } 

    NotifyJsTelephonyDriver : getPhoneNumber(String phoneNumber)

    Renvoie l’enregistrement de numéro de téléphone de Notification pour le numéro de téléphone spécifié.

    Renvoie null si le numéro de téléphone spécifié est introuvable dans la table Numéro de téléphone de Notification [notify_number].

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    NotifyPhoneNumberAPI (en anglais seulement) Enregistrement de numéro de téléphone de Notification associé au numéro de téléphone spécifié.

    Cet exemple permet d’obtenir le pilote de téléphonie et de renvoyer l’enregistrement de numéro de téléphone Notification associé pour un numéro de téléphone spécifié.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
           phoneNumberRecord: driver.getPhoneNumber(notifyNumber)
          } 
        }
    } 

    NotifyJsTelephonyDriver : getPhoneNumbers()

    Renvoie une liste de tous les numéros de téléphone Notification associés au pilote de téléphonie actuel.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Chaîne Liste séparée par des virgules de tous les numéros de téléphone Notification associés au conducteur actuel.

    Cet exemple permet d’obtenir le pilote de téléphonie et renvoie la liste des numéros de téléphone Notification associés au pilote de téléphonie actuel.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
           phoneNumbers: driver.getPhoneNumbers()
          } 
        }
    } 

    NotifyJsTelephonyDriver : isActive()

    Vérifie si le pilote de téléphonie actuel est actif.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le pilote de téléphonie actuel est actif.

    Valeurs valides :
    • true : le pilote est actif.
    • false : le pilote est inactif.

    Cet exemple permet d’obtenir le pilote de téléphonie et de vérifier si le pilote de téléphonie actuel est actif.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            active: driver.isActive()
          } 
        }
    } 

    NotifyJsTelephonyDriver : kick(GlideRecord participantRecord)

    Supprime l’appelant spécifié de la téléconférence Notification actuelle.

    Tableau 13. Paramètres
    Nom Type Description
    participantRecord GlideRecord - Global Objet GlideRecord contenant l’enregistrement Notification du participant [notify_participant] de l’appelant à supprimer de la téléconférence.
    Tableau 14. Renvoie
    Type Description
    Chaîne Renvoyé uniquement en cas d’erreur. Message d’erreur qui décrit la raison pour laquelle l’appelant n’a pas été supprimé de l’appel.

    Cet exemple désactive le son de l’appelant associé lors de la téléconférence en cours.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          var notifyParticipantGr = new GlideRecord('notify_participant');
          notifyParticipantGr.get('active participant sys id');
        
          if (notifyParticipantGr.isValid) {
            driver.kick(notifyParticipantGr)
        }
    } 

    NotifyJsTelephonyDriver : mute(GlideRecord participantRecord)

    Désactive le micro de l’appelant spécifié dans la téléconférence Notification en cours.

    Tableau 15. Paramètres
    Nom Type Description
    participantRecord GlideRecord - Global Objet GlideRecord contenant l’enregistrement Notification du participant [notify_participant] de l’appelant à désactiver le micro pendant la téléconférence.
    Tableau 16. Renvoie
    Type Description
    Chaîne Renvoyé uniquement en cas d’erreur. Message d’erreur qui décrit la raison pour laquelle le son de l’appelant n’a pas été désactivé.

    Cet exemple désactive le son de l’appelant associé lors de la téléconférence en cours.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          var notifyParticipantGr = new GlideRecord('notify_participant');
          notifyParticipantGr.get('active participant sys id');
        
          if (notifyParticipantGr.isValid) {
            driver.mute(notifyParticipantGr)
        }
    } 

    NotifyJsTelephonyDriver : sendAutonomousBulkSms(Object notifyPhoneNumber, Array toPhoneNumber, String message, source GlideRecord)

    Envoie le message SMS (Short Message Service) spécifié à la liste spécifiée de numéros de téléphone.

    En outre, vous pouvez éventuellement associer l’enregistrement d’incident à l’origine de la génération du message SMS au message SMS.

    Tableau 17. Paramètres
    Nom Type Description
    message Chaîne Message à envoyer.
    notifyPhoneNumber NotifyPhoneNumber : global Enregistrement qui contient le numéro de téléphone qui envoie le message SMS en bloc.
    source GlideRecord - Global Facultatif. GlideRecord d’incident à stocker dans le champ Source de l’enregistrement de message SMS associé dans la table Message de notification [message de notification]. Relie l’enregistrement d’incident à l’origine de la génération du message SMS à ce message SMS.

    Par défaut : aucune. Si ce paramètre n’est pas transmis, ces informations ne sont pas suivies.

    Numéros de téléphone de destination Tableau Liste des numéros de téléphone des appareils pour recevoir le message SMS.
    Tableau 18. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment envoyer un SMS en masse autonome.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
    
        }
    } 

    NotifyJsTelephonyDriver : sendSMS(NotifyPhoneNumber, notifyPhoneNumber, String toPhoneNumber, String, messageBody)

    Envoie un message SMS (Short Message Service) spécifié à un numéro de téléphone spécifié.

    Tableau 19. Paramètres
    Nom Type Description
    notifyPhoneNumber NotifyPhoneNumber : global Enregistrement de numéro de téléphone de Notification qui contient le numéro de téléphone qui envoie le message SMS. Situé dans la table Numéro de téléphone de Notification [notify_number].
    toPhoneNumber Chaîne Numéro de téléphone auquel envoyer le message SMS.

    Format : conforme à la norme E.164

    message Chaîne Texte à envoyer dans le SMS.
    Tableau 20. Renvoie
    Type Description
    Aucun

    Cet exemple envoie un SMS à un numéro de téléphone spécifié.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
            
        }
    } 

    NotifyJsTelephonyDriver : prend en charge AutonomousBulkSms (chaîne phoneNumber)

    Vérifie si le numéro de téléphone de Notification spécifié est capable de gérer de manière autonome les messages SMS (Short Message Service) en masse.

    Tableau 21. Paramètres
    Nom Type Description
    Aucun
    Tableau 22. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le numéro de téléphone Notification spécifié prend en charge les SMS en bloc autonomes.

    Valeurs valides :
    • true : prend en charge les SMS en masse autonomes.
    • faux : ne prend pas en charge les SMS autonomes en masse.

    Cet exemple permet d’obtenir le pilote de téléphonie et indique s’il prend en charge les SMS autonomes en masse.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            supportsBulkSMS: driver.supportsAutonomousBulkSms(notifyNumber)
          } 
        }
    } 

    NotifyJsTelephonyDriver : prend en charge Call()

    Vérifie si le pilote de téléphonie actuel est capable de gérer les appels téléphoniques.

    Tableau 23. Paramètres
    Nom Type Description
    Aucun
    Tableau 24. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le pilote de téléphonie actuel prend en charge les appels téléphoniques.

    Valeurs valides :
    • true : Le conducteur prend en charge les appels téléphoniques.
    • faux : le chauffeur ne prend pas en charge les appels téléphoniques.

    Cet exemple permet d’obtenir le pilote de téléphonie et indique si le pilote prend en charge les appels téléphoniques.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            supportsCall: driver.supportsCall()
          } 
        }
    } 

    NotifyJsTelephonyDriver - prend en charge CallOverWebRtc()

    Vérifie si le numéro de téléphone Notification spécifié est capable d’appeler un navigateur à l’aide de WebRTC (communications en temps réel).

    Tableau 25. Paramètres
    Nom Type Description
    Aucun
    Tableau 26. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le numéro de téléphone Notification spécifié prend en charge les appels de navigateur via WebRTC.

    Valeurs valides :
    • vrai : prend en charge WebRTC.
    • faux : ne prend pas en charge WebRTC.

    Cet exemple permet d’obtenir le pilote de téléphonie et indique s’il prend en charge les appels de navigateur à l’aide de WebRTC.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            supportsWebRTC: driver.supportsCallOverWebRtc(notifyNumber)
          } 
        }
    } 

    NotifyJsTelephonyDriver - prend en charge SMS()

    Vérifie si le pilote de téléphonie actuel est capable de gérer les messages SMS (Short Message Service).

    Tableau 27. Paramètres
    Nom Type Description
    Aucun
    Tableau 28. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le pilote de téléphonie actuel prend en charge les SMS.

    Valeurs valides :
    • vrai : le pilote prend en charge les SMS.
    • false : le pilote ne prend pas en charge les SMS.

    Cet exemple permet d’obtenir le pilote de téléphonie et indique si le pilote prend en charge les SMS.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          return {
            supportsSMS: driver.supportsSMS()
          } 
        }
    } 

    NotifyJsTelephonyDriver : réactiver le micro (GlideRecord participantRecord)

    Active le micro de l’appelant spécifié lors de la téléconférence Notification en cours.

    Tableau 29. Paramètres
    Nom Type Description
    participantRecord GlideRecord - Global Objet GlideRecord contenant l’enregistrement Notification du participant [notify_participant] de l’appelant à désactiver le micro pendant la téléconférence.
    Tableau 30. Renvoie
    Type Description
    Chaîne Renvoyé uniquement en cas d’erreur. Message d’erreur qui décrit la raison pour laquelle le son de l’appelant n’a pas été désactivé.

    Cet exemple désactive le son de l’appelant associé lors de la téléconférence en cours.

    getDriverDetails('<notify_number>'); 
    
    function getDriverDetails(notifyNumber) {
      var nUtil = new NotifyUtil();
      if (!notifyNumber || !nUtil.validateOutboundNotifyNumber(notifyNumber))
        return;
      var driver = nUtil.getTelephonyDriverFromNotifyNumber(notifyNumber);
        if (driver) {
          var notifyParticipantGr = new GlideRecord('notify_participant');
          notifyParticipantGr.get('active participant sys id');
        
          if (notifyParticipantGr.isValid) {
            driver.unmute(notifyParticipantGr)
        }
    }