UCONTACT
Transforma la Experiencia de tus Clientes. Centraliza todas las interacciones de tus clientes en una plataforma unificada y mejora la eficiencia de tu Contact Center.
- Funcionalidades
- Perfiles
- Voz
- Campañas de voz
- Estrategias de timbrado
- Formato de archivo CSV
- Filtrado y ordenamiento
- Reciclado Automatico
- Reciclado Manual
- Marcadores de voz
- Omnicanal
- CRM Lite
- Integraciones
- APIs
- Autenticación Cliente
- Autenticación Agente
- Finalizar Sesión
- Colgar Llamada
- Agregar registro a marcador
- Subir Base
- Tipificar Llamada
- Crear Agente
- Agregar Agente a Campaña
- Hacer Llamada
- Obtener Campañas
- Obtener Dialers
- Grabaciones
- Seguridad
- Infraestructura
- Guías
- Academy
- Interfaz del agente
- Bandeja unificada
- Conference Calls - ESP
- El Softphone
- El perfil del agente
- Interfaz del administrador
- Creación de agentes
- Grupos de seguridad y creación de supervisores
- Directorio telefónico
- Estrategias de telefonía
- Configuración de campañas de Facebook y Messenger
- Reciclaje de listas para marcadores
- Subida de listas
- Logs del sistema
- Estrategias omnicanales
- Workforce Management
- Agenda de Capacitación
- Workshop
- Creacion y Edicion de Respuesta Pre-armadas
- Ajustes Basicos
- Preguntas frecuentes
- Borrado de cache
- Recomendaciones Previas
- Prueba de Conectividad
- No carga la pagina
- Error de Chrome version 80.0.3987.122
- Problemas de Audio
- Problemas de Micrófono
- Llamadas tardan en conectar
- Insertar número a blacklist
- Responder email a todos
- Plantilla de WhatsApp
- Responder Interacciones de texto al entrar llamada
- Mejorar el desempeño de equipo de computo
- Crear un agente
- Chrome no responde por inactividad
- Mejores Practicas para Marcadores
- Formatos aceptados en Webchat y WhatsApp
Funcionalidades
Principales características y funcionalidades del Sistema
| Descripción | VOZ | OMNI | |
| Funcionalidades de Voz | |||
| Gestión de campañas de voz. | SI | SI | |
| Entrantes | Ofrezca experiencias de voz de alta calidad a través de todas las interacciones entrantes. | SI | SI |
| Salientes | Ofrezca experiencias de voz de alta calidad a través de todas las interacciones salientes. | SI | SI |
| Mixtas | Ofrezca experiencias de voz de alta calidad a través de todas las interacciones combinadas. | SI | SI |
| Softphone | Inicie y/o responda llamadas directamente desde el Softphone móvil y de escritorio nativo de uContact. | SI | SI |
| Multicampaña | Mantente activo en más de una campaña al mismo tiempo. | SI | SI |
| Automatic Call Distribution (ACD) | Ponga su negocio en automático utilizando el detector automático de buzones de voz (ACD) nativo de uContact. | SI | SI |
| Enrutamiento inteligente y prioritario | Dirija de manera inteligente las llamadas entrantes al agente o departamento más apropiado dentro de su empresa. | SI | SI |
| Llamadas en cola | Conecta al cliente con el primer agente que se encuentre disponible. | SI | SI |
| Espera virtual | Permite a quien llama colgar y recibir una llamada sin perder su lugar en la cola. | SI | SI |
| Grabación de llamadas | Grabe y escuche las interacciones de todos los canales disponibles. | SI | SI |
| Formulario emergente | Un formulario aparece automáticamente tan pronto como finaliza una llamada. | SI | SI |
| Tiempo de Wrap-up | Intervalo de tiempo concedido al agente para gestionar las llamadas una vez finalizadas. | SI | SI |
| Llamadas en conferencia | Ten una conversación a tres y mucho más. | SI | SI |
| Pausas/Descansos personalizables | Asigne diferentes actividades de 'descanso' en función de las necesidades de los agentes. | SI | SI |
| Pautas para ‘Fuera de Horario’ y días libres | Notificación automática y personalizable cuando la llamada es fuera del horario laboral o sin tener campaña asociada. | SI | SI |
| Tiempo de espera estimado | Notificación a clientes del tiempo estimado de espera antes de ser atendidos por un agente. | SI | SI |
| Gestión de disposición | Códigos de categoría | Categorice los resultados de las llamadas (ocupado, no conectado, bloqueado/número incorrecto, abandonado y otros). | SI | SI |
| Monitoreo de llamadas | Escuche las llamadas para administrar la calidad de las llamadas y el desempeño de los agentes. | SI | SI |
| Marcadores automáticos | SI | SI | |
| Predictivo | Llama a múltiples números al mismo tiempo y, una vez que el cliente atiende, conecta la llamada con el primer agente disponible. | SI | SI |
| Powerdialer | Marcador que llama primero al agente y, con base en su disponibilidad, transfiere la llamada al cliente. | SI | SI |
| Preview | Primero llama al agente y, según su disponibilidad, luego transfiere la llamada al cliente. | SI | SI |
| Progresivo | Marcador que asigna a cada cliente un agente específico, con el cual interactuará siempre. | SI | SI |
| Progresivo Inverso | Configuración exclusiva del marcador Progresivo, pero llama primero al cliente. | SI | SI |
| Voice Broadcast (Campañas presione 1) | Transmisión masiva de mensajes de voz pregrabados (encuestas, notificaciones y más). | SI | SI |
| Detección automática de buzón de voz (AMD) | Detección automática de correos de voz y distinción entre voz humana y robótica. | SI | SI |
| Mixeo de listas | Asignación de prioridad de marcación a diferentes listas de contacto para obtener mayores niveles de contactabilidad. | SI | SI |
| Reciclaje automático de listas | Seleccione los contactos a los que desea seguir intentando contactar y genere una nueva lista de marcación. | SI | SI |
| Lista negra o ‘No Contactar’ | Crea una 'lista negra' y evita marcar ciertos contactos | SI | SI |
| Automatización de campañas de voz. | SI | SI | |
| Interactive Voice Response (IVR) | Construido con tecnología texto a voz, permite que las computadoras interactúen con humanos usando comandos de voz. | SI | SI |
| Text-to-Speech (TTS)* | Tecnología de asistencia que lee texto digital en voz alta. | SI | SI |
| Reconocimiento de voz automático | Convierte audios entrantes en texto utilizando modelos acústicos y de lenguaje. | SI | SI |
| Omnicanalidad | |||
| Bandeja de entrada unificada | Conecte con sus clientes en el canal digital de su elección, recibiendo las interacciones en un mismo lugar. | NO | SI |
| Centro de notificaciones unificado | Recibe notificaciones de nuevas interacciones de todos los canales en la misma barra de notificaciones. | NO | SI |
| Transferencia de interacciones | Transfiere cualquier interacción de un agente, grupo o campaña a otro. | NO | SI |
| Gestión de tipificaciones | Clasificación de interacciones digitales (no atendida, número incorrecto, abandonada, entre otras). | NO | SI |
| Encuestas de satisfacción | Reciba comentarios de los clientes al finalizar todas las interacciones. | NO | SI |
| Grabación omnicanal de interacciones | Grabaciones de audio y pantalla de todas las interacciones digitales. | NO | SI |
| Bots nativos | Automatice todas las interacciones digitales con los bots nativos y personalizables de uContact.. | NO | SI |
| WhatsApp Business | NO | SI | |
| Integración con WhatsApp Business oficial* | Oficialmente integrado a varios proveedores de WhatsApp Business certificados por Facebook (Gupshup, Infobip, Wavy y más). | NO | SI |
| Gestión de campañas entrantes | Reciba y responda interacciones directamente desde uContact, tal como lo haría desde la aplicación. | NO | SI |
| Plantillas preaprobadas | Utilice plantillas aprobadas por WhatsApp Business en sus campañas salientes. | NO | SI |
| Facebook & Facebook Messenger | NO | SI | |
| Reciba y gestione notificaciones cada vez que se mencione a la empresa en un comentario/publicación. | NO | SI | |
| Facebook Messenger | Reciba y responda mensajes directos desde su página de Facebook directamente desde uContact | NO | SI |
| WebChat | NO | SI | |
| Llamadas de audio con WebRTC | Inicie y/o responda llamadas de audio directamente desde su sitio web utilizando la tecnología Web RTC. | NO | SI |
| Llamadas de video con WebRTC | Inicie y/o responda videollamadas HD directamente desde su sitio web utilizando la tecnología Web RTC. | NO | SI |
| Compartir pantalla | Comparta su pantalla directamente desde WebChat. | NO | SI |
| Solicitar compartir pantalla | Solicita la pantalla de tu cliente. | NO | SI |
| NO | SI | ||
| Campañas de correo masivas y uno a uno | Envíe correos electrónicos a uno o varios destinatarios a la vez. | NO | SI |
| Envío y recepción de archivos adjuntos | Envíe y reciba archivos de forma segura con el Protocolo de transferencia de archivos (FTP). | NO | SI |
| Plantillas de correo electrónico personalizables | Utilice una de las plantillas de correo electrónico de uContact o cree o diseñe fácilmente la suya propia. | NO | SI |
| SMS & MMS | NO | SI | |
| Campañas de SMS masivas y uno a uno | Envía campañas de SMS a uno o varios destinatarios. | NO | SI |
| Servicio de mensajería multimedia (MMS) | Envía mensajes multimedia a uno o varios destinatarios. | NO | SI |
| Herramientas de desarrollo | |||
| Diseñador de Flujos | Cree sus propios flujos de trabajo con el diseñador de flujos de trabajo de programación low-code de uContact. | SI | SI |
| Diseñador y creador de Reportes | Utilice un formulario de captura de datos estándar, integre su propio CRM o cree sus propios formularios desde cero. | SI | SI |
| Diseñador de formularios | Utilice uno de los +200 informes disponibleso utilice nuestro diseñador de informes de código bajo para crear el suyo propio. | SI | SI |
| Workforce Management | |||
| Grabación Omnicanal de interacciones | Graba las interacciones de todos los canales digitales. | NO | SI |
| Grabación de llamadas | Grabar llamadas entrantes y/o salientes. | NO | SI |
| Grabaciones de pantalla ** | Grabaciones de pantalla HD | NO | SI |
| Entrenamiento de agentes (espía, susurro en tiempo real) | Escuche las conversaciones de su agente en tiempo real y susurre comentarios en tiempo real. | NO | SI |
| Encuestas de satisfacción | Reciba comentarios de los clientes al finalizar todas las interacciones. | NO | SI |
| Reportes y Analítica | |||
| Dashboards en tiempo real | Supervisión omnicanal y en tiempo real del rendimiento diario. | SI | SI |
| Histórico de reportes | Genere y acceda a informes con información desde el primer día usando uContact. | SI | SI |
| Alertas gráficas | Reciba alertas gráficas y automáticas cada vez que ocurra algo en su Contact Center. | SI | SI |
| Reportes Omnicanal | Generación de informes de estadísticas de todos los canales integrados. | SI | SI |
| Reportes estándar y personalizables | Utilice uno de los +300 informes preestablecidos de uContact o cree uno propio. | SI | SI |
| Calendario de reportes | Programe la generación de informes para una fecha y hora de su conveniencia. | SI | SI |
| Supervisión en tiempo real | Esté al tanto de lo que sucede en su Contact Center en todo momento y en tiempo real. | SI | SI |
| Informes de encuestas | Informar las respuestas de las encuestas de satisfacción enviadas. | SI | SI |
| Exportación de reportes (PDF, XLS, CSV) | Exporte informes en el formato de su elección. | SI | SI |
| Gamificación | |||
| Juegos y desafíos diarios personalizables | Establezca metas y desafíos diarios para mantener altos los niveles de motivación. | NO | SI |
| Objectivos por Agente, Groupo o Área | Establece objetivos a tus agentes, grupos y departamentos en tu Contact Center. | NO | SI |
| Recompensas y Reconocimientos | Otorgue insignias, recompensas y/o reconocimientos mensuales a sus agentes o grupos con mejor desempeño. | NO | SI |
| Avatars | Cada agente o supervisor tiene su propio avatar personalizable. | NO | SI |
| Rankings | Ranking en tiempo real de tus agentes según su desempeño en juegos y desafíos. | NO | SI |
| Seguridad y Monitoreo de calidad | |||
| Monitoreo de calidad | Califique, evalúe e informe formalmente en llamadas de agentes para medir el éxito. | SI | SI |
| Standard COPC | Instrumento para medir el rendimiento y la calidad de todas las interacciones. | SI | SI |
| Cifrado de interacciones | Todas las interacciones están cifradas de extremo a extremo para evitar el acceso no autorizado a los datos de nuestros clientes. | SI | SI |
| Permisos por tipo de usuario | Cada licencia tiene acceso a funciones y permisos específicos. | SI | SI |
| Aspectos generales | Técnicos | |||
| CRM Lite | Potente sistema CRM (nativo o integrado) para la gestión exitosa de campañas. | SI | SI |
| 100% Basado en navegador | Acceda a uContact directamente desde un navegador, sin necesidad de descargar aplicaciones ni instalar complementos. | SI | SI |
| Agentes en remoto | Gracias a su tecnología Web RTC, los agentes pueden acceder a uContact desde cualquier lugar. | SI | SI |
| Descansos/estados personalizables | Los agentes pueden cambiar su actividad de estado en tiempo real. | SI | SI |
| Múltiples idiomas | Inglés, español, portugués e italiano. | SI | SI |
Perfiles
uContact permite el acceso al portal haciendo uso de dos tipos de usuarios:
Agente
uContact Agente es un módulo enfocado en el agente de call center como solución total de integración con funcionalidades de: captura de datos, supervisión por estados y comunicaciones integradas con la plataforma.
Supervisor
uContact Supervisor es responsable de toda la gestión del sistema, administra y supervisa las campañas y los marcadores automáticos; se pueden crear permisos, usuarios, proveedores y se configuran los flujos de trabajo junto con los formularios y reportes.
Dado que la interfaz de acceso a uContact es 100% web, el usuario debe utilizar algunas de las siguientes características para el ingreso al portal:
Sistemas operativos
:AppleLgo: MacOS :WindowsLogo: Windows :UbuntuLogo: Ubuntu
Navegadores
:ChromeLogo: Chrome :FirefoxLogo: Firefox :Edge: Edge
Agente
Introduccion
uContact Agent es un módulo enfocado al agente de contact center como solución total a la integración con las funcionalidades referentes a captura de datos, supervisión por estados y comunicaciones integradas con la plataforma uContact.
Inicio de sesión
uContact Agent cuenta con un módulo de control de seguridad que identificará a los agentes con su perfil creado permitiendo tener un estricto control de las acciones de cada uno de los agentes del contact center. Una vez dentro de la sesión del agente, se muestra la siguiente pantalla:

