APIs integracion

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

VIVAit Suite

Sumario

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://xx.x.xx.xx:puerto/ClicktoCall/CreateClicktoCall?idLista=11&nombre=nombre-de-prueba&msisdn=0999999999&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=pruebaCLIENTE&valFijo_1=0999999999&valMovil_1=0999999999&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, el valor por defecto es 30 días (este parámetro puede cambiarse en el fichero web.xml) No Integer
idCampana 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), por defecto se asigna valor 0 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. Por defecto el valor es 0, no se asigna idioma al 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()


El CargaContactos verifica que los campos obligatorios IDcampanna e IDlista existen en la Base de Datos.

En caso contrario retornará error:

No existe campanna
ó
No existe lista

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, por defecto se asignan 30 días

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 Por defecto la script está configurada con 300 días
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
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 Script ImportaContactos

4.1 Descripción

Creación del script importaContactos.pl para la importación de contactos a las campañas de marcación saliente.

El script incorpora las siguientes caracteristicas:

  • Uso del webService cargaContactos.
  • Configuración de posición del campo en el archivo de importación.
  • Configuración de parámetros por defecto.
  • Uso de mascaras para la importación de archivos.
  • Uso de SFTP para los archivos a importar.
  • Configuración del formato de fecha.


4.2 Fichero de Configuración

El archivo de configuración es el siguiente: Esta autocomentado el uso de los campos de configuración.

#

   Configuracion de importaContactos.pl #

   0: Solo alarmas en archivo log - 1: alarmas y trazas
   defecto 1
   $depurar = 1;

   Archivo de log (: salida estandar)
   defecto 
   $logArch = ;
   $logArch = '/var/log/importaContactos.log';

   Directorio donde se encuentran los ficheros de contactos a importar
   $dirFicheros = '/tmp/contactos';

   Directorio donde se dejaran los ficheros ya tratados
   $dirFicherosTratados = '/tmp/contactosTratados';

#Patron de archivos a tratar

   defecto 
   $patronArchivos = "csv\$";

#Número de archivos a tratar en cada invocacion

   0 todos los archivos
   defecto 0
   $numArchivosTratar = 0;

#Separador de campos del archivo de contactos

   defecto ';'
   #$separadorCampos = ";";

   Formato de fecha
   defecto '%d-%m-%Y'
   http://search.cpan.org/~drolsky/DateTime-Format-Strptime-1.75/lib/DateTime/Format/Strptime.pm
   #$formatoFecha = "%d-%m-%Y";

   url del webService para cargar contactos
   la url es completa con el puerto
   defecto: http://localhost:yyyy/CargaContactos/CreateCargaContactos
   $urlWebService='http://xxx.xx.xxx.xxx:yyyy/CargaContactos/CreateCargaContactos';

   Configuracion SFTP
   SFTPhay - Si existe SFTP (0 - no, 1 - si)
   defecto 0
   $SFTPhay = 1;
   $SFTPhost = 'xxx.xx.xxx.xxx';
   $SFTPport = 'xx';
   $SFTPusuario = 'user';
   $SFTPclave = 'password';
   $SFTPdir = '/data';


4.3 Campos

Los campos que pueden rellenarse de un contacto

Si el valor del campo empíeza por # y luego un número es la posición del campo en el fichero de importación el valor del primer campo es el 0.

Si el valor no empieza por # es el valor por defecto que se incluirá en todos los contactos.


