/
REST API

REST API

RESTfull API uContact 3.0

Ā 

Los servicios Web de tipo REST son creados con una Base URL mas el path del resource mas el nombre del mƩtodo, luego sus parametros van de tipo FormParam. Los objetos son pasados en JSON y las respuestas son o Plain Text o JSON.

Recordar realizar URL encode cuando sea necesario.

Los metodos son POST a noser que se indique expresamente.

Ā 

Base URL

Ā 

http://<IP-INTEGRASERVER>:8085/Integra/resources/

https://<IP-INTEGRASERVER>:8086/Integra/resources/

Ā 

API Resource

Base URL + api



Metodos

Ā 

Ā AgentLogin

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

password: Password del Agente

message: mensaje extra

force: forzar inicio (1 o 0)

Ā 

Ā Result:Ā  plain text

Ā Ā Ā Ā 1: Fallo Autenticacion

Ā Ā Ā Ā Ā Ā 3: Ingreso forzado

Ā Ā Ā Ā Ā Ā Ā 0: Login correcto

Ā 

Ā AgentLogoff

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

time: tiempo en segundos desde que se logueo

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā 

Ā 

Ā 

Ā 

Ā 

Ā AgentPause

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā AgentUnPause

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

time: tiempo desde pausa

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā AgentPauseNoLog (no deja registro en historico de pausas)

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā AgentUnPauseNoLog (no deja registro en historico de pausas)

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

time: tiempo desde pausa

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā AgentBreak

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

motive: Motivo del break (Lunch,Bathroom ,etc)

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā 

Ā 

Ā 

Ā 

Ā 

Ā 

Ā AgentUnBreak

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

motive: Motivo del break (Lunch,Bathroom ,etc)

Ā 

time: tiempo desde pausa

message:Ā  mensaje extra

Ā 

Ā Result:Ā  plain text

Ā 

Ā 

Tipo: GET

GetMessages (GetMessages/agent={agent}&interface={interface})

Ā Ā Ā Params:Ā 

agent:Ā  Nombre del Agente

interface: Tecnologia / nĆŗmero (Ej. SIP/1001)

Ā 

Ā Result:Ā  JSON

Ā 

Este metodo utiliza long polling lo cual queda ahi hasta que tenga algun mensaje para este agente (ver de revisar timeout del lado cliente para que espere siempre). Retorna mensaje de todo tipo de telefonia y para CTI. Important para saber con que channel estoy conectado, si se corta la llamada, si entra una, etc.

Ā 

Agent Resource

Ā 

Bae URL + Agents

Ā 

Metodos

Ā 

Ā AgentCall

Ā Ā Ā Params:Ā 

Ā Ā Ā Ā callerid: callerid de la llamada

agent:Ā  Nombre del Agente

phone: telefono del agente

tech: tecnologia agente

context: contexto de salida

outqueue: cola de salida

destination: numero destino

Ā 

Ā Result:Ā  plain text

Ā 

Ā 

La llamada es en dos pasos, 1 al ejecutarse se llama al agente, 2 al attender la llamada se dispara automaticamente la llamada al destino.

Ā 

Ā Hangup

Ā Ā Params:Ā 

Ā 

channel:Ā  nombre del channel al cortar (Ej. SIP/1001-abos000000)

Ā 

Result:Ā  plain text

Ā 

SendDTMF

Ā Ā Ā Params:Ā 

channel:Ā  Nombre del channel al pasar un dtmf

dtmf: valor del dtmf

Ā 

Ā Result:Ā  plain text

Transfer

Ā Ā Ā Params:Ā 

channel:Ā  Nombre del channelĀ  a redireccionar

context: contexto por el que sale el redirect

exten: exten donde va a ser el redirect (habitualmente el otro interno)

Ā 

Ā Result:Ā  plain text

getcontext

Ā Ā Ā Params:Ā 

phone: telefono del agenteĀ 

table: tecnologia del agente (sip o iax)

Ā 

Ā Result:Ā  plain text (contexto donde esta el agente definido)

Ā 

getagentconfĀ Ā 

Params:Ā 

agent: nombre agente

password: password del agente

value: valor a obtener (nombre de columna en tabla)

table: sip o iax

Ā 

Ā Result:Ā  plain text (contexto donde esta el agente definido)



WEBCALLBACK

ara 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. Sintaxis:

http://IP:PUERTO/Integra/resources/Utils/CallBack/phone={phone}&tecnology={tecnology}&context={context}&destination={destination}&priority={priority}

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)

  • timeout: 30 segundos deja sonar en el cliente

  • CDR(type): webcallback

La llamada queda en el CDR como si fuera hecha por el cliente (callerid del cliente), pero en type se pone expresamente que es un WebCallBack.

WEBSMS

Eviar SMS via un GET

http://IP:PUERTO/Integra/resources/SMS/SendSMS/destination={destination}&message={message}&api={api}&device={device}

Cambiar los valores entre {} por el valor que corresponda.

destination: numero de telefono destino

message: el mensaje

api: API a usar: dongle o twilio

device: nombre del dispositivo ejemplo dongle0

El mensaje queda el la tabla de sms_repo

WEB EMAIL

Envia Mail desde un servicio Web via POST

http://IP:PUERTO/Integra/resources/Email/SendMail POSTDATA: fromname={fromname}&to={to}&subject={subject}&body={body}

Cambiar los valores entre {} por el valor que corresponda, body puede ser HTML.