Métodos
Segmentos 🚦
Con este método podrás obtener los segmentos de tu cuenta para mostrarlos a tus clientes.
const response = await phone.getSegments();
Agentes disponibles 📞
Con este método podrás obtener el total de agentes disponibles o en línea. Es relevante es que utilices este método para notificar a tus clientes cuando no hay agentes disponibles.
await phone.getAgents(segmentId); // Por defecto = online
await phone.getAgents(segmentId, 'available'); // Buscará la cantidad de agentes que estén listos para recibir una llamada.
Por defecto, si realizas una llamada, el SDK verificará que existan agentes en estado online, en caso contrario se gatillará el evento no-agents
.
Llamar ☎
Con este método podrás llamar indicando el segmento de donde se realizará la llamada.
await phone.call('5f7f67333baba9c4818d3a08');
await phone.connect('5f7f67333baba9c4818d3a08');
// Los dos métodos son equivalentes
Abandonar
Con este método podrás permitir a tus clientes abandonar la fila de espera.
Este método solo lo deberás utilizar cuando esté en la fila de espera, no antes ni después.
phone.leave();
const [{ id }] = await phone.getAbandonReasons();
phone.setAbandonReason({ id });
Deberás usar el método leave
o setAbandonReason
, no ambos.
Colgar
Con este método podrás colgar la llamada de forma manual.
phone.hangup();
Deberás utilizar este método en conjunto con el SDK de WebRTC, escuchando el evento de colgar.
const events = {
hangup: () => phone.hangup(),
};
const options = { el: '#webrtc' };
let webrtc = new VideskWebRTCSDK(idCall, events, options);
Listen
Puedes usar este método para escuchar los eventos o bien como se indica más abajo.
Con este metodo podrás asignar una función callback a un evento en particular de la siguiente namera:
phone.listen(eventName, callback);
// Ejemplo
phone.listen('queued', () => console.log('El cliente ha sido añadido a la fila'));
Obtener formulario
Con este método podrás obtener el formulario de un segmento. Recibe tres argumentos:
ID del segmento
Versión del formulario
base
ocontact
, por defectobase
Despachar evento
true
ofalse
(opcional)
phone.getForm(segmentId, version);
const response = await phone.getForm(segmentId, 'base');
if (!response) return continueWithCall();
// Carga Forms SDK
const { form } = response;
const response = await phone.getForm(segmentId, 'contact');
// Carga Forms SDK
const { form } = response;
Ejemplo:
const totalAgents = await phone.getAgents(segmentId);
if (totalAgents < 1) return showContactFormNotAvailable(segmentId);
const response = await phone.getForm(segmentId, 'base');
if (response) return showBaseFormPreviousCall(response.form);
else continueWithCallWithoutForm();
Si activas un formulario base en un segmento no podrás continuar a la llamada sin un formulario previamente enviado.
Enviar formulario
Deberás hacer uso de nuestro SDK de formularios y de captcha.
Con este método podrás enviar un formulario. Recibe un argumento como object
:
const data = {
values,
type,
segment,
token,
}
values
es un array obtenido mediante Form SDK.type
es el tipo de formulario pudiendo serpre-call
ocontact
.segment
es el id del segmento a llamar.token
es un string obtenido mediante Captcha SDK.
const response = await phone.sendForm(data);
const formId = response.submission; // Form id
Obtener encuesta
Con este método podrás obtener una encuesta de un segmento. Recibe un solo argumento id del segmento:
const response = await phone.getSurvey(segmentId);
const { form } = response;
Enviar encuesta
Deberás hacer uso de nuestro SDK de formularios.
Con este método podrás enviar una encuesta. Recibe un argumento como object
:
const data = {
values,
call,
segment,
}
values
es un array obtenido mediante Form SDK.call
es el id de la llamada.
await phone.sendSurvey(data);
Obtener razones de abandono
Con este método podrás obtener las razones de abandono configuradas en tu cuenta.
const abandonReasons = await phone.getAbandonReasons();
Última actualización
¿Te fue útil?