APIs
Documentación de las principales APis de uContact para integraciones.
- Autenticación Cliente
- Autenticación Agente
- Finalizar Sesión
- Colgar Llamada
- Agregar registro a marcador
- Subir Base
- Tipificar Llamada
- Crear Agente
- Agregar Agente a Campaña
- Hacer Llamada
- Obtener Campañas
- Obtener Dialers
Autenticación Cliente
Este recurso se usa para obtener una autenticación por token para poder usar las API´s de uContact creado para loguearse desde otra aplicación para poder realizar integraciones.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/auth/getUserToken |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
Request Body
| Parametro | Tipo | Requerido | Descripción |
| user | Texto (String) | Si | Nombre de usuario |
| password | Texto (String) | Si | Contraseña del usuario |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/auth/getUserToken HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
user={{User}}&password={{Password}}
cURL
curl --location --request POST 'https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'user={{UserName}}' \
--data-urlencode 'password={{PasswordUser}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("user", "{{UserName}}");
urlencoded.append("password", "{{PasswordUser}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"user": "{{UserName}}",
"password": "{{PasswordUser}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("user", "{{User}}");
request.AddParameter("password", "{{UserPassword}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "user={{User}}&password={{UserPassword}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/getUserToken")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
HTTP Response
"{{token}}"
Respuesta de error
"0"
Autenticación Agente
Cuando se requiere hacer alguna integración con uContact con actividades de agente se autentica por medio de este recurso en el cual la plataforma toma como logueado al agente al SIP, esto hace que se tome encuenta para las llamadas o tenga interacción por VoIP además de los accesos.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/auth/AgentLogin |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| agent | Texto (String) | Si | Nombre de usuario del agente |
| password | Texto (String) | Si | Contraseña del usuario |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/auth/AgentLogin HTTP/1.1
Host: {{dominio}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
agent={{User}}&password={{Password}}
cURL
curl --location --request POST 'https://{{dominio}}.ucontactcloud.com/Integra/resources/auth/AgentLogin' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'agent={{Usuario}}' \
--data-urlencode 'password={{AgentPassword}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("agent", "{{User}}");
urlencoded.append("password", "{{Password}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"agent": "{{User}}",
"password": "{{Password}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("agent", "{{User}}");
request.AddParameter("password", "{{Password}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "agent={{User}}&password={{Password}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/auth/AgentLogin")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'agent={{User}}&password={{Password}}'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/auth/AgentLogin", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "Error" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta convertida a JSON
{
"id": 4,
"name": "1997",
"host": "{{domain}}.ucontactcloud.com",
"nat": "yes",
"type": "friend",
"accountcode": "Vcisneros",
"callgroup": "",
"callerid": "1997",
"canreinvite": "",
"context": "agents",
"dtmfmode": "rfc2833",
"insecure": "",
"language": "es",
"mailbox": "",
"md5secret": "07a46a13aa5434e21e6a9aa870482720",
"pickupgroup": "",
"qualify": "yes",
"secret": "",
"disallow": "all",
"allow": "alaw;ulaw",
"port": "",
"defaultuser": "1997",
"subscribecontext": "default",
"record": "agent",
"email": "",
"phonetype": "SoftPhone",
"LogLevel": "SEVERE",
"limite": 0,
"transport": "wss",
"encryption": "yes",
"did": "",
"outboundproxy": "",
"fullname": "Victor Cisneros",
"token": "VmNpc25lcm9zOjJhZGUzNjAxLTNhMjgtNDhjNy1hNDg2LTczNTY3ZmI1ZDI2MQ=="
}
Respuesta de error
0
Finalizar Sesión
Para finalizar la sessión del agente o usuario una vez deje de utilizarse.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/api/AgentLogoff |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo | Requerido | Descripción |
| agent | Texto (String) | Si | Nombre de usuario que se va a desloguar |
| interface | Texto (String) | No | Numero de telefono/extensión del sip para el agente |
| message | Texto (String) | No | Mensaje a guardar |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/api/AgentLogoff HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
agent={{user}}&interface=SIP/{{extension}}&message=Desloguear
cURL
curl --location --request POST 'https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'agent={{User}}' \
--data-urlencode 'interface=SIP/{{Extension}}' \
--data-urlencode 'message={{Mensaje}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("agent", "{{User}}");
urlencoded.append("interface", "SIP/{{Extension}}");
urlencoded.append("message", "{{Mensaje}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"agent": "{{User}}",
"interface": "SIP/{{Extension}}",
"message": "{{Mensaje}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("agent", "{{User}}");
request.AddParameter("interface", "SIP/{{Extension}}");
request.AddParameter("message", "{{Mensaje}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "agent={{User}}&interface=SIP/{{Extension}}&message={{Mensaje}}");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/api/AgentLogoff")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'agent={{User}}&interface=SIP/{{Extension}}&message={{Mensaje}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/api/AgentLogoff", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
Success
Respuesta de error
0
Colgar Llamada
Cuando se desea colgar una llamada desde fuera de uContact, se utiliza esta API; de esta manera, se puede crear una integración más completa.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Agents/HangupPhone |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo | Requerido | Descripción |
|
phone |
Numero (Integer) | Si | Numero de telefono/extensión del agente |
HTTP Request
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Agents/HangupPhone HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
phone={{AgentPhone}}
cURL
curl --location --request POST 'https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'phone={{AgentPhone}}'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("phone", "{{AgentPhone}}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"phone": "{{AgentPhone}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("phone", "{{AgentPhone}}");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "phone={{AgentPhone}}");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Agents/HangupPhone")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'phone={{AgentPhone}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Agents/HangupPhone", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta exitosa
1
Respuesta de error
0
Agregar registro a marcador
Agrega un registro a un marcador para lanzar la llamada en cuanto se tenga algún agente disponible, este registro serrá agregado a la cola, es decir se marcarán primero los registros que ya estaban en la cola independientemente, esta cola solo tomará encuenta los registros que no pertenecena una lista de marcación.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/DialerTask |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo | Requerido | Descripción |
|
call |
JSON String (String) | Si | Objeto Json convertido a texto en donde se agreguen los datos agregados en el siguient ejemplo |
Ejemplo JSON
Los datos agregados en el siguiente ejemplo son meramente demostrativos, tendrá que reemplazar los datos con los correspondiente a su instancia.
{
"calldate" : null, // En caso de requerir se llame a una hora en especifico, ejemplo: '1900-01-01 00:00:00'
"campaign" : "POWER<-", // Nombre de la campaña a agregar el registro
"destination": "0123456789", // Numero de teléfono al cual se realizará la marcación
"alternatives": "", // Numero alternativo al cual realizarle la llamada en caso de no contactar con el primer teléfono
"agent" : "", // Telefono/Extensión del agente en caso de querer que un agente en especifico tome la llamada
"data": "idcustomer=7", // Datos para mostrar en el formulario de la instancia o para utilizarlos para algo en especifico
"source": "source", // Pendiente
"bulk": false, // Pendiente
"automatic": true // Pendiente
}
Descripción de Objeto JSON
En el JSON todos las Key deben estar agregadas, si el campo menciona que no es oblicatorio puede ser agregado con un valor vacio.
| Parametro | Tipo | Requerido | Descripción |
| calldate | Texto (String) | No | Define la hora en la cual se realizará la marcación, puede ser 'null' o fecha en formato '1900-01-01 00:00:00'. |
| campaign | Texto (String) | Si | Nombre de la campaña a la cual se agregará el registro |
| destination | Texto (String) | Si | Numero de teléfono al cual se marcará |
| alternatives | Texto (String) | No | Numero alternativos a contactar en caso no se logre contacto con el primer numero, puede ser vacio. |
| agent | Texto (String) | No | Numero del teléfono/extensión del agente en caso de requerir que un agente en especifico tome la llamada |
| data | Texto (String) | No | Datos a agregar para mostrarse en formularios, encuestas o para algún otro propocito dentro de la plataforma. |
| source | Texto (String) | Si | |
| bulk | Booleano (Boolean) | Si | |
| automatic | Booleano (Boolean) | Si |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/DialerTask HTTP/1.1
Host: {{Instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 310
call={{Objeto Json}}
cURL
curl --location --request POST 'https://testclever.ucontactcloud.com/Integra/resources/Dialers/DialerTask' \
--header 'Authorization: Basic VmNpc25lcm9zOjY3NDdjODIzLWY5ZmItNDY0My05NTc0LWNjMjJhOTlhZDRlMQ==' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'call={"calldate" : null,"campaign" : "POWER<-","destination": "1234567890","alternatives": "","agent" : "","data": "idcustomer=7","source": "source","bulk": false,"automatic": true }'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("call", "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"call": "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("call", "{\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "call={\"calldate\" : null,\"campaign\" : \"POWER<-\",\"destination\": \"0123456789\",\"alternatives\": \"\",\"agent\" : \"\",\"data\": \"idcustomer=7\",\"source\": \"source\",\"bulk\": false,\"automatic\": true }");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/DialerTask")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'call={{Objeto Json}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Dialers/DialerTask", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
1
Respuesta de error
0
Subir Base
Sube una lista de maración por medio de un archivo CSV o TXT a un marcador pora poder acer integraciones con algún sistema externo a uContact.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente..
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/uploadbase |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
El parametro "cant" puede agregarse con un valor de 0, una vez se se active la lista se actualizará la cantidad de registros en la lista.
En el campo fileb64 solamente se deve de enviar el contenido del archivo de texto plano codificado a base64, si se codifica el archivo como tal y se agrega a este campo marcará un error en la consulta.
| Parametro | Tipo | Requerido | Descripción |
|
filename |
Texto (String) | Si | Nombre del archivo a subir |
|
fileb64 |
Archivo codificación Base64 | Si | Archivo a subir codificado a Base64 |
|
campaign |
Texto (String) | Si | Nombre de la campaña a la cual se subirá el archivo |
|
cant |
Numero (Integer) | Si |
Numero de registros del archivo |
|
username |
Texto (String) | Si | Nombre de usuario que subirá el archivo de lista de maracacipon |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/uploadbase HTTP/1.1
Host: {{Instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 604
filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow%3D%3D&campaign=POWER%3C-&cant=5&username=Vcisneros
cURL
curl --location --request POST 'https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'filename=base_prueba_2.csv' \
--data-urlencode 'fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==' \
--data-urlencode 'campaign=POWER<-' \
--data-urlencode 'cant=5' \
--data-urlencode 'username=Vcisneros'
JavaScript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("filename", "base_prueba_2.csv");
urlencoded.append("fileb64", "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==");
urlencoded.append("campaign", "POWER<-");
urlencoded.append("cant", "5");
urlencoded.append("username", "Vcisneros");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"filename": "base_prueba_2.csv",
"fileb64": "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==",
"campaign": "POWER<-",
"cant": "5",
"username": "Vcisneros"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("filename", "base_prueba_2.csv");
request.AddParameter("fileb64", "UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==");
request.AddParameter("campaign", "POWER<-");
request.AddParameter("cant", "5");
request.AddParameter("username", "Vcisneros");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow==&campaign=POWER<-&cant=5&username=Vcisneros");
Request request = new Request.Builder()
.url("https://{{Instance}}.ucontactcloud.com/Integra/resources/Dialers/uploadbase")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instance}}.ucontactcloud.com")
payload = 'filename=base_prueba_2.csv&fileb64=UE9XRVI8LTswMTIzNDU2Nzg5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs5ODc2NTQzMjEwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTswMTQ3ODUyMzY5O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTszNjk4NTIwMTQ3O0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow0KUE9XRVI8LTs3NTMyMTQ2OTgwO0lkPTIyMDE0MTpGb2xpbz0xOk5vbWJyZT1WaWN0b3IgQ2lzbmVyb3M6Zm9saW9DUk09Ozs5OTk5Ow%3D%3D&campaign=POWER%3C-&cant=5&username=Vcisneros'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Dialers/uploadbase", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
1
Respuesta de error
0
Tipificar Llamada
Cuando una llamada es finalizada en uContact se puede agregar una tipificación para tener identificado en que finalizó la llamada y asi poder obtener reportes o bién crear acciones apartir de una tipificación.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | Integra/resources/api/DispositionCall |
Header Request
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Parametros
| Parametro | Tipo | Requerido | Descripción |
|
campaign |
Si | Nombre de la campaña | |
|
agent |
Si | Nombre de usuario del agente | |
|
callerid |
Si | Numero de telefono del contacto | |
|
guid |
Si | Identificador unico de llamada | |
|
l1 |
Si | Nivel 1 de tipificación | |
|
l2 |
No | Nivel 2 de tipificación | |
|
l3 |
No | Nivel 3 de tipificación | |
|
d1 |
No | Dato extra a guardar | |
|
d2 |
No | Dato extra a guardar | |
|
comment |
No | Comentario para la tipificación | |
|
schedule |
No | Fecha y hora para agendar llamada formaro AAAA-MM-DD HH:MI:SS | |
|
camptoreschedule |
No | Marcador al cual agendar la llamada | |
|
tag |
No | Texto para tag de tipificación o vacio |
Ejemplos de codigo
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/api/DispositionCall HTTP/1.1
Host: {{Instancia}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 173
campaign=campana-%3E&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag=
cURL
curl --location --request POST 'https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'campaign=campana->' \
--data-urlencode 'agent=Vcisneros' \
--data-urlencode 'callerid=1234567890' \
--data-urlencode 'guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57' \
--data-urlencode 'l1=Tipificacion1' \
--data-urlencode 'l2=' \
--data-urlencode 'l3=' \
--data-urlencode 'd2=' \
--data-urlencode 'd2=' \
--data-urlencode 'comment=' \
--data-urlencode 'schedule=' \
--data-urlencode 'camptoreschedule=' \
--data-urlencode 'tag='
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
var urlencoded = new URLSearchParams();
urlencoded.append("campaign", "campana->");
urlencoded.append("agent", "Vcisneros");
urlencoded.append("callerid", "1234567890");
urlencoded.append("guid", "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57");
urlencoded.append("l1", "Tipificacion1");
urlencoded.append("l2", "");
urlencoded.append("l3", "");
urlencoded.append("d2", "");
urlencoded.append("d2", "");
urlencoded.append("comment", "");
urlencoded.append("schedule", "");
urlencoded.append("camptoreschedule", "");
urlencoded.append("tag", "");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
JQuery
var settings = {
"url": "https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"campaign": "campana->",
"agent": "Vcisneros",
"callerid": "1234567890",
"guid": "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57",
"l1": "Tipificacion1",
"l2": "",
"l3": "",
"d2": "",
"d2": "",
"comment": "",
"schedule": "",
"camptoreschedule": "",
"tag": ""
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new RestClient("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddParameter("campaign", "campana->");
request.AddParameter("agent", "Vcisneros");
request.AddParameter("callerid", "1234567890");
request.AddParameter("guid", "f9b7ada3-a4e5-4795-834d-aa1c1a37ee57");
request.AddParameter("l1", "Tipificacion1");
request.AddParameter("l2", "");
request.AddParameter("l3", "");
request.AddParameter("d2", "");
request.AddParameter("d2", "");
request.AddParameter("comment", "");
request.AddParameter("schedule", "");
request.AddParameter("camptoreschedule", "");
request.AddParameter("tag", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "campaign=campana->&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag=");
Request request = new Request.Builder()
.url("https://{{Instancia}}.ucontactcloud.com/Integra/resources/api/DispositionCall")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{Instancia}}.ucontactcloud.com")
payload = 'campaign=campana-%3E&agent=Vcisneros&callerid=1234567890&guid=f9b7ada3-a4e5-4795-834d-aa1c1a37ee57&l1=Tipificacion1&l2=&l3=&d2=&d2=&comment=&schedule=&camptoreschedule=&tag='
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/api/DispositionCall", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Respuesta Exitosa
"OK"
Respuesta de error
"0"
Crear Agente
Cuando en alguna integración se necesita crear usuarios desde alguna otra plataforma, podemos usar esta API que crea usuarios del tipo agente para que puedan hacer llamadas.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/sip/addsip |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| Phone | Texto | Si | Objeto JSON |
Ejemplo JSON
Los datos que no estan encerrados con {{ }} no serán modificados, serán enviados como datos fijos
{
"LogLevel": "SEVERE",
"fullname": "{{fullname}}",
"accountcode": "{{userNameAgent}}",
"allow": "alaw;ulaw",
"callerid": "{{phoneNumber}}",
"id": 407,
"context": "agentes",
"defaultuser": "{{phoneNumber}}",
"did": "",
"disallow": "all",
"dtmfmode": "rfc2833",
"email": "",
"encryption": "yes",
"canreinvite": "",
"insecure": "",
"host": "dynamic",
"language": "es",
"mailbox": "",
"name": "{{phoneNumber}}",
"nat": "yes",
"phonetype": "SoftPhone",
"pickupgroup": "",
"callgroup": "",
"qualify": "yes",
"record": "agent",
"secret": "{{passwordAgent}}",
"subscribecontext": "default",
"transport": "wss",
"port": "",
"outboundproxy": "",
"type": "friend",
"limite": "0"
}
Descripción de objeto JSON
| Parametro | Tipo |
Descripción |
| userName | Texto (String) | Nombre de usuario del agente |
| password | Texto (String) | Contraseña del usuario |
| fullname | Texto (String) | Nombre completo del agente |
|
phoneNumber
|
Texto (String) | Numero de teléfono del agente (Dato Unico) |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/sip/addsip HTTP/1.1
Host: {{dominio}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 1228
phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }
cURL
curl --location --globoff 'https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic VmNpc25lcm9zOjdjMjUyODAyLTljNGEtNDcyZi05MjJiLTQwNGFmY2JjM2Q2MA==");
const urlencoded = new URLSearchParams();
urlencoded.append("phone", "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"phone": "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var options = new RestClientOptions("https://{{dominio}}.ucontactcloud.com")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/Integra/resources/sip/addsip", Method.Post);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", "Basic {{Token}}");
request.AddParameter("phone", "{ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "phone={ \"LogLevel\": \"SEVERE\", \"fullname\": \"{{fullname}}\", \"accountcode\": \"{{userName}}\", \"allow\": \"alaw;ulaw\", \"callerid\": \"{{phoneNumber}}\", \"id\": 407, \"context\": \"agentes\", \"defaultuser\": \"{{phoneNumber}}\", \"did\": \"\", \"disallow\": \"all\", \"dtmfmode\": \"rfc2833\", \"email\": \"\", \"encryption\": \"yes\", \"canreinvite\": \"\", \"insecure\": \"\", \"host\": \"dynamic\", \"language\": \"es\", \"mailbox\": \"\", \"name\": \"{{phoneNumber}}\", \"nat\": \"yes\", \"phonetype\": \"SoftPhone\", \"pickupgroup\": \"\", \"callgroup\": \"\", \"qualify\": \"yes\", \"record\": \"agent\", \"secret\": \"{{password}}\", \"subscribecontext\": \"default\", \"transport\": \"wss\", \"port\": \"\", \"outboundproxy\": \"\", \"type\": \"friend\", \"limite\": \"0\" }");
Request request = new Request.Builder()
.url("https://{{dominio}}.ucontactcloud.com/Integra/resources/sip/addsip")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{dominio}}.ucontactcloud.com")
payload = 'phone={ "LogLevel": "SEVERE", "fullname": "{{fullname}}", "accountcode": "{{userName}}", "allow": "alaw;ulaw", "callerid": "{{phoneNumber}}", "id": 407, "context": "agentes", "defaultuser": "{{phoneNumber}}", "did": "", "disallow": "all", "dtmfmode": "rfc2833", "email": "", "encryption": "yes", "canreinvite": "", "insecure": "", "host": "dynamic", "language": "es", "mailbox": "", "name": "{{phoneNumber}}", "nat": "yes", "phonetype": "SoftPhone", "pickupgroup": "", "callgroup": "", "qualify": "yes", "record": "agent", "secret": "{{password}}", "subscribecontext": "default", "transport": "wss", "port": "", "outboundproxy": "", "type": "friend", "limite": "0" }'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/sip/addsip", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "1" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta exitosa
1
Respuesta de error
0
Agregar Agente a Campaña
Cuando la integración lo requiere se pueden agregar agentes a una campaña especifica por medio de esta API, a continuación mostramos el como realizar esta acción.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/queues/addqueuemember |
Request Headers
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic Token |
Request Body
| Parametro | Tipo |
Descripción |
| queuemember | Texto (String) | Array de objetos, en donde se pueden agregar varios usuarios a varias campañas, por cada objeto es un usuario agregado a una campaña. |
Ejemplo JSON
Los datos agregados en el siguiente ejemplo son meramente demostrativos, tendrá que reemplazar los datos con los correspondiente a su instancia.
[
{
"membername": "{{UserName}}",
"queueName": "{{CampaignName}}",
"interface1": "SIP/{{AgentPhoneNumber}}",
"penalty": 0,
"paused": 0
}
]
Descripción de Objeto JSON
En el JSON todos las Key deben estar agregadas, si el campo menciona que no es oblicatorio puede ser agregado con un valor vacio.
| Parametro | Tipo |
Descripción |
| UserName | Texto (String) | Nombre de usuario del agente |
| CampaignName | Texto (String) | Nombre de la campaña a la cual se desea agregar el usuario |
|
PhoneNumber
|
Texto (String) | Numero de teléfono del agente |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/queues/addqueuemember HTTP/1.1
Host: {{domain}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 221
queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]
cURL
curl --location --globoff 'https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
const urlencoded = new URLSearchParams();
urlencoded.append("queuemember", "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"queuemember": "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("queuemember", "[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "queuemember=[{\"membername\":\"{{UserName}}\",\"queueName\":\"{{CampaignName}}\",\"interface1\":\"SIP/{{AgentPhoneNumber}}\",\"penalty\":0,\"paused\":0}]");
Request request = new Request.Builder()
.url("https://{{domain}}.ucontactcloud.com/Integra/resources/queues/addqueuemember")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{domain}}.ucontactcloud.com")
payload = 'queuemember=[{"membername":"{{UserName}}","queueName":"{{CampaignName}}","interface1":"SIP/{{AgentPhoneNumber}}","penalty":0,"paused":0}]'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/queues/addqueuemember", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" o "1" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response
La respuesta recibida es de tipo texto, por lo cual tendrá que convertirla a JSON para poder visualizar los datos correctamente.
Respuesta exitosa
1
Respuesta de error
0
Hacer Llamada
En algunas ocasiones, es necesario que un agente genere una llamada a un número de teléfono desde otra aplicación, como podría ser un CRM. Se puede utilizar esta API, y la llamada será enviada al agente.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Agents/AgentCall |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| callerid | Número | Si | DID asignado a la campaña por la cual se realizará la llamada. |
| agent | Texto | Si | Agente que tomará la llamada. |
|
phone
|
Número | Si | Número de teléfono del agente. |
| tech | Texto | Si | Protocolo de comunicación, agregar SIP. |
| context | Texto | Si | Nombre del contexto para flujos por el cual saldrá la llamada. Puede ser "agentes" o "agents" |
| outqueue | Texto | Si | Nombre de la campaña manual. |
| destination | Número | Si | Nombre de la campaña por la cual se generará la llamada. |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Agents/AgentCall HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
Content-Type: application/x-www-form-urlencoded
Content-Length: 116
callerid={{callerid}}agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}
cURL
curl --location 'https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall' \
--header 'Authorization: Basic {{Token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'callerid={{callerid}}' \
--data-urlencode 'agent={{agent}}' \
--data-urlencode 'phone={{phone}}' \
--data-urlencode 'tech=SIP' \
--data-urlencode 'context={{context}}' \
--data-urlencode 'outqueue={{outqueue}}' \
--data-urlencode 'destination={{destination}}'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("callerid", "{{callerid}}");
urlencoded.append("agent", "{{agent}}");
urlencoded.append("phone", "{{phone}}");
urlencoded.append("tech", "SIP");
urlencoded.append("context", "{{context}}");
urlencoded.append("outqueue", "{{outqueue}}");
urlencoded.append("destination", "{{destination}}");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}",
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"callerid": "{{callerid}}",
"agent": "{{agent}}",
"phone": "{{phone}}",
"tech": "SIP",
"context": "{{context}}",
"outqueue": "{{outqueue}}",
"destination": "{{destination}}"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("callerid", "{{callerid}}"));
collection.Add(new("agent", "{{agent}}"));
collection.Add(new("phone", "{{phone}}"));
collection.Add(new("tech", "SIP"));
collection.Add(new("context", "{{context}}"));
collection.Add(new("outqueue", "{{outqueue}}"));
collection.Add(new("destination", "{{destination}}"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "callerid={{callerid}}&agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/Agents/AgentCall")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = 'callerid={{callerid}}&agent={{agent}}&phone={{phone}}&tech=SIP&context={{context}}&outqueue={{outqueue}}&destination={{destination}}'
headers = {
'Authorization': 'Basic {{Token}}',
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/Integra/resources/Agents/AgentCall", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un GUID como identificador de la llamada; con este dato se podrán realizar futuras acciones mediante APIs.
Respuesta exitosa
8cf8570e-60e7-44ed-b799-3baab211b04d
Respuesta de error
0
Obtener Campañas
Para obtener todas las campañas creadas dentro de uContact se puede usar esta API la cual regresa la totalidad de Dialers y Queues.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/queues/getqueues |
Request Header
| Clave | Valor |
| Content-Type | application/x-www-form-urlencoded |
| Authorization | Basic {{Token}} |
Request Body
| Parametro | Tipo |
Requerido | Descripción |
| lastrow | Texto | No | Enviar vacio |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/queues/getqueues HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {{Token}}
Content-Length: 8
lastrow=
cURL
curl --location --globoff 'https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {{Token}}' \
--data-urlencode 'lastrow='
JavaScript
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Authorization", "Basic {{Token}}");
const urlencoded = new URLSearchParams();
urlencoded.append("lastrow", "");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic {{Token}}"
},
"data": {
"lastrow": ""
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues");
request.Headers.Add("Authorization", "Basic {{Token}}");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("lastrow", ""));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "lastrow=");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/queues/getqueues")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = 'lastrow='
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/queues/getqueues", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un JSON correspondiente a un array de objetos, en donde cada objeto corresponde a una campaña.
Respuesta exitosa
[
{
"name": "DEMO007->",
"musiconhold": "default",
"announce": "",
"context": "",
"timeout": 15,
"monitorType": "MixMonitor",
"monitorFormat": "gsm",
"announceFrequency": 0,
"announceRoundSeconds": 0,
"announceHoldtime": "no",
"announcePosition": "no",
"retry": 3,
"wrapuptime": 0,
"maxlen": 100,
"servicelevel": 15,
"strategy": "linear",
"joinempty": "yes",
"leavewhenempty": "no",
"eventmemberstatus": false,
"eventwhencalled": true,
"reportholdtime": false,
"memberdelay": 0,
"weight": 0,
"timeoutrestart": true,
"ringinuse": false,
"setinterfacevar": true,
"periodicAnnounce": "",
"periodicAnnounceFrequency": "0",
"did": "18885751288",
"direction": "outbound",
"interactions": "",
"email": "",
"thresholds": "40-80-20-50-60-180-300-6-3-",
"welcome": "& & & &;& & & &",
"schedule": "sun-sat;00:00-23:59",
"form": "Totality|true",
"quality": "",
"dialstring": "SIP/CLEVERSIP/9898",
"voicemail": "",
"queue_survey": 1,
"queue_timeout": 600,
"auto_answer": "FALSE",
"show_dispositions": 1,
"queue_breaks": "",
"screen_recording": 0,
"language": "en",
"transferCampaigns": ""
}
]
Respuesta de error
0
Obtener Dialers
Para obtener la lista de los dialers de uContact, se necesita usar esta API. Por ejemplo, si queremos crear un desplegable desde otra aplicación para mostrar los dialers y realizar alguna acción específica.
Usted puede verificar la Colección de Postman para ver un ejemplo y probar con su instancia.
Todos los datos que esten encerrados por "{{ }}" son valores que serán reemplazado con los datos del propio cliente y/o la instancia correspondiente.
HTTP Request
| Metodo | Recurso |
| POST | /Integra/resources/Dialers/get |
Request Header
| Clave | Valor |
| Authorization | Basic {{Token}} |
Ejemplos de Código
Puede copiar los siguientes ejemplos de codigo y reemplazar las variables "{{variable}}" con los datos correctos.
HTTP
POST /Integra/resources/Dialers/get HTTP/1.1
Host: {{instance}}.ucontactcloud.com
Authorization: Basic {{Token}}
cURL
curl --location --globoff --request POST 'https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get' \
--header 'Authorization: Basic {{Token}}'
JavaScript
const myHeaders = new Headers();
myHeaders.append("Authorization", "Basic {{Token}}");
const requestOptions = {
method: "POST",
headers: myHeaders,
redirect: "follow"
};
fetch("https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
JQuery
var settings = {
"url": "https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Basic {{Token}}"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get");
request.Headers.Add("Authorization", "Basic {{Token}}");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://{{instance}}.ucontactcloud.com/Integra/resources/Dialers/get")
.method("POST", body)
.addHeader("Authorization", "Basic {{Token}}")
.build();
Response response = client.newCall(request).execute();
Python
import http.client
conn = http.client.HTTPSConnection("{{instance}}.ucontactcloud.com")
payload = ''
headers = {
'Authorization': 'Basic {{Token}}'
}
conn.request("POST", "/Integra/resources/Dialers/get", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HTTP Response
Las respuestas en las que se obtubo error por parte de los datos enviados por lo general serán entregados con codigo HTTP 200 con un "0" en el body de la respuesta, por lo tanto hay que tener cuidado al validar por el HTTP Code Response.
La respuesta exitosa será un texto en formato JSON correspondiente a un array de objetos, en donde cada objeto corresponde a un dialer.
Respuesta exitosa
[
{
"campaign": "DEMO007<-",
"schedule": "mon,tue,wed,thu,fri,sat;08:00-21:00",
"dialertype": "PowerDialer",
"status": 1,
"dialstring": "SIP/CLEVERSIP/9898",
"context": "PowerDialer",
"exten": "${EXTEN}",
"am": 0,
"sound": "",
"maxchannels": 2,
"variables": "FORM=Totality:language=default:initialSilence=1500:greeting=2000:afterGreetingSilence=1000:totalAnalysisTime=2500:minWordLength=100:betweenWordSilence=50:maxNumberOfWords=2:silenceThreshold=256",
"timeout": 30,
"callerid": "18885751288",
"retries": 0,
"callerpres": 20,
"tbc": -5,
"dncr": 1,
"schedulephones": "0=HMW:1=HMW:2=HMW:3=HMW:4=HMW:5=HMW:6=HMW:7=HMW:8=MWH:9=MWH:10=MWH:11=MWH:12=MWH:13=MWH:14=MWH:15=MWH:16=MWH:17=MWH:18=MWH:19=HMW:20=HMW:21=HMW:22=HMW:23=HMW",
"autoanswer": 1,
"tbc_nocontact": 0,
"earlymedia": 0,
"recyclecount": 0,
"recycle": "[]",
"country": "",
"rule": "NONE",
"autoconvertcallerid": 0
}
]
Respuesta de error
0