NotifyClient – Client

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 9 Minuten Lesedauer
  • Mit der NotifyClient-API können Sie die Notify-Telefonfunktion über einen Webbrowser verwenden, z. B. Anrufe tätigen und entgegennehmen.

    Mehrere NotifyClient-Methoden verwenden eine Rückruffunktion als Parameter. Da NotifyClient-Aufrufe asynchron ausgeführt werden, können diese Methoden keinen Wert direkt zurückgeben. Verwenden Sie die Rückruffunktion, um die zurückgegebenen Daten zu analysieren, indem Sie z. B. Variablen zuweisen oder andere API-Aufrufe ausführen.

    NotifyClient – Client(Object notifyConfig, Boolean initializeVendorClientLazily)

    Instanziiert ein neues Notify-WebRTC-Clientobjekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    initializeVendorClientLazily Boolean Kennzeichnung, die angibt, ob die in der setCallerId()- Methode übergebene autoSelectVendorCallback-Funktion verwendet werden soll, um den zugeordneten Lieferanten des Anrufers automatisch festzulegen (notifyConfig.vendor muss nicht im Konstruktor definiert werden).
    • false: Standard. Verwenden Sie nicht die autoSelectVendorCallback-Funktion, um den Lieferanten des Anrufers festzulegen. Der Lieferant muss im Konstrukteur festgelegt werden.
    • true: Verwenden Sie die autoSelectVendorCallback-Funktion, um den Lieferanten zu definieren, wenn die Anrufer-ID festgelegt wird.
    notifyConfig Objekt JSON-Objekt, das die Konfigurationseinstellungen für den Notify-WebRTC-Client enthält.
    notifyConfig.autoLoadScriptResources Boolean Kennzeichnung, die angibt, wie die vom Lieferanten-Client benötigte Core-JS-Bibliothek geladen wird.
    • false: Standard. Verwenden Sie lieferantenspezifische Codes, um die erforderliche Lieferanten-JS-Bibliothek zu laden (ermöglicht Abwärtskompatibilität ).
    • true: Verwenden Sie notifyClient.js, um die Core-JS-Bibliothek zu laden.
    notifyConfig.callerId Zahl Zu verwendende registrierte Notify-Nummer. Legen Sie diesen Wert nicht direkt fest. Verwenden Sie die Methode notifyClient.setCallerID(), um diesen Wert festzulegen.
    notifyConfig.forceRefreshToken Boolean Kennzeichnung, die angibt, ob abgelaufene Client-Token automatisch erneuert werden sollen.
    • false: Erneuern Sie Client-Token nicht automatisch, wenn sie ablaufen.
    • true: Standard. Erneuern Sie Client-Token automatisch, wenn sie ablaufen.
    notifyConfig.ÜberspringenÜberspringenId Boolean Kennzeichnung, die angibt, ob der onIncoming-Anrufer für eingehende Anrufe automatisch aufgerufen werden soll.
    • false: Standard. Rufen Sie den onIncoming-Ereignishandler nicht sofort auf.
    • true: Rufen Sie den onIncoming-Ereignishandler sofort auf. Durch Festlegen dieser Kennzeichnung wird, wenn es einen anderen Anruf gibt, bei dem der <Dial><Client>-Twiml den eingehenden Anruf ausgelöst hat, durch Festlegen dieser Kennzeichnung das Backend automatisch durch das System abgefragt. Diese automatische Abfrage erhält die übergeordnete notify_call-Referenz.
    notifyConfig.vendor Konstante Lieferant, zu dem der Anrufer gehört.
    • SNC.Notify.Vendor.TWILIO_DIRECT
    • SNC.Notify.Vendor.TWILIO (älterer, veralteter Twilio-Treiber)

    Das folgende Beispiel zeigt, wie Sie den NotifyClient-Konstrukteur erstellen, verschiedene Ereignis-Listener registrieren und den Client-Treiber initialisieren.

    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(String event, Function fn)

    Registriert einen Ereignishandler, der auf Änderungen in einem Notify-Client überprüft.

    Mit dieser Methode können Sie mehrere Listener registrieren. Jeder Listener muss ein separater Methodenaufruf sein.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    event Zeichenfolge Name des Ereignisses, auf das hin abgehört werden soll.

    Verwenden Sie anstelle der Übergabe von Zeichenfolgen die Konstanten, die in SNC. Notify.STD_EVENTS festgelegt sind.

    • CALL_START: Anruf hat begonnen und wird ausgeführt.
    • CALL_CANCEL: Anrufer hat den Anruf abgebrochen.
    • CALL_INIT: WebRTC mit einem Anruf verbunden (eingehend oder ausgehend).
    • CALL_DISCONNECT: aktueller Anruf wurde getrennt.
    • ERROR: Ein Fehler ist aufgetreten. Parameter: message(string), errCode(string)
      • message: Fehlermeldung, die angezeigt werden soll.
      • errCode: Optional. Zugehöriger Fehlercode.
    • INCOMING_CALL: Eingehender Anruf. Parameter: from(string), to(string), callId(string), parentId(string), sysId(string), isFromClient(boolean)
      • from: Telefonnummer des Anrufers.
      • to: angerufene Telefonnummer.
      • callId: SID des Anrufs.
      • parentId: übergeordnete notify_call-Referenz. Wenn für skipParentId der Wert „true“ festgelegt ist, sollte dieser Parameter nicht übergeben werden.
      • sysId: nur WebRTC-to-WebRTC-Anrufe. Eindeutiger Identifier (sys_id) des Anrufers.
      • isFromClient: nur WebRTC-to-WebRTC-Anrufe. Kennzeichnung, die angibt, ob der Anruf von einem anderen WebRTC-Client stammt.
    • CALL_MUTE: Client ist stummgeschaltet.
    • CALL_UNMUTE: Client ist nicht stummgeschaltet.
    • OFFLINE: Die WebRTC-Sitzung ist nicht aktiv.
    • ONLINE: Die WebRTC-Sitzung ist bereit. Muss nach dem Aufruf der init()-Methode festgelegt werden.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Funktion Funktion zur Verwendung, um einen Listener abzumelden.

    Dieses Beispiel zeigt, wie Sie mehrere Listener registrieren.

    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.
        });
    });

    Dieses Beispiel zeigt, wie Sie einen Listener abmelden.

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

    NotifyClient – call(Object identifier)

    Ruft die angegebene Telefonnummer oder die einem angegebenen Benutzer zugeordnete Telefonnummer an.

    Hinweis:
    Vergleichen Sie beim Überprüfen des Status eines Anrufs/einer Verbindung immer mit den von SNC.Notify.Status bereitgestellten Konstanten.
    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Kennung Objekt JSON-Objekt, das entweder eine anzurufende Telefonnummer oder die sys_id eines WebRTC-Benutzers enthält. Das Übergeben einer Benutzer-sys_id führt dazu, dass der Anruf durch Browser-to-Browser-Kommunikation durchgeführt wird.

    Sie können die Benutzer-sys_id aus der Notify-WebRTC-Sitzungs-Tabelle erhalten.

    Hinweis:
    Wenn Sie sowohl eine Telefonnummer als auch eine Benutzer-sys_id angeben, verwendet die Methode nur die Telefonnummer.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Leer

    In diesem Beispiel wird die Übergabe einer Telefonnummer als Funktionsparameter veranschaulicht.

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

    Dieses Beispiel zeigt, wie eine Benutzerdatensatz-sys_id als Funktionsparameter übergeben wird.

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

    Dieses Beispiel zeigt einen Button-Click-Handler.

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

    Dieses Beispiel zeigt einen Ereignishandler.

    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 – destroy()

    Beendet den aktuellen Notify-Client und macht ihn unbenutzbar.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    void

    NotifyClient – forwardCall(Object argument)

    Leitet einen laufenden eingehenden oder ausgehenden Anruf an eine andere Telefonnummer oder einen anderen WebRTC-Client weiter.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Argument Objekt JSON-Objekt, das die erforderlichen Informationen zum Weiterleiten des Anrufs an eine Telefonnummer oder einen WebRTC-Client enthält (Benutzer-sys_id) enthält. Sie können diese sys_id aus der Notify-WebRTC-Sitzungs-Tabelle erhalten.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Leer

    Dieses Beispiel zeigt die Weiterleitung eines Anrufs an eine andere Telefonnummer. Mit dem dtmf-Attribut können Sie DTMF-Wähltöne an die empfangende Nummer senden.

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

    In diesem Beispiel wird das Weiterleiten eines Anrufs an einen anderen Notify-Client veranschaulicht.

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

    NotifyClient – getAvailableClients(Function callback)

    Gibt eine Liste von Clients zurück, die zum Annehmen von Anrufen verfügbar sind.

    Diese Methode schließt den aktuellen Client aus der Liste aus. Die äquivalente Notify-getAvailableClients()-Methode filtert keinen Benutzer.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    callback Funktion Funktion zur Verwendung, um die Liste von Clients zu analysieren. Diese Funktion akzeptiert einen einzelnen Parameter, ein Array von JSON-Objekten mit dem folgenden Format:
    [{
        sys_id: "...",  // user's sys_id
        name: "..." // user's name
    }]
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    void

    NotifyClient – getParentId(String callId, Function callback)

    Gibt den übergeordneten Anruf-Identifier für einen angegebenen Anruf-Identifier zurück, sofern vorhanden.

    Abhängig vom Telefonanbieter kann es zu einer Verzögerung kommen, bevor der übergeordnete Anruf-Identifier zurückgegeben wird. Daher müssen Sie eine Rückruffunktion bereitstellen.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    callId Zeichenfolge Eindeutiger Identifier des Anrufs, für den der übergeordnete Call-Identifier zurückgegeben werden soll.
    callback Funktion Funktion, die das JSON-Objekt erhält, das entweder den übergeordneten Anruf-Identifier oder eine Fehlernachricht enthält, wenn der Identifier nach mehreren Versuchen nicht erhalten werden konnte.
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Übergeordneter Anruf-Identifier.

    Dieses Beispiel zeigt, wie Sie diese Methode verwenden, um den übergeordneten Anruf-Identifier zu erhalten.

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

    Dieses Beispiel zeigt den Inhalt des Parameters jsonObj.

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

    NotifyClient – getStatus()

    Gibt den normalisierten Status des aktuellen Anrufs zurück.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Aktueller Status des Anrufs. Die von der Telefonanbieter-API zurückgegebenen Werte werden normalisiert, indem der zurückgegebene Treiberwert durch den entsprechenden Wert ersetzt wird, der in SNC.Notify.Status definiert ist.

    Dieses Beispiel zeigt, wie Sie den Status des aktuellen Notify-Client erhalten können.

    clientStatus = notifyClient.getStatus();

    NotifyClient – hangupCall()

    Beenden des aktuellen Anrufs.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einen Anruf auflegen.

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

    NotifyClient – init()

    Initialisiert den Client-Treiber.

    Wenn Sie beispielsweise den Twilio-Client verwenden, wird die Methode Twilio.Device.setup() aufgerufen. Rufen Sie diese Methode auf, nachdem der Benutzer mit der Seite interagiert hat. Dieser Initialisierungsprozess ist asynchron, daher müssen Sie einen ONLINE-Ereignishandler bereitstellen. Dieser Handler wird aufgerufen, wenn der Einrichtungsprozess abgeschlossen ist und das System zum Annehmen oder Tätigen von Anrufen bereit ist.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie der Notify-Client initialisiert wird.

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

    NotifyClient – mute(Boolean muted)

    Den aktuellen Client stummschalten oder die Stummschaltung aufheben.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    stummgeschaltet Boolean Schaltet den aktuellen Anruf stumm oder die Stummschaltung dafür aus.
    • false: (oder jeglicher Wert, der nicht „true“ ist) deaktiviert die Stummschaltung für den aktuellen Anruf.
    • true: schaltet den aktuellen Anruf stumm.
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie der aktuelle Anruf stummgeschaltet wird.

    notifyClient.mute( "true" );

    NotifyClient – pickupCall()

    Nimmt einen von einem WebRTC-Client eingehenden Anruf entgegen und verbindet damit.

    Rufen Sie diese Methode auf, wenn Sie über einen eingehenden Anruf benachrichtigt werden.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einen Anruf annehmen.

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

    NotifyClient – sendDtmf(String digits)

    Senden Sie eine oder mehrere DTMF-gültige Ziffern über den aktuellen Anruf.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    Ziffern Zeichenfolge Eine oder mehrere DTMF-gültige Ziffern.
    Tabelle : 25. Ausgabe
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie DTMF-Signale an den aktuellen Anruf gesendet werden.

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

    NotifyClient – setCallerId(String value, Function autoSelectVendorCallback)

    Legt die Anrufer-ID für die aktuelle Clientsitzung fest.

    Sie können die Anrufer-ID jederzeit ändern oder aktualisieren. Die Anrufer-ID muss jedoch zu demselben Lieferanten gehören.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    Wert Zeichenfolge Telefonnummer, die zum Tätigen und Empfangen von Anrufen verwendet werden soll.
    autoSelectVendorCallback Funktion Optional. initializeVendorClientLazily muss im Konstruktor auf „wahr“ festgelegt werden, um diese Funktion zu verwenden. Andernfalls wird ein Fehler ausgelöst.

    Name der Rückruffunktion, um anzurufen, sobald der Lieferant automatisch für die angegebene Telefonnummer festgelegt wurde. Mit dieser Option muss der Lieferant nicht im Konstruktor (notifyConfig.vendor) angegeben werden. Die automatische Lieferantenauswahl ist ein asynchroner Vorgang. Daher ist dieser Rückruf erforderlich, um anzuzeigen, wann der Anruf von notifyConfig.init() sicher ist, da für diese Methode der Lieferant vor dem Aufruf festgelegt werden muss. Darüber hinaus müssen Sie überprüfen, ob notifyConfig.vendor im Rückruf festgelegt wurde, um sicherzustellen, dass ein Lieferant angegeben wurde.

    Tabelle : 27. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie die Anrufer-ID festgelegt wird. In diesem Beispiel wird davon ausgegangen, dass der Lieferant im Konstrukteur festgelegt ist.

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

    NotifyClient – setClientAvailable(Boolean available)

    Legt die Verfügbarkeit eines aktiven WebRTC-Client-Agenten fest.

    Diese Art der Verfügbarkeit unterscheidet sich von einem Agenten, der sich in einem Anruf befindet. In diesem Fall ist möglicherweise ein aktiver WebRTC-Client verbunden und nicht in einem Anruf, möchte jedoch eventuell keine Anrufe empfangen.

    Beim Aufruf dieser Methode wird der Feldwert Verfügbar im Notify-Client-Connected-Session-Datensatz [notify_client_session], der dieser Clientsitzung zugeordnet ist, aktualisiert. Sie können eine Liste der verfügbaren Clients mit der getAvailableClients()-Methode abrufen.

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    Verfügbar Boolean Kennzeichnung, die angibt, ob ein aktiver WebRTC-Client Anrufe empfangen möchte.
    • false: Client möchte keine Anrufe empfangen.
    • true: Client möchte Anrufe empfangen.
    Tabelle : 29. Ergebnisse
    Typ Beschreibung
    void