APIs integracion

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
Producto: VIVAit Call

VIVAit Suite

1 Webservice ClicktoCall

Versión 1.0

1.1 Introducción

A través de este webservice, se podrán añadir contactos a las listas “llamame” del cliente. Estas listas serán gestionadas para la generación de campañas utilizadas en el marcador.

1.2 Invocación y parámetros

Para poder invocar a dicho webservice, se deberá hacer una petición http a la siguiente url:

http://xxx.xxx.xxx.xxx:xxxx/ClicktoCall/CreateClicktoCall

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado el webservice

Se deberán pasar los parámetros a través de post.

Un ejemplo de invocación sería la siguiente

http://10.1.10.10:8180/ClicktoCall/CreateClicktoCall?idLista=11&nombre=pruebaWorldLine&msisdn=0658841177&lang=1

Los distintos parámetros que podemos indicar en dicha invocación son los siguientes:

Nombre Tipo Obligatorio Descripción
date String No Fecha en la que se realizará la llamada, si el parámetro no se indica, se fija fecha actual.El formato del string que se debe enviar es

yyyy-MM-dd HH:mm:ss

idLista Integer Si Identificador de la lísta “llamame” en la que el contacto será insertado
codCliente String No Código del cliente
nombre String Si Nombre del cliente
apellido1 String No Primer apellido del cliente
apellido2 String No Segundo apellido del cliente
empresa String No Empresa del cliente
direccion1 String No Campo de dirección del cliente
direccion2 String No Campo de dirección del cliente
cp String No Código postal del cliente
localidad String No Localidad del cliente
provincia String No Provincia del cliente
idpais Integer No Identificador del país, si no se indica, será España
email String No E-mail del cliente
msisdn String Si Número de teléfono del cliente
gender Integer No Indicador del género del cliente, si no se indica, sera masculino
lang Integer Indicador del lenguaje a utilizar, si no se indica, será lenguaje español
treatment Integer No Indicador del tipo de tratamiento del cliente.
op1int Integer No Parámetro opcional 1
op2int Integer No Parámetro opcional 2
op3int Integer No Parámetro opcional 3
op4int Integer No Parámetro opcional 4
op1 String No Parámetro opcional 1
op2 String No Parámetro opcional 2
op3 String No Parámetro opcional 3
op4 String No Parámetro opcional 4

1.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200.

Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_BAD_REQUEST 400 Not enough parameters
SC_CONFLICT 409 Internal process error
SC_INTERNAL_SERVER_ERROR 500 e.getMessage()

2 Webservice CargaContactos

Versión 1.0

2.1 Introducción

A través de este webservice, se podrán añadir contactos a cualquiera de las campañas que se tenga definidas.

2.2 Invocación y párametros

Para poder invocar a dicho webservice, se deberá hacer una petición http a la siguiente url:

http://xxx.xxx.xxx.xxx:xxxx/CargaContactos/CreateCargaContactos

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado el webservice

Se deberán pasar los parámetros a través de post.

Un ejemplo de invocación sería la siguiente

http://localhost:8180/CargaContactos/CreateCargaContactos?date=2015-11-11%2010:12:15&idLista=11&idCampana=23&nombreCon=pruebaTelecor&valFijo_1=0658841177&valMovil_1=0658841177&cOpc3=TECI&cOpc4=3321347


Los distintos parámetros que podemos indicar en dicha invocación son los siguientes:

Nombre Descripción Obligatorio Tipo
date Fecha en la que se realizará la llamada, si el parámetro no se indica, se fija fecha actual. El formato del string que se debe enviar es yyyy-MM-dd HH:mm:ss No Date
obsoletos Si vale 1, marcar como obsoletos los contactos anteriores, el valor por defecto es 0 No Integer
diasCaducidad Número de días a partir de los cuales caducarán los contactos No Integer
idCampanna Identificador de la campaña en la que se insertará el contacto Si Integer
idLista Identificador de lista asociada a la campaña Si Integer
prioridad El valor es de 0 a 99. A mayor número mayor prioridad (se le llamará ANTES) No Integer
tipoTarea Los posibles valores de la columna son:
  • A: Alta
  • M: Modificación
  • B: Baja

Por defecto el valor es A

