NotifyClient : Client
L’API NotifyClient fournit des méthodes qui vous permettent d’utiliser la fonctionnalité de téléphonie Notification, comme passer et recevoir des appels à partir d’un navigateur Web.
Plusieurs méthodes NotifyClient prennent une fonction de rappel comme paramètre. Étant donné que les appels de méthode NotifyClient sont effectués de manière asynchrone, ces méthodes ne peuvent pas retourner une valeur directement. Utilisez la fonction de rappel pour analyser les données renvoyées, par exemple en affectant des variables ou en effectuant d’autres appels d’API.
NotifyClient : Client(objet notifyConfig, booléen initializeVendorClientLazily)
Instancie un nouvel objet client Notification WebRTC.
| Nom | Type | Description |
|---|---|---|
| initializeVendorClientLazily | Booléen | Marqueur indiquant s’il faut utiliser la fonction autoSelectVendorCallback transmise dans la méthode setCallerId() pour définir automatiquement le fournisseur associé à l’appelant (notifyConfig.vendor n’a pas besoin d’être défini dans le constructeur).
|
| Config de notification | Objet | Objet JSON contenant les paramètres de configuration pour le client Notify WebRTC. |
| notifyConfig.autoLoadScriptResources | Booléen | Marqueur indiquant comment charger la bibliothèque JS principale dont le client du fournisseur a besoin.
|
| notifyConfig.callerId | Numéro | Numéro Notification enregistré à utiliser. Ne définissez pas directement cette valeur. Utilisez la méthode notifyClient.setCallerID() pour définir cette valeur. |
| notifyConfig.forceRefreshToken | Booléen | Marqueur indiquant s’il faut renouveler automatiquement les jetons clients expirés.
|
| notifyConfig.skipParentId | Booléen | Marqueur indiquant s’il faut appeler immédiatement l’appelant onIncoming pour les appels entrants.
|
| notifyConfig.vendor | Constante | Fournisseur auquel l’appelant appartient.
|
L’exemple suivant montre comment créer le constructeur NotifyClient, enregistrer divers écouteurs d’événements et initialiser le pilote client.
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(Chaîne, événement, Fonction fn)
Enregistre un gestionnaire d’événements pour écouter les changements dans un client Notification.
Cette méthode vous permet d’enregistrer plusieurs écouteurs. Chaque écouteur doit être un appel de méthode distinct.
| Nom | Type | Description |
|---|---|---|
| event | Chaîne | Nom de l’événement à écouter. Au lieu de transmettre des chaînes, utilisez les constantes définies dans
|
| Type | Description |
|---|---|
| Fonction | Fonction à utiliser pour annuler l’enregistrement d’un écouteur. |
Cet exemple montre comment enregistrer plusieurs écouteurs.
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.
});
});
Cet exemple montre comment annuler l’enregistrement d’un écouteur.
var dereg = notifyClient.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
...
});
dereg();
// The event listener function is no longer triggered.
NotifyClient : call(Identificateur d’objet)
Appelle le numéro de téléphone spécifié ou le numéro de téléphone associé à un utilisateur spécifié.
SNC. Notifier.État.| Nom | Type | Description |
|---|---|---|
| identificateur | Objet | Objet JSON contenant soit un numéro de téléphone à appeler, soit le sys_id d’un utilisateur WebRTC. La transmission d’un sys_id utilisateur entraîne l’appel via une communication de navigateur à navigateur. Vous pouvez obtenir le sys_id de l’utilisateur à partir de la table Session Notification WebRTC. Remarque : Si vous fournissez à la fois un numéro de téléphone et un sys_id utilisateur, la méthode utilise uniquement le numéro de téléphone. |
| Type | Description |
|---|---|
| nul |
Cet exemple illustre la transmission d’un numéro de téléphone comme paramètre de fonction.
notifyClient.call({
phoneNumber: "+18001112223"
});
Cet exemple illustre la transmission d’une sys_id d’enregistrement utilisateur en tant que paramètre de fonction.
notifyClient.call({
userId: "6816f79cc0a8016401c5a33be04be441"
});
Cet exemple montre un gestionnaire de clic de bouton.
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
Cet exemple montre un gestionnaire d’événements.
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()
Supprime le client Notification actuel, le rendant inutilisable.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
NotifyClient : forwardCall(argument d’objet)
Transfère un appel téléphonique entrant ou sortant en cours vers un numéro de téléphone différent ou un client WebRTC différent.
| Nom | Type | Description |
|---|---|---|
| argument | Objet | Objet JSON qui contient les informations nécessaires au transfert de l’appel vers un numéro de téléphone ou un client WebRTC (sys_id de l’utilisateur). Vous pouvez obtenir ce sys_id à partir de la table Session Notification WebRTC. |
| Type | Description |
|---|---|
| nul |
Cet exemple illustre le transfert d’un appel vers un autre numéro de téléphone. L’attribut dtmf vous permet d’envoyer des tonalités DTMF au numéro de réception.
var arg = {
type: "number",
id: "+17012345678",
dtmf: "1234"
}
client.forwardCall(arg);
Cet exemple illustre le transfert d’un appel vers un autre client Notification.
var arg = {
type: "userId",
id: "6816f79cc0a8016401c5a33be04be441"
}
client.forwardCall(arg);
NotifyClient : getAvailableClients(rappel de fonction)
Renvoie une liste de clients disponibles pour accepter des appels.
Cette méthode exclut le client actuel de la liste. La méthode équivalente Notify-getAvailableClients() ne filtre aucun utilisateur.
| Nom | Type | Description |
|---|---|---|
| rappel | Fonction | Fonction à utiliser pour analyser la liste des clients. Cette fonction accepte un seul paramètre, un tableau d’objets JSON avec le format suivant : |
| Type | Description |
|---|---|
| nul |
NotifyClient : getParentId(String callId, rappel de fonction)
Renvoie l’identificateur d’appel parent pour un identificateur d’appel spécifié, s’il existe.
Selon le fournisseur de téléphonie, il peut y avoir un délai avant que l’identificateur d’appel parent ne soit renvoyé ; vous devez donc fournir une fonction de rappel.
| Nom | Type | Description |
|---|---|---|
| ID d’appel | Chaîne | Identificateur unique de l’appel pour lequel renvoyer l’identificateur d’appel parent. |
| rappel | Fonction | Fonction qui obtient l’objet JSON qui contient soit l’identificateur d’appel parent, soit un message d’erreur si l’identificateur n’a pas pu être obtenu après plusieurs essais. |
| Type | Description |
|---|---|
| Chaîne | Identificateur d’appel parent. |
Cet exemple montre comment utiliser cette méthode pour obtenir l’identificateur d’appel parent.
notifyClient.getParentId( callId, function(jsonObj) {} );
Cet exemple montre le contenu du paramètre jsonObj.
{
parentId: "xyz",
error: "msg"
}
NotifyClient : getStatus()
Renvoie l’état normalisé de l’appel actuel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | État actuel de l’appel. Les valeurs renvoyées par l’API du fournisseur de téléphonie sont normalisées en remplaçant la valeur du pilote renvoyée par sa valeur équivalente telle que définie dans SNC. Notifier.État. |
Cet exemple montre comment obtenir l’état du client Notification actuel.
clientStatus = notifyClient.getStatus();
NotifyClient : hangupCall()
Mettre fin à l’appel actuel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple comment raccrocher un appel.
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
NotifyClient : init()
Initialise le pilote client.
Par exemple, lors de l’utilisation du client Twilio, il appelle la méthode Twilio.Device.setup(). Appelez cette méthode une fois que l’utilisateur a interagi avec la page. Ce processus d’initialisation est asynchrone, par conséquent, vous devez fournir un gestionnaire d’événements EN LIGNE. Ce gestionnaire est appelé lorsque le processus de configuration est terminé et que le système est prêt à prendre ou à effectuer des appels.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment initialiser le client Notification.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient : muet (booléen désactivé)
Activer ou désactiver le micro du client actuel.
| Nom | Type | Description |
|---|---|---|
| assourdi | Booléen | Désactive ou désactive le micro de l’appel actuel.
|
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment envoyer le micro de l’appel actuel.
notifyClient.mute( "true" );
NotifyClient : pickupCall()
Répond et se connecte à un appel entrant provenant d’un client WebRTC.
Appelez cette méthode lorsqu’il y a une notification d’appel entrant.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment prendre un appel.
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient : sendDtmf(chiffres de chaîne)
Envoyer un ou plusieurs chiffres valides DTMF sur l’appel actuel.
| Nom | Type | Description |
|---|---|---|
| Chiffres | Chaîne | Un ou plusieurs chiffres valides DTMF. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment envoyer des signaux DTMF à l’appel en cours.
notifyClient.SendDtmf( "1246AF" ) {} );
NotifyClient : setCallerId(valeur de chaîne, fonction autoSelectVendorCallback)
Définit l’ID de l’appelant pour la session client en cours.
Vous pouvez modifier ou mettre à jour l’ID de l’appelant à tout moment, mais l’ID de l’appelant doit appartenir au même fournisseur.
| Nom | Type | Description |
|---|---|---|
| valide | Chaîne | Numéro de téléphone à utiliser pour passer et recevoir des appels. |
| autoSelectVendorCallback | Fonction | Optionnel. initializeVendorClientLazily doit être défini sur « true » dans le constructeur pour utiliser cette fonction, sinon une erreur est générée. Nom de la fonction de rappel à appeler une fois que le fournisseur est automatiquement défini pour le numéro de téléphone spécifié. Avec cette option, il n’est pas nécessaire de spécifier le fournisseur dans le constructeur (notifyConfig.vendor). La sélection automatique du fournisseur est une opération asynchrone. Par conséquent, ce rappel est nécessaire pour indiquer quand il est sûr d’appeler notifyConfig.init(), car cette méthode nécessite que le fournisseur soit défini avant d’être appelé. En outre, vous devez également vérifier si notifyConfig.vendor cela a été défini dans le rappel pour vous assurer qu’un fournisseur a été spécifié. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment définir l’ID de l’appelant. Cet exemple suppose que le fournisseur est défini dans le constructeur.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient : setClientAvailable(booléen disponible)
Définit la disponibilité d’un agent client WebRTC actif.
Ce type de disponibilité est différent de la présence d’un agent dans un appel. Dans ce cas, un client WebRTC actif peut être connecté et ne pas être en communication, mais peut ne pas vouloir recevoir d’appels.
L’appel de cette méthode met à jour la valeur du champ Disponible sur l’enregistrement Session connectée du client de Notification [notify_client_session] associée à cette session client. Vous pouvez obtenir une liste des clients disponibles à l’aide de la méthode getAvailableClients( ).
| Nom | Type | Description |
|---|---|---|
| Disponible | booléen | Marqueur indiquant si un client WebRTC actif souhaite recevoir des appels.
|
| Type | Description |
|---|---|
| nul |