NotifyClient : Client
Die NotifyClient- API stellt Methoden bereit, mit denen Sie Notify-Telefoniefunktionen verwenden können, z. B. das Tätigen und Empfangen von Anrufen über einen Webbrowser.
Mehrere NotifyClient- Methoden verwenden eine Rückruffunktion als Parameter. Da NotifyClient- Methodenaufrufe asynchron erfolgen, können diese Methoden keinen Wert direkt zurückgeben. Verwenden Sie die Rückruffunktion, um die ausgegebenen 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.
| Name | Typ | Beschreibung |
|---|---|---|
| initializeVendorClientLizily | Boolean | Kennzeichnung, die angibt, ob die in der Methode „setCallerId() “ übergebene Funktion „autoSelectVendorCallback“ verwendet werden soll, um den zugehörigen Lieferanten des Anrufers automatisch festzulegen (notifyConfig.vendor muss nicht im Konstruktor definiert werden).
|
| 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.
|
| 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.
|
| notifyConfig.parentId überspringen | Boolean | Kennzeichnung, die angibt, ob der onIncoming-Anrufer für eingehende Anrufe automatisch aufgerufen werden soll.
|
| notifyConfig.vendor | Konstante | Lieferant, zu dem der Anrufer gehört.
|
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.
| 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
|
| 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.
SNC.Notify.Status bereitgestellten Konstanten.| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
NotifyClient – forwardCall(Object argument)
Leitet einen laufenden eingehenden oder ausgehenden Anruf an eine andere Telefonnummer oder einen anderen WebRTC-Client weiter.
| 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. |
| 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.
| 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: |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Anruf-ID | 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| stummgeschaltet | Boolean | Schaltet den aktuellen Anruf stumm oder die Stummschaltung dafür aus.
|
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Ziffern | Zeichenfolge | Eine oder mehrere DTMF-gültige Ziffern. |
| 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.
| 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 ausgegeben. 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Verfügbar | Boolean | Kennzeichnung, die angibt, ob ein aktiver WebRTC-Client Anrufe empfangen möchte.
|
| Typ | Beschreibung |
|---|---|
| void |