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.

Se aceptan dos argumentos, el primero el id del segmento y el segundo opcional con el estado a verificar. Este último recibe el estado como online o available .

El estado online entregará el número de agentes conectados en ese segmento.

Mientras que available entregará el número de agentes disponibles para atender, es decir, que no estén en llamada y conectados.

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.

La respuesta de la API retornará el total como un número,integer. Es decir, podrás almacenar el total directamente en una variable. No es un objeto.

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();

También es posible abandonar la fila indicando el motivo o razón, solo si tienes razones de abandono configuradas. Para obtener las razones de abandono dirígete aquí.

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'));

Para los siguientes métodos deberás usar nuestros dos SDKs Forms y Captcha, solo si deseas usarlos.


Obtener formulario

Con este método podrás obtener el formulario de un segmento. Recibe tres argumentos:

  1. ID del segmento

  2. Versión del formulario base o contact, por defecto base

  3. Despachar evento true o false (opcional)

phone.getForm(segmentId, version);

El valor de salida puede ser nulo, lo que significa que no hay formularios asociados y puedes continuar con la llamada.

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 ser pre-call o contact.

  • 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

El valor de salida puede ser nulo, lo que significa que alguno de los campos del formularios son inválidos o el token captcha expiró.

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

El valor de salida puede ser nulo, lo que significa que alguno de los campos de la encuesta son inválidos.

Obtener razones de abandono

Con este método podrás obtener las razones de abandono configuradas en tu cuenta.

const abandonReasons = await phone.getAbandonReasons();

Deberás verificar en tu cuenta que existen razones de abandono configuradas, de lo contrario obtendrás un error 404.

Última actualización