SDK de JS
Métodos y objetos de JavaScript para trabajar con Kommo
Esta sección proporciona detalles sobre cómo acceder al entorno de manera fácil, incluyendo información del widget e información del usuario autorizado, así como cómo llamar a varios elementos de la interfaz.
Notificación emergente
Una de las funcionalidades que ofrece el sistema es la capacidad de mostrar una ventana de notificación en la esquina inferior derecha de la pantalla. Esta funcionalidad se puede utilizar para notificar a los usuarios sobre una llamada entrante a través de VoIP.
Puedes utilizar el objeto proporcionado para lograr esto. En el siguiente ejemplo, se ha creado una función para trabajar con este objeto.
self.add_call_notify = function(mess){
var w_name = self.i18n('widget').name,
date_now = Math.ceil(Date.now()/1000),
lang = self.i18n('settings'),
n_data = {
from: mess.from,
to: mess.to,
duration: mess.duration,
link: mess.link,
text: w_name + ': ' + mess.text,
date: date_now
};
if (mess.element && mess.element.id && mess.element.type){
n_data.element = mess.element;
}
APP.notifications.add_call(n_data);
};
/*---------------------------------------*/
var notify_data={};
notify_data.from = '+7 (999) 111 22 33';
notify_data.to = 'Nombre de usuario';
notify_data.duration = 65;
notify_data.link = 'https://example.com/dialog.mp3';
notify_data.text = 'Texto del widget';
notify_data.element = { id: 1003619, type: "contact" };
self.add_call_notify(notify_data);
En el ejemplo, la función no solo llama a la ventana de notificación, sino que también añade un enlace.
Notificación de error
Si JavaScript realiza acciones en segundo plano que están ocultas al usuario, es importante notificarlo sobre cualquier problema que pueda surgir. De esta manera, puedes ayudarlo a tomar las acciones necesarias para solucionar el problema y evitar frustraciones.
Por ejemplo, si estás desarrollando un widget de VoIP que, estando conectado al servidor en segundo plano, espera eventos de llamadas entrantes, es importante notificar al usuario si hay un problema al conectarse al servidor. Al proporcionar un mensaje de error claro y una descripción del problema, puedes ayudar al usuario a comprender qué está sucediendo e incluso ofrecerle información de contacto para soporte técnico.
De manera similar, si un usuario ingresa la contraseña incorrecta, es mejor notificarle del error de inmediato. De esta manera, no se quedarán preguntándose por qué la funcionalidad esperada no está funcionando.
El siguiente objeto, similar al descrito anteriormente, puede ayudar con esto. Muestra un mensaje de error y almacena el evento de cierre en las cookies del usuario, asegurándose de que el usuario no sea molestado con la misma notificación nuevamente.
var errors = APP.notifications,
date_now = Math.ceil(Date.now()/1000),
header = self.get_settings().widget_code,
text = 'error'
var n_data = {
header: header, // código del widget
text:'<p>'+text+'</p>',// texto del mensaje de error
date: date_now // /date
},
callbacks = { done: function(){console.log('done');}, // añadido y guardado correctamente AJAX completado
fail: function(){console.log('fail');}, // error en AJAX
always: function(){console.log('always');} // siempre llamado
};
errors.add_error(n_data,callbacks);
header
(string) - nombre del widget que se mostrará en el títulotext
(string) - mensaje de errordate
- fechacallbacks
(object) - en el proceso de enviar un nuevo mensaje o manejar un error de AJAX, se envía una solicitud al servidor. Si los datos se guardan con éxito, el servidor devuelve el número del mensaje. Dependiendo de si la solicitud fue exitosa o no, se ejecuta una de las funciones proporcionadas del objeto.
Updated 8 days ago