No String
codCli Identificador del código del cliente No String
nombreCon Nombre del cliente No String
apellido1 Primer apellido No String
apellido2 Segundo apellido No String
empresa Empresa No String
direccion1 Dirección 1 No String
direccion1 Dirección 1 No String
direccion2 Dirección 2 No String
codPostal Código postal No String
localidad Localidad No String
provin Provincia No String
email Email No String
valFijo_1 Primer número fijo del contacto. Si Integer
valFijo_2 Segundo número fijo del contacto. No Integer
valFijo_3 Tercer número fijo del contacto. No Integer
valFijo_4 Cuarto número fijo del contacto. No Integer
valMovil_1 Primer número móvil del contacto. Si Integer
valMovil_2 Segundo número móvil del contacto. No Integer
valMovil_3 Tercer número móvil del contacto. No Integer
valMovil_4 Cuarto número móvil del contacto. No Integer
edad Edad. No Integer
nOpc1 Dato numérico opcional No Integer
nOpc2 Dato numérico opcional No Integer
nOpc3 Dato numérico opcional No Integer
nOpc4 Dato numérico opcional No Integer
nOpc5 Dato numérico opcional No Integer
nOpc6 Dato numérico opcional No Integer
nOpc7 Dato numérico opcional No Integer
nOpc8 Dato numérico opcional No Integer
cOpc1 Cadena opcional No String
cOpc2 Cadena opcional No String
cOpc3 Cadena opcional No String
cOpc4 Cadena opcional No String
cOpc5 Cadena opcional No String
cOpc6 Cadena opcional No String
cOpc7 Cadena opcional No String
cOpc8 Cadena opcional No String
id_idioma Idioma del contacto No String

2.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200. Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_BAD_REQUEST 400 Not enough parameters
SC_FORBIDDEN 403 Client in Robinson List
SC_CONFLICT 409 Internal process error
SC_INTERNAL_SERVER_ERROR 500 Problems in SQL querys

e.getMessage()

2.4 Configuración del fichero web.xml

En este fichero, se deben fijar los valores de despliegue correctos de la aplicación. Este fichero se encuentra en la ruta de despliegue del WAR (/var/lib/tomcatx/webapps/CargaContactos/WEB-INF/web.xml)

 <context-param>
   <description>Servidor BBDD</description>
   <param-name>bd_acd_servidor</param-name>
   <param-value>xxx.xxx.xxx.xxx</param-value>
 </context-param>
 <context-param>
   <description>BBDD</description>
   <param-name>bd_acd_bd</param-name>
   <param-value>xxxxxxx</param-value>
 </context-param>
 <context-param>
   <description>Usuario BBDD</description>
   <param-name>bd_acd_usuario</param-name>
   <param-value>xxxxxx</param-value>
 </context-param>
 <context-param>
   <description>Usa Clave</description>
   <param-name>bd_usa_clave</param-name>
   <param-value>0</param-value>
 </context-param>
 <context-param>
   <description>Clave BBDD</description>
   <param-name>bd_acd_clave</param-name>
   <param-value>xxxxxxxx</param-value>
 </context-param>
 <context-param>
   <description>Dias Caducidad</description>
   <param-name>caducidad</param-name>
   <param-value>30</param-value>
 </context-param>
Parámetro Descripción
bd_acd_servidor IP donde se encuentre ubicada la base de datos
bd_acd_bd Nombre de la base de datos a utilizar
bd_acd_usuario Usuario de la base de datos
bd_usa_clave Parámetro que indica si el password esta cifrado o no, por defecto el valor es 0 (No cifrado)
bd_acd_clave Clave para la conexión a base de datos.
caducidad Días de caducidad del contacto

3 Script Cargacontactos

3.1 Descripción

A continuación se explica la configuración y funcionamiento de la utilidad encargada de asignar contactos a campañas.

3.2 Configuración

El archivo de configuración recibe el nombre de cargaContactos.pconf. Este archivo reside en /etc/MDtel. El formato se describe en la tabla siguiente. Hay que tener en cuenta que las columnas empiezan a numerarse en 0.