Aquí podemos ver las distintas acciones del agente.
Teléfono
Contactos
El agente se encontrará con todos los contactos en el sistema, agrupados por estado (conectados y no conectados). También se puede realizar búsqueda por contactos en específico.
Interacciones
El agente logueado en el sistema puede mantener diferentes tipos de interacciones con los demás agentes, como la posibilidad de llamar directamente a uno, añadirlo a la sección de favoritos, iniciar un chat y/o transferir una llamada de forma atendida o ciega.
El chat permite intercambiar mensajes entre agentes, principalmente se usa para notificar acciones y/o eventos entre usuarios del sistema cuando están hablando.
El chat permite intercambiar mensajes entre agentes, principalmente se usa para notificar acciones o eventos entre usuarios del sistema cuando están hablando.
Para iniciar un chat se debe acceder al menú de agentes desde el softphone (teléfono desplegable en el lateral derecho de la pantalla), donde se selecciona al agente con quien se desea chatear. Seleccionando el logo de chat sobre el contacto se abre la conversación, aquí es posible ver el historial, enviar y recibir mensajes.
Cuando un agente recibe un mensaje de chat, se escucha una señal sonora y se muestra una notificación del sistema que incluye la identificación del agente emisor con su nombre y su foto de perfil.
El chat incluye la posibilidad de enviar un mensaje de broadcast a todos los agentes activos. El chat se encuentra dentro de la pestaña Unified Inbox, el cual contiene diversos canales de comunicación con los clientes.
Chat Grupal
Además de un chat entre agentes, también existe la posibilidad de chatear en grupo con miembros de una misma campaña. Se puede acceder a esta función seleccionando la campaña deseada desde la sección "contactos" en el softphone.
Historial
Permite ver el historial de llamadas que ha realizado el agente, ver si la llamada fue saliente o entrante (según la flecha), hora, fecha, número de teléfono y duración de la llamada.
También se indica en rojo si la llamada no fue atendida o si fue rechazada.
Al realizar clic en el número te redirige al teléfono, dejándolo listo para marcarlo.
Teléfono
Permite interactuar mediante llamadas externas. Dentro de las funcionalidades que se encuentran, se permite la selección de la campaña por la cual se emite la llamada (en el caso de tener más de una campaña saliente asignada).
Por otro lado se podrá iniciar una llamada (botón verde), cortar o rechazar llamada (botón rojo), indicar el número al cual llamar (cuadro de texto) o marcar mediante el panel de números el teléfono que se desea llamar.
Otras funcionalidades:
- Espera: Espera: Pone en espera la llamada
- Conferencia: Conferencia: Para iniciar una conferencia:
- Si el agente se encuentra en llamada:
-
Presionar el botón conferencia.
- La persona con quien se encuentra en llamada activa será transferida al Room de conferencia y esperará a que el speaker ingrese.
-
La persona que comenzó la conferencia podrá añadir más personas al Room marcando el número de la siguiente persona a añadir. Esto se puede hacer cuantas veces desee.
- Si el agente no se encuentra en llamada activa:
-
Presionar el botón conferencia.
-
Se creará un Room de conferencia.
-
La persona que comenzó la conferencia podrá añadir más personas al Room marcando el número de la siguiente persona a añadir. Esto se puede hacer cuantas veces desee.
-
Para ingresar al Room de conferencia, presione el botón de conferencia y se transferirá a la misma.
- Mute: Mute: Pone en mute el micrófono del agente.
- Video: Video: Activa el video en el teléfono, teniendo así la posibilidad de comunicarse por video llamada con el cliente
- Transferencia_atendida: Transferencia atendida: Cuando la llamada es transferida de forma atendida, el que transfiere se pone en contacto con la persona a la que se desea transferir, y si este acepta, la llamada es transferida.
- Transferencia_ciega: Transferencia ciega: Cuando la llamada es transferida ciega, la llamada pasa directamente al teléfono al que se transfirió.
Ventana de Transferencias
-
Agentes: Transferencia a agente perteneciente a una campaña del usuario.
-
Campañas: Transferencia a una campaña entrante que pertenezca el agente.
-
Número externo: Transferencia a un número externo a uContact.
Favoritos
Permite visualizar a los agentes agregados como favoritos.
Park
Cuando el agente tiene llamada activa y presiona Parking, se pondrá en espera al receptor y el agente quedará sin llamada activa para poder realizar otras. Cuando se quiera volver a la llamada, presiona el botón de teléfono verde. Otra manera de volver a la llamada es discando el número de lista, que se visualiza a la derecha del número, en el caso del ejemplo anterior sería 701.
SMS
Permite el envío de mensajes de texto a teléfonos celulares, indicando el número al cual se quiere enviar y la campaña.
Directorio Telefónico
Los usuarios podrán agendar contactos en su directorio, realizar una búsqueda más específica por el nombre de contacto, realizar llamadas, transferencias atendidas y ciegas de llamadas y eliminarlos del directorio telefónico personal de cada usuario.
Para agregar contactos el usuario tiene que hacer clic en el botón "+" ubicado en la esquina superior derecha del directorio. Se desplegará lo siguiente:
El usuario debe detallar el nombre y número del nuevo contacto para que quede agendado en el directorio personal del agente.
Despliegue del teléfono
Es posible mostrar y ocultar el tab del margen derecho dando clic al botón de despliegue que se encuentra en la esquina superior derecha, o bien utilizando el botón de despliegue que se encuentra en el margen derecho de la pantalla.
Llamadas
Notificación de llamada
Cuando el agente tiene una llamada entrante se le notificará con una alerta sonora así como también con un cuadro emergente fuera del browser o sobre el botón de despliegue como muestra la siguiente imagen.
Atender llamadas
Cuando ingresa la llamada, sobre el margen izquierdo aparece un icono que el agente puede utilizar para atender la llamada.
La llamada también puede ser atendida haciendo clic en el cuadro emergente así como también desplegando el margen derecho e ingresando al teléfono, es posible rechazar la llamada clicando en la cruz de cerrar la notificación. El sistema también posee AutoAnswer, si este es definido al atender la llamada, automáticamente un sonido de beep será escuchado por el agente para saber que tiene una llamada en curso.
Una vez atendida la llamada, sobre la parte superior de la pantalla se mostrará el tiempo transcurrido de la llamada.
Llamadas no atendidas
En el caso de que el agente no atienda la llamada, será derivada al siguiente agente disponible.
El sistema también tiene AutoAnswer. Si está definido, al tomar una llamada, el agente puede escuchar un sonido de pitido para saber que tiene una llamada en progreso.
El tiempo que posee el agente para atender la llamada está establecido en la campaña en la que se encuentre el agente.
Finalizar llamadas
Para finalizar una llamada el agente puede hacer clic en el botón Cortar, situado sobre el margen izquierdo o desde el teléfono del agente.
Al finalizar una llamada ya sea por parte del agente o el cliente vamos a escuchar un doble beep que nos va a indicar que la llamada fue finalizada.
Al terminar de completar un formulario, saldrá un pop up como el que se muestra en la imagen anterior.
Wrap up
Al finalizar la llamada el agente se encontrará en estado de WrapUp.
El WrapUp es un intervalo de tiempo en la cual el agente no podrá recibir ninguna llamada, esto es para que tenga un tiempo controlado para finalizar la gestión que corresponda.
El tiempo de WrapUp está establecido dentro de la campaña en la que se encuentre el agente.
Unified Inbox
Se le denomina Unified Inbox a la pantalla en la cual el agente atenderá todas las interacciones.
Se podrán filtrar las interacciones por canales seleccionando el icono de la misma en la parte superior.
:Transferir_interacción: Transferir interacción
El agente podrá transferir la interacción a otros agentes o a otras campañas.
-
Al presionar en Transferir se despliega una lista de agentes de la misma campaña ordenados alfabéticamente, conectados y desconectados.
-
Debajo se listarán todas las campañas a las cuales se puede transferir la interacción incluyendo aquellas que poseen bots.
:Fijar_interacción: Fijar interacción
Al hacer clic en el pin, el agente podrá mantener interacciones en la parte superior de la bandeja de entrada.
:Cerrar_interacción: Cerrar interacción
El agente podrá terminar la interacción.
-
Si la campaña a la que pertenece la interacción posee tipificaciones, al cerrarla se desplegará el modal de tipificaciones.
Búsqueda de Interacciones
El agente podrá acceder a la búsqueda de interacciones, para acceder a ellas se debe cumplir que: Pertenezcan a una campaña activa, el agente debe ser quien atendió la interacción, la misma debe estar finalizada y estar en un rango de un mes. Por defecto se traerán todas las interacciones finalizadas.
Actualmente se pueden buscar interacciones pertenecientes a campañas de Mail, SMS, HeyNow y Messenger.
En la parte superior encontraremos el Buscador de interacciones, el mismo buscará coincidencias en la casilla de correo destino, lo mismo para SMS, el sistema buscará coincidencias de números destino con el número ingresado. En el caso de Messenger las interacciones se ordenan por usuario y se filtran por el mismo.
:Buscador: Para realizar la búsqueda, el usuario también puede presionar la tecla enter.
:Cerrar_Buscador: Permite cerrar el buscador de interacciones y regresar a la Unified Inbox.
:Desplegable: Permite cambiar entre búsqueda de Mails, SMS, HeyNow o Messenger (vacío por defecto).
Al presionarlo se despliega un modal como el siguiente:
Cuando el agente es agregado a una nueva campaña, se le habilita el historial para ese canal.
El cuadro se actualiza al desplegarlo.
:CambioPagina: Permite buscar entre resultados en caso de tener mas de 10 interacciones que coincidan con los criterios de búsqueda.
Cabe destacar que al cerrar el modal y abrirlo nuevamente el sistema nos mostrará la última búsqueda realizada con la sesión actual.
La búsqueda de interacciones tendrá una opción de configuración que permitirá o no ver interacciones de otros agentes.
Descansos
Dentro de este ítem podemos asignar diferentes acciones de Descanso en base a las necesidades del agente.
-
:Almuerzo: Almuerzo.
-
:Baño: Baño.
-
:Personal: Personal.
-
:Entrenamiento: Entrenamiento.
-
:Reunión: Reunión.
-
:Datos: Datos.
-
:Marcación_Manual: Marcación manual.
-
:Canales: Canales.
-
y otros personalizados.
Es posible eliminar descansos de los por defecto o crear nuevos.
Es posible cambiar de un tipo de descanso a otro sin tener que estar disponible por un segundo, tan sólo pasando sobre el icono de descanso sin hacer clic.
El menú de descansos se desplegará solo y el usuario podrá elegir otro. Este feature facilita el cambio de un Descanso a otro sin dar chance a encontrarse disponible y que ingresen interacciones.
Pantalla en pausa
Estos son los cambios para advertir al Agente que se encuentra en Descanso.
-
Cuando el agente está en Descanso el icono cambia a un icono de play que palpita para advertir que se encuentra en Descanso.
-
El fondo de pantalla también cambia, por defecto, a gris (este color es modificable).
-
Y el logotipo de uContact se pone borroso.
Al salir del descanso el sistema restaura el fondo de pantalla al color principal.
Formulario
Los formularios son los que permiten hacer CTI. Esto significa que cuando se atiende una llamada, se muestra el formulario que contiene los datos del cliente basado en el callerid, parámetros que se pasen desde la telefonía y la lógica de los forms.
Ejemplo:
Funcionalidades Basicas
Introducción
Este manual está orientado a saber la operativa de la central telefónica uContact PBX incluidos dentro del producto uContact Contact Center y sus procesos de administración y configuración.
Esta central está orientada a resolver todas las funciones operativas de una central telefónica tradicional agregando módulos de administración y gestión con nuevas tecnologías.
Agregado a las funcionalidades básicas, se extienden una serie de opciones rápidas y servicios, integrados en un solo producto, lo cual permiten la administración de varios canales de comunicación con un solo dispositivo centralizado.
Funciones básicas:
Pickup
Permite levantar llamadas desde otros internos de las siguientes formas:
|
*8 |
Levantar una llamada del grupo (sección) |
|
* + XXX |
Levantar una llamada de interno XXX determinado |
Llamadas externas
Permite hacer llamadas hacia afuera de la central (dependiendo de los permisos que tenga el usuario), los permisos se asociaran a cada interno pudiendo:
-
Realizar llamadas locales.
-
Realizar llamadas internacionales.
-
Realizar llamadas a celulares.
-
Realizar llamadas a internos.
|
9 + número |
Llamada externa (de acuerdo a los permisos del interno) |
|
*25 |
Llamada externa con posibilidad de rellamada |
Desvíos
Es posible realizar desvíos con base en el estado del interno o directamente sobre la base de una solicitud especifica del usuario.
|
*62 |
Activar desvío cuando el interno está ocupado |
|
*63 |
Desactivar desvío cuando está ocupado |
|
*64 |
Activar desvío cuando no está disponible |
|
*65 |
Desactivar desvío cuando no está disponible |
|
*72 |
Activar desvío total del interno |
|
*73 |
Desactivar desvío total de interno |
|
*66 |
Chequear casilla de correo de voz |
|
*67 |
Borrado de mensajes masivos en la casilla de voz |
|
*88 |
Activación a demanda de grabación de llamadas del interno |
El desvío puede hacerse:
-
a otro interno (ej.: 214)
-
a un número externo digitando “9 + número” (ej.: 94013864)
Estado del teléfono
Permite establecer estados determinados al teléfono en el caso de que el usuario no quiera disponer de determinados servicios, o no ser molestado.
|
*78 |
Activar el modo “no molestar” |
|
*79 |
Desactivar el modo “no molestar” |
|
*91 |
Activar correo de voz |
|
*92 |
Desactivar correo de voz |
|
*50 |
Status del interno (Indica los servicios que están activados) |
|
*75 |
Dice mi número de interno |
Operativa puntual
Como realizar una llamada
Para llamadas externas se digita:
9+4013864
9+16
Nota: No se espera el tono después del 9, se marca todo junto.
Llamadas a internos: Se marca directamente el interno, por ejemplo: 205 o 207
Nota: para los teléfonos IP, después de digitar se puede marcar “send” o “#” para hacer más rápida la llamada.
Levantar la llamada de otro interno
*8. Marcando *8 se levanta las llamadas de un mismo grupo.
*100 para levantar el interno 100 si está sonando.
Transferencia simple o sin consulta (##)
Casos: A está hablando con B y A quiere transferir la llamada al interno de C, sin consultar si C quiere atender la llamada.
Pasos:
-
Cuando A y B están hablando, A marca ##, la central le dice “Transferir” y A digita el interno de C. Luego que A digita el interno escucha un tono entrecortado.
-
B queda en comunicación con el interno de C, o sea que escucha el ring hasta que C atienda o no.
-
Si C no atiende la llamada es retornada al origen.
Transferencia con consulta (#0)
Casos: A está hablando con B y A quiere transferir la llamada a C, consultándole si quiere hablar con B.
Pasos:
-
Cuando A y B están hablando, A marca #0, la central le dice “Transferir” y da un tono de invitación a marcar para que se digite el interno de C. B queda en espera.
-
A marca el interno de C y habla con C.
-
Si C quiere tomar la llamada, A debe cortar y queda comunicado C y B.
-
Si C no quiere tomar la llamada, A marca *, esto corta la comunicación entre A-C y queda hablando A con B, o directamente C corta y la llamada retorna a A.
Aparcar llamadas
La central tiene la posibilidad de aparcar llamadas. Por ejemplo: se está hablando con A y quiere hablar con B, pero no sabemos dónde está B, se puede aparcar la llamada de A mientras se encuentra a B, es como dejar a alguien en espera mientras se ubica al destinatario de la llamada.
Procedimiento para aparcar:
-
Cuando se está hablando con A se marca #3
-
La central indica la posición donde quedo la llamada. Ejemplo, la central dice: 701. O sea, que quedo la llamada aparcada en la posición 701.
Tomar una llamada aparcada:
Se digita la posición donde se aparcó la llamada. En el ejemplo anterior, se marca 701.
Sala de conferencias
Si se desea establecer una conferencia con más de tres personas se deberá utilizar una de las salas de conferencias de la central. Las salas de conferencia son como un interno más con la diferencia de que todos los que llamen a ese interno podrán hablar ente sí. Las salas son dinámicas, se crean marcando 555XXX, donde XXX es el número de la conferencia.
Para acceder a una sala de conferencias:
-
Llamar directamente a la sala: ejemplo marcar 555100
-
Ser transferido a la sala.
Para transferir a una sala se digita, ## (la central dice transferir)+ 555 + número de la sala.
Correo de voz
Notificación de correo de voz:
Teléfonos analógicos. El tono de invitación a marcar es entrecortado.
Teléfonos IP. Depende del equipo, pero en general lo indica en la pantalla.
Se puede configurar una notificación por mail a la casilla de correo, avisando que hay un correo de voz. También es posible adjuntar el correo de voz.
Consulta a la casilla de correo de voz:
-
se digita *66
-
la central pide la clave.
Es posible acceder a una cuenta de otro teléfono digitando: *66 + número de casilla (teléfono).
Es posible borrar todos los mensajes de la casilla digitando el *67. Para esto se solicita la contraseña de la casilla de voz y posteriormente se reproducirá un audio que consulta si se quieren borrar todos los mensajes; en caso afirmativo presionando 7 se puede borrar todo, en caso contrario la operación se anula.
Modo no molestar
Cuando esté ocupado y desee que su teléfono no suene deberá digitar el código *78. Desde el momento en que haga esto todas las llamadas dirigidas a su interno indicarán que el mismo se encuentra ocupado. Para desactivar este modo deberá marcar *79.
Redirección de llamadas
Total (incondicional)
Para que las llamadas a su interno sean redirigidas a otro, deberá digitar *72 y a continuación digitar el interno al que desea transferir las llamadas. Para deshabilitar esta función se debe digitar *73.
Cuando está ocupado
Si se desea que las llamadas destinadas a un interno sean redirigidas a otro, pero solamente en el caso de que el primero esté ocupado, se deberá digitar *62 seguido del número del interno al que se desean transferir las llamadas. Para deshabilitar este modo se debe digitar *63.
Cuando no se encuentra disponible
Si se desea que las llamadas destinadas a un interno sean redirigidas a otro, pero solamente en el caso de que el primero no esté disponible (cuando nadie atiende después de cierto tiempo), se debe digitar *64, seguido del número del interno al que se desean transferir las llamadas. Para deshabilitar este modo se debe digitar *65.
Habilitar y deshabilitar el correo de voz
Para habilitar el correo de voz en un interno se deberá digitar *91, mientras que para deshabilitarlo se debe digitar *92.
Supervisor
Inicio
Al iniciar uContact como Supervisor se encontrará con dos paneles:
-
En la sección superior están las tarjetas de información de cada canal junto a las licencias disponibles y agentes conectados.
-
Debajo vemos una gráfica de la cantidad de interacciones que ingresaron al sistema por canal en tiempo real.
Información de canales:
Estas tarjetas despliegan la cantidad de interacciones entrantes y salientes se obtuvieron hasta el momento en su correspondiente canal, las mismas se actualizan en tiempo real, por lo que sus valores varían a lo largo de la jornada.
Licencias disponibles:
Las licencias disponibles se calculan por la cantidad de agentes que están en línea, si uno sale del portal, se libera una licencia.En caso de que no haya licencias disponibles o las mismas se vencieron, no se le permitirá a los agentes ingresar al sistema.
Si creamos un usuario de tipo Supervisor con teléfono no afecta las licencias.
Tipos de licencias
Un contact center puede tener habilitados, además de las licencias del portal, licencias para gamification y/o channels, las mismas hacen referencia a la parte de juegos del portal y a la parte multicanal (Webchat, Redes Sociales, Email y SMS).
Puede pasar que channels esté habilitado pero gamification no, y viceversa.
En caso de pasar lo mencionado anteriormente, se verá como la siguiente imagen en las tarjetas del portal.
Notar que la opción habilitada aparecerá con un check mark a la derecha de la misma mientras que la otra se verá con una cruz.
Al hacer clic en need more licenses se despliega el modal de solicitud de licencias.
En el mismo se indicará la cantidad de agentes que desea poseer y tras hacer clic en Solicitar se enviará la solicitud para ser aprobada por el proveedor de uContact.
No se puede enviar una nueva solicitud si aún posee una pendiente.
No se puede solicitar la misma cantidad de agentes que posee.
Las solicitudes de licencias aplican únicamente para agentes
Permisos
El perfil de Supervisor puede ver en la sección lateral izquierda todas las funcionalidades admitidas para su grupo de seguridad.
Administración
Un usuario con permisos de administración tendrá las siguientes funcionalidades en el portal.
Supervisión
Un usuario con permisos de supervisión tendrá las siguientes funcionalidades en el portal.
Supervisor con teléfono
Si creamos un usuario de tipo Agente que posea el mismo nombre y contraseña que un usuario de tipo Supervisor, crearemos el Supervisor con teléfono.
A diferencia de un usuario de tipo Supervisor normal, este podrá pertenecer a campañas, utilizar el teléfono y utilizar los descansos que correspondan con los siguientes cambios:
Descansos
Sobre la parte superior de la pantalla podemos ver un icono con forma de taza.

Esta opción permite dejar al usuario en pausa.
Esto significa que el mismo no recibirá llamadas, solo ingresan las llamadas directas.
Cuando el usuario se encuentra en pausa, el temporizador comenzará a contar desde cero indicando el tiempo que se encuentre pausado.
Además, se podrá observar que el icono de estado cambia al tipo de pausa elegido.
Para salir de la pausa basta con presionar el botón Play.
Voz
Los marcadores permiten generar campañas de marcación directa bajo diferentes tipos de canales y de diferentes formas.
Campañas de voz
Recuerde que para comenzar con la configuración de campaña de voz, primero debe tener configurado su troncal.
Administración
Para agregar una campaña de voz, debemos dirigirnos al menú y dentro de la sección de “Administrador” seleccionar el desplegable “Campañas”, una vez en este punto seleccionar la opción “Voz”.
En primer lugar, debemos definir la dirección de campaña, es decir, se debe especificar que tipo de campaña es. Las posibilidades son:
-
Entrante - Permite recibir llamadas.
-
Saliente - Permite realizar llamadas.
Configuración Básica
Para crear nuestra campaña de voz hay que especificar únicamente:
-
Nombre
Cada campaña debe poseer un nombre único, sin espacios ni caracteres especiales. -
DID
(número telefónico) asociado a la campaña para fines de identificación. -
Cadena de marcado
Proveedor que se utiliza en la salida de llamadas por esa campaña.-
Aplica únicamente para campañas de tipo saliente.
-
-
Horarios
Por defecto la campaña poseerá un horario de L a V de 09:00hs a 17:59hs.
-
El resto de los campos estarán cargados por defecto con la información necesaria para un correcto funcionamiento.
-
Al presionar guardar nuestra campaña se creará y la veremos en la lista de campañas a la derecha de la pantalla.
Ahora nuestra campaña está configurada para recibir o hacer llamadas.
Dependiendo del enfoque que sea necesario darle a la campaña configuraremos los siguientes campos:
Form
Aquí se define el formulario que hay que desplegar al conectar una llamada con el agente.
-
Puede ser un formulario creado en el sistema. Leer más acerca de Forms
-
Pero también puede ser una URL, cuyo formato debe ser:
-
blank:URL - De esta manera indicando ‘blank:’ se abrirá un nuevo tab con la URL tras cada llamada conectada
-
URL|Form Name|true - De esta manera abrimos la URL en un iframe de uContact, le indicamos un nombre con el primer pipe "|" y habilitamos a cerrar el form con el segundo.
-
Ejemplo
-
https://www.yourpage.com|FormName|true - Esto desplegará una URL en un iframe de uContact.
-
blank:https://www.yourpage.com - Esto abrirá un tab del navegador con la URL indicada.
-
La URL debe comenzar con HTTPS, si es solamente HTTP se bloquea.
-
Las URL siempre deben ser ingresadas por completo con https://www
Descansos personalizados
En la sección Descanso se definen descansos personalizados para la campaña, estos descansos los verán todos los agentes asociados a ella.
-
Para agregar un descanso, ingresar el nombre del mismo.
-
Presionar '+' (el descanso se agrega a la lista).
-
-
Para eliminar un descanso, seleccionar el descanso de la lista.
-
Presionar '-' (el descanso se elimina de la lista).
-
Caller ID para campañas salientes
El CALLERID puede tener el siguiente formato:
PREFIJO#CALLERID-RANDINI-RANDFIN
El CALLERID es el único obligatorio.
Al colocar un prefijo antes del CALLERID, indicamos que queremos utilizarlo en caso de que el número a llamar tenga ese prefijo.
Formato de archivo con distintas posibilidades:
PREFIJO1#CALLERID1-RANDINI-RANDFIN
PREFIJO2#CALLERID2
PREFIJO2#CALLERID1-RANDINI-RANDFIN
CALLERID3-RANDINI-RANDFIN
CALLERID4
¿Cómo elige el discador a partir del número de destino?
Si existen prefijos que coincidan:
-
Se elige uno de forma aleatoria entre ellos.
Si no existe prefijo que coincidan:
-
Se elige aleatorio entre los genéricos. (Obligatorio al menos uno)
En todos los casos se puede usar RANDINI-RANDFIN (deben tener el mismo largo).
Esto genera un número aleatorio dentro de este rango y concatena dicho número al callerid elegido.
También se puede subir un archivo CSV de Caller ID con el mismo formato que se muestra anteriormente.
Esto aplica tambien para marcadores de voz
-
Si el DID es menor a 5 números es necesario hacer modificaciones en los flujos
De lo contrario puede contactarse con Clever Ideas -
Cada DID corresponde a una campaña.
-
En caso de requerir el mismo DID para múltiples campañas, es necesario modificar los flujos.
-
De lo contrario puede contactarse con Soporte Clever Ideas
-
-
Se pueden asociar más de un número telefónico a la campaña separando los mismos con el símbolo &.
Audio
Si nuestra campaña va a ser Entrante podemos definir diferentes audios.
-
Bienvenida
Cuando el cliente se comunica con la campaña escuchará este audio. -
Fuera de Hora
Se reproduce cuando el cliente llama fuera del horario de la campaña.-
Para estos casos tenemos la casilla Buzón de Voz.
Al activarlo, a la campaña se le asignará una casilla de mensajes de voz. -
En el cuadro desplegado se debe escribir el número del buzón de voz.
Ver más en la sección Buzón de Voz.
-
Configuración avanzada general (entrantes y salientes)
Al configurar una nueva campaña ya sea de tipo entrante o saliente, podremos encontrar los siguientes parámetros:
Email
Se configura un email asociado a la campaña para recibir alertas de la misma.
Wrap-up
Tiempo para que no envíe otra llamada luego de cortar.
Permite al agente terminar lo que esté haciendo (ej. ingreso de datos).
Nivel de servicio
Umbral para calcular nivel de servicio. Duración de la llamada estimada como buena para la gestión.
Calidad
Se pueden asociar uno o varios modelos de calidad a la campaña.
Umbrales
Esta sección permite definir umbrales para la supervisión de la campaña.
Grabar
Si se graban o no las llamadas entrantes a los internos en las campañas, la definición de grabación de salientes se realiza en el flujo de llamadas directamente.
Setear GUID como nombre de la grabación en el flujo antes de entrar a la campaña.
Configuración avanzada entrantes
Si desea modificar alguno de los siguientes campos es importante comprender bien los conceptos y qué valor le agrega a su negocio.
Parámetros
Música en espera
Nombre del archivo WAV que se utiliza para la música de espera a conexión con agente (lo escucha el cliente).
Tiempo máximo
Cuánto tiempo se deja sonar en el teléfono del agente antes de pasar a otro.
Reintento
Cuanto tiempo esperar antes de tratar a todos los miembros nuevamente.
Máximo
Máxima cantidad de personas esperando en la cola de la campaña (0 sin límite).
Peso
Prioridad de la campaña, a más peso más prioridad.
Retraso de agente
Espera del agente antes de poder hablar con el cliente o escuchar anuncio.
Contexto
Contexto para que, si se digita algo mientras se está en la campaña, se vaya a este.
Tiempo de anuncio
Cada cuantos segundos se reproduce el audio indicado en anuncio periódico (0 es off).
-
El tiempo se toma desde el comienzo del audio. Por ej.: si dice 20, cada 20 segundos se reproducirá el audio sin importar cuánto dure el mismo.
-
Tener esto en cuenta según el largo del audio a reproducir (debería ser más corto que el tiempo de anuncio)
Anuncio periódico
Nombre de un audio para ser reproducido cada cierto tiempo durante la espera en la cola cuando no hay agentes disponibles.
Tiempo de espera en cola
Auto-respuesta
Si está activada, las llamadas que ingresen por esta campaña se atenderán automáticamente sin darle la opción al Agente de atender.
Estrategia
Redondeo segundos
Redondea el anuncio del tiempo de espera a los segundos de redondeo más cercanos configurados en esta opción.
Controla el valor a redondear cuando anunciamos el tiempo de espera de la persona que llama. Por ejemplo, si las opciones de redondeo de segundos se establecen en 30, en lugar de decir "1 minuto y 23 segundos", el valor se redondearía al valor de 30 segundos más cercano, lo que daría como resultado un aviso de "1 minuto y 30 segundos". Como se redondeará los segundos: 0, 5, 10, 15, 20 o 30.
Entrar en vacía
Salir en vacía
Salen de la campaña si se vacía.
Fuera de horario
Mensaje que se reproduce cuando la campaña se encuentra fuera de horario.
Propiedades
Reportar tiempo de espera
Si se reporta o no el tiempo de espera que estuvo el cliente en la cola, al agente.
Tiempo para restart
Si está seleccionado, el timeout que tiene el agente para contestar la llamada es reseteado si la llamada da como estado BUSY (ocupado) o CONGESTION (congestión).
Cuando los agentes retornan NOANSWER (no responde), esto también causa que la cola de llamadas se mueva al próximo agente.
Esto es útil para los agentes que pueden rechazar o cancelar la llamada.
Ring en uso
Si puede llamar más de una vez a un agente que se encuentra ocupado.
Tiempo de anuncio
Cada cuantos segundos se anuncia la posición de la campaña o el tiempo de espera (0 es off).
Anunciar posición
Si se le anuncia o no, al cliente, la posición en la que se encuentra esperando en la cola de la campaña.
Anunciar tiempo de espera
Si se anuncia o no el tiempo de espera al cliente.
Espera virtual
Cuando el cliente corta la llamada estando en la cola esperando, queda en una espera virtual.
Cuando “virtualmente” le toca el turno, se hace un callback al cliente automáticamente al número de teléfono del que llamó (sucede con llamadas abandonadas).
Habilitar encuesta de satisfacción del cliente
Mostrar tipificaciones
En caso de que la campaña posea tipificaciones creadas, al terminar la llamada, al agente se le habilitará un cuadro para tipificar la llamada.
Miembros
Para agregar un miembro seguiremos los siguientes pasos:
-
En la columna campañas se selecciona una o varias campañas a las cuales se desea agregar o quitar miembros.
-
Seleccionamos uno o más agentes de la columna agentes y presionamos agregar.
-
En la columna miembros veremos a los agentes agregados a la campaña.
Selección múltiple
-
Al seleccionar varias campañas se muestran todos los agentes que pertenecen a estas.
-
En caso de que el agente que se desea agregar no aparece en la lista de agentes (sobre la derecha) es debido a que el mismo ya pertenece a todas las campañas seleccionadas.
-
Si se seleccionan varias campañas y se elimina uno de los agentes, el mismo se eliminará de todas las campañas seleccionadas a las que pertenezca.
-
Si se seleccionan varias campañas y se agrega uno de los agentes, el mismo se agregará a todas las campañas seleccionadas.
Estrategias de timbrado
Existen 7 estrategias de distribución de llamadas en uContact, las cuales son:
-
ringall
-
leastrecent
-
fewestcalls
-
random
-
rrmemory
-
linear
-
wrandom
Estos tipos de estrategias están determinados por el estado del agente al momento de entregarle la llamada.
| Ringall |
Toma en cuenta a los agentes disponibles |
Esta estrategia hará ring en todos los agentes disponibles hasta que uno atienda la llamada. |
| Leastrecent |
Toma en cuenta el tiempo sin llamada |
Esta estrategia busca al agente que menos recientemente haya sido llamado, tratando que todos los agentes contesten el mismo número de llamadas. Distribuye para la interfaz que menos recibió llamadas. Esta estrategia no revisa la fecha de ingreso del agente al sistema presentándose el caso similar a la estrategia FewestCalls. |
| Fewestcalls |
Toma en cuenta llamadas atendidas |
Esta estrategia llama al agente que menos llamadas haya completado. El algoritmo no revisa la fecha de ingreso del agente al sistema. Por lo tanto si un agente se registra más tarde que los demás, y los primeros ya han contestado llamadas, todas las llamadas posteriores serán enrutadas a este agente hasta que complete como mínimo el mismo número llamado del que menos haya contestado. Si el agente que ingresó de último está ocupado, la siguiente llamada será enrutada al agente que menos llamadas haya contestado de los disponibles. |
| Random |
Toma en cuenta a los agentes disponibles |
Puede utilizar esta estrategia si desea distribuir las llamadas de manera aleatoria (al azar) entre los agentes disponibles. |
| Linear |
Toma en cuenta el orden de conexión del agente |
Mediante esta estrategia los agentes se colocan en una fila por el orden de agregado a la cola. Esta estrategia puede no ser eficiente en la distribución de las llamadas con los agentes, ya que si el primer agente atiende y finaliza las llamadas rápidamente antes de que ingrese una nueva llamada, todas las que ingresen, le serán asignadas a este primer agente. |
| Rrmemory |
No tiene en cuenta la penalización |
Esta estrategia es RoundRobin con memoria. El sistema recuerda al último agente que se intentó llamar, por lo tanto en la próxima llamada, el agente al cual se le entregará la misma será el siguiente en la lista. A modo de ejemplo, si existen tres agentes 1, 2, 3, la primera llamada seguirá la secuencia 1->2 (El último agente que atendió la llamada fue el 1, por lo que se le pasa la próxima al 2). Si la llamada es contestada, la siguiente llamada será para 3->1 y si es contestada, la siguiente llamada será 2->3->1, y no repite el agente que se intentó llamar |
| Wrandom |
Tiene en cuenta la penalización |
Como bien dice su nombre esta estrategia distribuye las llamadas de manera equilibrada pero random entre los agentes disponibles de la campaña siendo aquellos con mayor penalización los últimos en recibirlas. Se toma en cuenta la penalización del agente, cuanto mayor sea el valor de penalización, existirán menos posibilidades de que al agente le sea entregada una llamada. |
Formato de archivo CSV
El archivo .csv para marcadores sube números telefónicos en forma masiva, a los cuales el sistema tiene que llamar.Este mismo tiene un formato en específico para así ser válido a la hora de subirlo al sistema.
Formato de base
Para discadores de tipo Progresivo:
1nombreCampaña;teléfono;informaciónAdicional;teléfonosAlternativos;prioridad;teléfonoAgenteLos demás tipos de discadores:
1nombreCampaña;teléfono;informaciónAdicional;teléfonosAlternativos;prioridad Valores
-
nombreCampaña
Detalla el nombre de la campaña tal cual está creada en el portal. -
Teléfono
Se detalla un solo teléfono, el cual será el principal para el contacto. Si el usuario lo desea, puede detallar qué tipo de teléfono es, utilizando las iniciales M, W, H que se detallarán más adelante. -
informaciónAdicional
Se detallará información adicional que luego le servirá al agente cuando esté interactuando con el cliente, cargando toda esa información en el formulario desplegado. Esta información deberá ser detallada con el nombre de la variable, el símbolo de igual "=" y su valor. Por ejemplo, nombre=Mario. Si hay más de una variable o información adicional a detallar, las mismas deben ser separadas por el símbolo de dos puntos ":". -
teléfonosAlternativos
En esta división estarán el o los teléfonos adicionales del contacto. Si el usuario lo desea, puede detallar qué tipo de teléfono es, usando las iniciales M, W, H que se detallarán más adelante; si se detalla esto es obligatorio que el usuario indique otro campo que es el de los reintentos, esto quedaría, por ejemplo, M=0=098447120. Si hay más de un teléfono a detallar, las mismas deben ser separadas por el símbolo de dos puntos ":". -
Prioridad
Es la prioridad que va a tener la llamada en la cola. La mayor prioridad es 1 y la menor es 9999, si queremos que una llamada se efectúe antes que cualquier otra llamada le damos prioridad 1, si a su vez tenemos varios contactos con la misma prioridad lo que hace es tomar al azar respetando los niveles de prioridad. -
teléfonoAgente
Parámetro utilizado solo para marcadores Progresivos, se le asigna este teléfono de cliente a ese agente en especial. O puede ser el nombre del agente (usuario en uContact).
El sistema contiene tres tipos de número de teléfono diferentes:
-
M - Mobile (Número de teléfono celular del contacto)
-
W - Work (Número de teléfono del trabajo del contacto)
-
H - Home (Número de teléfono del hogar del contacto)
-
P - Priority (Número de teléfono prioritario que es tomado por encima de los otros 3)
Ejemplos:
|
Campaña |
Teléfono |
Data |
Teléfonos Alternativos |
Prioridad |
|---|---|---|---|---|
|
CampañaDialer<- |
M=098344484 |
1nombre=Juan Pedro Pastorini:CI=58815601 |
1H=0=099124484:M=0=099111111 |
9999 |
|
Campaña |
Teléfono |
Data |
Teléfonos Alternativos |
Prioridad |
|---|---|---|---|---|
|
CampañaDialer<- |
098344484 |
1nombre=Juan Pedro Pastorini:CI=58815601 |
1H=0=099124484:M=0=099111111 |
9999 |
|
Campaña |
Teléfono |
Data |
Teléfonos Alternativos |
Prioridad |
|---|---|---|---|---|
|
CampañaDialer<- |
M=098344484 |
1nombre=Juan Pedro Pastorini:CI=58815601 |
1H=0=099124484:M=2=099111111 |
9999 |
|
Campaña |
Teléfono |
Data |
Teléfonos Alternativos |
Prioridad |
|---|---|---|---|---|
|
CampañaDialer<- |
098344484 |
1nombre=Juan Pedro Pastorini |
1 |
9999 |
|
Campaña |
Teléfono |
Data |
Teléfonos Alternativos |
Prioridad |
|---|---|---|---|---|
|
CampañaDialer<- |
H=27095555 |
1nombre=Juan Pedro Pastorini:CI=58815601 |
1H=0=27093877:M=0=099111111:W=27091111 |
2 |
Archivo .csv:
|
|
Notas importantes sobre el archivo .csv
Siempre que se genera un marcador se deben de tener en cuenta los siguientes criterios para los archivos y su contenido:
-
El nombre del archivo no deberá de tener espacios, caracteres extraños, ni nombres muy largos, un ejemplo de archivo sería: DISCTEST.csv
-
La primera columna que hace referencia a la campaña deberá existir en el sistema, si la misma no existe dará error y no dejará subir el archivo.
-
Deben de al menos existir las cuatro primeras columnas para subir el archivo correctamente.
-
No deben de existir espacios en blanco después de la última línea con el fin de evitar que se levanten registros sin información.
-
Dentro de los campos de variables, no puede haber caracteres especiales como ´ ‘ “ @ etc., ya que pueden afectar la performance del sistema, en el caso de que se encuentren estos caracteres, dará error y no dejara subir el archivo.
-
El parámetro Teléfono de Agente se utiliza SOLO para el tipo de discador Progresivo.
-
El número de teléfono principal, si se le detalla que tipo de número, es con las iniciales M, H o W; al mismo no se le añade el número de reintentos, esto SOLO sucede con los números de teléfonos alternativos.
Filtrado y ordenamiento
El requerimiento solicitado implica la implementación de un formulario, el cual debe permitir la creación de filtros personalizados para su posterior aplicación en las listas de contactos cargadas en los marcadores, con el fin de que se pueda modificar la prioridad con la cual se realizan las llamadas a sus clientes sin la necesidad de tener que cargar nuevamente listas con las prioridades modificadas.
Actualmente en el formulario podemos visualizar lo siguiente:
Pestaña de creación de métodos
Novedades:
- Se puede seleccionar más de una lista.
- Se pueden agregar hasta cuatro líneas (condiciones) de parámetros.
- Cuando se elige el tipo de método “Ordenamiento”, se agrega como último parámetro el campo “Orden” en cada línea de parámetros, el cual permitirá elegir entre ascendente y
- Se cambia de pestaña la tabla de eliminación de métodos de filtrado/ordenamiento.
- Cartel de advertencia mencionando que las listas seleccionadas deben compartir los mismos parámetros.
Pestaña de modificación o eliminación de métodos (nueva pestaña):
Novedades:
- Opción de modificar un método mediante un botón. Al seleccionar un método y presionar el botón modificar, se abrirá la pestaña de creación de métodos con los todos los parámetros del método seleccionado cargados. Se podrán agregar más listas, así como parámetros
Pestaña de aplicación de métodos:
Novedades:
- Los mismos métodos pueden aparecer en los desplegables de varias listas, ya que ahora se pueden crear métodos para más de una lista en específico.
- Al presionar el botón aplicar se mostrará un modal pidiendo indicar confirmación a la vez que se muestra información específica del método a aplicar
IMPLEMENTACIÓN
Se diseñaron dos formularios, uno para la creación y eliminación de filtros para listas de contactos específicas y otro para la aplicación de estos filtros, que también cuenta con una tabla para la visualización del ordenamiento de la lista actual.
Formulario de Creación y Eliminación de Filtros:
Formulario de Aplicación de Filtros:
MODO DE USO
El usuario que cuente con los permisos para acceder a los formularios podrá proceder de la siguiente manera:
- Para poder crear el filtro, nos dirigimos a “FormularioFiltro”, que se encuentra en el apartado de Formularios en el menú de Supervisor.
- Una vez que se nos desplegó el formulario, procedemos a la elegir un nombre para el filtro. El mismo debe ser único ya que mientras exista un filtro con un nombre determinado, no se podrá crear otro que se llame de la misma manera.
- Ya elegido el nombre, elegimos ahora la campaña de marcador en la cual está cargada la lista de contactos para la cual queremos crear el filtro. Al seleccionar una campaña de marcador, podemos seleccionar una lista de contactos que se tenga cargada en dicha campaña.
A continuación, corresponde crear la lógica de cómo trabajará el filtro.
Para esto contamos con las secciones de “Unir estas condiciones con” e “Ingrese prioridad”.
En el primero encontramos los campos “Columna”, “Operador” y “Valor”.
- En el campo “Columna”, están definidas las variables con las que el cliente carga los datos del marcador, las cuales son un ID de cliente y ocho variables más. Esto se puede adaptar si en algún momento el cliente requiere agregar más variables al momento de cargar las listas al marcador. Cabe mencionar que, por lo mencionado en sesiones anteriores, quien esté creando el filtro sabe a qué corresponde cada variable
- El campo “Operadores”, cuenta con variables de operadores que permiten asignar sobre qué criterio se quiere trabajar. Por ejemplo, si se quieren priorizar las llamadas a los clientes cuya deuda es mayor a tal monto, seleccionamos “Es mayor que”.
Estamos trabajando en los operadores de texto para poder trabajar el filtrado sobre variables no numéricas (está avanzado
- El campo “Valor” es donde se inserta lo que se quiere evaluar. Continuando con el ejemplo anterior, para priorizar las llamadas a los clientes cuya deuda es mayor a 5000, ese es el valor que hay que escribir en el campo.
Ejemplo completo
También es posible añadir una opción extra al filtro, presionando el botón “+” que se encuentra a la derecha, a manera de complementar el filtro con algún otro valor. Si se opta por añadir una opción más, se habilita el campo superior “Añadir estas condiciones con”, la cual es obligatoria para la creación del filtro con más de una opción.
Luego de tener definida la lógica con la que va a trabajar el filtro, hay que definir la prioridad con la que se quiere actualizar los contactos sobre los que el filtro va a trabajar. Los marcadores trabajan con valores que van del 1 al 9999, siendo el primero el de mayor prioridad y el segundo el de menor prioridad.
Una vez que ya tengamos todas las variables definidas, le damos a guardar
Ahora tenemos un filtro creado para una lista de contactos específica de una campaña de marcador, y lo podemos visualizar en la tabla del apartado “Eliminar Filtros”, que muestra todos los filtros creados hasta el momento.
- Para eliminar un filtro, simplemente basta con seleccionar el filtro desde la tabla y presionar el botón “Eliminar Filtro” que se encuentra debajo
Para aplicar el filtro creado anteriormente, volvemos al apartado “Formularios” del menú de Supervisor y seleccionamos “FormularioOrdenamiento”.
Es importante aclarar que, para aplicar un filtro, es necesario que el marcador en el cual se encuentra la lista de contactos que se desea modificar se encuentre apagado.
En este formulario, seleccionamos la campaña de marcador para la cual creamos el filtro y a continuación seleccionamos el filtro que queremos aplicar.
Una vez seleccionado el filtro, damos click en el botón “Aplicar”.
Una vez aplicado el filtro, podemos reanudar el marcador para que se continúe llamando con el nuevo orden, o podemos aplicar otro filtro sobre la misma lista de ser necesario.
También en el formulario de ordenamiento, contamos con una tabla que nos muestra una visualización de cómo quedaron ordenados los contactos una vez que fue aplicado el filtro.
Reciclado Automatico
La principal idea con esta funcionalidad es la reutilización de listas usadas en marcadores. Mediante la ayuda de parámetros nos podemos traer listas terminadas de determinados marcadores para tal o cual período de tiempo que nosotros queramos.
Para hacernos de esta función debemos buscarla dentro de Marcadores.
Al ingresar en Reciclaje, nos aparecerá la siguiente pantalla:
-
Fecha Final: Fecha de fin del período de tiempo que queremos buscar. También se puede elegir la hora de ese día elegido como fin de fecha del período.
-
Marcadores: Se muestran todos los marcadores creados en el portal.
-
Listas: Cuando seleccionamos un marcador, el sistema carga en esta sección las listas para reciclar para ese marcador.
Existen criterios de reciclaje personalizados que permiten modificar la base original reciclada adecuándola a nuevas formas de marcado que permitan quitar, ordenar o modificar la forma de marcado originalmente designada.
En la sección Resultado se encuentran tres listas:
:Gestión: Gestión: Se encuentran los resultados que tuvo la última gestión a ese contacto realizada por un agente, por ejemplo puede ser: Venta, Seguimiento, Correo de voz, etc.
:Telefonía: Telefonía: Hay dos opciones y no se pueden borrar; que es cuando el discador no se contacta con el cliente, estas opciones son AMD (Answering Machine Detection) y No Contactados.
:Personalizado: Personalizado: Se puede seleccionar la manera en que se comportará el marcador con la lista reciclada, dentro de sus opciones se encuentra:
-
Barrido Horizontal: Este tipo de orden permite ordenar la lista para que sea procesada de forma Horizontal en vez de Vertical. Cuando se pasa a barrido horizontal, siempre se intentara marcar al contacto en todos sus intentos (para reintentos propios como para teléfonos alternativos) antes de pasarse a una prioridad mayor que el resto de los registros.
-
Orden_XXXX: Este tipo de criterios permiten ordenar los números de la lista quedándonos con los tipos de contactos que se especifiquen en XXXX (ej.: si elegimos Orden_MU nos quedaremos únicamente con los tipos de contacto M=Móvil y U=Desconocido) es importante saber que los contactos de tipo P siempre estarán presentes. El resto de los teléfonos del contacto serán eliminados para solo marcar los que el orden especifique.
Si fuese necesario, se pueden agregar nuevos criterios a gusto del cliente si en el futuro fueran necesarios.
Se pueden seleccionar múltiples resultados de una misma lista y de ambas a la vez.
En la sección Administrar Resultados se pueden crear nuevos tipos de Resultados, los cuales podrán verse, una vez agregados, en la lista de Gestión.
En el primer recuadro de texto el usuario podrá escribir el nombre del Resultado que quiere agregar, y presionando el botón "+", se agrega a la lista de al lado y a la de Gestión en la sección de Resultado.
Con el botón "-" el usuario elimina el Resultado seleccionado de la lista en que aparecen todos los creados, esto se aplica a la lista de Gestión en la sección Resultado.
Una vez elegidos Fecha Inicial, Fecha Final y seleccionado un Marcador, se mostrarán en la sección Listas, las listas usadas (terminadas) por ese marcador en ese período de tiempo.
Por consiguiente, de la Lista elegida de una campaña, me quedo únicamente con los contactos que cumplen con el Resultado seleccionado.
Base de Datos:
ccrepo.cdr_repo
disposition = "NOANSWER" - No Contact
userfield = "MACHINE1234" - AMD
userfield = "Creados por el Usuario" - nombre del filtro nuevo
Al presionar el botón de Reciclaje se vuelve a añadir esa Lista en el discador de esa campaña.
Luego de haber presionado el botón de Reciclaje, el recuadro entre la sección de Resultado y Administrador de Resultados se llenará con los datos especificados:

Telefonía: Al presionar este botón, el usuario es redirigido al Dashboard del Marcador para el cual se recicló la lista.
Los Registros son la cantidad de contactos que recicló de la lista seleccionada dependiendo del Resultado elegido. Si al querer reciclar aparece un pop-up que dice “No hay registros para reciclar”, quiere decir que por el filtro de resultado elegido en esa lista para esa campaña, no hay contactos que podamos reciclar.
La lista reciclada se guarda en la sección Listas del discador seleccionado, la cual debe ser activada para que el discador comience a utilizarla.
El nombre de la lista cambia haciendo referencia al reciclaje que se le realizó de la siguiente manera: primero pone una R (aparecerá una R por cada vez que la lista se recicle) además aparecerá el nombre de la lista a reciclar sin la fecha y por último la fecha y hora en la cual el reciclaje se hizo en formato yyyymmddThhmmss (R + Nombre original sin fecha + yyyymmddThhmmss). Es importante recordar esto cuando tenemos muchas listas y los nombres pueden llegar a ser confusos.
Ejemplo
Si vamos a la pantalla de reciclaje, se muestra así:
Completamos las fechas que deseamos buscar, las listas de la campaña que queramos reciclar, y aparecerá la siguiente pantalla:
Luego seleccionamos el Resultado por el cual queremos filtrar la lista y presionamos el botón Reciclar:
Ahora la lista ya se recicló y se cargó en la campaña, si presionamos Telefonía nos dirigimos a Marcadores y veremos la campaña a la cual le reciclamos la lista:
Si vamos a la pestaña Listas podremos ver nuestra lista reciclada:
Lo que resta es activar la lista y ponerle el porcentaje de prioridad para darle Play y que la lista comience a correr.
Además, se puede observar el nombre de la lista reciclada, al principio una R de reciclado, luego el nombre de la lista, seguido por la fecha, y hora actual en la cual el reciclaje se realizó.
Reciclaje Automático
Esta función permite definir un comportamiento de reciclado para cada Marcador; se le puede indicar el tipo de contacto a reciclar, o la cantidad de veces que se desea reciclar cada lista.
Reciclado Manual
- Descargar un reporte en CDRS/Completo por campaña
- El reporte debe contener todas las marcaciones que ha tenido en el transcurso del día
- Si el reporte es demasiado grande, descargar en dos partes
- Quitar el check de TODOS
- Seleccionar únicamente la campaña a la cual se le realizara el reciclado
El reporte debe descargarse en formato CSV
Una vez que tenemos el reporte en CSV comenzamos a trabajarlo, de la siguiente manera:
- Eliminar los números telefónicos duplicados
Para evitar que cargar registros duplicados y marcar más de una vez al número reciclado
- Esto lo haremos desde el Menú Datos, Quitar duplicados
Quitar datos duplicados
- lo haremos solo por la columna E, que es la columna que contiene los destinos o bien los números telefónicos de los clientes. Una vez seleccionada la columna E damos clic en Aceptar
- Nos enviará un mensaje en el cual nos dirá cuántos registros únicos nos quedaron para trabajar, damos click en aceptar.
Procedemos a eliminar las columnas
Eliminaremos todas excepto:
- Destino
- Disposition
- campo usuario
- Cola
Solo dejaremos dichas columnas quedando nuestro archivo así;
Filtros
Haremos los filtros para eliminar lo que no necesitamos y proceder a cargar nuestra base, en la columna B (dispositions) dejaremos todo excepto las Congestion, Damos click en aceptar.
El segundo filtro que haremos sobre nuestro archivo es en la columna C (Campo Usuario), quitaremos las dispositions o tipifiaciones:
PROMOCION, VACIAS Y LAS QUE COMIENCEN CON LA PALABRA MACHINE
Seleccionamos todos los registros que quedaron filtrados los copiamos y los pegamos en otra hoja en Excel:
Una vez pegado en otra hoja en Excel…
Vamos a preparar el archivo de tal manera que las columnas nos queden de la siguiente manera:
- Moveremos a la columna A el nombre de la cola o campaña a la que le estamos haciendo el reciclado
- En la columna B dejaremos el destino (número telefonico del cliente),
- En la columna C dejaremos el parAndValues
- La columna D la dejaremos en Blanco
- En la columna E pondremos 9999 en todos los campos hasta el final de la lista
Por ultimo guardamos el archivo en CSV, delimitado por comas (Archivo-Guardar como):
Una vez guardado se procede a subir la campaña al marcador de Ucontact.
Marcadores de voz
Los marcadores permiten generar campañas de marcación directa bajo diferentes tipos de canales y de diferentes formas.
Omnicanal
Dentro de la sección omnicanal encontramos todos los medios de comunicación distintos de telefonía.
A continuación se encuentra la lista de canales disponibles, también se encuentran algunos tips para recordar a la hora de configurar cualquiera de los canales.
Estrategias de timbrado
Existen 5 tipos de estrategias de distribución en uContact:
-
Incall
-
Nocall
-
Interaction
-
Múltiple
-
Omni
Estos tipos de estrategias están determinados por el estado del agente al momento de entregarle la interacción.
IncallToma en cuenta la telefonía |
Un agente está apto para recibir una interacción si no se encuentra en una llamada ni tampoco en pausa. A su vez, una vez entregada una interacción con esta estrategia el agente no puede recibir llamadas ni interacciones de ningún tipo. (Lo coloca pausa sin dejar log). |
NocallNo toma en cuenta la telefonía |
Un agente está apto para recibir una interacción si no se encuentra en pausa. Este tipo de estrategia permite recibir varias interacciones al mismo tiempo además de llamadas. El comportamiento antes de repartir cada interacción es preguntar cual fue el ultimo agente que atendió a ese cliente. En caso de que el ultimo agente que haya atendido a ese cliente esté disponible y no haya llegado al máximo de interacciones, se las da a él. |
InteractionRingall y Ringallmultiple; Estas dos estrategias ofrecen al agente la posibilidad de elegir cuándo y cual interacción atender. |
Ambas estrategias dan la posibilidad de atender al agente, aún cuando se está hablando |
OmniToma en cuenta la telefonía |
Esta estrategia le brinda prioridad a los agentes disponibles. Es decir que al llegar una interacción, se priorizan los agentes disponibles. A su vez, si todos los agentes están ocupados, la interacción se deriva a cualquiera de ellos La cantidad de interacciones que llegue a cada agente dependerá de la cantidad ingresada en la configuración de la campaña. |
A su vez existen dos formas de distribuir las interacciones entre los agentes disponibles.
WrandomToma en cuenta penalización |
Se toma en cuenta la penalización del agente entre valores 0 y 100, cuanto mayor sea el valor de penalización existirán menos posibilidades de que al agente le sea entregada una interacción. Como bien dice su nombre, esta estrategia distribuye las interacciones de manera equilibrada, pero aleatoria entre los agentes disponibles de la campaña, siendo aquellos con mayor penalización los últimos en recibir interacciones. |
RrmemoryNo toma en cuenta penalización |
Ordena los agentes en una fila. Por lo tanto, las interacciones se repartirán siguiendo un orden. Una vez entregada una interacción a un agente, este recibirá la próxima una vez todos los demás agentes lo hagan también. |
Cuando realizamos un cambio en la estrategia de la campaña, las interacciones que ya estén en cola, mantendrán la estrategia previa al cambio. Todas las interacciones nuevas, es decir posteriores al cambio, poseerán la nueva estrategia. Para ver el cambio es necesario esperar a que termine la cola.
Webchat
Esta herramienta permite la comunicación en tiempo real con los clientes mediante un chat online. Para usarla se deben establecer previamente las configuraciones detalladas a continuación.
Administración de Webchat
Los usuarios que administren las campañas de WebChat en el sistema deberán contar con un perfil que les permita acceder a las opciones de gestión de las mismas desde el menú de administración.
Configuración básica de Webchat
-
Nombre
Es el nombre utilizado para identificar la campaña de WebChat en el sistema. -
Estrategia
Es el comportamiento que va a tomar la campaña al momento de entregar las interacciones a los agentes. Ir a Estrategias por más información. -
Nivel de Servicio
Refiere a la cantidad de tiempo máxima (en segundos) que disponen los agentes para atender las interacciones que llegan a la campaña. Si el tiempo de espera para una interacción que haya estado en cola es mayor al tiempo configurado para este parámetro, el nivel de servicio bajará. Eso se puede ver en el dashboard de supervisión para la campaña en cuestión. -
Horario
Horario en el cual los agentes podrán atender las interacciones. Si una interacción llegase fuera de horario, el sistema mostrará un mensaje advirtiendo la situación (ese mensaje se puede establecer mediante el parámetro “Mensaje Offline” de la configuración avanzada). Para agregar una configuración de horarios se utiliza el botón '+' y para eliminar una seleccionada de la lista se usa el botón '-'.
Luego de guardar su configuración, la campaña se creará en el sistema y se mostrará en la tabla de la derecha. Esta lista todas las campañas creadas en el sistema según su grupo de seguridad.
Compatibilidad de Videollamadas
Escritorio
Sistemas Operativos:
:WindowsLogo: Windows
:AppleLgo: Mac
:UbuntuLogo: Ubuntu
Móviles
Sistemas Operativos:
:Android: Android 9
:AppleLgo: iOS 13
iOS únicamente soporta el navegador Safari.
Bots en Webchat
Vea cómo configurar un flujo de bots en uContact en Omnicanal - Bots
Mensajes Configurables
Para WebChat poseemos varios mensajes que pueden programarse para ser enviados o desplegados en diferentes momentos, por ejemplo, si no hay agentes disponibles o si la campaña se encontrase fuera del horario.
Bienvenida
Mensaje desplegado al cliente cuando la campaña de WebChat se encuentra disponible. El usuario que administre la misma puede configurar tres mensajes correspondientes a cada idioma, es (español), en (inglés), pt (portugués). Para esto se debe seleccionar un idioma y escribir el mensaje de bienvenida personalizado para el mismo.
Fuera de horario
Mensaje desplegado al cliente cuando la campaña esté fuera de hora. El usuario que administre la misma puede configurar tres mensajes correspondientes a cada idioma, es (español), en (inglés), pt (portugués). Para esto se debe seleccionar un idioma y escribir el mensaje de bienvenida personalizado para el mismo.
No disponible
Para el escenario en que se supere la cantidad máxima en espera de interacciones permitidas de acuerdo a la configuración de campaña, el cliente que ingresa será notificado con el mensaje configurado en este campo.
Mensaje Automático Agente
Este mensaje será enviado automáticamente al cliente cuando inicie la interacción.
Mensaje Offline
Cuando la campaña se encuentre fuera de horario y se encuentre activada esta casilla, el cliente podrá dejar un mensaje, el cual luego se podrá leer en la parte de “Grabaciones Webchat”.
Comentarios
Al finalizar la interacción, se mostrará el mensaje definido en este campo
En caso de que se defina el tiempo máximo (parámetro de la configuración avanzada) en cero, cuando la campaña llegue a su horario de Final de Hora, los clientes que se encuentran en cola de espera serán avisados que la campaña no se encuentra disponible.
Parámetros
Interacciones Máximas por Agente
Limita el número de interacciones activas que puede tener un agente. Las interacciones restantes quedan en cola. Válido únicamente para estrategia nocall.
Calidad
Se asignará un modelo de calidad a la campaña. Una vez finalizada la interacción el agente podrá responder al modelo de calidad, la respuesta aparecerá en Grabaciones de Webchat.
Umbrales
Son métricas para realizar las estadísticas de las campañas en tiempo real, las mismas se miden en tiempo (segundos). Para más información visite Umbrales - Omnicanal.
Chats Máximos
Este valor numérico indicará el número máximo de chats que se podrán encontrar en cola, los chats que sobrepasen este número serán rechazados y al cliente se le mostrará el mensaje especificado en el campo No disponible.
Tiempo Máximo
Es el tiempo máximo que un cliente se encontrara en espera. Si pasado este tiempo la interacción no fue atendida, al cliente se le desplegará el mensaje especificado en el campo No disponible.
En caso de que se defina el Tiempo máximo en cero, por lo que no tendrá un tiempo máximo definido, cuando la campaña llegue a su horario de Final de hora, los clientes que se encuentran en cola de espera serán avisados que la campaña no se encuentra disponible.
Color
La ventana de Webchat para esta campaña tendrá el color que se defina aquí.
Finalizar Automáticamente
Se finalizará de forma automática la interacción con el cliente en caso de que el mismo se desconecte y continúe en estado de desconexión durante un periodo mayor al establecido en este campo.
Mostrar nombre del agente
En caso de estar habilitado, el cliente podrá ver el nombre del agente que lo atendió, de lo contrario, simplemente aparecerá Chat y una foto de perfil vacía.
Habilitado
Si se encuentra chequeada, la campaña puede ser utilizada.
Habilitar Feedback
Cuando la interacción finaliza, el cliente podrá puntuar su experiencia. La puntuación será visible en Grabaciones Webchat.
Habilitar Email
Si esta opción se encuentra activada, se le requerirá al cliente que indique su dirección de email al iniciar la interacción.
Permitir Audio y Video
Cuando se encuentra activado, el cliente podrá iniciar llamada o videollamada con el agente.
Tener en cuenta que el agente debe estar configurado para recibir videollamadas, para más información ver Codecs en creación de Agentes
Imagen de campaña
Permite establecer una imagen como logo de la empresa, la cual se mostrará como foto de perfil estándar de cada agente que se encuentre dentro de la campaña de esta empresa.
Campo teléfono webchat
Se puede configurar un campo extra de información para que el cliente complete cuando se va a iniciar una interacción. Por ejemplo, el número telefónico o documento de identidad del cliente.
Este campo puede ser configurado como dato Requerido para iniciar la conversación u opcional. Para utilizarlo, active la casilla Visible.
Dominios permitidos
Este campo nos permite ingresar la URL donde tendremos el webchat para evitar que el mismo pueda ser usado desde otra URL.
Respuestas prediseñadas
Estas son respuestas que el supervisor configura para que los agentes tengan un acceso rápido a mensajes de uso frecuente con fin de hacer más efectivo su trabajo.
Botones
Tras seleccionar una campaña creada de la lista, en la sección inferior de la configuración veremos los siguientes botones:
-
Generar código
Genera el código de Webchat automático que será dado a los desarrolladores para ser aplicado en su página. -
Ver ejemplo
Una vez que la campaña se encuentre configurada, se podrá tener una previsualización del funcionamiento de la misma. -
WordPress plugin
Embeber Webchat en la página web utilizando un plugin de Wordpress. Visitar Wordpress Plugin para Webchat para más información.
Miembros
Para agregar o eliminar agentes a las campañas el usuario debe pasar a la sección de Miembros en la parte superior izquierda de la pantalla de configuración.
Agregar Miembro
-
En la columna Campañas se selecciona una o varias campañas a las cuales se desea agregar o quitar miembros.
-
Seleccionamos uno o más agentes de la columna Agentes y presionamos Agregar
-
En la columna Miembros veremos a los agentes agregados a la campaña.
IMPORTANTE
Los miembros que sean añadidos a la campaña deben encontrarse previamente en una campaña de voz, de lo contrario, los agentes no recibirán interacciones de este tipo.
Con esta herramienta, los usuarios de uContact pueden recibir y enviar emails utilizando la plataforma. Unificando y facilitando las interacciones.
Administración de Email
Para poder gestionar la configuración de las campañas de email en uContact es necesario contar con un usuario con permisos de administración en el sistema.
Configuración básica de email
Aquí se pueden crear las campañas de email
Datos de Campaña
-
Nombre
Nombre que lleva la campaña de email. -
Nivel de Servicio
Es el tiempo en que se deben atender las interacciones que llegan a la campaña, si el tiempo de espera es mayor al estipulado en el campo, el nivel de servicio baja. -
Estrategia
Es el comportamiento que va a tener la campaña. Para obtener más información sobre las diferentes estrategias. -
Horarios
Horario en el cual la campaña estará disponible, es decir, con agentes disponibles para atender las interacciones. Para agregar una configuración de horarios es con el botón '+' o eliminar una seleccionada de la lista con el botón '-'. -
From name
Es el nombre con el que se muestra la cuenta de correo asignada a la campaña cuando llega al destinatario.
Para finalizar el proceso de creación, el usuario debe hacer clic en el botón "Guardar".
Parámetros
Interacciones máximas por agente
Cantidad de interacciones de esta campaña que puede poseer el agente al mismo tiempo. Se requiere únicamente para la estrategia nocall. Visite Estrategias para ver más.
Habilitado
Si se encuentra chequeada, la campaña puede ser utilizada.
Firma
Dentro de la sección Templates, se podrá crear un template de firma y se asigna aquí. Cuando un agente responda/redacte un mail vía esta campaña se cargará la firma asignada automáticamente.
Habilitar calificación
Cuando este check está activo, nos habilita dos campos más que se utilizan para configurar la calificación de los emails salientes.
Una vez tengamos todo configurado y guardado, cuando se envíe un mail a través de esta campaña el receptor podrá calificarlo.
Umbrales
Son métricas para realizar las estadísticas de las campañas en tiempo real, las mismas se miden en tiempo (segundos).
Mensaje de Confirmación
Si este campo se encuentra activado, se le podrá adjudicar un Template a la campaña. El mismo funcionará de la siguiente manera, cuando un cliente envía un mail ingresando por esa campaña, al cliente se le responderá con un mail automático conteniendo el Template adjudicado, al agente dentro de la campaña se le iniciará la interacción.
Interacciones máximas en cola
Número de interacciones máximas para actualizar la cola.
Una vez creada la campaña, la misma aparecerá en la lista situada a la derecha de la pantalla.
De esta manera si el usuario la selecciona, los datos de dicha campaña serán cargados en los campos de la sección de la izquierda, habilitando al mismo a modificar la campaña.
La campaña puede ser eliminada del sistema cuando es seleccionada, haciendo clic en el botón de "Eliminar".
Miembros
Para agregar o eliminar agentes a las campañas, el usuario debe pasar a la sección de Miembros en la parte superior izquierda de la pantalla de configuración.
Agregar Miembro
-
En la columna Campañas se selecciona una o varias campañas a las cuales se desea agregar o quitar miembros.
-
Seleccionamos uno o más agentes de la columna Agentes y presionamos Agregar.
-
En la columna Miembros veremos a los agentes agregados a la campaña.
IMPORTANTE
Los miembros que sean añadidos a la campaña deben encontrarse previamente en una campaña de voz, de lo contrario, los agentes no recibirán interacciones de este tipo.
Templates
Fácilmente diseña tus propios templates.
Cada uno de estos puede ser asignado a una campaña en específico.
¿Cómo crear un template?
Para crear un nuevo template, el usuario debe especificar el nombre del mismo en el campo superior y la campaña a asignarlo en el de abajo, lo cual es opcional activando/desactivando lo mismo con el checkbox de al lado.
En caso de que el template sea creado sin una campaña adjudicada, el template aparecerá para todas las campañas del sistema.
Si el usuario desea editar un template ya creado, se debe seleccionar el mismo de la tabla y el mismo es desplegado para ser modificado
Marcadores de email
Permite enviar emails de forma masiva.
¿Cómo crear marcadores de email?
Para crear un marcador el usuario debe completar los campos:
-
Campañas: Se listaran todas las campañas de email y así asociar una de ellas a la campaña a configurar.
-
Tiempo entre mensajes: Indicara el tiempo, en segundos, que demorara en entrar una nueva interacción luego de haber finalizado una.
-
Agenda: Se agenda una fecha en el cual se desea que el marcador funcione. Como ejemplo se puede colocar que el marcador funcione de Lunes a Viernes de 13hs a 18hs el cual comenzará a discar si se encuentra dentro del horario establecido.
-
Templates
Se adjudicará un template ya creado en la sección Templates de campañas de Email. -
Adjuntar agenda
El usuario podrá adjuntar un evento en el mail.
Se desplegará lo siguiente para lograr configurarlo:
-
Título
Nombre del evento. El título del evento también puede contener variables parametrizables, esta última será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable}-
Organizador
Detalle de quien organiza el evento. El nombre del organizador del evento también puede contener variables parametrizables, esta última será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable} -
Fecha de inicio parametrizable
Se podrá elegir una fecha inicial utilizando parámetros. Este último será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable} -
Fecha final parametrizable
Se podrá elegir una fecha final utilizando parámetros. Este último será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable} -
Fecha inicio
Utilizando el calendario se seleccionara una fecha inicial. -
Fecha final
Utilizando el calendario se seleccionara una fecha final.
-
Listas de email
En esta pantalla se suben y administran las listas para los marcadores de email.
Supervisión de email
Monitoreo de campañas de email
Aquí se podrán ver las estadísticas en tiempo real de las campañas de Email.
Información en pantalla
Tabla inferior izquierda
La tabla que se encuentra en la sección inferior izquierda muestra:
-
Icono: Icono del estado del agente. Junto con el icono del estado puede aparecer: en caso de que el agente este en una llamada, aparecerá un teléfono; y si el agente esta en break aparecerá la imagen correspondiente a ese break.
-
Estado de Canales: Si el agente se encuentra con una interacción activa, dependiendo el canal, aparecerá su logo correspondiente SMS, Webchat, Email y Redes sociales, entre otros. Pueden aparecer juntos si es el caso.
-
Estado: Estado del agente en tiempo real. Los estados pueden ser Desconectado, Ocupado, Libre, Libre en break y Ocupado en break (siendo break cualquiera de los disponibles).
-
Agente: Nombre del agente.
-
Completados: Cantidad de Emails completados por el agente salientes y entrantes.
-
Activas: Señala las interacciones que el agente mantiene activas.
-
Tiempo: Tiempo desde el último cambio de estado del agente.
Tabla inferior derecha
La tabla que se encuentra en la sección inferior derecha muestra los datos de los clientes de email que se encuentran en espera:
Email: Email con el cual el cliente envió la interacción.
Espera: Tiempo que el cliente lleva esperando a ser atendido.
Acciones con agentes
Cuando se da clic sobre un agente con interacción activa, se desplegaran las siguientes opciones:
-
Espía
El supervisor podrá visualizar en tiempo real los emails intercambiados entre el agente y el cliente. -
Monitorear Pantalla
Permite visualizar la pantalla del agente en tiempo real, para ver este botón debe estar habilitada la opción de monitorear pantalla en Configuración - Agentes. -
Info
Despliega una ventana con toda la información del agente. -
Pausa
El supervisor pausara la sesión del agente evitando el ingreso de interacciones. -
Chat con agente
Nos da la posibilidad de enviarle un mensaje a un agente. -
Desloguear agente
El supervisor podrá desloguear al agente del portal.
El agente deberá ingresar su usuario y contraseña nuevamente para poder ingresar y continuar trabajando.
Grabaciones de Email
En esta sección se podrán ver todas las conversaciones de Email.
Búsqueda de Grabaciones
Parámetros de filtrado
-
Fecha inicio: Fecha desde la cual se desea iniciar la búsqueda de grabaciones de Email.
-
Fecha final: Fecha hasta la cual se desea obtener las grabaciones de Email.
-
Email: Dirección de Email entrante.
-
Asunto: Asunto del Email entrante.
-
Campaña: Seleccionar las campañas de Email de las disponibles en la lista.
-
Agente: Seleccionar los agentes que atendieron el Email.
Visor de grabaciones de email
Cuando el usuario presiona sobre uno de los mails, el mismo se abre de esta forma:
En la esquina superior derecha se encuentra el icono de impresora, con el cual el mail podrá ser impreso.
En la esquina superior derecha veremos un botón de Play para iniciar el marcador y botón de Stop para detenerlo.
Cuando el marcador se inicia, aparecerá una gráfica indicando el porcentaje de emails procesados.
Cuando el mismo llegue a 100%, todos los mails existentes en el registro habrán sido enviados.
Campañas
Permite seleccionar la campaña para supervisar.
Nombre de la lista
Detallada el nombre de la lista que se encuentra activa y al lado su estado:
-
Inactivo
-
Activo
Estado
Muestra el estado general de la campaña en base a los siguientes estados:
-
Inactivo
-
Activo
En fecha
Muestra si la campaña está en fecha según la definición que tenga para ejecutarse, con los siguientes estados:
-
Inactivo
-
Activo
Procesadas
Cantidad de Emails procesados por la campaña.
No procesadas
Cantidad de Emails restantes por procesar en la campaña.
Enviados
Cantidad de Emails que fueron procesados y se enviaron correctamente.
Fallido
Cantidad de Emails que fueron procesados pero no se enviaron correctamente.
Visto
Cantidad de Emails que fueron abiertos por el receptor.
Rechazado
Número de mails que fueron rechazados.
Spam
Número de mails que ingresaron a spam, los mismos están registrados en blacklist.
Al abrirlo, el mismo se despliega en el lado derecho de la pantalla, mostrando el historial de interacciones e información del cliente en la parte superior como:
-
Nombre de la campaña de email
-
Email del cliente
-
Nombre del cliente
Cuando el usuario recibe un email, podrá responder el mismo enviándolo a la misma persona o Reenviarlo a varias otras clicando el icono con la flecha.
-
Si el mail que el usuario quiere reenviar contiene adjuntos, los mismos se adjuntan automáticamente al mail al que se reenvía.
En el apartado de Redes Sociales podemos encontrar Messenger integrado a la plataforma uContact. Esta sección describe el proceso de creación y configuración de campañas para dicho canal.
Administración de Messenger
-
Tener en cuenta que para activar Facebook Messenger es necesario permitir desde el explorador web las ventanas pop-ups. Esto permitirá continuar el proceso de creación sin inconvenientes.
-
El usuario que configure la campaña de Facebook Messenger en uContact, debe estar logueado como administrador de la página que desea asociar.
Configuración de campaña de Messenger
Para poder aplicar los siguientes pasos para asociar la cuenta de Facebook en uContact, primero que nada debe de existir una página de Facebook creada para la cuenta de Facebook en cuestión.
Configuración básica
-
Nombre: Nombre para identificar la campaña de Facebook Messenger
-
Nivel de Servicio: El nivel de servicio es el porcentaje de las interacciones que fueron atendidos/abandonadas por el agente antes/después de un tiempo límite estipulados.
-
Nombre de la página: Aquí es necesario ingresar solamente el nombre de nuestra página de Facebook tal cual está escrita (no la URL, sino solamente el nombre). Deben ser respetados: acentos, mayúsculas, espacios, etc.
-
Estrategia: Es el comportamiento que va a tener la campaña.
-
Horario: Por defecto la campaña trae por defecto el horario de L a V de 09:00 a 18:00.
-
Para agregar horarios se seleccionan los días de la semana y horarios Desde y Hasta en formato 24 hs. Luego presionamos '+' , se carga nuestro horario a la lista y hacemos click en Guardar.
-
Para eliminar un horario simplemente lo seleccionamos de la lista, presionamos el botón '-' y click en Guardar.
-
Recuerde que tanto para activar campañas como para que las interacciones lleguen a uContact desde messenger, debe poseer una IP publica en la IP Externa de la sección Configuración - Telefonía.
Configufracion Avanzada
Umbrales: Son métricas para realizar las estadísticas de las campañas en tiempo real, las mismas se miden en tiempo (segundos).
-
Tasa de abandono: Es el tiempo transcurrido de mensajes para considerar que los mismos fueron abandonados por los clientes durante el día.
-
Tiempo chat: Tiempo transcurrido para considerar que el mensaje entre agente y cliente llego al límite, terminando asi la interacción. El valor cero indica al sistema que no existirá un tiempo limite para para las interacciones entre agente y cliente.
-
ACD: Cantidad máxima de clientes que están en la cola de la campaña esperando para ser atendidos por un agente de la campaña.
Interacciones Máximas por Agente: Limita el numero de interacciones activas que puede tener un agente. Las interacciones restantes quedan en cola.
Fuera de horario: Mensaje que le aparecerá al cliente si la campaña esta fuera de hora. El usuario puede configurar tres mensajes diferentes en su correspondiente idioma, es (ESPAÑOL), en (ENGLISH), pt (PORTUGUES). Selecciona un idioma y escribe el mensaje de fuera de horario personalizado, luego selecciona otro idioma y así con los que desee.
Habilitado: El sistema puede tener registrado una campaña que no se encuentre en funcionamiento sin necesidad de eliminarla, de esta manera el supervisor no perderá datos relevantes de la misma. Si este checkbox se encuentra seleccionado la campaña quedará activa en el sistema.
Respuestas Pre-armadas: Se pueden diseñar respuestas pre-armadas, las cuales aparecerán en una lista cuando el Agente se encuentre en una interacción con el cliente. Utilizando los botones de + y - debajo del cuadro de mensajes se podrá agregar o borrar respuestas de la lista.
Activacion de campaña
Luego de ingresados los parámetros para la creación de la campaña de Facebook Messenger en uContact, al presionar el boton “Guardar” se presenta una ventana pop-up para activar la misma en el sistema.
El usuario deberá presione “Continuar” siempre y cuando el usuario relativo a la cuenta de Facebook en cuestión, tenga permisos de administración de la página que se desea asociar.
Al continuar, se le solicitará al usuario elegir del listado de páginas disponibles para dicha cuenta de Facebook, cuál de estas se requiere asociar a la campaña de uContact.
Luego de presionar el boton “Siguiente”, se deberá habiltar los permisos necesarios para manejar Facebook Messenger para dicha cuenta.
Es importante destacar que se deben habilitar y aceptar TODOS los permisos que se muestran en este paso para que la integración funcione correctamente.
Luego de hacer click en “Listo”, Facebook notificará visualmente en la siguiente pantalla que la conexión fue realizada exitosamente.
Por último tras presionar el botón “Aceptar”, se mostrará una imagen que confirmará la activación exitosa de la página de Facebook en la campaña correspondiente, que se deberá cerrar para terminar el proceso.
A partir de ese momento, la campaña de Facebook Messenger estará lista en uContact para recibir interacciones. Solamente resta agregar a los agentes que serán miembros de la campaña que se acaba de crear para que estos comiencen a procesar las interacciones que los clientes realicen sobre la pagina.
Para ver el estado de la campaña se recomienda hacer clic en el icono de refrescar en la esquina superior derecha de la tabla de campañas
Tener en cuenta
En caso de que el ícono de 'TOKEN ACTIVO' aparezca en rojo quiere decir que la campaña está inactiva.
Esto puede ocurrir cada un determinado tiempo estipulado por Facebook en base a sus políticas de seguridad.
Para activarla nuevamente, seleccionamos la campaña y presionamos el botón ‘Activar con Facebook’ en la esquina inferior izquierda de la pantalla de configuración, luego de eso seguiremos los pasos de activación nuevamente
Miembros
Para agregar o quitar agentes de las campañas, el usuario debe seguir los mismos pasos mencionados en el apartado Agregar Miembros.
IMPORTANTE Los miembros que sean añadidos a la campaña deben encontrarse previamente en una campaña de voz, de lo contrario los agentes no recibirán interacciones de este tipo.
Agente Messenger
El usuario tipo agente podrá utilizar Facebook Messenger de la siguiente manera.
Interacciones
El agente tendrá en su bandeja de interacciones el mensaje con el cual comenzó la interacción.
El mismo se titulará con el nombre de la campaña por la cual ingresó y el nombre del usuario que lo envió, debajo de esto aparecerá el comienzo del mensaje.
El agente deberá abrir la interacción para poder visualizar el mensaje entero y arriba de la interacción se detallará:
-
La campaña por la cual está ingresando el mensaje
-
El nombre de usuario de Facebook de la persona que lo mandó.
Debajo podrá ver el cuadro para redactar y los siguientes botones:
-
Respuestas Prediseñadas
En la configuración de campaña se podrán añadir respuestas pre-definidas, las cuales aparecerán en esta sección para que el agente pueda utilizarlos directamente. -
Adjuntos
El Agente podrá adjuntar diferentes tipos de archivos al mensaje. -
Emojis
Se desplegará una lista con emojis para añadir a los mensajes. -
Enviar
Enviará el mensaje escrito al usuario.
Supervisor de Messenger
Monitoreo de campañas de Messenger
Los usuarios con perfil supervisor podrán ver las estadísticas en tiempo real de las campañas de Facebook Messenger.
Para acceder al panel de estadísticas de la campaña se deberá acceder a través de el menú lateral de uContact en la sección Supervisor->Campañas->Redes Sociales y seleccionar la pestaña de Messenger en la esquina superior derecha de la pantalla:
Detalle de tabla inferior izquierdo
Muestra una información completa de los agentes y como se van desempeñando en la campaña en cuestión. La información que los supervisores pueden identificar de los agentes participantes es:
Icono de estado del agente: Junto con él puede aparecer: en caso de que el agente esté en una llamada aparecerá un teléfono; y si el agente está en break aparecerá la imagen correspondiente a ese break.
Estado de Canales: Si el agente se encuentra con una interacción activa, aparecerá el logo de la misma. Pueden aparecer más de un tipo de logo, dependiendo del tipo de interacción.
Estado: Estado del agente en tiempo real. Los estados pueden ser: Desconectado, Ocupado, Libre, Libre en break y Ocupado en break (siendo break cualquiera de los disponibles).
Agente: Nombre del agente.
Completados: Cantidad de interacciones (conversaciones con el cliente) completadas por el agente.
Tiempo: Tiempo de la último cambio de estado del agente.
Detalle de tabla inferior derecha
Muestra los datos de los clientes de Facebook que se encuentran en espera de ser atendidos por un agente del sistema. La informacion especifica de los clientes es:
Usuario: Nombre de usuario de Facebook del cliente.
En Espera: Tiempo que el cliente lleva en espera.
Grabaciones de Messenger
Todas las interacciones son guardadas en el sistema, las mismas pueden ser vistas en esta sección filtrando por fecha, usuario y campaña.
En la esquina superior derecha del recuadro donde se despliegan los mensajes, se encuentra el icono de refrescar.Al presionarlo, si la interacción se encuentra activa, cada mensaje nuevo que llegue se cargará en el recuadro y la conversación podrá ser seguida en tiempo real.
Crear Página de Facebook
Si no dispone de una página de Facebook, siga los siguientes pasos para lograr crear una
SMS / WAB
La incorporación del SMS y WhatsApp a nuestro servicio contribuye de manera exponencial a la mejora en la experiencia del cliente.
Administración
Campañas
Luego de crear el proveedor, podremos comenzar a crear campañas.
Configuración Básica
-
Nombre
Nombre para identificar la campaña -
Nivel de Servicio
El nivel de servicio es el porcentaje de las interacciones que fueron atendidos/abandonadas por el agente antes/después de un tiempo límite estipulados. -
DID-Puertos
En este campo se debe ingresar un código (Número telefónico, alfanumérico, id, etc) asociado a la campaña para fines de identificación. Por lo general esta información es brindada por el proveedor y puede variar. -
Proveedor SMS
Al hacer clic en el combo se despliega una lista con todos los proveedores de SMS que están registrados en el sistema. -
Estrategia
Es el comportamiento que tendrá la campaña. Para obtener más información sobre las diferentes estrategias. -
Horario
Horario en el cual la campaña estará disponible, es decir, con agentes disponibles para atender los SMS / WhatsApp de clientes. Para agregar una configuración de horarios se debe agregar con el botón '+' y aparecerá una nueva ventana, o eliminar una seleccionada de la lista con el botón '-'
Luego de guardar su configuración, verá su campaña en la tabla de la derecha donde encontrarán listadas todas las campañas creadas en el sistema según su grupo de seguridad.
Configuración Avanzada
Estos parámetros ya poseen un valor por defecto para un correcto funcionamiento de la campaña.
Para ver más acerca de su función visite Conceptos importantes - Omnicanal.
Fuera de horario
Este será el mensaje que será enviado al cliente si el mismo envía un mensaje mientras la campaña se encuentra fuera de horario.
Umbrales
Son métricas para realizar las estadísticas de las campañas en tiempo real, las mismas se miden en tiempo (segundos).
-
Nivel de servicio
Es el tiempo límite esperado para la respuesta de los chats por un agente. -
Tasa de abandono
Es el tiempo transcurrido de chats para considerar que los mismos fueron abandonados por los clientes durante el día. -
Tiempo chat
Tiempo transcurrido para considerar que el chat entre agente y cliente llegó al limite. -
ACD
Cantidad máxima de clientes que están esperando para ser contestados por un agente de chat.
Interacciones máximas por agente
Limita el número de interacciones activas que puede tener un agente. Las interacciones restantes quedan en cola. Solo se utiliza para estrategias nocall.
Habilitado
El sistema puede tener registrado una campaña que no se encuentre en funcionamiento sin tener que borrarla completamente, de esta manera el supervisor no perderá datos relevantes.
Si se encuentra chequeada, la campaña puede ser utilizada.
Respuestas Pre-armadas
La campaña podrá tener respuestas ya pre escritas, lo cual facilita y hace más rápida la interacción del agente con el cliente.
¿Cómo agregar o eliminar miembros?
Para agregar o quitar agentes a las campañas, el usuario debe pasar a la sección de Miembros en la parte superior izquierda.
Agregar Miembro
-
En la columna Campañas se selecciona una o varias campañas a las cuales se desea agregar o quitar miembros.
-
Seleccionamos uno o más agentes de la columna Agentes y presionamos Agregar.
-
En la columna Miembros veremos a los agentes agregados a la campaña.
IMPORTANTE
Los miembros que sean añadidos a la campaña deben encontrarse previamente en una campaña de voz, de lo contrario, los agentes no recibirán interacciones de este tipo.
Marcadores
Permite enviar SMS / WhatsApp de forma masiva.
Para todos los marcadores irá asociado un rango horario de ejecución que dictara el horario y días en los cuales se correrán con el fin de no realizar acciones en horarios indebidos.
Configuración Básica
Para crear nuestro marcador ingresamos
-
Nombre
Con fin de identificar nuestro marcador. -
Proveedor
El cual será utilizado para enviar mensajes. -
Horario
Se define el horario en el cual el marcador enviará mensajes. -
Cadena de Marcado
Con base en la API que envía SMS / WhatsApp se puede configurar un puerto o un rango.-
Dinstar - DinstarWeb
Ingreso el rango de canales, ejemplo: (0.3) esto significa que el mensaje se enviará a 4 canales recursivamente (0-1-2-3-0...). -
Quality
No necesita cadena de marcado. -
Twilio
No necesita cadena de marcado.
-
-
Tiempo entre mensajes
Es el tiempo que se toma el marcador para enviar mensajes simultáneamente, se expresa en milisegundos.
Parámetros opcionales
-
Habilitado
Indica el estado del marcador, si está activo o no. -
DNCR
Permite habilitar la revisión del registro de las Blacklists, para los números de teléfono que no se debe llamar o mandar mensajes.
Funcionamiento del marcador
Básicamente, trabaja de forma similar al resto de los marcadores que tenemos, se ponen en memoria 50 mensajes de state 1 de la tabla sms_spool ordenado por la posición de ingreso de los mismos, se fija si está en la black_list, si esta no lo envía y lo pone en estado 3.
Estados
STATE: 0 NONE
STATE: 1 TO PROCESS
STATE: 3 BLOCKED
Es importante recordar
-
Para poner en marcha un marcador tiene que estar previamente Habilitado.
-
En el Dropbox Proveedores se selecciona uno de los proveedores creados, esto nos permite asociar un proveedor diferente para cada marcador.
Agente
El agente tiene en su bandeja de entrada las diferentes interacciones y puede buscarlas según el nombre de campaña o nombre de usuario.
Al abrirlo se despliega en el lado derecho de la pantalla, y muestra la interacción e información del cliente en la parte superior.
-
Nombre de la campaña
-
Número del cliente.
Opciones sobre interacciones
Al lado del box donde el agente responderá al cliente, contiene ciertos iconos que nos permiten acceder a las siguientes opciones:
-
Con el primero se despliega una lista con emojis para utilizar en los mensajes.
-
El siguiente contiene las respuestas prediseñadas de la campaña. Estas se insertan automáticamente una vez que el usuario las haya seleccionado.
-
El último botón envía el mensaje que el Agente se encuentra escribiendo.
-
En la esquina superior derecha el Agente encontrará un icono de tres puntos, con el cual se pueden mostrar los mensajes anteriores del cliente.
También se puede enviar SMS utilizando el softphone integrado al portal.
Supervisión
Monitoreo de Campañas
Aquí se podrán ver las estadísticas en tiempo real de las campañas de SMS.

