API Otras acciones
Recordar que para poder usar la API se necesita.
Autenticarse y obtener un token para la sesión.
Usar el token en el Header Authorization.
Finalizar sesión.
Notificar Agentes
https://dominio.ucontactcloud.com/Integra/resources/api/Notificate
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: agent (nombre agente)
queue (nombre campaña)
message (mensaje a mostrar al agente)
icon (nombre de ícono de fontaswome ejemplo: fa fa-exclamation-triangle)
when (always-> siempre notificar aunque no este conectado, le mostrara las notificaciones al conectarse o online solo notificar si conectado)
Result: OK -> if pudo notificar
ERROR -> if no fue notificado
Generar Reporte
https://dominio.ucontactcloud.com/Integra/resources/BI/generatereport
Método: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Parámetros: report (Objecto JSON)
html (0 o 1)
excel (0 o 1 o 2 para csv)
pdf (0 o 1)
doc (0 o 1 o 2 para txt)
Resultado: GUID del reporte generado
Vacío en Error, es asincrónico
Cerrar Form
Desde un Form de uContact
parent.closeActiveTab();
Desde un iFrame Cross Origin
Para utilizar esta funcionalidad desde un IFrame en un origen diferente a uContact es necesario establecer un proxy de comunicación entre ambos. Para eso utilizamos Porthole. Definimos un proxy en cada iFrame que se abre con un procesador de mensajes, luego desde el iframe se puede enviar la action close para que cierre el Tab Actual.
En el iframe Agregar
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
//Ejemplo en click de cerrar el Tab
function CloseTab () {
var windowProxy;
windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
windowProxy.post({'action': 'close'});
}
</script>
WebCallBack
Para que el WebCallBack sea posible de integrar con cualquier web de cualquier cliente, fue diseñado con un GET sobre HTTP, de esta forma cualquiera puede invocarlo.
URL: http://IP:PUERTO/Integra/resources/Utils/CallBack/phone={phone}&tecnology={tecnology}&context={context}&destination={destination}&priority={priority}
Método: GET
content-type:application/x-www-form-urlencoded; charset=UTF-8
Parametros:
Cambiar los valores entre {} por el valor que corresponda.
phone: Teléfono del cliente
tecnology: tecnología por donde se marca (ejemplo: DAHDI/G1/ o SIP/CARRIER/)
context: contexto en donde entra la llamada una vez la atiende el cliente (de ahí selecciona la exten "destination")
destination: exten destino en el dialplan (habitualmente un DNIS de una campaña que va a una Cola)
prioridad: prioridad de entrada en el contexto en esa extension (siempre entrar luego de CDR(type)=record para que no pise el type webcallback)
Resultado: 1 (Asincrónico)
Ejecución externa del workflow
Permite ejecutar un web service que hace un llamada a un workflow de la telefonía permitiendo ejecutar acciones dentro del flujo
https://dominio.ucontactcloud.com/Integra/resources/admin/CallWorkflow
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: context (contexto de entrada de flujo)
extension (extension de entrada al flujo)
jsonparams (JSON Object)
Result: OK
Parámetros de objeto Json
"{"Dato1":"xxxxx","Dato2":"yyyyy"}"
Colección de postman con ejemplo para notificar y generar reporte.