Parámetro Valor Obligatorio Defecto
db Nombre de la base de datos SI nimitz
dbHost Host MySQL SI localhost
dbPort Puerto MySQL NO 3306
dbUsuario Usuario de acceso a la base de datos SI
dbClave Clave del usuario SI
rutaContactos Ruta hasta el archivo de contactos NO /var/spool/MDtel/contactos
obsoletos Si vale 1, marcar como obsoletos los contactos anteriores NO 0
diasCaducidad Número de dias a partir de los cuales caducarán los contactos SI
idCampanna Número de columna que contiene el ID de la campaña SI
idLista Numero de columna que contiene el ID de la lista SI
prioridad Número de columna que contiene la prioridad NO Nota: El valor es de 0 a 99. A mayor número mayor prioridad (se le llamará ANTES)
tipoTarea Número de columna que contiene el tipo de tarea NO Nota: los posibles valores de la columna son :
*A: Alta
*M: Modificación
*B: Baja
Por defecto el valor es A
codCli Número de columna del CSV que contiene el código de cliente SI
nombreCon Número de columna del CSV que contiene el nombre NO
apellido1 Número de columna del CSV que contiene el primer apellido NO
apellido2 Número de columna del CSV que contiene el segundo apellido NO
empresa Número de columna del CSV que contiene la empresa NO
direccion1 Número de columna del CSV que contiene la dirección NO
direccion2 Número de columna del CSV que contiene la dirección 2 NO
codPostal Número de columna del CSV que contiene el código postal NO
localidad Número de columna del CSV que contiene la localidad NO
provin Número de columna del CSV que contiene la provincia NO
email Número de columna del CSV que contiene el email NO
valFijo_1 Número de columna del CSV que contiene el primer número fijo del contacto SI
valFijo_2 Número de columna del CSV que contiene el segundo número fijo del contacto NO
valFijo_3 Número de columna del CSV que contiene el tercer número fijo del contacto NO
valFijo_4 Número de columna del CSV que contiene el cuarto número fijo del contacto NO
valMovil_1 Número de columna del CSV que contiene el primer número móvil del contacto SI
valMovil_2 Número de columna del CSV que contiene el segundo número móvil del contacto NO
valMovil_3 Número de columna del CSV que contiene el tercer número móvil del contacto NO
valMovil_4 Número de columna del CSV que contiene el CUARTO número móvil del contacto NO
edad Número de columna del CSV que contiene la edad NO
nOpc1 Número de columna del CSV que contiene dato numérico opcional NO
nOpc2 Número de columna del CSV que contiene dato numérico opcional NO
nOpc3 Número de columna del CSV que contiene dato numérico opcional NO
nOpc4 Número de columna del CSV que contiene dato numérico opcional NO
nOpc5 Número de columna del CSV que contiene dato numérico opcional NO
nOpc6 Número de columna del CSV que contiene dato numérico opcional NO
nOpc7 Número de columna del CSV que contiene dato numérico opcional NO
nOpc8 Número de columna del CSV que contiene dato numérico opcional NO
cOpc1 Número de columna del CSV que contiene cadena opcional NO
cOpc2 Número de columna del CSV que contiene cadena opcional NO
cOpc3 Número de columna del CSV que contiene cadena opcional NO
cOpc4 Número de columna del CSV que contiene cadena opcional NO
cOpc5 Número de columna del CSV que contiene cadena opcional NO
cOpc6 Número de columna del CSV que contiene cadena opcional NO
cOpc7 Número de columna del CSV que contiene cadena opcional NO
cOpc8 Número de columna del CSV que contiene cadena opcional NO
Idioma Idioma del contacto NO
3.3 Funcionamiento

Para ejecutar la utilidad se debe teclear la siguiente orden en la línea de comandos:

cmd# cargaContactos.pl /<ruta hasta el conf>/cargaContactos.pconf <archivo CSV>

El archivo con los contactos deberá ser un CSV con los campos separados por ';'. La utilidad parsea el archivo conforme a la distribución indicada en la configuración y crea las correspondientes entradas en las tablas ACD_CONTACTOS y ACD_CONTACTOS_CAMPANNAS.

La utilidad crea un log en /var/log/cargaContactos.log en el que vuelca toda la operativa. Por pantalla se va mostrando un lista con el ID asignado al contacto y el ID de campaña al que se le ha asignado.


4 Webservice Chat

Acuerdo interfaz chat v3

5 CHAT

El CHAT es un servicio incuído en la plataforma VIVAit-Suite, que permite la comunicación con la plataforma VIVAit-Call para usuarios.

El esquema del servicio es el siguiente:


ESQUEMA CHAT.png


El CHAT se inicia con una petición de un usuario desde VIVAit-Call y genera la apertura de un formulario de CHAT en la plataforma VIVAit-Suite.

Para que la comunicación se esteblezca es necesario que un agente de VIVAit-Suite esté logado en un grupo ACD al que se le haya asociado un formulario de CHAT.

El servicio permite establecer una comunicación entre un usuario y un agente.

Cuando sea necesario, el supervisor del agente podrá intervenir en la comunicación, ayudando únicamente al agente, o al agente y al usuario a la vez.

El servicio no permite que el supervisor envíe comunicaciones solo al usuario.

Aún cuando la comunicación esté establecida y el agente aparezca en estado ocupado, podrá recibir llamadas entrantes de los grupos ACD en los que está logado.