Campo Valor Tipo Obligatorio Defecto Observaciones Ejemplo
$campoDate Fecha en la que se realizará la lamada Date NO Fecha actual (Ahora) El formato del string que se debe enviar es yyyy-MM-dd HH:mm:ss $campoDate = '#1';
#$campoObsoletos Si vale 1, marca como obsoletos los contactos anteriores Integer NO 0 #$campoObsoletos = 0;
#$campoDiasCaducidad Número de días a partir de los cuales caducarán los contactos Integer NO 30 #$campoDiasCaducidad = 30;
$campoIdCampana Identificador de la campaña en la que se insertará el contacto Integer SI $campoIdCampana = '#2';
$campoIdLista Identificador de la lista en la que se insertará el contacto Integer SI $campoIdLista = 1;
#$campoPrioridad El valor es de 0 a 99. A mayor número mayor prioridad (se le llamará ANTES) Integer NO 0
#$campoTipoTarea Tipo de tarea que se ejecutara al insertar el contacto Cadena NO A Los posibles valores de la columna son: A: Alta, M: Modificación, B: Baja
#$campoCodCli Identificador del código del cliente Cadena NO
#$campoNombreCon Nombre del cliente Cadena NO
#$campoApellido1 Primer apellido Cadena NO
#$campoApellido2 Segundo apellido Cadena NO
#$campoEmpresa Empresa Cadena NO
#$campoDireccion1 Dirección 1 Cadena NO
#$campoDireccion2 Dirección 2 Cadena NO
#$campoCodPostal Código postal Cadena NO
#$campoLocalidad Localidad Cadena NO
#$campoProvin Provincia Cadena NO
#$campoEmail Email Cadena NO
#$campoValFijo_1 Primer número fijo del contacto Integer SI ó este ó el primer móvil
#$campoValFijo_2 Segundo número fijo del contacto Integer NO
#$campoValFijo_3 Tercer número fijo del contacto Integer NO
#$campoValFijo_4 Cuarto número fijo del contacto Integer NO
$campoValMovil_1 Primer número móvil del contacto Integer SI ó este ó el primer fijo $campoValMovil_1 = '#0';
$campoValMovil_2 Segundo número móvil del contacto Integer NO
$campoValMovil_3 Tercer número móvil del contacto Integer NO
$campoValMovil_4 Cuarto número móvil del contacto Integer NO
#$campoEdad Edad Integer NO
#$campoNOpc1 Dato numérico opcional Integer NO
#$campoNOpc2 Dato numérico opcional Integer NO
#$campoNOpc3 Dato numérico opcional Integer NO
#$campoNOpc4 Dato numérico opcional Integer NO
#$campoNOpc5 Dato numérico opcional Integer NO
#$campoNOpc6 Dato numérico opcional Integer NO
#$campoNOpc7 Dato numérico opcional Integer NO
#$campoNOpc8 Dato numérico opcional Integer NO
#$campoCOpc1 Cadena opcional Cadena NO
#$campoCOpc2 Cadena opcional Cadena NO
#$campoCOpc3 Cadena opcional Cadena NO
#$campoCOpc4 Cadena opcional Cadena NO
#$campoCOpc5 Cadena opcional Cadena NO
#$campoCOpc6 Cadena opcional Cadena NO
#$campoCOpc7 Cadena opcional Cadena NO
#$campoCOpc8 Cadena opcional Cadena NO
#$campoId_idioma Idioma del contacto Cadena NO 0 Por defecto el valor es 0, no se asigna idioma al contacto

5 Webservice Chat

Acuerdo interfaz chat v3



6 Webservice Generación de llamadas

Versión 1.0


Acuerdo de interfaz del servicio de generación de llamadas v1.0

6.1 Introducción

El servicio de generación de llamadas permite la realización de llamadas en el entorno Vivait-Call y Vivait-Suite desde aplicaciones externas.

6.2 Invocación y parámetros en entorno Vivait-Call

El servicio se invoca mediante petición http Get a la siguiente url: http://host:port/WS_generaLlamada? Siendo host y port la ip y el puerto dónde haya sido desplegado el webservice.


6.2.1 Parámetros

Un ejemplo de invocación sería la siguiente: http://localhost:8180/WS_generaLlamada?token=HgdT76Fiopxvcu&origen=40000&destino=40001

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

Nombre Tipo Obligatorio Descripción
token String Si Código de autenticación
Origen String Si Extensión, login numérico o cuenta de agente al que asociar la llamada
Destino String Si Destino telefónico a alcanzar

6.2.2 Resultado y códigos de error en entorno Vivait Call

Si el webservice se ejecuta correctamente enviará el código de respuesta http SC_OK 200 y el UCID de la llamada generada.

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

