APIs integracion
Producto: | VIVAit Call
VIVAit Suite |
---|
Sumario
- 1 Webservice ClicktoCall
- 2 Webservice CargaContactos
- 3 Script Cargacontactos
- 4 Webservice Chat
- 5 Conexión externa a tracker
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
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 |
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 | Sí | 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
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 menor prioridad (se le llamará más tarde) | No | Integer |
tipoTarea | Los posibles valores de la columna son:
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 |
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 |
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 menor prioridad (se le llamará más tarde) |
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 | |
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 |
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
5 Conexión externa a tracker
5.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.
5.2 Webservices desplegados
5.2.1 Login en la plataforma
5.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.
5.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¶m2=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 Bivait-Suite |
param2 | String | Si | Contraseña del usuario |
5.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 |
5.2.2 Solicitud de segmentos pertenecientes al UCID
5.2.2.1 Introducción
Este webservice permitirá conocer los distintos segmentos que conforman la llamada identificada con el UCID facilitado.
5.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 |
5.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:
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
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 |
5.2.3 Descarga de grabaciones
5.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.
5.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
5.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 |
5.2.4 Reproducción de fichero mp3
5.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.
5.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
5.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 |
5.2.5 Reproducción de fichero mp3 en extensión telefónica
5.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.
5.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 |
5.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 |