5.1 Funcionamiento

5.1.1 Agente

Cuando un agente de VIVAit Suite recibe una solicitud de CHAT se abre en la pantalla un formulario y su estado cambia a acupado.

250

Las comunicaciones enviadas por el usuario aparecen en el área de CHAT.

El agente utiliza el área de escritura de texto para enviar y redacta la respuesta al usuario.

El agente puede utilizar el despleglable con respuestas prediseñadas. Selecciona una respuesta, pulsar el botón para copiar ésta en el área superior y pocede a enviar el texto.

En la parte inferior de la ventana el agente cuenta con un botón para etiquetar la llamada y otro para colgarla.

5.1.2 Supervisor

Para acceder al CHAT el Supervisor accede al Menú MC de la barra superior, opción Chat/Activos.

La nueva ventana muestra los CHAT's activos en la aplicación.

El Supervisor selecciona el que desea observar y pulsa el botón, tal y como se indica en la imagen.

El botón central de esta ventana refresca la información respecto a los CHAT's activos en cada momento.


250

La siguiente imagen muestra la ventana de CHAT del supervisor.

250

Como puede apreciarse en la imagen el Supervisor puede enviar mensajes de dos formas:

  • Al agente
  • Al agente y al usuario.

En la pantalla de CHAT el supervisor observará toda la información intercambiada entre el usuario y el agente.

5.1.3 Usuario de VIVAit Call

Cuando un usuario de VIVAit Call inicia la sesión se muestra en pantalla un botón de acceso al CHAT.


Acceso VIVAit Call Usuario.png

Este botón abre una ventana de solicitud del servicio.


Solicitud Servicio Chat.png

Si el usuario solicita el servicio, y existe un agente logado en VIVAit-Suite, se abre la ventana de CHAT, en la que el usuario establece la comunicación con el agente.


Ventana Chat Usuario.png


El usuario escribe en la zona de mensaje y cuando pulsa el botón Enviar el texto aparece en la zona central de la ventana. Toda la comunicación que se intercambie entre agente y usuario quedará reflejada en esta zona central.

Cuando el usuario lo desee puede pulsar el botón cerrar para dar por finalizada la comunicación.

Si no hay agentes logados en VIVAit-Suite, el sistema presenta la siguiente pantalla:

Sin Agentes Logados.png

Cuando un agente se logue en un grupo ACD de CHAT se establecerá la comunicación de forma inmediata.

5.1.4 Configuración del grupo ACD

Para que entre un usuario y un agente se pueda establecer una comunicación de CHAT es necesario que el grupo ACD al que está logado el agente tenga asignado un formulario de CHAT.


Configuracion Grupo ACD Desk.png


Configuracion Grupo ACD.png


6 Conexión externa a tracker

6.1 Introducción

A través de los distintos webservices incluidos dentro de la aplicación web Vivait-Tracker, cualquier aplicación externa podrá descargar o reproducir las grabaciones disponibles en el entorno Vivait-Suite.

6.2 Webservices desplegados

6.2.1 Login en la plataforma

6.2.1.1 Introducción

Este webservice permitirá logarse en la plataforma para la posterior descarga o reproducción de grabaciones. Para poder utilizar las funcionalidades de la aplicación Vivait-Tracker es necesario disponer de un usuario dado de alta en la plataforma Vivait-Suite con los permisos correspondientes.

Una vez este webservice sea invocado, se asociará una sesión al usuario, permitiéndole realizar la descarga o reproducción de grabaciones.

6.2.1.2 Invocación

Para poder invocar a dicho webservice, se deberá hacer una petición POST http a la siguiente url:

http://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/remotelogin

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado la aplicación Vivait-Tracker.

Se deberán pasar los parámetros a través de post.

Un ejemplo de invocación sería la siguiente

https://172.25.128.248:8443/Vivait-Tracker/remotelogin?param1=demo01&param2=00448311


Los distintos parámetros que podemos indicar en dicha invocación son los siguientes:

Nombre Tipo Obligatorio Descripción
param1 String Si Cuenta del usuario dado de alta en Vivait-Suite
param2 String Si Contraseña del usuario
6.2.1.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200.

Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_BAD_REQUEST 400 Sólo acepta parámetros por post
SC_FORBIDDEN 403 Los parámetros son incorrectos

6.2.2 Solicitud de segmentos pertenecientes al UCID

6.2.2.1 Introducción

Este webservice permitirá conocer los distintos segmentos que conforman la llamada identificada con el UCID facilitado.

6.2.2.2 Invocación