Error Código Mensaje Descripción
SC_BAD_REQUEST 400 Llamada en curso En caso de que haya una llamada en curso con el mismo origen y destino
SC_BAD_REQUEST 400 Nodo no recuperado El origen no tiene un nodo asociado
SC_BAD_REQUEST 400 Excepción no controlada
SC_BAD_REQUEST 400 Falta parámetro token No se ha recibido el token de autenticación
SC_BAD_REQUEST 400 Error al comprobar token No se ha podido validar el token
SC_BAD_REQUEST 400 Parámetros origen o destino no encontrados Falta alguno de los parámetros obligatorios

6.3 Invocación y parámetros en entorno Vivait-Suite

El servicio se invoca mediante petición http Get a la siguiente url: http://host:port/WS_generaLlamada/acd? Siendo host y port la ip y el puerto dónde haya sido desplegado el webservice.

6.3.1 Parámetros

Un ejemplo de invocación sería la siguiente:

http://localhost:8180/WS_generaLlamada/acd?token= HgdT76Fiopxvcu &origen=40000&destino=40001&grupoACD=89090

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

Nombre Tipo Obligatorio Descripción
token String No Código de autenticación
Origen String Si login numérico o cuenta de agente al que asociar la llamada
Destino String Si Destino telefónico a alcanzar
grupoACD String Si GrupoACD al que el agente está logado y en el cuál vamos a meter la llamada condicionada a que la atienda el agente

6.3.2 Resultado y códigos de error en entorno Vivait Suite

Si el webservice se ejecuta correctamente enviará el código de respuesta http SC_OK 200 y el UCID de la llamada generada.

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

Error Código Mensaje Descripción
SC_BAD_REQUEST 400 Llamada en curso En caso de que haya una llamada en curso con el mismo origen y destino
SC_BAD_REQUEST 400 Nodo no recuperado El origen no tiene un nodo asociado
SC_BAD_REQUEST 400 GrupoACD o agente no asignado El agente o el grupoACD no han sido encontrados o el agente no está logado en el grupo indicado
SC_BAD_REQUEST 400 Excepción no controlada
SC_BAD_REQUEST 400 Falta parámetro token No se ha recibido el token de autenticación
SC_BAD_REQUEST 400 Error al comprobar token No se ha podido validar el token
SC_BAD_REQUEST 400 Parámetros origen o destino no encontrados Falta alguno de los parámetros obligatorios

7 Conexión externa a tracker

7.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.

7.2 Webservices desplegados

7.2.1 Login en la plataforma

7.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.

7.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://xxx.xx.xxx.xxx: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
7.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

7.2.2 Solicitud de segmentos pertenecientes al UCID

7.2.2.1 Introducción

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

7.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://xxx.xx.xxx.xxx: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
7.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

7.2.3 Descarga de grabaciones

7.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.

7.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

7.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

7.2.4 Reproducción de fichero mp3

7.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.

7.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

7.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

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

7.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.

7.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
7.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

8 Webservice infoWS

8.1 Introducción

Webservice InfoWS sirve para recuperar cualquier información de llamadas de la base de datos de VIVAit, así como gestionar inicio o final de grabaciones.


Las dos funciones principales son:

-Obtener información para una llamada

-Gestionar grabaciones bajo demanda (iniciar, finalizar, consultar estado)


Acuerdo de interfaz


Acuerdo de interfaz infoWS


.



9 Servicios rest proporcionados por intz-gh

9.1 Introducción

La extensión manda un register al nodo y le dice si está disponible o no (en el nodo registro se ha modificado el chan sip para que avise al gran hermano).

El gran hermano es un elemento que conoce el estado de todo lo que pasa en Vivait , cuando hay un evento sabe como están las extensiones en todo momento (si no se produce un evento en el usuario , el estado aparecerá como desconocido). Los diferentes estados que hay son ( desconocido , no está en uso , en uso , no disponible , sonando , en espera).

Web service envía como está el estado de la extensión a un elemento externo ( portal mdtel , grafana , app del cliente etc…) y este le responde. Se ha actualizado intz.gh en web service.



9.2 Servicio para conocer el estado de una extension

Este webservice permitirá conocer el estado de una extensión.