Tabla inferior izquierda
Icono
Icono del estado del agente. Junto con el icono del estado puede aparecer: en caso de que el agente esté en una llamada aparecerá un teléfono; y si el agente está en break aparecerá la imagen correspondiente a ese break.
Estado de Canales
Si el agente se encuentra con una interacción activa, aparecerá tal logo. SMS, Webchat, Email, Twitter, entre otros. Pueden aparecer los dos juntos si es el caso.
Estado
Estado del agente en tiempo real. Los estados pueden ser desconectado, ocupado, libre, libre en break y ocupado en break (siendo break cualquiera de los disponibles).
Agente
Nombre del agente.
Completados
Cantidad de SMS / WhatsAppcompletados por el agente.
Activas
Señala las interacciones que el agente mantiene activas.
Tiempo
Tiempo del último cambio de estado del agente.
Tabla inferior derecha
Muestra los datos de los clientes de SMS que se encuentran en espera:
Número
Número telefónico con el cual el cliente envió el SMS / WhatsApp
En espera
Tiempo que el cliente lleva en espera.
Acciones con agentes
Cuando se da clic sobre un agente con interacción activa, se desplegaran las siguientes opciones:
-
Espia
El supervisor podrá visualizar en tiempo real los mensajes intercambiados entre agente-cliente. -
Monitorear Pantalla
Permite visualizar la pantalla del agente en tiempo real, para ver este botón debe estar habilitada la opción de monitorear pantalla en Configuración - Agentes. -
Info
Despliega una ventana con toda la información del agente. -
Pausa
El supervisor pausa el estado del agente. -
Chat con agente
Nos da la posibilidad de enviarle mensajes a un agente. -
Desloguear agente
El supervisor podrá desloguear al agente del portal. El agente deberá ingresar su usuario y contraseña nuevamente para poder ingresar y continuar trabajando.
Grabaciones
En esta sección se pueden ver todas las conversaciones
-
Los mensajes son agrupados por interacción
-
Cada mensaje posee el usuario que lo envió, ya sea humano o bot.
Parámetros para filtrado
-
Fecha inicio: Fecha de inicio de la búsqueda de grabaciones
-
Fecha final: Fecha final de grabaciones que queremos obtener de la búsqueda.
-
Origen: Número telefónico entrante.
-
Campaña: Seleccionar las campañas de SMS/WhatsApp de las disponibles en la lista.
-
Agente: Seleccionar los agentes que atendieron
Al seleccionar una conversación, la grabación puede ser descargada individualmente.
Monitoreo de Marcadores
Menú para supervisar el estado de los servicios móviles y campañas .
Muestra todos los servicios móviles activos, permitiendo administrar su actividad y carga de información.
Dashboard
Una vez seleccionada una campaña, se puede ver su dashboard:
Campañas
Permite seleccionar la campaña a supervisar.
Estado
Muestra el estado general de la campaña con base en los siguientes estados.
-
Inactivo.
-
Activo.
En fecha
Muestra si la campaña está en fecha según la definición que tenga para ejecutarse, con los siguientes estados.
-
Inactivo.
-
Activo.
Procesadas
Cantidad de SMS / WhatsApp procesadas por la campaña.
No procesadas
Cantidad de SMS/WhatsApp restantes por procesar en la campaña.
Otros
Muestra la cantidad de SMS/WhatsApp con estados distintos por formato incorrecto de número.
Bloqueadas
Muestra la cantidad de SMS/WhatsApp bloqueados por estar en la lista de NDCR.
En la esquina superior derecha tenemos los siguientes botones:
Botón (Stop/Start)
Permite parar la campaña o iniciarla a demanda, en el caso de que se quiera hacer por algún motivo.
Botón eliminar
Permite eliminar los datos de la campaña que no hayan sido procesados (por ejemplo; registros no procesados que hayan dado error o que hayan estado en la tabla NDCR, o que por algún motivo quieran ser cancelados).
Subir registro no llamada DNCR
Permite cargar un archivo csv, con los datos de los SMS/WhatsApp que no deben de ser enviados, indicando número de teléfono y campaña.
Ejemplo de .csv para DNCR
123578408;marcadortest;
223113758;marcadortest;
322150696;marcadortest;
422016549;marcadortest;
Envío de mensaje único
Existe la opción de enviar un mensaje de texto unitario a un número en específico y único, se debe insertar los siguientes datos en la sección inferior izquierda:
Teléfono
Número a donde enviar el mensaje de texto.
Texto
Texto que contiene el mensaje.
Luego de completados los campos, presionamos el botón Enviar y el mensaje será enviado por el marcador.
Envío de mensajes masivos
Los SMS salientes son procesados automáticamente por el sistema luego de cargarlos.
Para cargar SMS debe subirse un archivo que contenga lo siguiente (en formato .csv).
1campaña;destino;mensaje;prioridadEjemplo de base .csv
1campsms;098344384;Hola Mundo!;9999;
2campsms;098356484;Hola Mundo!;9999;
3campsms;098378984;Hola Mundo!;9999;Siempre que se genera un marcador se deben de tener en cuenta los siguientes criterios para los archivos y su contenido:
-
El nombre del archivo no debe de tener espacios, caracteres extraños ni nombres muy largos. Un ejemplo de archivo seria: DISCTEST29042014.csv
-
La primera columna que hace referencia a la campaña debe existir en el sistema, si la misma no existe dará error y no dejará subir el archivo.
-
Deben de al menos existir las cuatro primeras columnas para subir el archivo correctamente.
-
No deben de existir espacios en blanco después de la última línea con el fin de evitar que se levanten registros sin información.
-
Dentro de los campos de variables, no pueden haber caracteres especiales como ´ ‘ “ @ etc, ya que pueden afectar la performance del sistema, en el caso de que se encuentren estos caracteres, dará error y no dejara subir el archivo.
Envio de templates masivos
Para realizar el envío masivo de un témplate aprobado por WhatsApp es necesario utilizar en marcador de WhatsApp a diferencia que si enviáramos un solo témplate para aperturar una conversación.
El primer paso es ingresar a la sección de campañas en la sección de SMS
Una ves dentro deberemos ubicar y seleccionar las campañas principales de WhatsApp, en este caso serian como ejemplo: Rappi_WhatsApp y WhatsApp_Prev_Reest, al momento de dar click en la campaña podremos ver en la parte inferior las respuestas pre armadas , estas están divididas por 2 secciones las cuales son Canned Responses y Templates.
Para usar un témplate aprobado por WhatsApp es necesario hacer uso del código de cada uno de los templates, para ver cada código bastara con dar click al témplate que deseamos usar y nos mostrara el código correspondiente.
Una vez copiado el código del témplate nos dirigiremos al apartado de Dialers en la sección SMS/WhatsApp.
Despues daremos click en la sección de marcadores para deplegar los Dialers disponibles.
Una vez seleccionado un marcador para realzar el envío masivo , descargaremos una lista de ejemplo.
Estructura de datos
Ahora conoceremos la manera correcta en la que los datos deben ser cargados al sistema para poder realizar envíos exitosos.
- Tipos de estructura
- Texto
El formato texto es un témplate que contenga únicamente Texto y emojis
- Texto con variables
En el formato Texto Variables es posible agregar la cantidad de variables deseadas para reemplazar la información del cliente para cada uno de los casos y tener una experiencia personalizada.
Una ves que conocemos los tipos de templates ya podemos proceder a estructurar la lista de envíos masivos. Una ves descargada la lista de ejemplo podremos ver la estructura de los datos
La estructura es la siguiente:
- Nombre del Dialer
- Número de teléfono destino iniciando con 521
- Témplate aprobado por Whats App
- Prioridad del mensaje
Debemos aclarar que cada campo debe ser separado por ; para que Ucontact reconozca cada campo independiente, el formato de Excel no debe ser cambiado y siempre debe ser cargado en formato SCV para su correcto funcionamiento y el código del témplate tiene que estar encerrado en “”
Procederemos a crear la estructura de datos, debería quedar de la siguiente manera
Rappi_Dialer;5212345678910;”hsm;b049edf0-abc2-460a-ab67-aa8856fc724e;text”;9999
Una ves estructurado en nuestro archivo de Excel procedemos a guardarlo y cerrarlo y procederemos a abrirlo nuevamente con Visual Studio Code.
En caso de no contar con el programa da click aqui
Validar que la estructura este correcta ya que en ocasiones Excel agrega espacios o caracteres que no deseamos
En el siguiente ejemplo podemos ver que se agrego una fila en blanco y algunas comillas extras, procedemos a eliminar la fila 2 y quitar las comillas que están de mas.
Una ves modificado guardamos el archivo.
Regresamos a ucontact a la sección de SMS/WhatsApp al Dialer de el cual descargamos la lista de ejemplo y procederemos a cargar la lista.
Seleccionamos el Botón azul y cargamos nuestro archivo
Una ves cargada podremos ver una notificación verde que nos indica que la carga fue exitosa y en la parte de abajo veremos los numero que están enviándose.
De esta manera ya podemos recibir el mensaje de manera exitosa.
Templates con variables
Los templates con variables es muy parecido a los templates normales solo que en esta ocasión tendremos que declarar las variables dentro del archivo.
En esta ocasión tomaremos un témplate con variables, las variables las podemos identificar ya que vienen encerradas entre corchetes {} .
Nos dirigimos a la campaña y seleccionaremos un template que contenga variables.
La estructura del témplate con variables se estructura igual solamente ingresaremos las variables después del código de el témplate separado por ; y quedaría de la siguiente manera.
Rappi_Recordatorio_3;5213330098713;"hsm;b049edf0-abc2-460a-ab67-aa8856fc724e;text;Carlos;28 Junio";9999
Una ves que tengamos estructurados nuestros registros en el archivo de Excel procedemos a guardarlo.
Procedemos a cargar la lista y el mensaje debería de llegar de la siguiente manera:
CRM Lite
Interface Agente
Formulario dinamico cuyos campos pueden ser personalziados segun las necesidades de cada empresa, incluye tambien un módulo de tipificaciónes (o fines de gestión) que permite generar un análisis de los tipos de llamadas mas frecuentes y resultado.
Tambien cuenta con un módulo de historico de las ultimas 5 llamadas para que el agente pueda tener visibilidad de las ultimas conversaciones realizadas con el cliente.
Interface Supervisor
Integraciones
Especificaciones y requisitos para una integración con aplicaciones externas
Integración de CRM
Es posible agregar una aplicación web a uContact por medio de un iFrame para poder visualizar algunos datos relacionados con la llamada, como podría ser un CRM u otra aplicación que permita realizar la gestión del contacto. Estas integraciones se pueden dividir en las secciones que se ven en esta página
Para poder realizar esta integración la aplicación WEB debe de contar con los permisos necesarios en sus configuraciones de CORS para poder ser invocada dentro de un iFrame. Puede consultar mas detalles presionando aquí
La aplicación tiene que contar con un certificado SSL valido para poder mostrarse dentro de uContact.
Integración básica
En esta sección, uContact solamente abrirá un iFrame donde invocará una URL de la aplicación web con la cual esté integrada, pudiendo enviar algunos parámetros en dicha URL para realizar alguna búsqueda o bien para que la aplicación pueda tomar datos y después guardarlos.
Requisitos
- Se proporcione la URL de la aplicación
- Especificar los parametros que componen la URL en caso que querer agregar una
Parameros de URL
uContact pude enviar datos por la URL en una llamada para poder realizar algúna busqueda o bién para que el CRM guarde información con base a estos datos
- Numero de teléfono
- Usuario del agente
- Campaña
- GUID de llamada
- En caso de ser un marcador se puede enviar cualquier dato que se suba a la lista de marcación
Ejemplo de URL
URL sin parametros: https://domain.com
URL con busqueda por teléfono: https://domain.com/customers?searchByPhoneNumber=3312345678
URL con busqueda por id: https://domain.com/customers/123
Integración con acciones
Si se desea que el CRM realice acciones por medio del iFrame uConatct ofrece algúnas API´s con JavaScript para poder interactuar con la aplicación, como podría ser ejecutar alguna llamada, colgar llamada, etc. A continuación se muestran algúnos ejemplos de codigo de como se tendrá que implementar dentro del CRM para realizar la comunicación.
Iniciar llamada
Para iniciar una llamada desde el navegador es necesario se proporcionen los siguientes datos:
- Destination: Numero de teléfono.
- Campaign: Nombre de la campaña por la cual se va a realizar la llamada.
- did: Numero de teléfono del cual se realizará la llamada.
- GUID: Id de la llamada en caso de ser necesario.
Ejemplo de codigo
const callAction = {
action: 'MAKE_CALL',
call:{
destination: '11111111',
campaign: 'TestCampaign->',
did: '22222222',
guid: '72e50982-9983-4e27-b9af-ae5c9f518cfb'
}
}
window.postMessage(callAction,'*');
Colgar llamada
Finalizar una llamada desde el CRM por API´s de navegador.
Ejemplo de codigo:
const callAction = {
action: 'HANG_UP'
}
window.postMessage(callAction,'*');
Tipificar llamada
Para tipificar las llamadas desde el CRM es necesario que esten creadas las mismas tipificaciones en ambas partes, como en uContact y el CRM, para este caso se reciben los siguientes parametros:
- Campaing: Campaña a donde se tipificará la llamada
- CallerId: Número de teléfono del contacto
- Guid: id de la llamada
- L1: Nivel 1 de tipificación
- L2: Nivel 2 de tipificación (Enviar vacio si no se cuenta con uno)
- L3: Nivel 3 de tipificación (Enviar vacio si no se cuenta con uno)
- D1: Dato adicional a agregar (Enviar vacio si no se cuenta con uno)
- D2: Dato adicional a agregar (Enviar vacio si no se cuenta con uno)
- Comment: Comentarios de la llamada.
Ejemplo de codigo:
const callAction = {
action: 'DISPOSITION_CALL',
disposition:{
campaign: 'TestCampaign->',
callerid: '11111111',
guid: '72e50982-9983-4e27-b9af-ae5c9f518cfb',
l1: 'Disposition1',
l2: '',
l3: '',
d1: '',
d2: '',
comment: ''
}
}
window.postMessage(callAction,'*');
Cerrar Ventana
Cuando una llamada se finaliza puede cerrar la ventana con la información del cliente para poder tomar la proxima llamada.
Ejemplo de codigo
const callAction = {
action: 'CLOSE_TAB'
}
window.postMessage(callAction,'*');
Base de Datos
Estos datos sobre las tablas pueden ser usadas para obtener información para Reportes. Estas tablas se encuentran en la base ccrepo.
Telefonía
QUEUE_LOG_REPO
Se encuentra la información de los estados de las llamadas de las campañas entrantes y salientes.
Detalle de campos
-
origid: ID de tabla origen (puede repetirse).
-
datetime: Fecha y hora del estado.
-
callid: Si corresponde al evento, ID de la llamada (no es el guid).
-
queuename: Nombre de la campaña si corresponde al evento.
-
event: Ver lista de eventos.
-
data a data5: Dependiendo del evento que valor tengan.
Eventos
|
Evento |
Descripcion |
data1 |
data2 |
data3 |
data4 |
data5 |
|
AGENTLOGIN |
Un agente se logueo. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
AGENTLOGOFF |
Agente que salió, logoff. Cantidad de segundos pasados desde que se logueo. |
logintime |
N/A |
|
[automatic] |
N/A |
|
ABANDON |
El cliente abandonó en una cola antes que lo atendieran. position es donde estaba en el momento de cortar, origposition es en la posición que entro inicialmente, waittime es el tiempo que espero hasta cortar. |
position |
origposition |
waittime |
|
|
|
COMPLETEAGENT |
El que llamó fue conectado a un agente, y la llamada fue terminada normalmente por el agente. El holdtime del agente y la duración de la llamada son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
calltime |
origposition |
N/A |
N/A |
|
COMPLETECALLER |
El que llamó fue conectado a un agente, y la llamada fue terminada normalmente por el que llamó. El holdtime del agente y la duración de la llamada son guardadas al igual que la posición inicial donde entro la llamada a la cola. |
holdtime |
calltime |
origposition |
N/A |
N/A |
|
CONNECT |
El que llamó fue conectado a un agente, se graba el tiempo que espero en ser atendido, uniqueid del agente que atendió la llamada. ringtime el tiempo que el teléfono del agente sonó antes de atender la llamada. |
holdtime |
bridgedchanneluniqueid |
ringtime |
N/A |
N/A |
|
ENTERQUEUE |
Entro una llamada a la cola. |
N/A |
callerid |
|
N/A |
N/A |
|
EXITEMPTY |
El que llamó fue forzado a salir de la cola, porque la cola no tenia miembros que pudieran ser alcanzados. Se graba la posición en la cola cuando se corto, la posición orginal que entro la llamada a la cola, cuanto espero la llamada antes de ser cortada. |
position |
origposition |
waittime |
N/A |
N/A |
|
EXITWITHKEY |
El que llamó uso una tecla para salir de la cola, la tecla y la posición en la cola son grabadas, también la posición original que entro a la cola y el tiempo que espero. |
key |
position |
origposition |
N/A |
N/A |
|
EXITWITHTIMEOUT |
El que llamó espero en la cola mucho tiempo y dio timeout. La posición en la cola cuando paso el timeout es grabada al igual que la posición en que entro y la cantidad de tiempo que espero. |
position |
origposition |
waittime |
N/A |
N/A |
|
RINGNOANSWER |
Luego de x ms ringueando en un agente, este no atendió y se fue la llamada, se guarda el tiempo que ringueo sin ser atendida. |
ringtime |
N/A |
N/A |
N/A |
N/A |
|
REALPAUSE/ REALUNPAUSE |
El agente fue puesto en pausa (Evento de Pausa de Integra), si es un unpause se guarda la cantidad de segundos entre que se pauso y despauso (pausetime). |
pausetime |
N/A |
N/A |
N/A |
N/A |
|
UNBREAK/BREAK |
El agente fue puesto en break en data , se pone el motivo por el cual se puso en break (descanso), tener en cuenta que entre BREAK y UNBREAK están las pausas también correspondientes al estado de BREAK para que no le entren llamadas: estados predefinidos de motivo: BATHROOM, TRAINING, LUNCH, PERSONAL, OTHER. breaktime se guarda la cantidad de segundos entre que fue a break y volvio. |
motivo |
comentario |
breaktime |
N/A |
N/A |
|
OUTCALL |
Llamada saliente de los agentes, se utiliza para colas salientes, para poder tener estadísticas de las llamadas salientes y su estado. Para poder utilizar este evento es necesario armar el flujo como corresponde el el dialplan. |
dialstatus |
duration |
totaltime |
dialednumber |
guid |
|
PAUSE/UNPAUSE |
Evento de pausa de telefonía no lo usamos en reportes. |
|
|
|
|
|
|
PAUSEALL/ UNPAUSEALL |
Evento de pausar en todas las colas de telefonía no lo usamos en reportes. |
|
|
|
|
|
|
ATTENDEDTRANSFER BLINDTRANSFER TRANSFER |
Llamada completada por agente hasta ser transferida. |
extension |
context |
holdtime |
calltime |
origposition |
|
HOLD |
Agente pone llamada en espera. |
channel |
calleridname |
calleridnum |
connectedlinename |
connectedlinenum |
|
UNHOLD |
Agente saca llamada de espera, si cortan antes puede no estar el evento de UNHOLD. |
channel |
calleridname |
calleridnum |
connectedlinename |
connectedlinenum |
|
FINISHWRAPUP |
Cuando se cumple el total marcado de tiempo de wrap-up o el agente lo finaliza, se crea este evento con el tiempo que no se utilizo, el tiempo total de wrap-up y el GUID de la llamada. |
timeleft |
|
|
|
|
|
ADDMEMBER |
Un nuevo miembro es agregado a la cola. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
AGENTDUMP |
El agente abandonó a la persona que llamaba mientras escuchaba el anuncio de la cola. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
CREATEDQUEUE |
Se creó una nueva cola. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
QUEUESTART |
El sistema de cola se ha iniciado por primera vez en esta sesión. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
REMOVEMEMBER |
Un miembro fue quitado de la cola. |
N/A |
N/A |
N/A |
N/A |
N/A |
|
STARTCALL |
Se inicio una llamada y fue contestada por el agente. |
emailCliente |
N/A |
N/A |
N/A |
N/A |
|
ENDCALL |
Se termino la llamada. |
emailCliente |
N/A |
N/A |
N/A |
N/A |
|
STARTVIDEOCALL |
Se inicio una videollamada y fue contestada por el agente. |
emailCliente |
N/A |
N/A |
N/A |
N/A |
|
ENDVIDEOCALL |
Se termino la videollamada. |
emailCliente |
N/A |
N/A |
N/A |
N/A |
|
PHONEENDHOLDOUT |
El evento se guarda cuando se saca de hold una llamada saliente y guarda: |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONECOMPLETECALLER |
Cuando una llamada es finalizada por el cliente. Guarda la campaña, GUID y callerid. |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONEENDHOLDIN |
El evento se guarda cuando se saca de hold una llamada entrante y guarda: |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONESTARTHOLDIN |
El evento se guarda cuando se pone en hold una llamada entrante y guarda: |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONESTARTHOLDOUT |
El evento se guarda cuando se pone en hold una llamada saliente y guarda: |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONECOMPLETEAGENT |
Cuando una llamada es finalizada por el agente. Guarda la campaña, GUID y callerid. |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONECALLAGENT |
Cuando se llama a un agente. Guarda la campaña, GUID y callerid. |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONECALL |
Cuando se recibe una llamada desde fuera hacia una campaña. Guarda la campaña, GUID y callerid. |
callerid |
callguid |
campaign |
N/A |
N/A |
|
PHONEANSWER |
Cuando el agente atiende una llamada entrante. Guarda la campaña, GUID y callerid. |
callerid |
callguid |
campaign |
N/A |
N/A |
CDR_REPO
Detalle de llamadas un registro por llamada.
Detalle de campos
-
calldate: Fecha y hora inicio de llamada.
-
clid: Callerid completo.
-
src: Origen llamada.
-
dst: Destino llamada.
-
dcontext: Contexto destino.
-
channel: Canal origen.
-
dstchannel: Canal destino.
-
lastapp: Última actividad del workflow ejecutada.
-
duration: Duración total de la llamda.
-
billsec: Duración desde que fue atendida la llamada.
-
disposition: Resultado de la llamada.
-
amaflags: No se usa.
-
accountcode: Set setea el agente u otros datos de la llamada.
-
userfield: Donde se hace el tag de la llamada la marca.
-
uniqueid: ID de la llamada.
-
type: Si se grabo la llamada.
-
guid: ID único de la llamada y nombre de la grabación .
-
causecode: Número del proveedor del resultado de la llamada.
-
campaign: Campaña de la llamada.
-
charged_balance: Para tarificacion pbx virtual.
-
real_balance: Para tarificacion pbx virtual.
-
note: Para clarificación.
-
contact: ID del contacto de discador.
-
finishtime: Si estamos tageando las grabaciones fecha/hora de tipificación.
-
rating: Calificación media de la llamada.
-
dialerbase: Nombre de la base de discador.
TAGS
Refiere a las marcas en las grabaciones de llamadas
Detalle de campos
-
id: Autogenerado.
-
datetime: Fecha hora de la marca.
-
user: Quien realizo la marca.
-
guid: Id único de la grabación.
-
time: Tiempo en segundos de donde es la marca.
-
comment: Comentario de la marca.
BLACK_LIST_HISTORY
Histórico de números marcados en lista de no marcado o que intentaron ingresar.
Detalle de campos
-
id: Autogenerado.
-
calldate: Fecha hora del intento.
-
src: Agente que intento marcar.
-
dst: Número marcado o que intento ingresar.
Marcadores
Para cargar los marcadores desde base de datos primero se carga calls_spool y luego el dialer_base, tener en cuenta de ver en dialer_base si ya hay alguna lista activa para esa campaña para no activar dos. Siempre debe existir una activa por campaña.
CALLS_SPOOL
Detalle de campos
-
campaign: Campaña de marcador.
-
destination: Teléfono a marcar.
-
status: Estado (1 pronto para ser marcado, 0 en proceso, 3 bloqueado por la lista de no marcado).
-
data: Variables a pasar al workflow y forms.
-
alternatives: Lista separada por : de teléfonos alternativos del cliente.
-
contact: ID del contacto para seguimiento en CDR.
-
dialerbase: Nombre de la base (lista) que pertenece el contacto.
-
priority: Prioridad (9999 habitualmente, nunca 1 pero se puede cambiar a > 1 para que los más pequeños se ejecuten antes).
-
agentphone: Para progresivo teléfono del agente que pertenece el contacto.
DIALER_BASE
Detalle de campos
-
id: Autonumérico.
-
campaign: Nombre de la campaña de discador.
-
name: Nombre de la lista subida.
-
records: Cantidad de registros de la lista.
-
active: Si está activada actualmente.
-
percentage: Qué porcentaje obtener de cada lista en cada vuelta.
Omnicanal
SMS_REPO
Esta tabla posee los mensajes de texto.
Detalle de campos
-
id: ID único del mensaje.
-
idm: ID del mensaje, dependiendo de la API usada.
-
campaign: Campaña.
-
dateprocessed: Fecha de envío o llegada.
-
direction: I o O (entrante o saliente).
-
callerid: Destino u origen.
-
message: Mensaje de texto.
-
agent: Agente de envío.
-
smsbase: Nombre base discador.
-
result: Dependiendo la API resultado del mensaje.
-
readsms: Si fue leído.
-
sessionid: GUID para session con agente.
WEBCHAT_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
ABANDON |
El cliente abandonó en una cola antes que lo atendieran. position es donde estaba en el momento de cortar, origposition es en la posición que entro inicialmente, waittime es el tiempo que espero hasta cortar. |
position |
origposition |
waittime |
|
|
|
EXITWITHTIMEOUT |
|
|
|
|
|
|
|
COMPLETEAGENT |
El que solicito fue conectado a un agente, y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la llamada son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
COMPLETECALLER |
El que llamó fue conectado a un agente, y el webchat fue terminado normalmente por el que llamó. El holdtime del agente y la duración del webchat son guardadas al igual que la posición inicial donde entro el webchat a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
El solito el chat fue conectado a un agente, se graba el tiempo que espero en ser atendido, nombre del agente que atendió la llamada. |
holdtime |
agent |
|
N/A |
N/A |
|
ENTERQUEUE |
Entro un webchat a la cola. |
name |
|
phonenumber |
N/A |
N/A |
|
REENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
name |
|
phonenumber |
N/A |
N/A |
|
TRANSFER |
--- |
-- |
-- |
-- |
-- |
-- |
|
OUTOFTIME |
El cliente solicito un chat pero la campana no estaba en hora. |
-- |
-- |
|
|
|
|
OUTCALL |
Una llamada por web chat fue terminada. |
audio/video |
duration |
|
dialednumber |
webchatguid |
|
NOAGENTS |
El cliente entra a chatear pero no hay agentes disponibles para la campaña. (Los campos de data1 y data2 se guardaran en caso de que se conozcan) |
|
name |
|
|
|
|
MAXQUEUE |
La cantadidad de chat activos para la campaña (esperando y atendidos) supera el valor establecido (Max chats) (Los campos de data1 y data2 se guardaran en caso de que se conozcan) |
|
name |
|
|
|
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interaccioón y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfiró. |
de |
para |
|
|
|
|
STARTCALL |
|
|
|
|
|
|
|
ENDCALL |
|
|
|
|
|
|
|
STARTVIDEOCALL |
|
|
|
|
|
|
|
ENDVIDEOCALL |
|
|
|
|
|
|
SMS_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
COMPLETEAGENTOUT |
Una interacción iniciada por un agente finalizó. |
chattime |
messageqt |
number |
|
|
|
COMPLETEAGENT |
El que solicito fue conectado a un agente, y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la llamada son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
El SMS se conecto con un agente. Se guardan tiempo de espera, agente que fue conectado y número de celular. |
holdtime |
agent |
number |
|
|
|
ENTERQUEUE |
Un cliente envió un SMS que pertenecia a una campaña y esta se encontraba en hora. Se guarda el número de teléfono del cliente. |
number |
name (si corresponde por ejemplo: algunos proveedores de whatsapp) |
|
|
|
|
REENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
number |
name (si corresponde por ejemplo: algunos proveedores de whatsapp) |
|
|
|
|
HOLIDAYMESSAGE |
Se le envió SMS de día feriado. |
number |
message |
|
|
|
|
OUTOFTIME |
Un cliente enviio un SMS que pertenecia a una campaña y esta se encontraba fuera de hora. Se guarda el número de teléfono del cliente. |
number |
message |
|
|
|
|
OUTSMS |
Se genera cuando un agente inicia una interacción de SMS. |
number |
|
|
|
|
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interacción y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfirió. |
de |
para |
|
|
|
EMAIL_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
COMPLETEAGENTOUT |
Una interacción iniciada por un agente finalizó. |
chattime |
messageqt |
|
|
adress |
|
COMPLETEAGENT |
El mail fue conectado a un agente, y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la interacción son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
El email se conecto con un agente. Se guardan tiempo de espera, agente que fue conectado y dirección de email. |
holdtime |
agent |
address |
N/A |
N/A |
|
HOLIDAYMESSAGE |
Se envió mail de feriado. |
address |
message |
N/A |
N/A |
N/A |
|
ENTERQUEUE |
Un cliente envió un email que pertenecia a una campaña. Se guarda el número de dirección de mail del cliente. |
address |
subject |
N/A |
N/A |
N/A |
|
REENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
address |
subject |
N/A |
N/A |
N/A |
|
OUTEMAIL |
Se genera cuando un agente inicia una interacción de email. |
address |
subject |
N/A |
N/A |
N/A |
|
STARTEMAILDIALER |
Se genera cuando comienza a ejecutarse un dialer. |
spool length |
N/A |
N/A |
N/A |
N/A |
|
FINISHEMAILDIALER |
Se genera cuando se termina de ejecutar el dialer. |
spool length |
N/A |
N/A |
N/A |
N/A |
|
STOPEMAILDIALER |
Se genera cuando se detiene el dialer en ejecución. |
spool length |
N/A |
N/A |
N/A |
N/A |
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interacción y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfiró. |
de |
para |
|
|
|
|
BLACKLIST |
Se genera cuando un email entrante pertenece a una blacklist. No se genera una interacción. Se guarda dirección de email, asunto y el email_id del email (que matchea con el email guardado en email_repo). Si es una interacción que inicia el agente, se registra el nombre del agente. |
adress |
subject |
email_id |
|
|
|
FORWARDED |
Se reenvió un mail de una interacción. |
dirección dirección a donde se envió |
asunto asunto con el que se envió |
email_id utilizado para identificar el email en email_repo |
|
|
|
NEWEMAILCLIENT |
Se recibió un nuevo mail del cliente mientras la interacción estaba abierta. |
dirección de email del cliente |
|
|
|
|
|
NEWEMAILAGENT |
El agente envió un mail mientras la interacción estaba abierta. |
dirección de email del cliente |
|
|
|
|
TWITTER_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
COMPLETEAGENT |
El que solicitó fue conectado con un agente y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la interacción son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
La interacción se conecto con un agente. Se guardan tiempo de espera, agente que fue conectado y el cliente. |
holdtime |
agent |
id client |
client username |
|
|
ENTERQUEUE |
Un cliente envio un tweet que pertenecia a una campaña. Se guarda el nombre del cliente. |
address |
subject |
|
|
|
|
REENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
address |
subject |
|
|
|
|
HOLIDAYMESSAGE |
Se envió respuesta a la publicación o direct message con el mensaje de feriado. |
address |
message |
|
|
|
|
OUTTWEET |
Se genera cuando un agente inicia una interacción de Twitter. |
address |
subject |
|
|
|
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interacción y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfirió. |
de |
para |
|
|
|
MESSENGER_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
COMPLETEAGENT |
El que solicitó fue conectado con un agente y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la interacción son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
La interacción se conecto con un agente. Se guardan tiempo de espera, agente que fue conectado y el cliente. |
holdtime |
agent |
id client |
client name |
|
|
ENTERQUEUE |
Un cliente envió un mensaje que pertenecía a una campaña. Se guarda el nombre del cliente. |
address |
message |
|
|
|
|
ENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
address |
message |
|
|
|
|
HOLIDAYMESSAGE |
Se respondió mensaje de feriado. |
address |
message |
|
|
|
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interacción y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfiró. |
de |
para |
|
|
|
|
OUTMESSENGER |
|
|
|
|
|
|
FACEBOOK_LOG_REPO
Eventos
|
Evento |
Descripción |
data1 |
data2 |
data3 |
data4 |
data5 |
|
COMPLETEAGENT |
El que solicitó fue conectado a un agente, y el chat fue terminado normalmente por el agente. El holdtime del agente y la duración de la interacción son guardadas al igual que la posición inicial donde entró la llamada a la cola. |
holdtime |
chattime |
origposition |
messageqt |
N/A |
|
CONNECT |
La interacción se conecto con un agente. Se guardan tiempo de espera, agente que fue conectado y el cliente. |
holdtime |
agent |
id client |
client name |
|
|
ENTERQUEUE |
Un cliente envió un mensaje que pertenecía a una campaña. Se guarda el nombre del cliente. |
post id |
message |
|
|
|
|
REENTERQUEUE |
Se recuperó un chat al iniciar el servidor. |
post id |
message |
|
|
|
|
HOLIDAYMESSAGE |
Se respondió con un comentario el texto del dia feriado. |
post id |
message |
|
|
|
|
OUTFACEBOOK |
Se genera cuando un agente inicia una interacción de Facebook, genera un nuevo post. |
|
|
|
|
|
|
TRANSFERRED |
La interacción fue transferida desde un agente a otro. 'de' es el nombre del agente que transfirió la interaccioón y 'para' el agente al que fue transferida. |
de |
para |
|
|
|
|
ATTENDED |
La interacción fue atendida por el agente al que se le transfirió. |
de |
para |
|
|
|
Otras tablas importantes
SIPCHAT
SipChat es la funcionalidad de Chat interno entre agentes y supervisores.
Detalle de campos
-
id: Autogenerado.
-
datecreated: Fecha hora del mensaje.
-
src: Origen.
-
dest: Destino.
-
message: Mensaje de texto.
-
srcagent: Agente origen.
-
dstagent: Agente destino.
-
status: Estado del mensaje (SUCCESS, FAILURE).
AUDITORY
En esta tabla se refleja la auditoría general del sistema, de ella se pueden obtener reportes y utilizarla para hacer seguimiento de acciones importantes en uContact.
Detalle de campos
-
id: Autogenerado.
-
datetime: Fecha del evento.
-
userid: Usuario que ejecutó.
-
host: IP desde donde se ejecutó.
-
action: Acción que se realizó.
APIs
Documentación de las principales APis de uContact para integraciones.
Autenticación Cliente
Este recurso se usa para obtener una autenticación por token para poder usar las API´s de uContact creado para loguearse desde otra aplicación para poder realizar integraciones.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/auth/getUserToken |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
Request Body
| Parametro | Tipo | Requerido | Descripción |
| user | Texto (String) | Si | Nombre de usuario |
| password | Texto (String) | Si | Contraseña del usuario |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/auth/getUserToken HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
user={{User}}&password={{Password}}
cURL
curl --location --request POST 'https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'user={{UserName}}' \
--data-urlencode 'password={{PasswordUser}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("user", "{{UserName}}");
urlencoded.append("password", "{{PasswordUser}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"user": "{{UserName}}",
"password": "{{PasswordUser}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("user", "{{User}}");
request.AddParameter("password", "{{UserPassword}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "user={{User}}&password={{UserPassword}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
HTTP Response
"{{token}}"
Respuesta de error
"0"
Autenticación Agente
Cuando se requiere hacer alguna integración con uContact con actividades de agente se autentica por medio de este recurso en el cual la plataforma toma como logueado al agente al SIP, esto hace que se tome encuenta para las llamadas o tenga interacción por VoIP además de los accesos.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/auth/AgentLogin |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| agent | Texto (String) | Si | Nombre de usuario del agente |
| password | Texto (String) | Si | Contraseña del usuario |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/auth/AgentLogin HTTP/1.1
Host: {{dominio}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
agent={{User}}&password={{Password}}
cURL
curl --location --request POST 'https://{{dominio}}.ucontactcloud.com/Integra/resources/auth/AgentLogin' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'agent={{Usuario}}' \
--data-urlencode 'password={{AgentPassword}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("agent", "{{User}}");
urlencoded.append("password", "{{Password}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"agent": "{{User}}",
"password": "{{Password}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("agent", "{{User}}");
request.AddParameter("password", "{{Password}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "agent={{User}}&password={{Password}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'agent={{User}}&password={{Password}}'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/auth/AgentLogin", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "Error" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta convertida a JSON
{
"id": 4,
"name": "1997",
"host": "{{domain}}.ucontactcloud.com",
"nat": "yes",
"type": "friend",
"accountcode": "Vcisneros",
"callgroup": "",
"callerid": "1997",
"canreinvite": "",
"context": "agents",
"dtmfmode": "rfc2833",
"insecure": "",
"language": "es",
"mailbox": "",
"md5secret": "07a46a13aa5434e21e6a9aa870482720",
"pickupgroup": "",
"qualify": "yes",
"secret": "",
"disallow": "all",
"allow": "alaw;ulaw",
"port": "",
"defaultuser": "1997",
"subscribecontext": "default",
"record": "agent",
"email": "",
"phonetype": "SoftPhone",
"LogLevel": "SEVERE",
"limite": 0,
"transport": "wss",
"encryption": "yes",
"did": "",
"outboundproxy": "",
"fullname": "Victor Cisneros",
"token": "VmNpc25lcm9zOjJhZGUzNjAxLTNhMjgtNDhjNy1hNDg2LTczNTY3ZmI1ZDI2MQ=="
}
Respuesta de error
0
Finalizar Sesión
Para finalizar la sessión del agente o usuario una vez deje de utilizarse.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/api/AgentLogoff |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo | Requerido | Descripción |
| agent | Texto (String) | Si | Nombre de usuario que se va a desloguar |
| interface | Texto (String) | No | Numero de telefono/extensión del sip para el agente |
| message | Texto (String) | No | Mensaje a guardar |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/api/AgentLogoff HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
agent={{user}}&interface=SIP/{{extension}}&message=Desloguear
cURL
curl --location --request POST 'https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'agent={{User}}' \
--data-urlencode 'interface=SIP/{{Extension}}' \
--data-urlencode 'message={{Mensaje}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("agent", "{{User}}");
urlencoded.append("interface", "SIP/{{Extension}}");
urlencoded.append("message", "{{Mensaje}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"agent": "{{User}}",
"interface": "SIP/{{Extension}}",
"message": "{{Mensaje}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("agent", "{{User}}");
request.AddParameter("interface", "SIP/{{Extension}}");
request.AddParameter("message", "{{Mensaje}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "agent={{User}}&interface=SIP/{{Extension}}&message={{Mensaje}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'agent={{User}}&interface=SIP/{{Extension}}&message={{Mensaje}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/api/AgentLogoff", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
Success
Respuesta de error
0
Colgar Llamada
Cuando se desea colgar una llamada desde fuera de uContact, se utiliza esta API; de esta manera, se puede crear una integración más completa.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Agents/HangupPhone |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo | Requerido | Descripción |
|
phone |
Numero (Integer) | Si | Numero de telefono/extensión del agente |
HTTP Request
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Agents/HangupPhone HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
phone={{AgentPhone}}
cURL
curl --location --request POST 'https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'phone={{AgentPhone}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("phone", "{{AgentPhone}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"phone": "{{AgentPhone}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("phone", "{{AgentPhone}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "phone={{AgentPhone}}");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'phone={{AgentPhone}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Agents/HangupPhone", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta exitosa
1
Respuesta de error
0
Agregar registro a marcador
Agrega un registro a un marcador para lanzar la llamada en cuanto se tenga algún agente disponible, este registro serrá agregado a la cola, es decir se marcarán primero los registros que ya estaban en la cola independientemente, esta cola solo tomará encuenta los registros que no pertenecena una lista de marcación.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/DialerTask |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo | Requerido | Descripción |
|
call |
JSON String (String) | Si | Objeto Json convertido a texto en donde se agreguen los datos agregados en el siguient ejemplo |
Ejemplo JSON
Los datos agregados en el siguiente ejemplo son meramente demostrativos, tendrá que reemplazar los datos con los correspondiente a su instancia.
{
"calldate" : null, // En caso de requerir se llame a una hora en especifico, ejemplo: '1900-01-01 00:00:00'
"campaign" : "POWER<-", // Nombre de la campaña a agregar el registro
"destination": "0123456789", // Numero de teléfono al cual se realizará la marcación
"alternatives": "", // Numero alternativo al cual realizarle la llamada en caso de no contactar con el primer teléfono
"agent" : "", // Telefono/Extensión del agente en caso de querer que un agente en especifico tome la llamada
"data": "idcustomer=7", // Datos para mostrar en el formulario de la instancia o para utilizarlos para algo en especifico
"source": "source", // Pendiente
"bulk": false, // Pendiente
"automatic": true // Pendiente
}
Descripción de Objeto JSON
En el JSON todos las Key deben estar agregadas, si el campo menciona que no es oblicatorio puede ser agregado con un valor vacio.
| Parametro | Tipo | Requerido | Descripción |
| calldate | Texto (String) | No | Define la hora en la cual se realizará la marcación, puede ser 'null' o fecha en formato '1900-01-01 00:00:00'. |
| campaign | Texto (String) | Si | Nombre de la campaña a la cual se agregará el registro |
| destination | Texto (String) | Si | Numero de teléfono al cual se marcará |
| alternatives | Texto (String) | No | Numero alternativos a contactar en caso no se logre contacto con el primer numero, puede ser vacio. |
| agent | Texto (String) | No | Numero del teléfono/extensión del agente en caso de requerir que un agente en especifico tome la llamada |
| data | Texto (String) | No | Datos a agregar para mostrarse en formularios, encuestas o para algún otro propocito dentro de la plataforma. |
| source | Texto (String) | Si | |
| bulk | Booleano (Boolean) | Si | |
| automatic | Booleano (Boolean) | Si |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/DialerTask HTTP/1.1
Host: {{Instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 310
call={{Objeto Json}}
cURL
curl --location --request POST 'https://testclever.ucontactcloud.com/Integra/resources/Dialers/DialerTask' \
--header 'Authorization: Basic VmNpc25lcm9zOjY3NDdjODIzLWY5ZmItNDY0My05NTc0LWNjMjJhOTlhZDRlMQ==' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'call={"calldate" : null,"campaign" : "POWER<-","destination": "1234567890","alternatives": "","agent" : "","data": "idcustomer=7","source": "source","bulk": false,"automatic": true }'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("call", "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"call": "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("call", "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "call={\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'call={{Objeto Json}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Dialers/DialerTask", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
1
Respuesta de error
0
Subir Base
Sube una lista de maración por medio de un archivo CSV o TXT a un marcador pora poder acer integraciones con algún sistema externo a uContact.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente..
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/uploadbase |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
El parametro "cant" puede agregarse con un valor de 0, una vez se se active la lista se actualizará la cantidad de registros en la lista.
En el campo fileb64 solamente se deve de enviar el contenido del archivo de texto plano codificado a base64, si se codifica el archivo como tal y se agrega a este campo marcará un error en la consulta.
| Parametro | Tipo | Requerido | Descripción |
|
filename |
Texto (String) | Si | Nombre del archivo a subir |
|
fileb64 |
Archivo codificación Base64 | Si | Archivo a subir codificado a Base64 |
|
campaign |
Texto (String) | Si | Nombre de la campaña a la cual se subirá el archivo |
|
cant |
Numero (Integer) | Si |
Numero de registros del archivo |
|
username |
Texto (String) | Si | Nombre de usuario que subirá el archivo de lista de maracacipon |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/uploadbase HTTP/1.1
Host: {{Instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 604
filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow%3D%3D&campaign=POWER%3C-&cant=5&username=Vcisneros
cURL
curl --location --request POST 'https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'filename=base_prueba_2.csv' \
--data-urlencode 'fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==' \
--data-urlencode 'campaign=POWER<-' \
--data-urlencode 'cant=5' \
--data-urlencode 'username=Vcisneros'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("filename", "base_prueba_2.csv");
urlencoded.append("fileb64", "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==");
urlencoded.append("campaign", "POWER<-");
urlencoded.append("cant", "5");
urlencoded.append("username", "Vcisneros");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"filename": "base_prueba_2.csv",
"fileb64": "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==",
"campaign": "POWER<-",
"cant": "5",
"username": "Vcisneros"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("filename", "base_prueba_2.csv");
request.AddParameter("fileb64", "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==");
request.AddParameter("campaign", "POWER<-");
request.AddParameter("cant", "5");
request.AddParameter("username", "Vcisneros");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==&campaign=POWER<-&cant=5&username=Vcisneros");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow%3D%3D&campaign=POWER%3C-&cant=5&username=Vcisneros'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Dialers/uploadbase", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
1
Respuesta de error
0
Tipificar Llamada
Cuando una llamada es finalizada en uContact se puede agregar una tipificación para tener identificado en que finalizó la llamada y asi poder obtener reportes o bién crear acciones apartir de una tipificación.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | Integra/resources/api/DispositionCall |
Header Request
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Parametros
| Parametro | Tipo | Requerido | Descripción |
|
campaign |
Si | Nombre de la campaña | |
|
agent |
Si | Nombre de usuario del agente | |
|
callerid |
Si | Numero de telefono del contacto | |
|
guid |
Si | Identificador unico de llamada | |
|
l1 |
Si | Nivel 1 de tipificación | |
|
l2 |
No | Nivel 2 de tipificación | |
|
l3 |
No | Nivel 3 de tipificación | |
|
d1 |
No | Dato extra a guardar | |
|
d2 |
No | Dato extra a guardar | |
|
comment |
No | Comentario para la tipificación | |
|
schedule |
No | Fecha y hora para agendar llamada formaro AAAA-MM-DD HH:MI:SS | |
|
camptoreschedule |
No | Marcador al cual agendar la llamada | |
|
tag |
No | Texto para tag de tipificación o vacio |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/api/DispositionCall HTTP/1.1
Host: {{Instancia}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 173
campaign=campana-%3E&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag=
cURL
curl --location --request POST 'https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'campaign=campana->' \
--data-urlencode 'agent=Vcisneros' \
--data-urlencode 'callerid=1234567890' \
--data-urlencode 'guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57' \
--data-urlencode 'l1=Tipificacion1' \
--data-urlencode 'l2=' \
--data-urlencode 'l3=' \
--data-urlencode 'd2=' \
--data-urlencode 'd2=' \
--data-urlencode 'comment=' \
--data-urlencode 'schedule=' \
--data-urlencode 'camptoreschedule=' \
--data-urlencode 'tag='
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
var urlencoded = new URLSearchParams();
urlencoded.append("campaign", "campana->");
urlencoded.append("agent", "Vcisneros");
urlencoded.append("callerid", "1234567890");
urlencoded.append("guid", "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57");
urlencoded.append("l1", "Tipificacion1");
urlencoded.append("l2", "");
urlencoded.append("l3", "");
urlencoded.append("d2", "");
urlencoded.append("d2", "");
urlencoded.append("comment", "");
urlencoded.append("schedule", "");
urlencoded.append("camptoreschedule", "");
urlencoded.append("tag", "");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"campaign": "campana->",
"agent": "Vcisneros",
"callerid": "1234567890",
"guid": "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57",
"l1": "Tipificacion1",
"l2": "",
"l3": "",
"d2": "",
"d2": "",
"comment": "",
"schedule": "",
"camptoreschedule": "",
"tag": ""
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddParameter("campaign", "campana->");
request.AddParameter("agent", "Vcisneros");
request.AddParameter("callerid", "1234567890");
request.AddParameter("guid", "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57");
request.AddParameter("l1", "Tipificacion1");
request.AddParameter("l2", "");
request.AddParameter("l3", "");
request.AddParameter("d2", "");
request.AddParameter("d2", "");
request.AddParameter("comment", "");
request.AddParameter("schedule", "");
request.AddParameter("camptoreschedule", "");
request.AddParameter("tag", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "campaign=campana->&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag=");
Request request = new Request.Builder()
.url("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instancia}}.ucontactcloud.com")
payload = 'campaign=campana-%3E&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag='
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/api/DispositionCall", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
"OK"
Respuesta de error
"0"
Crear Agente
Cuando en alguna integración se necesita crear usuarios desde alguna otra plataforma, podemos usar esta API que crea usuarios del tipo agente para que puedan hacer llamadas.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/sip/addsip |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| Phone | Texto | Si | Objeto JSON |
Ejemplo JSON
Los datos que no estan encerrados con {{ }} no serán modificados, serán enviados como datos fijos
{
"LogLevel": "SEVERE",
"fullname": "{{fullname}}",
"accountcode": "{{userNameAgent}}",
"allow": "alaw;ulaw",
"callerid": "{{phoneNumber}}",
"id": 407,
"context": "agentes",
"defaultuser": "{{phoneNumber}}",
"did": "",
"disallow": "all",
"dtmfmode": "rfc2833",
"email": "",
"encryption": "yes",
"canreinvite": "",
"insecure": "",
"host": "dynamic",
"language": "es",
"mailbox": "",
"name": "{{phoneNumber}}",
"nat": "yes",
"phonetype": "SoftPhone",
"pickupgroup": "",
"callgroup": "",
"qualify": "yes",
"record": "agent",
"secret": "{{passwordAgent}}",
"subscribecontext": "default",
"transport": "wss",
"port": "",
"outboundproxy": "",
"type": "friend",
"limite": "0"
}
Descripción de objeto JSON
| Parametro | Tipo |
Descripción |
| userName | Texto (String) | Nombre de usuario del agente |
| password | Texto (String) | Contraseña del usuario |
| fullname | Texto (String) | Nombre completo del agente |
|
phoneNumber
|
Texto (String) | Numero de teléfono del agente (Dato Unico) |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/sip/addsip HTTP/1.1
Host: {{dominio}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 1228
phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }
cURL
curl --location --globoff 'https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic VmNpc25lcm9zOjdjMjUyODAyLTljNGEtNDcyZi05MjJiLTQwNGFmY2JjM2Q2MA==");
const urlencoded = new URLSearchParams();
urlencoded.append("phone", "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"phone": "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var options = new RestClientOptions("https://{{dominio}}.ucontactcloud.com")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/Integra/resources/sip/addsip", Method.Post);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddParameter("phone", "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "phone={ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
Request request = new Request.Builder()
.url("https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{dominio}}.ucontactcloud.com")
payload = 'phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/sip/addsip", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "1" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta exitosa
1
Respuesta de error
0
Agregar Agente a Campaña
Cuando la integración lo requiere se pueden agregar agentes a una campaña especifica por medio de esta API, a continuación mostramos el como realizar esta acción.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/queues/addqueuemember |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo |
Descripción |
| queuemember | Texto (String) | Array de objetos, en donde se pueden agregar varios usuarios a varias campañas, por cada objeto es un usuario agregado a una campaña. |
Ejemplo JSON
Los datos agregados en el siguiente ejemplo son meramente demostrativos, tendrá que reemplazar los datos con los correspondiente a su instancia.
[
{
"membername": "{{UserName}}",
"queueName": "{{CampaignName}}",
"interface1": "SIP/{{AgentPhoneNumber}}",
"penalty": 0,
"paused": 0
}
]
Descripción de Objeto JSON
En el JSON todos las Key deben estar agregadas, si el campo menciona que no es oblicatorio puede ser agregado con un valor vacio.
| Parametro | Tipo |
Descripción |
| UserName | Texto (String) | Nombre de usuario del agente |
| CampaignName | Texto (String) | Nombre de la campaña a la cual se desea agregar el usuario |
|
PhoneNumber
|
Texto (String) | Numero de teléfono del agente |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/queues/addqueuemember HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 221
queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]
cURL
curl --location --globoff 'https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
const urlencoded = new URLSearchParams();
urlencoded.append("queuemember", "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"queuemember": "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("queuemember", "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "queuemember=[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/queues/addqueuemember", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "1" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta exitosa
1
Respuesta de error
0
Hacer Llamada
En algunas ocasiones, es necesario que un agente genere una llamada a un número de teléfono desde otra aplicación, como podría ser un CRM. Se puede utilizar esta API, y la llamada será enviada al agente.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Agents/AgentCall |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| callerid | Número | Si | DID asignado a la campaña por la cual se realizará la llamada. |
| agent | Texto | Si | Agente que tomará la llamada. |
|
phone
|
Número | Si | Número de teléfono del agente. |
| tech | Texto | Si | Protocolo de comunicación, agregar SIP. |
| context | Texto | Si | Nombre del contexto para flujos por el cual saldrá la llamada. Puede ser "agentes" o "agents" |
| outqueue | Texto | Si | Nombre de la campaña manual. |
| destination | Número | Si | Nombre de la campaña por la cual se generará la llamada. |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Agents/AgentCall HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 116
callerid={{callerid}}agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}
cURL
curl --location 'https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'callerid={{callerid}}' \
--data-urlencode 'agent={{agent}}' \
--data-urlencode 'phone={{phone}}' \
--data-urlencode 'tech=SIP' \
--data-urlencode 'context={{context}}' \
--data-urlencode 'outqueue={{outqueue}}' \
--data-urlencode 'destination={{destination}}'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("callerid", "{{callerid}}");
urlencoded.append("agent", "{{agent}}");
urlencoded.append("phone", "{{phone}}");
urlencoded.append("tech", "SIP");
urlencoded.append("context", "{{context}}");
urlencoded.append("outqueue", "{{outqueue}}");
urlencoded.append("destination", "{{destination}}");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"callerid": "{{callerid}}",
"agent": "{{agent}}",
"phone": "{{phone}}",
"tech": "SIP",
"context": "{{context}}",
"outqueue": "{{outqueue}}",
"destination": "{{destination}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("callerid", "{{callerid}}"));
collection.Add(new("agent", "{{agent}}"));
collection.Add(new("phone", "{{phone}}"));
collection.Add(new("tech", "SIP"));
collection.Add(new("context", "{{context}}"));
collection.Add(new("outqueue", "{{outqueue}}"));
collection.Add(new("destination", "{{destination}}"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "callerid={{callerid}}&agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = 'callerid={{callerid}}&agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Agents/AgentCall", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un GUID como identificador de la llamada; con este dato se podrán realizar futuras acciones mediante APIs.
Respuesta exitosa
8cf8570e-60e7-44ed-b799-3baab211b04d
Respuesta de error
0
Obtener Campañas
Para obtener todas las campañas creadas dentro de uContact se puede usar esta API la cual regresa la totalidad de Dialers y Queues.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/queues/getqueues |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| lastrow | Texto | No | Enviar vacio |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/queues/getqueues HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 8
lastrow=
cURL
curl --location --globoff 'https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'lastrow='
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
const urlencoded = new URLSearchParams();
urlencoded.append("lastrow", "");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"lastrow": ""
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("lastrow", ""));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "lastrow=");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = 'lastrow='
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/queues/getqueues", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un JSON correspondiente a un array de objetos, en donde cada objeto corresponde a una campaña.
Respuesta exitosa
[
{
"name": "DEMO007->",
"musiconhold": "default",
"announce": "",
"context": "",
"timeout": 15,
"monitorType": "MixMonitor",
"monitorFormat": "gsm",
"announceFrequency": 0,
"announceRoundSeconds": 0,
"announceHoldtime": "no",
"announcePosition": "no",
"retry": 3,
"wrapuptime": 0,
"maxlen": 100,
"servicelevel": 15,
"strategy": "linear",
"joinempty": "yes",
"leavewhenempty": "no",
"eventmemberstatus": false,
"eventwhencalled": true,
"reportholdtime": false,
"memberdelay": 0,
"weight": 0,
"timeoutrestart": true,
"ringinuse": false,
"setinterfacevar": true,
"periodicAnnounce": "",
"periodicAnnounceFrequency": "0",
"did": "18885751288",
"direction": "outbound",
"interactions": "",
"email": "",
"thresholds": "40-80-20-50-60-180-300-6-3-",
"welcome": "& & & &;& & & &",
"schedule": "sun-sat;00:00-23:59",
"form": "Totality|true",
"quality": "",
"dialstring": "SIP/CLEVERSIP/9898",
"voicemail": "",
"queue_survey": 1,
"queue_timeout": 600,
"auto_answer": "FALSE",
"show_dispositions": 1,
"queue_breaks": "",
"screen_recording": 0,
"language": "en",
"transferCampaigns": ""
}
]
Respuesta de error
0
Obtener Dialers
Para obtener la lista de los dialers de uContact, se necesita usar esta API. Por ejemplo, si queremos crear un desplegable desde otra aplicación para mostrar los dialers y realizar alguna acción específica.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/get |
Request Header
| Clave | Valor |
| Authorization | Basic {{Token}} |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/get HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
cURL
curl --location --globoff --request POST 'https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get' \
--header 'Authorization: Basic {{Token}}'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
const requestOptions = {
method: "POST",
headers: myHeaders,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get");
request.Headers.Add("Authorization", "Basic {{Token}}");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = ''
headers = {
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/Dialers/get", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un texto en formato JSON correspondiente a un array de objetos, en donde cada objeto corresponde a un dialer.
Respuesta exitosa
[
{
"campaign": "DEMO007<-",
"schedule": "mon,tue,wed,thu,fri,sat;08:00-21:00",
"dialertype": "PowerDialer",
"status": 1,
"dialstring": "SIP/CLEVERSIP/9898",
"context": "PowerDialer",
"exten": "${EXTEN}",
"am": 0,
"sound": "",
"maxchannels": 2,
"variables": "FORM=Totality:language=default:initialSilence=1500:greeting=2000:afterGreetingSilence=1000:totalAnalysisTime=2500:minWordLength=100:betweenWordSilence=50:maxNumberOfWords=2:silenceThreshold=256",
"timeout": 30,
"callerid": "18885751288",
"retries": 0,
"callerpres": 20,
"tbc": -5,
"dncr": 1,
"schedulephones": "0=HMW:1=HMW:2=HMW:3=HMW:4=HMW:5=HMW:6=HMW:7=HMW:8=MWH:9=MWH:10=MWH:11=MWH:12=MWH:13=MWH:14=MWH:15=MWH:16=MWH:17=MWH:18=MWH:19=HMW:20=HMW:21=HMW:22=HMW:23=HMW",
"autoanswer": 1,
"tbc_nocontact": 0,
"earlymedia": 0,
"recyclecount": 0,
"recycle": "[]",
"country": "",
"rule": "NONE",
"autoconvertcallerid": 0
}
]
Respuesta de error
0
Grabaciones
Envio Almacenamiento Externo
Adicionalmente al respaldo de grabaciones en el servidor en la nube, es posible enviarlas a un servidor de almacenamiento externo que el cliente puede ofrecer.
Las grabaciones podran ser enviadas en formato MP3 o WAV stereo con el audio de agente en el canal izquierdo y el audio del cliente en el canal derecho y con METADATA en el nombre del archivo para poder realizar un analisis mas detallado.
FORMATO
(instancia) & (fecha) & (hora) & (origen) & (destino) & (campaña) & (agente) & (tipificacion) & (calidad) & (duracion) & (guid)
clever&20240131&141929&13612393100&3252126294&LOANS_IN<-&Epineda&Leads&Voicemail&&0&4&d9f25bd0-ab4b-4e01-9ef2-8e4e8361414e.mp3
La definición y orden de los campos es el siguiente delimitado por un amperson (&):
- Nombre de la instancia
- Fecha (YYYMMDD)
- Hora (HHMMSS)
- Origen
- Destino
- Campaña
- Usuario
- Disposición 1
- Disposición 2
- Disposición 3
- Quality (opcional)
- Duracion
- Guid
Envio de Almacenamiento Externo (WhatsApp)
Adicionalmente al respaldo de conversaciones en el servidor en la nube, es posible enviarlas a un servidor de almacenamiento externo que el cliente puede ofrecer.
Las conversaciones de WhatsApp podrán ser enviadas en formato JSON, con un archivo por conversación y con toda la METADATA contenida dentro del archivo para poder realizar un análisis más detallado.
FORMATO
| Aspecto | Definición |
|---|---|
| Formato del archivo | JSON (UTF-8) |
| Unidad de envío | Un archivo = una conversación completa |
| Ruta de depósito | /whatsapp/YYYYMMDD/ (subcarpeta diaria) |
| Nombre del archivo | (conversation_id).json |
| Orden de los mensajes | Cronológico ascendente |
| Versión del esquema | 1.0 |
Ejemplo de nombre de archivo:
/whatsapp/20240416/0a1aec28-90c7-43af-afaf-91b58ded8baf.json
ESTRUCTURA
{
"schema_version": "1.0",
"source": "whatsapp_channel",
"generated_at": "2024-04-16T14:00:00Z",
"conversation": {
"conversation_id": "0a1aec28-90c7-43af-afaf-91b58ded8baf",
"client_id": "5215733215563",
"agent_name": "Jmartinez",
"agent_group": "Cobranza WhatsApp",
"conversation_status": "closed",
"disposition_1": "Contacto efectivo",
"disposition_2": "Promesa de pago",
"disposition_3": "",
"disposition_4": "",
"disposition_5": "",
"messages": [
{
"timestamp": "2024-04-16T09:12:00-05:00",
"content": "Buenos días, quiero saber el saldo de mi cuenta",
"message_category": "client",
"message_type": "client_message",
"agent_name": "",
"extras": {
"channel": "whatsapp",
"attachments_available": false
}
},
{
"timestamp": "2024-04-16T09:13:20-05:00",
"content": "Buen día, con gusto le ayudo. Su saldo actual es de $1,250.00",
"message_category": "agent",
"message_type": "agent_message",
"agent_name": "Jmartinez",
"extras": {
"channel": "whatsapp",
"attachments_available": true
}
}
]
}
}
DEFINICIÓN DE CAMPOS
Nivel raíz
- schema_version — Versión del esquema de datos. Valor fijo:
1.0 - source — Canal de origen de la conversación. Valor fijo:
whatsapp_channel - generated_at — Fecha y hora de generación del archivo en formato ISO 8601. Ejemplo:
2024-04-16T14:00:00Z - conversation — Objeto que contiene la conversación completa. No es un arreglo: cada archivo corresponde a una sola conversación
Objeto conversation
- conversation_id — Identificador único de la conversación de WhatsApp
- client_id — Número de teléfono del cliente
- agent_name — Nombre del agente que atendió la conversación (tomado del primer mensaje enviado por el agente)
- agent_group — Nombre de la cola o campaña a la que pertenece la conversación
- conversation_status — Estado o evento final registrado al cierre de la conversación
- disposition_1 — Tipificación de primer nivel asignada al cierre de la conversación (puede estar vacío)
- disposition_2 — Tipificación de segundo nivel (puede estar vacío)
- disposition_3 — Tipificación de tercer nivel (puede estar vacío)
- messages — Arreglo con todos los mensajes de la conversación, ordenados cronológicamente de forma ascendente
Objeto messages[]
- timestamp — Fecha y hora del mensaje en formato ISO 8601 con zona horaria. Ejemplo:
2024-04-16T09:12:00-05:00 - content — Cuerpo del mensaje de texto
- message_category — Categoría del emisor del mensaje:
clientsi fue enviado por el cliente,agentsi fue enviado por el agente - message_type — Tipo de mensaje:
client_messagesi fue enviado por el cliente,agent_messagesi fue enviado por el agente - agent_name — Nombre del agente asociado al mensaje (puede estar vacío en mensajes del cliente)
- extras — Objeto con metadatos adicionales del mensaje
Objeto messages[].extras
- channel — Canal de la conversación. Valor fijo:
whatsapp - attachments_available — Indica si el mensaje incluye archivos adjuntos (imágenes, documentos, etc.). Valor:
trueofalse
CONSIDERACIONES
- Adjuntos: el contenido de los archivos adjuntos no se incluye en el JSON. Únicamente se indica su existencia mediante la bandera
attachments_available - Tipificaciones: la tipificación se asigna al cierre de la conversación. Se envían hasta 3 niveles y los niveles no utilizados se envían como cadena vacía (
"") - Transferencias: cuando una conversación es atendida por más de un agente, el campo
agent_namedel encabezado corresponde al primer agente que respondió; elagent_namede cada mensaje refleja al agente que lo envió - Conversaciones cerradas: únicamente se envían conversaciones que ya cuentan con evento de cierre registrado
Seguridad
Basándose en estas consideraciones también se deben de tener en cuenta para las políticas de escaneo de los antivirus que puedan estar instalados en los equipos, evitando escaneo o denegaciones de acceso por seguridad.
Aspectos de seguridad
Seguridad de la solución.
Encriptación.
Con motivo de proteger los datos y las conversaciones que suceden dentro de uContact, el sistema garantiza máxima seguridad de la voz y de mensajería con encriptación TLS, Websockets Secure (WSS) y SRTP, entre otros.
|
Requisito de autenticación.
|
Roles & Restricciones.
|
|
Acceso a datos.
|
GDPR.
|
Seguridad de Google Cloud.
Gracias a nuestro partnership oficial con Google Cloud, ofrecemos su nube –y todos sus beneficios– como implementación estándar y además sumamos sus protocolos de seguridad a nuestra propia capa de detección de ataques de fuerza bruta y comunicaciones encriptadas.
Disponibilidad de la infraestructura.
Tal como lo define Google Cloud, la instancia multizona en la que está alojado uContact cuenta con un 99,9% de disponibilidad. En este enlace podrán encontrar más información acerca de los SLA definidos por la compañía mencionada anteriormente.
|
Respaldos automatizados: Mediante herramientas disponibles en GCP, en todas las soluciones cloud de uContact contamos dentro de la creación de instancias con respaldos automatizados. Estos respaldos permiten tener una imagen completa de la instancia diariamente, por un periodo de 10 días, permitiendo recuperación de información que se desee y también |
Auditoría de Logs Centralizada: Cada instancia cloud cuenta con un sistema de recopilación de logs del sistema de forma centralizada. Esto permite guardar datos históricos de todos los logs del sistema operativo, auditoria de seguridad y logs del sistema uContact. |
|
Alertas Proactivas: Todas nuestras instancias tienen activadas alertas proactivas, que están monitoreando constantemente el estado de cada instancia, avisando de posibles errores antes de que sucedan, para que nuestro equipo de Soporte pueda visualizar y tomar acciones antes de tiempo. |
Monitoreo automatizado: Nuestro equipo de soporte cuenta con varias herramientas que constantemente monitorean el estado de cada servidor, en variados parámetros (CPU,uso de memoria, uso de red, disponibilidad de conexión y uptime). Tanto sea por notificaciones directas a nuestro personal como también |
Operativas de seguridad.
Análisis de vulnerabilidad.
Con el fin de garantizar la seguridad de los datos y de las instancias de nuestros clientes, nuestro equipo técnico utiliza herramientas para realizar pruebas periódicas en el sistema para analizar y detectar posibles vulnerabilidades. Solo con
un monitoreo constante es que se puede minimizar los riesgos. Por otra parte, cabe destacar que se utilizan herramientas
tales como Inmuniweb y OWASP® Zed Attack Proxy (ZAP) para poder realizar pruebas de vulnerabilidad más completas y
así ser más exhaustivos en la detección de posibles vulnerabilidades.
Pruebas de penetración.
Con el fin de garantizar la seguridad de los datos y de las instancias de nuestros clientes, nuestro equipo técnico utiliza herramientas para realizar pruebas periódicas en el sistema para analizar y detectar posibles vulnerabilidades. Solo con un monitoreo constante es que se puede minimizar los riesgos.
Control de cambios.
Todos los cambios o desarrollos a realizar en uContact están a cargo de nuestro equipo de desarrolladores, quienes se
encargan de recibir y evaluar los cambios sugeridos por los clientes u otras áreas de la empresa con el fin de determinar si
son viables o no. En caso de que lo sean, son aplicados y testeados múltiples veces para luego ser implementados en la
solución y comunicados oficialmente.
Gestión de incidentes
En caso de que existiera alguna eventualidad que pusiera en riesgo la seguridad o la confidencialidad de los datos, nuestro equipo técnico cuenta con un plan de contingencia elaborado para dar respuestainmediata a este tipo de situaciones.
En primer lugar, se identifica la fuente originaria del incidente para, en segundo lugar, determinar qué se debe evaluar para
resolverlo. En tercer lugar, se aplican los pasos a seguir para resolver o enfrentar el incidente. Por último, el cuarto paso a
seguir se corresponde con el reporte del incidente y su solución como método de prevención para próximas oportunidades
ISO 27001
La norma internacional ISO 27001 permite el aseguramiento, la confidencialidad e integridad de los datos y de la información y de los sistemas que la procesan. Esta permite a las organizaciones el análisis del riesgo y la aplicación de los controles necesarios para eliminarlos.
Si nos dirigimos a la configuracion del sistema, nos encontramos con las siguientes opciones que nos ayudaran a establecer un sistema más seguro para nuestros usuarios.
Dentro de la opcion mensaje de la empresa, se puede establecer un mensaje de advertencia de la compañía, que aparecerá cada vez que el agente inicie sesión. También el sistema mostrará la fecha y hora de la última sesión iniciada del usuario.
Dentro de las medidas de seguridad que establece se encuentran:
Expiración de la contraseña luego de determinada cantidad de días. (Modificable)
-
Solicita cambio obligatorio de contraseña después que se actualiza por supervisor o por la primera vez que el usuario ingresa.
Bloqueo de cuenta luego de determinados intentos fallidos de ingreso de contraseña. (Modificable)
En el momento de cambiar la contraseña, no permitir utilizar las últimas X cantidad de contraseñas utilizadas. (Modificable)
El sistema cuenta con tres estados distintos para los usuarios:
-
Activo.
-
Inactivo.
-
Bloqueado (por intentos de login fallidos).
El usuario es deshabilitado si no entra a uContact luego de cierta cantidad de días determinados. (Modificable)
Formato de contraseñas establece la complejidad que debe tener las contraseñas de los agentes. Aquí se puede configurar si debe tener:
-
Minúsculas
-
Mayúsculas
-
Números
-
Caracteres especiales
-
y el largo mínimo de caracteres
Si nos dirijimos a la creacion de agentes, podemos encontrar los siguientes campos disponibles:
AGENDA DE LOGIN |
| La posibilidad de crear una agenda de login, la cual establece determinados días de la semana y horarios en los cuales el agente puede conectarse al sistema. |
CUENTA TEMPORAL |
| También está la oportunidad de crear usuarios temporales, es decir, se crea una cuenta que tiene un vencimiento forzado en la fecha que se establezca en los campos. |
PCI Compliance
PCI es el estándar de seguridad de datos de la industria de tarjetas de pago, también conocido como PCI DSS (Payment Card Industry – Data Security Estándar ) y es un estándar exclusivo de seguridad de la información administrado por el Consejo de Estándares de Seguridad y hace referencia a un estándar que contiene una serie de requerimientos de seguridad que todos los comerciantes, grandes o pequeños, deben cumplir, este estándar se aplica a cualquier empresa que procesa, almacena o transmite datos de tarjetas de crédito, por lo tanto el comercio debe de contar con un certificado “PCI Certificate” que garantice que todo su proceso y herramientas que utiliza cumplen con las normas de seguridad necesaria para garantizar la integridad de la información, por lo que el software uContact de Contact Center Omnicanal es “PCI Compliance” porque cumple con los requerimientos más comunes que el proceso del cliente requiera para su certificación.
Algunos requisitos básicos de cumplimientos que algunos procesos que se requieren y están incluidos en uContact son:
- Utilizar un certificado SSL de 128bits. Resumiendo: Proteger los datos. Cifrar cualquier transmisión pública de los datos.
- ISO 27001 Seguridad de manejo y resguardo de la información
- ISO 27002 proceso de gestión de la continuidad del negocio
- Instalar y mantener una configuración de cortafuegos para proteger de datos.
- No utilices los valores predeterminados del proveedor para las contraseñas del sistema y otros parámetros de seguridad.
- Cifrar la transmisión de los datos de los titulares de las tarjetas a través de redes públicas y abiertas.
- Restringir el acceso a los datos por necesidad de conocimiento de la empresa.
- Asignar un ID único a cada persona con acceso al sistema.
- Realizar auditorías periódicas de acceso y seguridad a los recursos de red y datos.
- Mantén una política de seguridad y asegúrate de que todo el personal la conozca.
Adicionalmente, Google Cloud se somete a una auditoría anual de terceros con el fin de certificar que todos sus productos cumplan con las normas PCI DSS. Esto significa que los servicios proporcionan una infraestructura en la que los clientes pueden compilar sus propios servicios o aplicaciones para el almacenamiento, el procesamiento o la transmisión de datos de titulares de tarjetas.
Es importante señalar que los clientes siguen siendo responsables de garantizar que sus aplicaciones cumplan con las normas PCI DSS. Consulta cómo crear un entorno que cumpla con las normas PCI DSS para aprender a usar Google Cloud Platform a fin de implementar estas normas en tu aplicación.
Consideraciones
En la red donde estén trabajando los agentes se deben de considerar los siguientes puntos:
-
El puerto 3478 UDP/TCP tiene que estar habilitado al menos para el host stun.ucontactcloud.com
-
El puerto 8089 UDP/TCP tiene que estar habilitado al menos para el host (ucontactinstance).ucontactcloud.com
-
El puerto 443 UDP/TCP tiene que estar habilitado al menos para el host (ucontactinstance).ucontactcloud.com
-
Los puertos 10000-20000 UDP tienen que estar habilitado al menos para el host (ucontactinstance).ucontactcloud.com
-
Tiene que estar habilitado el acceso al los sitios cacerts.geotrust.com/GeoTrustRSACA2018.crt y redirector.gvt1.com/ para permitir a los navegadores validar el certificado SSL de uContact.
-
Tener libre acceso a las siguientes IP (104.197.204.63 , 74.125.134.127) usadas por google chrome.
-
Habilitar acceso al sitio de Licenciator para las activaciones de las licencias: us-central1-licenciator.cloudfunctions.net/api/servers/getLicence
-
Habilitar acceso al sitio de Montioreo de la herramienta: monitor.ucontactcloud.com
-
Verificar que SIP - ALG no este activo en los dispositivos de red locales y de borde.
-
Verificar que IPS - detection no este activo ya que puede descartar paquetes Voip y ocasionar problemas de voz (corte de llamadas inesperados etc)
-
dominio *.github.com para updates debe estar habilitado
Basándose en estas consideraciones también se deben de tener en cuenta para las políticas de escaneo de los antivirus que puedan estar instalados en los equipos, evitando escaneo o denegaciones de acceso por seguridad.
Consideraciónes de red para videollamadas
Bandwidth
-
1MB/s simétrico
Latency for toll-quality
-
<100 ms total
Jitter
-
< 20 ms jitter
Packet loss
-
< 1 % for voice calls
Codec
-
VP8
Conasideraciones de red para VoIP
Bandwidth
-
256 kbps per call
Latency for toll-quality
-
<100 ms total
Jitter
-
< 20 ms jitter
Packet loss
-
< 1 % for voice calls
Codec
-
ulaw, alaw
Equipo de Computo
- Procesador: Core i3 2.0 GHz.
- Memoria: 8GB RAM.
- Resolución mínima: 1366 x 768 (mínimo)
- Disco mínimo: 160 GB
- Explorador internet: Chrome (o cualquier navegador que sea parte del proyecto “CHROMIUM”) (no se recomienda Firefox)
- Enlace 2Mb subida/bajada
- NO MAQUINAS VIRTUALES
Infraestructura
Arquitectura
Equipo de Computo
Terminales Agentes y Supervisores
Los equipos de los agentes y supervisores deben tener los siguientes requerimientos mínimos:
Equipo Desktop de Agente
- Procesador: Core i5 2.0 GHz.
- Memoria: 8GB RAM.
- Resolución mínima: 1366 x 768 (mínimo)
- Disco mínimo: 160 GB
- Explorador internet: Chrome (o cualquier navegador que sea parte del proyecto “CHROMIUM”) (no se recomienda Firefox)
- Enlace 2Mb subida/bajada
Equipo Desktop de Supervisor
- Procesador: Core i5 2.5 ghz
- Memoria: 8 GB RAM
- Resolución mínima: 1366 x 768 (mínimo)
- Disco minimo: 160 GB
- Explorador internet: Chrome (preferiblemente)
Almacenamiento de Grabaciones (audio y video)
Hardware (En Sitio)
Equipamiento Aceptado Tarjetas Digium o Sangoma, Xorcom, Dinstar, KHOMP, SIP Gateways, SIP Hardphones.
Infraestructura Contact Center hasta 15 agentes
Servidor Telefonía y base de datos
-
Procesador: Intel® Xeon® E7-8893 v4 . 3.2 Ghz
-
Memoria: 8 GB RAM
-
Disco: capacidad 500 GB (Raid 1)
-
Controladora: Raid 0/1/10 (software)
-
LAN: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Infraestructura Contact Center hasta 40 agentes
-
Procesador: Intel® Xeon® E7-8893 v4 . 3.2 Ghz
-
Memoria: 16 GB RAM
-
Disco: capacidad 1TB (Raid 1) – 10K RPM (recomendado) o superior
-
Controladora: Raid 0/1/10 (software)
-
LAN: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Infraestructura Contact Center hasta 100 agentes
Servidor Telefonía (Requerimientos)
-
Procesador: Intel® Xeon® E7-4809 v4 2.10 GHz
-
Memoria: 16 GB RAM
-
Disco: 1TB (Raid 5) – 10K RPM (recomendado) o superior
-
Controladora: Raid 0/1/10 (software)
-
LAN: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Servidor Base datos (Requerimientos)
-
Procesador: Intel® Xeon® E7-4809 v4 2.10 GHz
-
Memoria: 16 GB RAM
-
Disco: 500 GB (Raid 5) – 10K RPM (recomendado) o superior
-
Controladora: Raid 0/1/10 (software)
-
LAN: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Infraestructura Contact Center hasta 200 agentes
Servidor Telefonía (Requerimientos)
-
Procesador: Intel® Xeon® E7-4820 v4 2.00 GHz
-
Memoria: RAM 32 GB
-
Disco: HDD 2 TB
-
Controladora: Raid 5 con discos SAS 15krpm
-
Lan: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Servidor Base datos (Requerimientos)
-
Procesador: Intel® Xeon® E7-4820 v4 2.00 GHz
-
Memoria: RAM 32 GB
-
Disco: HDD 1TB
-
Controladora: Raid 5 con discos SAS 15krpm
-
Lan: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Infraestructura Contact Center hasta 400 agentes
Servidor Telefonía (Requerimientos)
-
Procesador: Intel® Xeon® E7-8870 v4 3.00 GHz
-
Memoria: RAM 64 GB
-
Disco: HDD 3 TB
-
Controladora: Raid 5 con discos SAS 15krpm
-
Lan: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Servidor Base datos (Requerimientos)
-
Procesador: Intel® Xeon® E7-8870 v4 3.00 GHz
-
Memoria: RAM 64 GB
-
Disco: HDD 1 TB
-
Controladora: Raid 5 con discos SAS 15krpm
-
Lan: 100/1000 MB (Dual)
-
Compatible con Ubuntu Linux
Los servidores deben esta certificados en Ubuntu, validar en: http://www.ubuntu.com/certification/server/
Guías
Guías de uContact
Llamadas de transferencia - ESP
En uContact, existen dos funcionalidades que nos ayudarán a realizar transferencias efectivas de llamadas.
Transferencia Atendida
- Esta transferencia, como el nombre lo indica, debe ser atendida por la persona destino a la que se le esta transfiriendo la llamada, permite la comunicación entre quien transfiere y quien recibe la transferencia y mientras este ultimo no atienda la llamada, la transferencia no se completará.
Transferencia Ciega
- A diferencia de la transferencia atendida, en esta no se toma en cuenta si el destino esta disponible para atender la llamada, simplemente se transfiere. Si es a un agente o campaña, y en ese momento no puede ser atendida, se irá a la cola del agente o la campaña respectivamente. En esta transferencia no habrá comunicación entre quien transfiere y el destino.
Los botones de ambas transferencias se encuentran en la barra de herramientas del Softphone.
La transferencia atendida se encuentra como primera opción, se muestra el icono de dos flechas.
La transferencia ciega se encuentra como tercera opción, se muestra el icono de una flecha.
Al seleccionar cualquiera de los dos iconos de transferencia, ya sea Atendida o Ciega, se desplegará el siguiente menú, en el vendrán 3 opciones de destinos a los que se pueden transferir. Agentes, Campañas y Número Externo.
- La opción de Agentes desplegara todos los agentes y sus estatus, si están desconectados, en línea u ocupados ya sea en llamada o alguna pausa, (esto dependerá de los permisos asignados en los grupos de seguridad).
- La opción de Campañas desplegará todas las campañas a las cuales puede transferir, (esto dependerá de los permisos asignados en los grupos de seguridad).
- En la opción de Número Externo, podremos enviar la llamada a cualquier número telefónico externo a uContact, el numero deberá ser marcado a 10 dígitos. También podemos seleccionar esta opción y transferir a la extensión directa de un agente, pero esto también dependerá de los permisos asignados en los grupos de seguridad.
Cómo configurar un "Holiday" en Campañas
Requisito previo indispensable: Para poder llevar a cabo este procedimiento, es obligatorio iniciar sesión en la plataforma con un Perfil de Supervisor.
- Dirígete al menú principal del sistema y selecciona la opción Campañas. A continuación, haz clic en el submódulo Holidays.
2. Dentro del apartado de Holidays, localiza y selecciona el día específico que deseas configurar o agregar, al hacer clic sobre el día, se desplegará automáticamente el menú de configuración.
3. Completar los detalles de la configuración: En el menú desplegado, llena los siguientes campos requeridos:
-
Descripción de la campaña: Asigna un nombre claro para identificar el día festivo.
-
Campañas aplicables: Selecciona las campañas específicas en las que este holiday tendrá efecto (presiona la tecla Ctrl para seleccionar múltiples campañas)
-
Canales aplicables: Elige los canales de comunicación donde estará activa la configuración.
-
Horario: Define el rango de horas exacto en el cual aplicará el día festivo.
-
Sonido: Selecciona la pista de audio correspondiente.
-
(Nota: El archivo ha sido cargado previamente a la base de datos de sonidos, con el nombre "holiday").
-
-
Mensaje: Redacta el mensaje.
- Marcamos la opción Recurrent(Se repetira cada año) o Not Recurrent.
Academy
En esta serie de cursos y capacitaciones, aprenderás todo lo que necesita saber sobre uContact,
Academy está diseñado para ayudarte a profundizar tu comprensión de nuestra solución y aprovecharla al máximo.
Interfaz del agente
Comienza con un video introductorio que te ayudará a obtener una visión general del espacio de trabajo de un agente.
01.1. La bandeja unificada | 3 min.
Con la bandeja de entrada unificada de uContact, los agentes pueden conectar con los clientes en el canal digital de su elección sin necesidad de cambiar de ventana en el navegador. Aquí te contamos todo lo que necesitas saber sobre cómo gestionar tus interacciones digitales en una misma pantalla utilizando nuestra bandeja unificada.
Aprende cómo utilizar el Softphone de uContact, desarrollado de forma nativa en la solución utilizando tecnología WebRTC. Con él podrás iniciar y/o responder llamadas directamente desde la plataforma tal y como lo harías desde un teléfono de escritorio, y así reducir significativamente tu tiempo entre llamadas.
01.3. El perfil del agente | 3 min
Personaliza tu espacio de trabajo en uContact para que tu experiencia de usuario con nuestra solución se ajuste lo más posible a tus gustos, preferencias y personalidad. ¿Cómo? Mira este video y aprende cómo configurar tu avatar personal, fondo de pantalla predeterminado, ¡y más!
Bandeja unificada
Con la bandeja de entrada unificada de uContact, los agentes pueden conectar con los clientes en el canal digital de su elección sin necesidad de cambiar de ventana en el navegador. Aquí te contamos todo lo que necesitas saber sobre cómo gestionar tus interacciones digitales en una misma pantalla utilizando nuestra bandeja unificada
Conference Calls - ESP
- Paso 1: Inicialmente, cuando la llamada este en curso y para iniciar una conferencia o una llamada de varías vías, presionaremos el cuarto ícono que se muestra en la parte inferior del Softphone, (Botón de conferencia):
Posteriormente, el cliente/banco o con quien estábamos hablando, se irá a la sala de conferencia y aparentemente el Softphone finalizará la llamada.
- Paso 2: Después realizaremos la llamada hacia otro número telefónico, el cual necesitemos también enviar a conferencia. Y asi sucesivamente con todos los participantes que necesitemos ingresar.
Aplicaremos el paso 1 con las llamadas que requiramos enviar a conferencia, las veces que sea necesario.
- Paso 3: Cuando hayamos enviado las llamadas requeridas a conferencia y sin tener ninguna llamada activa, presionaremos el botón de conferencia el cual nos enviará a la sala de conferencia donde ya están ambas personas de las llamadas anteriormente enviadas.
Es importante mencionar, que las personas/llamadas que se envíen a conferencia, mientras estén en la sala de espera, no podrán escucharse entre si, únicamente hasta que el administrador ingrese a la conferencia será cuando la llamada ya tenga la comunicación grupal entre todos los participantes.
El administrador puede retirar a la ultima persona que ingreso a la conferencia presionando *3, y así sucesivamente en caso de requerir ir eliminando a los últimos participantes ingresados, o de no ser así, podrá solo finalizar la llamada.
El Softphone
Aprende cómo utilizar el Softphone de uContact, desarrollado de forma nativa en la solución utilizando tecnología WebRTC. Con él podrás iniciar y/o responder llamadas directamente desde la plataforma tal y como lo harías desde un teléfono de escritorio, y así reducir significativamente tu tiempo entre llamadas.
El perfil del agente
Personaliza tu espacio de trabajo en uContact para que tu experiencia de usuario con nuestra solución se ajuste lo más posible a tus gustos, preferencias y personalidad. ¿Cómo? Mira este video y aprende cómo configurar tu avatar personal, fondo de pantalla predeterminado, ¡y más!
Interfaz del administrador
Comienza con un video introductorio que te ayudará a obtener una visión general del espacio de trabajo de un administrador.
02.1. Creación de agentes | 3 min
El rol del agente en la gestión de la comunicación con el cliente es de vital importancia para un Contact Center, por lo que en este video te enseñaremos todo lo que necesitas saber para crear agentes en uContact y brindarles todas las herramientas que necesitan para construir experiencias unificadas.
02.2. Grupos de seguridad y creación de supervisores | 4 min
Para optimizar al máximo las estrategias y el rendimiento de un Contact Center resulta fundamental mantenerse al tanto de lo que está sucediendo en todo momento. Para eso, en este video aprenderás cómo configurar Supervisores y Grupos de Seguridad, lo que permitirá medir el rendimiento del equipo en tiempo real.
02.3. Directorio telefónico | 2 min
En uContact puedes administrar los contactos en el directorio telefónico de tu Contact Center, asignándolos a agentes en particular y/o crear una agenda común para todo el equipo. Aprende cómo hacerlo mirando este video corto y dinámico.
02.4. Estrategias de telefonía | 2 min
¿Cómo distribuir todas las interacciones telefónicas recibidas en tu Contact Center de forma efectiva y acorde a las necesidades de tu negocio? Mira este video y conoce las siete estrategias existentes en uContact para gestionar la telefonía.
02.5. Estrategias omnicanales | 2,5 min
Mira este video y aprende cómo combinar las estrategias omnicanales que ofrece uContact para así personalizar aún más la forma en la que las interacciones digitales son distribuidas entre los distintos agentes y/o campañas activas en tu Contact Center.
02.6. Configuración de campañas de Facebook y Messenger | 5,5 min
Para que los agentes de tu Contact Center puedan gestionar comentarios en publicaciones en Facebook, recibir, distribuir y/o enviar mensajes directos en Messenger, es necesario crear una campaña para cada uno de estos canales. Aprende a crear una campaña de Facebook y Messenger, a activar los proveedores y a agregarle miembros para que quede lista para su funcionamiento en este video.
02.7. Reciclaje de listas para marcadores | 5 min
Mira este vídeo y aprende cómo alcanzar aquellos contactos que no has podido contactar en ninguno de los intentos del marcador automático utilizando el reciclaje de listas (manual o automático) de uContact.
Creación de agentes
El rol del agente en la gestión de la comunicación con el cliente es de vital importancia para un Contact Center, por lo que en este video te enseñaremos todo lo que necesitas saber para crear agentes en uContact y brindarles todas las herramientas que necesitan para construir experiencias unificadas.
Grupos de seguridad y creación de supervisores
Para optimizar al máximo las estrategias y el rendimiento de un Contact Center resulta fundamental mantenerse al tanto de lo que está sucediendo en todo momento. Para eso, en este video aprenderás cómo configurar Supervisores y Grupos de Seguridad, lo que permitirá medir el rendimiento del equipo en tiempo real.
Directorio telefónico
En uContact puedes administrar los contactos en el directorio telefónico de tu Contact Center, asignándolos a agentes en particular y/o crear una agenda común para todo el equipo.
Estrategias de telefonía
¿Cómo distribuir todas las interacciones telefónicas recibidas en tu Contact Center de forma efectiva y acorde a las necesidades de tu negocio? Mira este video y conoce las siete estrategias existentes en uContact para gestionar la telefonía.
Configuración de campañas de Facebook y Messenger
Para que los agentes de tu Contact Center puedan gestionar comentarios en publicaciones en Facebook, recibir, distribuir y/o enviar mensajes directos en Messenger, es necesario crear una campaña para cada uno de estos canales. Aprende a crear una campaña de Facebook y Messenger, a activar los proveedores y a agregarle miembros para que quede lista para su funcionamiento en este video.
Reciclaje de listas para marcadores
Mira este vídeo y aprende cómo alcanzar aquellos contactos que no has podido contactar en ninguno de los intentos del marcador automático utilizando el reciclaje de listas (manual o automático) de uContact.
Subida de listas
Aprende cómo subir una lista de contactos a uContact para que los marcadores automáticos nativos de la solución puedan comenzar a contactarlos. Cómo asociar una lista a una campaña, cómo agregar números principales y alternativos, cómo asignarles prioridad,
Logs del sistema
En uContact puedes ver y/o modificar las configuraciones de los distintos tipos de logs que se pueden utilizar para almacenar información sobre los eventos ocurridos en el sistema.
Estrategias omnicanales
Mira este video y aprende cómo combinar las estrategias omnicanales que ofrece uContact para así personalizar aún más la forma en la que las interacciones digitales son distribuidas entre los distintos agentes y/o campañas activas en tu Contact Center.
Workforce Management
Toma esta capacitación y aprende cómo utilizar el módulo nativo de Workforce Management de uContact para crear métricas personalizables que te permitan almacenar y combinar datos de todos los canales disponibles en el sistema.
Agenda de Capacitación
AGENTE
Duración: 1 hr
- Requerimientos de Operación
- Descripción Interfase Agente
- Teléfono
- Breaks
- Formularios
- Tipificaciones
- Llamadas entrantes y salientes
SUPERVISOR
Duración: 1 hr
- Overview funcionalidades generales
- Requerimientos de Operación
- Descripción Interface Supervidor
- Administrador
- Agentes
- Campañas
- Marcadores
- Audios
- Supervisor
- Monitoreo Agentes
- Monitoreo Marcadores
- Grabaciones
- Reportes
Workshop
- Sesión 1: Conceptos Operativos & de Administración de uContact.
- Sesión 2: Personalizaciones & Configuraciones Adicionales
- Sesión 3: El Perfil del Agente en uContact
- Sesión 4: El Perfil del Supervisor de uContact
- Sesión 5: Marcadores Automáticos
Creacion y Edicion de Respuesta Pre-armadas
Cómo gestionar las respuestas pre-armada (Canned Responses)
Requisitos previos:
-
Permisos: Se requiere acceso de supervisor para crear o gestionar las respuestas pre-armadas.
-
Disponibilidad: Esta función está disponible para todos los tipos de campaña, excepto Telefonía y Correo Electrónico (Email).
Crear una nueva respuesta Pre-armada
-
Haz clic en el botón de Campañas (Campaigns) y selecciona el tipo de campaña deseado (por ejemplo, Webchat, SMS).
- Elige la campaña específica que deseas configurar. Desplázate hasta la parte inferior de la página de configuración para ubicar la sección de Respuestas Pre-armadas (Canned Responses) y haz clic en el ícono de + (Más) para agregar una nueva respuesta.
- Aparecerá un cuadro de diálogo. Ingresa un Título (Title) y el Texto (Text) para tu respuesta, luego haz clic en Agregar (Add).
- Una vez agregada, haz clic en Guardar (Save) en la página principal para aplicar la nueva respuesta predefinida a tu campaña.
-
Editar una respuesta Pre-armada
-
Selecciona tu campaña y desplázate hacia abajo hasta la sección de Respuestas pre-armada (Canned Responses).
-
Haz clic en la respuesta predefinida que deseas modificar y luego haz clic directamente en su área de texto.
-
Se abrirá un cuadro de diálogo donde podrás editar tanto el título como el texto. Una vez que hayas realizado los cambios, haz clic en Guardar (Save) dentro del cuadro de diálogo.
-
Finalmente, haz clic en Guardar (Save) en la página principal de configuración de la campaña para asegurarte de que se apliquen las actualizaciones.
-
Ajustes Basicos
Estos son algunos ajustes basicos dentro de uContact:
- Creación de marcadores y números telefónicos en las campañas
- Navegador Chrome
- Creación de campañas entrantes y salientes
- Agregar y eliminar usuarios
- Creación de Usuarios
- Permisos de Micrófono
- Cómo limpiar el caché de la aplicación
Preguntas frecuentes
Borrado de cache
Primer paso:
Borrado de cache en dos click´s
Descarga nuestro borrador de cache, haz clic aquí para dirigirte al archivo
Una vez descargado, hacer click derecho y ejecutar como administrador
Borrado de cache finalizado 🤩
Recomendaciones Previas
Para asegurar el correcto funcionamiento de nuestros servicios, ponemos a su disposición nuestra herramienta de gestión de incidencias y algunas recomendaciones antes de enviar una solicitud.
uContact
Computadoras:
- Validar que se este utilizando Google Chrome, sin muchas extensiones instaladas o pestañas abiertas no necesarias ya que utilizan memoria del sistema.
- Recursos del equipo, principalmente el uso de procesador y memoria.
- Permisos para el uso de multimedia (setting en el Chrome), selecion de microfono, video y notificaciones de manera permanente.
- Revisar configuración de antivirus
- Revisar aplicaciones que esten corriendo en 2do plano y estan consumiendo recursos de manera excesiva o en rafagas.
- Deshabilitar parcialmente cualquier software instalado de acceso remoto como VPNs, Oracle, etc.
- Revisar nivel de señal WiFi o cable de conexión Ethernet (recomendamos el uso de conectividad via cable en la medida de lo posible)
- si se usa conectividad móvil o hotspots , evitar estar estar en movimiento.
Infraestructura de Red:
Al estar trabajando desde la oficina, hogar o internet público, existen algunos consideraciones técnicas que pudieran afectar la opertacón del servicio como:
- Ancho de banda de internet.
- Firewalls (puertos)
- Ruteador (bloqueo de IPs o trafico a ciertos destinos)
- Balanceo de carga de internet
- QoS Calidad de Servicio para ciertas aplicaciones
- vLANS
- VPNs
- Filtrado de Contenido
-
Cuidar las conexiones de WIFI, no alejarse del router, o ponerse detrás de una pared, etc. puede impactar fuertemente la conexión.
-
Si se usa 4G validar que la conexión sea buena y la antena esté con buena señal.
-
En los equipos de lo posible, usar red cableada en vez de wifi.
-
Validar que no haya aplicaciones por detrás que consuman internet y recursos genéricos del equipo.
-
Validar que no haya otros equipos en la red que no estén impactando o haciendo actividades intensas de uso de internet que consuman el ancho de banda.
Prueba de Conectividad
https://network.callstats.io/
No carga la pagina
Si se muestra el error "¡Oh, no!" u otro código de error, significa que Chrome tiene problemas para cargar una página web. También es posible que la página se cargue lentamente o no se abra.
Cómo volver a cargar la página
Por lo general, el error se resuelve si vuelves a cargar la página.
En la esquina superior izquierda, haz clic en Volver a cargar .
Si estas soluciones no funcionan…
Paso 1: Comprueba tu conexión a Internet
- Asegúrate de que tu computadora esté conectada a una red por cable o Wi-Fi.
- Intenta volver a cargar la pestaña que tiene el error.
Paso 2: Borra la caché
- Es posible que Chrome tenga información almacenada que impide que se cargue la página.
Cómo abrir la página en una ventana de incógnito
- En la computadora, abre Chrome.
- En la esquina superior derecha, haz clic en Más Nueva ventana de incógnito.
- En la ventana de incógnito, intenta abrir la página. Si se abre, borra la memoria caché y las cookies.
Cómo borrar la caché y las cookies
- En la esquina superior derecha, haz clic en Más Más herramientas Borrar datos de navegación.
- Junto a "Intervalos de tiempo", selecciona Todos.
- Selecciona Imágenes y archivos almacenados en cachéy Cookies y otros datos de sitios. Anula la selección de los otros tipos de datos.
- Haz clic en Borrar datos.
- Intenta volver a cargar la pestaña que tiene el error.
Paso 3: Cierra otras pestañas, extensiones y apps
Es posible que tu dispositivo se haya quedado sin memoria y no pueda cargar el sitio mientras ejecuta tus apps, extensiones y programas.
- Libera memoria:
- Cierra todas las pestañas excepto la que muestra el mensaje de error.
- Sal de las apps o los programas que se estén ejecutando y pausa las descargas de apps o archivos.
- Desinstala las extensiones de Chrome que sean innecesarias. En la esquina superior derecha, haz clic en Más Más herramientas Extensiones. En las extensiones que no uses, haz clic en Quitar.
- Intenta volver a cargar la pestaña que tiene el error.
¿Aún no funciona?
- Reinicia la computadora
- Actualiza Chrome
- Comprueba si hay software no deseado
Error de Chrome version 80.0.3987.122
|
Aplica a: Chrome versión 80.0.3987.122 |
|
Chrome versión 79.0.3945. o anteriores no presenta problemas |
Error.
La nueva versión de Google Chrome tiene un problema con las integraciones dentro de uContact.
Hemos detectado que con la versión de Chrome 80.0, cuando el agente coloca su usuario y contraseña dentro de la integración en uContact la aplicación manda un error y no permite entrar.
Esto no pasa cuando el agente lo hace desde una ventana diferente del navegador.
Causa.
Hemos encontrado esta documentación, la cual explica el problema.
https://blog.heroku.com/chrome-changes-samesite-cookie
Aquí esta la solución.
Ir a “chrome://flags/” y seleccione “disable” en “SameSite by default cookies”. despues reinicie el navegador.
También podemos recomendar el uso del navegador Firefox, como una solución temporal. En el cual no hemos detectado el problema
Problemas de Audio
Cuando no cuente con los permisos por parte de Google Chrome de hacer uso de los dispositivos de audio (micrófono y bocina o bien diadema telefónica) uContact enviara el siguiente aviso:
Revisar los permisos de Google Chrome de la siguiente manera:
Dar click en el candadito de seguridad, se desplazara a la opción: Configuración del sitio web.
Se asegurara que los permisos del micrófono y notificaciones estén en Permitir. Si están en preguntar (predeterminado) o bloquear (predeterminado) lo cambiaremos a Permitir
Una vez realizados los cambios cerramos la página de los permisos y en la página de UContact nos mostrara la leyenda Volver a Cargar, esto es necesario para que Chrome tome los cambios que se realizaron en los permisos, una vez que recargamos la página ingresamos de manera normal al sistema y la llamada debería ser conectada.
Si el problema persiste es necesario revisar en Windows los dispositivos de audio.
El hecho de que Google Chrome sea el navegador web más popular en todo el mundo no quita que tenga sus fallos. Mientras que la gestión de memoria ha sido uno de los puntos en los que ha sido más criticado Google Chrome, lo cierto es que hay otros fallos con los que los usuarios se encuentran habitualmente. Uno de ellos es que de buenas a primeras Google Chrome deja de reproducir sonido. Si estás ante esta situación, vamos a mostrar a continuación qué podemos hacer si no funciona el sonido en Google Chrome.
A la mayoría lo primero que se les suele venir a la cabeza ante este tipo de situaciones es reiniciar el equipo o en su caso el navegador, pero no siempre es algo que soluciona este tipo de problemas. Por lo tanto, vamos a mostrar otra serie de recomendaciones o pasos a seguir para tratar de solucionar el problema que hace que no funcione el sonido en Google Chrome.
Pasos a seguir para solucionar el problema que hace que el sonido en Google Chrome no funcione
Aunque parezca algo obvio, lo cierto es que en algún momento hemos podido silenciar el sonido de nuestros altavoces, por lo tanto, es recomendable antes de anda comprobar que no les tengamos silenciados. Lo siguiente será comprobar que los controladores de sonido estén funcionando y actualizados correctamente desde el Administrador de dispositivos de Windows 10.
Windows 10 cuenta con un solucionador de problemas para la reproducción de audio que podemos lanzar desde la página de configuración > Actualización y seguridad > solucionar problemas. Esto lanzará un proceso automático que tratará de detectar cualquier problema de sonido en el sistema y reparlo en caso de que lo haya.
Si aún así seguimos sin conseguir que funcione el sonido en Google Chrome, entonces podemos ejecutar la herramienta de limpieza de Chrome. Una herramienta desarrollada por Google para tratar de solucionar los problemas con el navegador y que puedes descargar desde este enlace. Si el problema continúa, debemos comprobar si Google Chrome aparece entre las aplicaciones del mezclador de volumen de Windows y el controlador está al mínimo o si por el contrario no aparece entre las aplicaciones del mezclador de volumen.
Borrar la caché y las cookies del navegador puedes ayudar también a solucionar el problema de que no funciones el sonido en Google Chrome, por lo que podemos ir al menú del navegador y desde la opción Más herramientas acceder a Elminar datos de navegación. Si aún sí seguimos igual, podemos restablecer la configuración de Chrome abriendo la página Chrome://setting y pulsando sobre la opción restablecer navegador y por último, siempre podemos desinstalar y volver a instalar Chrome en nuestro ordenador
Problemas de Micrófono
- Abre Chrome .
- Accede a un sitio que intente usar el micrófono y la cámara.
- Cuando se te indique, selecciona Permitiro Bloquear.
- Sitios permitidos: Los sitios pueden comenzar a grabar cuando estás en el sitio. Si estás usando una pestaña de Chrome o una app diferente, el sitio no puede comenzar a grabar.
- Sitios bloqueados: Algunos sitios no funcionan si los bloqueas. Por ejemplo, no podrás sumarte a una videoconferencia.
Cómo cambiar los permisos de cámara y micrófono de un sitio
- Abre Chrome .
- En la esquina superior derecha, haz clic en Más Configuración.
- En la parte inferior, haz clic en Avanzada.
- En "Privacidad y seguridad", haz clic en Configuración del sitio.
- Haz clic en Cámara o Micrófono.
- Activa o desactiva Preguntar antes de acceder.
- Para quitar una excepción o un permiso existentes, a la derecha del sitio, haz clic en Borrar .
Si usas un dispositivo Chrome en el trabajo o una institución educativa, el administrador de red puede configurar la cámara y el micrófono por ti. En ese caso, no podrás cambiar la configuración aquí. Obtén más información sobre cómo usar un dispositivo Chrome administrado.
Cómo solucionar problemas con el micrófono
Si el micrófono no funciona, prueba los siguientes pasos.
Paso 1: Asegúrate de que no esté silenciado
Si estás usando auriculares, asegúrate de que el interruptor de silencio del cable esté desactivado. Además, asegúrate de que no esté silenciado en el sitio web (como en Google Hangouts o Skype).
Paso 2: Comprueba la configuración del sistema
Asegúrate de que el micrófono sea el dispositivo de grabación predeterminado y de que los niveles de grabación sean los correctos:
Cómo configurar y probar micrófonos en Windows 10
- Para instalar un nuevo micrófono, sigue estos pasos:
- Haz clic con el botón derecho (o mantén presionado) en el icono del volumen de la barra de tareas y selecciona Sonidos.
- En la pestaña Grabación, selecciona el micrófono o dispositivo de grabación que quieras configurar. Selecciona Configurar.
- Selecciona Configurar micrófono y sigue los pasos del Asistente para configuración de micrófonos.
- Para probar un micrófono que ya se haya instalado:
- Haz clic con el botón derecho (o mantén presionado) en el icono del volumen de la barra de tareas y selecciona Sonidos.
- En la pestaña Grabación , busca las barras verdes que suben mientras hablas en el dispositivo de grabación. Si las barras se mueven, el dispositivo está conectado y funciona correctamente.
- Si el dispositivo de grabación no funciona, puede que tengas que actualizar los controladores.
- Para activar y personalizar el micrófono para Cortana, selecciona Inicio >Configuración > Cortana > Hablar a Cortana > Micrófono.
Llamadas tardan en conectar
Cuando se encuentra más de una conexión de red activa, ya sea física o virtual (el wifi y la tarjeta de red LAN conectadas de manera simultánea o bien una VPN) puede experimentar problemas de “delay” en la conexión de las llamadas desde nuestro sistema uContact.
Pasos a seguir:
- Revisar si encontramos más de una conexión activa en el panel de control de nuestro SO. En la ruta Panel de control\Redes e Internet\Conexiones de red
- Si encontramos más de una conexión activa, dejar solo una conexión.
- Apagar wifi y dejar por cable LAN de preferencia
- Apagar las VPN´s en caso de tener alguna activa
Insertar número a blacklist
Para insertar un numero telefónico en black list
- ir al menú campañas - Black List -
Existen dos opciones para meter un número a black list:
- Dejar el numero en black list para una campaña en particular, si esta es la opción que necesita debe seleccionar en el primer drop list la campaña a la que deseamos bloquear. Dar click en guardar para finalizar la acción.
- Dejar el numero bloqueado en todas las campañas deberá seleccionar la última opción del drop list y seleccionar TODOS. Dar click en guardar para finalizar la acción.
Subir en bulk una lista negra:
Si lo que requiere es subir una lista de números, puede hacerlo subiendo un archivo en CSV. Puede descargar un archivo ejemplo y después subir la lista.
La lista ejemplo la podemos descargar en el botón que está a un lado del botón Subir
Responder email a todos
Cuando damos click sobre el botón responder automáticamente el sistema le responde a todos los involucrados en el correo, es como dar click en “responder a todos”.
Si lo que se quiere hacer es editar los destinatarios se tiene que dar click en el botón de reenviar, marcado en la imagen de arriba.
Y en la ventana de reenvió podremos editar los destinatarios, se abrirá una nueva línea de correos porque es un reenvió.
Plantilla de WhatsApp
Diríjase a la cajita Inbox seleccionamos SMS y se nos abrirá la interacción
En la pantalla de SMS pondremos el número telefónico al que deseamos mandarle la plantilla pondremos el número a 13 dígitos 521+10 (como esta en el ejemplo), seleccionaremos la campaña de WhatsApp (es la campaña que tiene las plantillas asignadas) por ultimo daremos click en el icono de mensaje y seleccionaremos la plantilla que enviaremos.
Tenemos 3 plantillas:
Seguimiento solicitud envía el siguiente texto: Buen día, le escribimos de -EMPRESA/PRESENTACION- para dar seguimiento a su solicitud.
Seguimiento servicio envía el siguiente texto: Presentación. Estimado Cliente: nos comunicamos por este medio para dar seguimiento a su servicio.
Seguimiento -cliente- envía el siguiente texto: Buen día, le escribimos de -EMPRESA/PRESENTACION-, nos comunicamos por este medio en seguimiento a su solicitud de cotización.
Para finalizar dar click en INICIAR INTERECCION :)
Responder Interacciones de texto al entrar llamada
Ampliar para una mejor experiencia
https://drive.google.com/file/d/1HOpokE8L89EyzICCG-r2ebXeFe36v0Lv/view
En caso de existir algun problema para vizualizar el video.
De click https://drive.google.com/file/d/1HOpokE8L89EyzICCG-r2ebXeFe36v0Lv/view
Mejorar el desempeño de equipo de computo
Entrar al buscador de windows y tipear "sysdm.cpl".
- Acceder a las siguientes pantallas.
Crear un agente
Un video facil y practico que te ayudara a crear un agente
Chrome no responde por inactividad
En una actualización reciente de Chrome, si se tiene activo la funcionalidad de "Memory Saver", después de un periodo de inactividad, el navegador puede "parar" su operación en el background, por lo que es necesario "recargar" la aplicacion para que vuelva a conectarse, para evitar que esto suceda se recomenda "Apagar" esta funcionalidad
Otra opción que solución es revisar que revisar que no exista el tab de uContact como "activo" en el listado de "Discards", si esta incluido hay que aplicar el siguiente proceso para deshabilitarlo:
Para mayor información consultar el siguiente link:
Mejores Practicas para Marcadores
Ajuste en canales y llamadas
Cada campaña en UContact tiene 2 parámetros principales para mantener la ocupación de la campaña, los cuales se configuran dependiendo de la contactabilidad que se esté teniendo en la lista de marcación trabajada:
Instancias con más de 2 campañas:
• Canales por agente: 25
• Llamadas por segundo: 35
Instancia con solo una campaña:
• Canales por agente: 30
• Llamadas por segundo: 40
Marcaciones Horizontales y Verticales
En uContact podemos jugar con la manera de marcar una lista de marcación con los reintentos de las campañas, por ejemplo si en una lista de marcación deseamos realizar una marcación vertical lo que podemos hacer es dejar la campaña con 0 reintentos, de esta manera si un numero de teléfono no contesta del cliente no se volverá a marcar ese registros al menos que se recicle la lista de marcación.
Ejemplo:
En este caso la campaña solamente tomará el número de teléfono principal para realizar la marcación. En los casos donde se necesite tener una marcación horizontal lo que se puede hacer es agregarle reintentos a la campaña para de esta manera se este pasando al segundo encadenado del registro, si es necesario esto se aplique de manera rapida se puede dejar en 0 el timepo entre reintentos.
Una manera de poder sacar provecho a la cobertura es trabajar con 0 reintentos en la campaña y hasta que se de covertura a la lista de marcación hacer un reciclado y agregar 1 o mas reintentos a la campaña.
Nota: Tomar en cuneta que si el registro del cliente solamente tiene 1 numero de teléfono se le aplicará el reintento a ese mismo número de teléfono y si esta en 0 el tiempo entre reintentos será de manera inmediata, lo recomendable es que todos los registros del cliente tengan la misma cantidad de teléfonos para que esto no este sucediendo.
Tono de espera y auto respuesta
En todas las campañas por default se cuenta con un tono de espera para la llamada mientras es entragada a un agente, en cada instancia se encuentra creado un tono llamado silencio para que cunado el cliente conteste no proceda a colgar la llamada por indentificar que se le esta marcando de un call center, ademas este tiempo se puede disminuir si se agrega la uto respuesta a la campaña como se muestra en la siguiente imagen:
Esta es la configuración mas adecuada para la campaña en este apartado.
Baja ocupación
Si se tiene una campaña con poca ocupación es necesario agregar validar la cantidad de marcaciones que esta realizando para obtener un diagnostico de lo que esta sucediendo, aquí dejo algunos de los escenarios posibles o mas comunes:
Baja Ocupación con altas marcaciones:
Este caso aplica para campañas con pocos o muchos agentes la cual si tiene muchas llamadas activas en el dashboard de la campaña, esto puede suceder por 2 razones:
• La lista de marcación tiene muy baja contactabilidad en los número de teléfonos por lo cual se procede a aumentar los canales y en caso de ser una campaña muy grande con muchos (mas de 50) recordar que se tienen un aproximado de 1300 canales o llamadas simultaneas que va a estar usando el sistema, aun así se agreguen los recursos al máximo no subirá de esta cantidad por
seguridad del propio sistema.
• Los rechazos por parte del carrier es otra opción que puede causar baja ocupación, hay que tomar en cuenta que los codigos 4XX y 3XX son por lo general errores de los numeros a los cuales se les esta marcando, por ejemplo pueden ser numeros inexistentes, invalidos, no disponibles, etc. estos resultados del carrier no son rechazos, si no causa de punto explicado previamente, sin envargo si obtenemos 5XX estos si son rechazos por parte del carrier directamente, la manera de identificar esto es que se haga un cambio de carrier o bién se reporte al equipo de uContact diectamente para poder revisar los SIP Causes e informar el problema.
Baja ocupación con poca o ninguna marcacion:
• Cuando se esta trabajando una lista de marcación con muchos o pocos registros y la campaña cuenta con reintentos y tiempo entre los mismos cunado la campaña consuma o toque todos los registros aun quedarán algunos que no se podrán marcar por que están esperando la hora del reintento para marcarse de nuevo, por lo tanto aparentemente el marcador tendrá registros
disponibles y no tendrá marcaciones, para estos casos procedemos a quitar los reintentos de la campaña a 0 con tiempo en 0 y se consumirán los registros restantes de la campaña para poder proceder a hacer un reciclado y nuevamente agregar los reintentos necesarios.
• Hay otras ocaciones que la campaña no genera marcaciones o genera muy pocas, si estamos seguros que el punto anterior no es el causante de esta situación podemos proceder a limpiar los canales de la campaña y validar si esto ayuda al aumento en el contacto.
IMPORTANTE: La accion de la limpiesa de los canales no se debe aplicar en cada momento para aumentar las marcaciones ya que esto es como ultimo proceso a realizar después de validar que ninguno de los puntos anteriores sea el causante del problema mencionado
Formatos aceptados en Webchat y WhatsApp
"doc",
"txt",
"docm",
"docx",
"dot",
"ppt",
"pptm",
"pptx",
"psd",
"pst",
"tif",
"tiff",
"xlsx",
"dotx",
"pdf",
"xls",
"zip",
"wav",
"mp3",
"mp4",
"avi",
"mpeg",
"mpg",
"png",
"jpg",
"jpeg",
"gif",
"bmp",
"csv",
"m4a",
"mov",

















































































































































