Para poder invocar a dicho webservice, se deberá hacer una petición POST https a la siguiente url:

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/infoSegmentos

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado la aplicación Vivait-Tracker.

Se deberán pasar los parámetros a través de post.

Un ejemplo de invocación sería la siguiente

https://172.25.128.248:8180/Vivait-Tracker/infoSegmentos?param1=10201643591470126599

Los distintos parámetros que podemos indicar en dicha invocación son los siguientes:

Nombre Tipo Obligatorio Descripción
param1 String Si Identificador UCID de la llamada
6.2.2.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200, acompañado de un JSON con los siguientes datos:

Json1.png

Si, el UCID facilitado no tuviera ningún segmento asociado, el webservices devolvería el código de respuesta 200, acompañado del siguiente JSON

Json2.png

Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_INTERNAL_SERVER_ERROR 500

6.2.3 Descarga de grabaciones

6.2.3.1 Introducción

Este webservice permitirá descargarse cualquier grabación disponible en el entorno de grabaciones de Vivait-Suite, siempre y cuando, el usuario logado con anterioridad, tenga los permisos necesarios para poder descargar dichas locuciones.

6.2.3.2 Invocación

Para poder invocar a dicho webservice, se deberá hacer una petición GET https a la siguiente url:

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/downloadWindows/xxxxxxx

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado la aplicación Vivait-Tracker.

El nombre del fichero a descargar “xxxxxx” debe ser el identificador del segmento de la llamada que se quiere descargar.

Un ejemplo de invocación sería la siguiente

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/downloadWindows/2214536

6.2.3.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200. Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_INTERNAL_SERVER_ERROR 500

6.2.4 Reproducción de fichero mp3

6.2.4.1 Introducción

Este webservice permitirá reproducir cualquier grabación disponible en el entorno de grabaciones de Vivait-Suite, siempre y cuando, el usuario logado con anterioridad, tenga los permisos necesarios para poder reproducir dichas locuciones.La aplicación está preparada para facilitar archivos en formato ogg o mp3.

6.2.4.2 Invocación

Para poder invocar a dicho webservice, se deberá hacer una petición GET http a la siguiente url:

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/audio/xxxxxxx

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado la aplicación Vivait-Tracker.

El nombre del fichero a reproducir “xxxxxx” debe ser el identificador del segmento de la llamada que se quiere reproducir.

Un ejemplo de invocación sería la siguiente

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/audio/2214536

6.2.4.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200 o el código 206 (SC_PARTIAL_CONTENT) si se reproduce sólo parte de la grabación disponible (segmentada por rangos)

Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_INTERNAL_SERVER_ERROR 500
SC_NOT_MODIFIED 304
SC_PRECONDITION_FAILED 412
SC_REQUESTED_RANGE_NOT_SATISFIABLE 416

6.2.5 Reproducción de fichero mp3 en extensión telefónica

6.2.5.1 Introducción

Este webservice permitirá reproducir cualquier grabación disponible en el entorno de grabaciones de Vivait-Suite en una extensión o teléfono que se indique, siempre y cuando, el usuario logado con anterioridad, tenga los permisos necesarios.

6.2.5.2 Invocación

Para poder invocar a dicho webservice, se deberá hacer una petición POST http a la siguiente url:

http://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/SpoolService

siendo xxx.xxx.xxx.xxx:xxxx la ip y el puerto donde haya sido desplegado la aplicación Vivait-Tracker.

Se deberán pasar los parámetros a través de post.

Un ejemplo de invocación sería la siguiente

https://xxx.xxx.xxx.xxx:xxxx/Vivait-Tracker/SpoolService?idSegmento= 2214536&extension=6214&pin=1111

Los distintos parámetros que podemos indicar en dicha invocación son los siguientes:

Nombre Tipo Obligatorio Descripción
idSegmento String Si Identificador del segmento de llamada a reproducir
extension String Si Extensión o número de teléfono al que se realizará la llamada para la reproducción de la grabación
pin String Si Contraseña a facilitar en la operadora automática para la reproducción de la grabación
6.2.5.3 Resultado y códigos de error

Si el webservice se ejecuta correctamente enviará el código de respuesta 200 o el código 206 (SC_PARTIAL_CONTENT) si se reproduce sólo parte de la grabación disponible (segmentada por rangos)

Si el webservice no se ejecuta de forma correcta, puede devolver los siguientes códigos de error:

Error Código Descripción
SC_NOT_FOUND 404
SC_BAD_REQUEST 400 Parámetros pin, extension, ruta Incorrectos
SC_INTERNAL_SERVER_ERROR 500