Invocación

Un ejemplo de invocación sería el siguiente:

http://xxxxxxxx/xxxxxxx/getExtenEsta?exten=${exten}

Respuesta:

   .. Content-Type: application/json
 {
 "exten": "<extension solicitada>",
 "idNodo": <ID del nodo que proporciona estados (primario o secundario)>,
 "esta": "<estado actual: [UNKNOWN|NOT_INUSE|INUSE|BUSY|INVALID|UNAVAILABLE|RINGING|RINGINUSE|ONHOLD]>",
 "call_limit": <numero maximo de llamadas permitidas por configuracion>,
 "inuse": <numero de llamadas conectadas>,
 "ringing": <numero de llamadas entrantes pendientes de descolgado>,
 "hace": <segundos desde el ultimo cambio de valores>
 }



9.3 Servicio que devuelve un array de extensiones en un estado

Este webservice permitirá devolver un array de extensiones en un estado

Invocación

Un ejemplo de invocación sería el siguiente:

http://xxxxxxx/xxxxx/getExtenFiltroEsta extenEsta=NOT_INUSE&extenInd=1&limit=100

Respuesta:


   .. Content-Type: application/json
 {
 "extenInd": <extenInd de ultima extension devuelta (para incluir en siguiente invocacion, si hay mas)>
 "extenNum": <numero de extensiones conocidas por intz-gh (si extenInd==extenNum, no hay mas extensiones)>
 "extenMax": <numero de extensiones soportadas por intz-gh>
 "extenEsta": <estado de las extensiones: [NOT_INUSE|INUSE|BUSY|UNAVAILABLE|RINGING|RINGINUSE|ONHOLD]>
 "extens": "<array con extensiones>":
   [
     {
       "exten": "<extension en el estado solicitado>",
       "idNodo": <ID del nodo que proporciona estados (primario o secundario)>,
       "hace": <segundos desde el ultimo cambio de valores (estado, inuse o ringing)>
     }
   ]
  }


9.4 Servicio para conocer el estado de un enlace

Este webservice permitirá conocer el estado de un enlace.

Invocación

Un ejemplo de invocación sería el siguiente:

http://xxxxxxxxx/xxxxxxxxx/getEnlaEsta?idNodo=${idNodo}\&peer=${peer}

Respuesta:


   .. Content-Type: application/json
 {
 "peer": "<peer del enlace>",
 "idNodo": <ID del nodo que soporta ese enlace (el nombre del peer puede estar repetido en varios nodos)>,
 "esta": "<estado actual: [UNKNOWN|NOT_INUSE|INUSE|BUSY|INVALID|UNAVAILABLE|RINGING|RINGINUSE|ONHOLD]>",
 "inuse": <numero de llamadas conectadas>,
 "ringing": <numero de llamadas entrantes pendientes de descolgado>,
 "hace": <segundos desde el ultimo cambio de valores>
 }


9.5 Servicio que devuelve un array de enlaces en un estado

Este webservice permitirá devolver un array de enlaces en un estado


Invocación

Un ejemplo de invocación sería el siguiente:

http://xxxxxxxxxx/xxxxx/getEnlaFiltroEsta?enlaEsta=NOT_INUSE&enlaInd=1&limit=10

Respuesta:


   .. Content-Type: application/json
 {
 "enlaInd": <enlaInd del ultimo enlace devuelta (para incluir en siguiente invocacion, si hay mas)>
 "enlaNum": <numero de enlaces conocidos por intz-gh (si enlaInd==enlaNum, no hay mas enlaces)>
 "enlaMax": <numero de enlaces soportadas por intz-gh>
 "enlaEsta": <estado de los enlaces: [NOT_INUSE|INUSE|BUSY|UNAVAILABLE|RINGING|RINGINUSE|ONHOLD]>
 "enlas": "<array con enlaces>":
   [
     {
       "peer": "<peer del enlace en el estado solicitado>",
       "idNodo": <ID del nodo que proporciona estados>,
       "hace": <segundos desde el ultimo cambio de valores (estado, inuse o ringing)>
     }
   ]
   }