Integración ITBX versión 1.0
Introducción
Para usar la integración debe solicitar unas credenciales ya que todos los métodos utilizan un token. Ese token se consigue logueándose con las credenciales y se explica en este documento.
1. Crear TOKEN mediante Login
Descripción: Crea nuestro Token de seguridad para API, por medio del servicio de login
Tipo de salida: JSON con parámetros (access_token, token_type, expires_in)
Ruta: https://api.itbx.co/api/v1/login
Método: POST
Parámetros de entrada:
- email => Requerido, String (ejemplo: prueba1@gmail.com)
 - password => Requerido, String (ejemplo: 123)
 
Ejemplo de salida:
{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvbWFuYWdlci5pdGJ4LmNvXC9hcGlJdGJ4XC9pbmRleC5waHBcL2FwaVwvdjFcL2xvZ2luIiwiaWF0IjoxNTk0Mzk5MTE3LCJ",
    "token_type": "bearer",
    "expires_in": 31536000
}
                        
                    2. Borrar TOKEN activo
Descripción: Borra un token previamente activo desde ITBX
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/eliminarToken
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 
Ejemplo de salida:
{
    "error": false,
    "data": "Token revocado"
}
                        
                    3. Envíar de un mensaje SMS hacia uno o varios destinos
Descripción: Envía de un mensaje específico de SMS a un destino o a un lote de varios destinos (lotes de máximo 100 números)
Tipo de salida: JSON array con parámetros para cada teléfono (tel, msg, error, code). Cada teléfono tiene una respuesta: "error" = false si se lleva a cabo correctamente, de lo contrario, se considera error al enviar y "msg" contiene el mensaje del error correspondiente.
Ruta: https://api.itbx.co/api/v1/usuario/enviarSMS
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - numeros => Requerido, String (ejemplo: 3178516770,3158536149,3145645677)
 - mensaje => Requerido, String (ejemplo: Hola mundo)
 
Ejemplo de salida:
[
    {
        "tel": "123456",
        "msg": "Ok",
        "error": false,
        "code": 1
    },
    {
        "tel": "123456",
        "msg": "Ok",
        "error": false,
        "code": 1
    }
]
                        
                    4. Crear campaña masiva SMS de una vía o doble vía
Descripción: Crea una campaña de envío masivo de mensajes SMS a múltiples destinos con mensajes generales o individuales, con opción de mensaje en una vía y doble vía (Ejemplo: La respuesta del destinatario).
Tipo de salida: JSON con id de campaña
Ruta: https://api.itbx.co/api/v1/usuario/newCampaignSMS
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - arrayphones => Requerido, Array asociativo (ejemplo: [{"phone": 1234, "message":"mensaje de prueba 1"}, {"phone": 123456, "message":"mensaje de prueba 2"}])
 - namecampaign => Requerido, String (ejemplo: Campaña de prueba)
 - startdate => Requerido, Fecha (ejemplo: 2020-09-08)
 - starthour => Requerido, Hora formato 24H (ejemplo: 09:00:00)
 - endhour => Requerido, Hora formato 24H (ejemplo: 16:05:00)
 - message => Requerido, String (ejemplo: Mensaje de prueba)
 - callid => Requerido, String (ejemplo: 317676789897)
 - paused => Opcional, Integer (1 para indicar que la campaña se genera en pausa)
 - duplex => Opcional, Integer (1 para indicar que la campaña es duplex)
 
Ejemplo de entrada:
    {"arrayphones": [{"phone": 1234, "message":"mensaje 1"},{"phone": 89789789, "message":"mensaje 2"}],"namecampaign": "Campaña auto 1","startdate": "2020-09-08","starthour": "09:00:00","endhour": "18:10:00","message": "Hola mundo","callid": 315678989899}
                
                Ejemplo de salida sin errores:
{ "error": false, "data": 26 }
                Ejemplo de salida con errores:
{ "error": true, "msg": "Error en el formato de las fechas" }
            5. Editar parámetros de campaña masiva SMS
Descripción: Edita los parámetros e inicia o pausa el envío de una campaña masiva SMS activa
Tipo de salida: JSON con id de campaña
Ruta: https://api.itbx.co/api/v1/usuario/editCampaignSMS
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - idcampaign => Requerido, Integer (ejemplo: 26)
 - startdate => Opcional, Fecha (ejemplo: 2020-09-08)
 - starthour => Opcional, Hora formato 24H (ejemplo: 09:00:00)
 - endhour => Opcional, Hora formato 24H (ejemplo: 16:05:00)
 - callid => Opcional, String (ejemplo: 317676789897)
 - paused => Opcional, Boolean (true o false, para indicar que la campaña se detiene o inicia)
 
Ejemplo de entrada:
{"idcampaign": 26,"startdate": "2020-09-08","starthour": "09:00:00","endhour": "18:10:00","callid": 315678989899,"paused":true}
                
                Ejemplo de salida sin errores:
{ "error": false, "data": 26 }
                Ejemplo de salida con errores:
{ "error": true, "msg": "Error en el formato de las fechas" }
            6. Borrar campaña masiva SMS de una vía o doble vía
Descripción: Borrar una campaña masiva SMS activa
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/usuario/deleteCampaignSMS
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - idcampaign => Requerido, Integer (ejemplo: 26)
 
Ejemplo de salida sin errores:
{ "error": false, "data": "Ok" }
                Ejemplo de salida con errores:
{ "error": true, "msg": "Error: No existe la campaña" }
            7. Agregar registros de contacto a campaña masiva SMS
Descripción: Agrega registros invididuales o por lote, con mensaje general o individuales a una campaña masiva SMS activa.
Tipo de salida: JSON con id de campaña
Ruta: https://api.itbx.co/api/v1/usuario/addCampaignNumbersSMS
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - idcampaign => Requerido, Integer (ejemplo: 26)
 - arrayphones => Requerido, Array asociativo (ejemplo: [{"phone": 1234, "message":"mensaje de prueba 1"}, {"phone": 123456, "message":"mensaje de prueba 2"}])
 
Ejemplo de entrada:
{"arrayphones": [{"phone": 1234,"message":"mensaje 1"},{"phone": 89789789,"message":"mensaje 2"}],"idcampaign": 26}
                
                Ejemplo de salida sin errores:
{ "error": false, "data": 26 }
                Ejemplo de salida con errores:
{ "error": true, "msg": "Error: No existe la campaña" }
            8. Consultar HISTÓRICO detallado de campaña masiva SMS de una vía o doble vía
Descripción: Consulta todos los datos del reporte detallado con resultados de envío de una campaña masiva SMS (por rango de tiempo y con limite de registros)
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/usuario/getHistoricoMensajesSMS
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - startdate => Requerido, Fecha inicial (ejemplo: 2020-07-16 17:13:55)
 - enddate => Requerido, Fecha final (ejemplo: 2020-07-24 16:57:40)
 - offset => Opcional, Integer
 - limit => Opcional, Integer
 
Ejemplo de salida:
{
"total": 2,
"mensajes": [
{
    "mensaje": "Hola mundo",
    "fecha_envio": "2022-06-17 17:33:25",
    "enviado": true,
    "codigo_respuesta": 1,
    "mensaje_respuesta": "Mensaje Enviado",
    "telefono_destino": "57317xxxxx",
    "origen": "web",
    "tipo": "1via",
    "created_at": "2022-06-17 17:33:25",
    "updated_at": "2022-06-17 17:33:25"
},
{
    "mensaje": "Mensaje de prueba",
    "fecha_envio": "2022-06-21 15:54:46",
    "enviado": true,
    "codigo_respuesta": 1,
    "mensaje_respuesta": "Mensaje Enviado",
    "telefono_destino": "57317xxxxx",
    "origen": "campaign",
    "tipo": "1via",
    "created_at": "2022-06-21 15:54:46",
    "updated_at": "2022-06-21 15:54:46"
}
]
}
                
            9. Agregar lista de contactos a campaña AUTOMÁTICA
Descripción: Agrega lista de registros a una campaña automática activa (Predictiva y/o Progresiva).
Tipo de salida: 1 si es correcto o mensaje si hay un error
Ruta: https://api.itbx.co/api/v1/usuario/setCallbackCampaign
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - campaign_name => Requerido, String (ejemplo: Auto 1)
 - numbers => Requerido, Array asociativo
 
Ejemplo de entrada:
{ "numbers": { "John": "123456", "Daniel": "654321" }, "campaign_name": "Auto 1" }
                
            10. Agregar un contacto a campaña AUTOMÁTICA
Descripción: Agrega un registro a una campaña automática activa (Predictiva y/o Progresiva).
Tipo de salida: 1 si es correcto o mensaje si hay un error
Ruta: https://api.itbx.co/api/v1/usuario/setNewContactAutoBatch
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - phone => Requerido, String (ejemplo: 3156745677)
 - campaign_name => Requerido, String (ejemplo: Campaña de prueba)
 - clean => Opcional, String, para borrar (=1) contactos existentes antes de cargar los nuevos(ejemplo: 1)
 - extra_params => Opcional, Array asociativo
 
Ejemplo de entrada:
[
  {
    "phone": "123456",
    "campaign_name": "Auto 3",
    "clean" : "1",
    "extra_params": {
      "Nombre": "Manuel Diaz",
      "empresa": "ITBX",
      "profesion": "Desarrollador"
    }
  },
  {
    "phone": "789012",
    "campaign_name": "Auto 4",
    "clean" : "0",
    "extra_params": {
      "Nombre": "John Wick",
      "empresa": "Continental",
      "profesion": "Retirado"
    }
  }
]
                
            11. Borrar todos los registros de una campaña AUTOMÁTICA
Descripción: Borra los registros disponibles y/o sin gestionar de una campaña automática (Predictiva y/o Progresiva).activa o inactiva,
Tipo de salida: 1 si es correcto o mensaje si hay un error
Ruta: https://api.itbx.co/api/v1/usuario/delContactsAuto
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - campaign_name => Requerido, String (ejemplo: Campaña automática)
 
12. Agregar contactos a campaña AUTOMÁTICA por archivo
Descripción: Agrega registros de contactos a una campaña automática activa (Predictiva y/o Progresiva) desde un archivo plano y/o hoja de calculo
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/usuario/uploadMassiveCampaign
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - campaign_name => Requerido Cuando se declara unique_campaign = 1, String (ejemplo: Auto 12)
 - unique_campaign => Opcional cuando el archivo es de una sola campaña y la misma no esta en la primer columna dentro del archivo, String (ejemplo: 1)
 - file => Requerido, Archivo de excel (ods, xls, xlsx, csv) con el formato correcto (descargar aquí)
 - cleaning_campaign => Opcional para borrar (=1) contactos existentes en campañas antes de cargar los nuevos, String (ejemplo: 1)
 
Ejemplo de salida sin errores:
{ "error": false, "msg": "Ok" }
                Ejemplo de salida con errores:
{ "error": true, "msg": "Error: No existe la campaña" }
            13. Consultar HISTÓRICO detallado del tráfico telefónico general
Descripción: Consulta todos los datos del reporte detallado o CDR del tráfico telefónico general (entrante y saliente), (por rango de tiempo y con limite de registros)
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/usuario/listCDR
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - startdate => Requerido, Fecha inicial (ejemplo: 2020-07-16 17:13:55)
 - enddate => Requerido, Fecha final (ejemplo: 2020-07-24 16:57:40)
 - offset => Opcional, Integer
 - limit => Opcional, Integer
 
Ejemplo de salida:
{
"totalcdrcount": 14462,
"cdrs": [
{
    "calldate": "2024-07-16T17:18:30-05:00",
    "src": "",
    "dst": "573142192812",
    "channel": "",
    "dstchannel": "SMS",
    "disposition": "ANSWERED",
    "uniqueid": "",
    "duration": 0,
    "billsec": 0,
    "accountcode": ""
}
]
}
                
            14. Consultar HISTÓRICO detallado del tráfico telefónico entrante en colas inteligentes
Descripción: Consulta todos los datos del reporte detallado del tráfico telefónico entrante en colas inteligentes (por rango de tiempo)
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/queueLog
Método: GET
Parámetros de entrada:
- token => Requerido, String
 - startdate => Requerido, Fecha (ejemplo: 2020-07-16 17:13:55)
 - enddate => Requerido, Fecha (ejemplo: 2020-07-16 20:00:10)
 - queue => Opcional, Integer (ejemplo: 502)
 - event => Opcional, String ("COMPLETECALLER" o "EXITWITHTIMEOUT" o "ABANDON")
 - src => Opcional, String (ejemplo: 7777777)
 - agent => Opcional, String (ejemplo: Usuario 01)
 - nit => Opcional, String (ejemplo: 11106)
 - minWaittime => Opcional, Integer (ejemplo: 4)
 - minDuration => Opcional, Integer (ejemplo: 4)
 - minAbandon => Opcional, Integer (ejemplo: 4)
 
15. Crear campaña masiva de Whatsapp con mensajes HSM
Descripción: Crea una campaña de envío masivo de mensajes HSM de Whatsapp a múltiples destinos por medio de un (template) aprobado previamente en ITBX, (Previa aprobación Meta). Solo desde cuentas de Whatsapp oficiales.
Tipo de salida: JSON array con parámetros para cada teléfono (tel, msg, error, code). Cada teléfono tiene una respuesta: "error" = false si se lleva a cabo correctamente, de lo contrario, se considera error al enviar y "msg" contiene el mensaje del error correspondiente.
Ruta: https://api.itbx.co/api/v1/usuario/sendCampaignWA
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - telefonos => Requerido, String (ejemplo: 3178516770,3158536149,3145645677)
 - id_template => Requerido, Integer (ID de la plantilla a enviar)
 - usuario_proveedor => Requerido, String (Un nombre de usuario proporcionado por ITBX para la empresa)
 - token_proveedor => Requerido, String (Un token proporcionado por ITBX para la empresa)
 - template_variables => Requerido, String (Cadena con variables de la plantilla en orden de la forma:[variable1][variable2][variable3])
 - media => Requerido, String (Un enlace url. Ejemplo: https://contacto-virtual.com/multiagente/public/storage/whatsapptemplate/197_567_2023-11-297a543ddf02418e2ec5c04c125cdf3f43.png)
 
Ejemplo de salida:
[
{
"telefono": "123456",
"mensaje": "¿Aún necesitas ayuda?",
"codigo_respuesta": 1,
"mensaje_respuesta": "mensaje enviado",
"enviado": true
},
{
"telefono": "123456",
"mensaje": "Hola",
"codigo_respuesta": 1050,
"mensaje_respuesta": "El mensaje no coincide con la plantilla establecida",
"enviado": false
}
]
                
            16. Consultar HISTÓRICO detallado de campaña masiva de Whatsapp con mensajes HSM
Descripción: Consulta todos los datos del reporte detallado con resultados de envío de una campaña masiva de Whatsapp con mensajes HSM (por rango de tiempo y con limite de registros)
Tipo de salida: JSON
Ruta: https://api.itbx.co/api/v1/usuario/getHistoricoMensajesWA
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - startdate => Requerido, Fecha inicial (ejemplo: 2020-07-16 17:13:55)
 - enddate => Requerido, Fecha final (ejemplo: 2020-07-24 16:57:40)
 - offset => Opcional, Integer
 - limit => Opcional, Integer
 
Ejemplo de salida:
{
"total": 2,
"mensajes": [
{
    "mensaje": "¿Aún necesitas ayuda?",
    "fecha_envio": "2022-05-02 18:21:54",
    "enviado": true,
    "codigo_respuesta": 4,
    "mensaje_respuesta": "error en el número de celular a enviar",
    "message_id_proveedor": null,
    "telefono_destino": "5731XXXXX"
},
{
    "mensaje": "Bienvenido",
    "fecha_envio": "2022-05-02 18:35:07",
    "enviado": true,
    "codigo_respuesta": 1,
    "mensaje_respuesta": "mensaje enviado",
    "message_id_proveedor": "743d402f-481d-42ca-82ca-e21aedfc860c",
    "telefono_destino": "573XXXXX"
}
]
}
                
            17. Agregar contactos a campaña PREVIEW
Descripción: Agrega los datos de un nuevo contacto o registro a una campaña (Preview) activa.
Tipo de salida: 1 si es correcto o mensaje si hay un error
Ruta: https://api.itbx.co/api/v1/usuario/setNewContactPreview
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - phone => Requerido, String (ejemplo: 123456)
 - name => Requerido, String (ejemplo: John Doe)
 - id_campaign => Opcional, Integer (ejemplo: 1)
 - phone_office => Opcional, String (ejemplo: 123456)
 - cellphone => Opcional, String (ejemplo: 123456)
 - description => Opcional, String (ejemplo: Prueba de nuevo contacto)
 - schedule => Opcional, String
 - phone_list => Opcional, Array Asociativo
 - params => Opcional, Array Asociativo
 - id_subject => Opcional, Integer (ejemplo: 100)
 - id_relative => Opcional, Integer (ejemplo: 100)
 - campaign_name => Opcional, String (ejemplo: Campaña de prueba)
 
Ejemplo de entrada:
{ "phone":"123456", "name":"John Doe", "id_campaign":"", "phone_office":"123456", "cellphone":"", "description":"prueba", "schedule":"", "phone_list": { "Casa": 123456, "Empresa": 987456 }, "params": { "frecuencia" : "semanal", "dia": "lunes" }, "id_subject":"", "id_relative":"", "campaign_name":"Auto 3" }
                
            18. Consultar los contactos de una campaña PREVIEW
Descripción: Consulta y trae todos los datos de los registros de una campaña (Preview) activa o inactiva
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getPreviewData
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - limit => Opcional, Integer (ejemplo: 10)
 
19. Borrar todos los registros de las campañas PREVIEW
Descripción: Borra los registros disponibles y/o sin gestionar de todas las campañas (Preview) activas o inactivas, (por rango de tiempo)
Tipo de salida: String (número de registros eliminados)
Ruta: https://api.itbx.co/api/v1/usuario/delPreviewRegs
Método: POST
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - date1 => Requerido, Fecha (ejemplo: 2020-01-01 10:00:05)
 - date2 => Requerido, Fecha (ejemplo: 2020-01-01 10:00:05)
 
Ejemplo de salida:
Deleted regs: 2
                
            20. Consultar histórico de gestión de registros en una campaña PREVIEW
Descripción: Consulta reporte detallado de la gestión de registros en una campaña (Preview) activa o inactiva. (por rango de tiempo)
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getHistoryReport
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - date1 => Requerido, Fecha (ejemplo: 2020-01-01 10:00:05)
 - date2 => Requerido, Fecha (ejemplo: 2020-01-01 10:00:05)
 - campaign_name => Opcional, String
 - id_subject => Opcional, Integer
 - name => Opcional, String
 - phone_last_dialed => Opcional, String
 - agent_number => Opcional, String
 - agent_name => Opcional, String
 - status => Opcional, String
 - uniqueid => Opcional, Integer
 
21. Resumen de campañas salientes automáticas CALLCENTER
Descripción: Reporte de campañas salientes (Automáticas). Campañas gestionadas de manera predictiva, progresiva o preview. Desde módulos de Call center
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getCampaignData
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - fecha_inicio => Requerido, Fecha (ejemplo: 2020-01-01)
 - fecha_fin => Requerido, Fecha (ejemplo: 2020-01-01)
 
Descripcion campos respuesta:
- status => Estado final de registros en una campaña específica. [Posibles estados finales: Exitosa (Contestada), LlamadaCorta, Timbrando, EnProceso, EnCola, NoContestada, Fallida, Abandonada, SinGestión]
 - campaign => Nombre de campaña específica
 - agent_name => Nombre del agente que interviene en la gestión de registros de una campaña específica
 - total_duration => Duración total de la gestión de los registros según su estado final. (Valor en segundos)
 - total_calls => Cantidad total de llamadas según su estado final. Sumatoria total
 - tmo => Promedio TMO entre duración y cantidad de llamadas según su estado final. (Valor en segundos)
 - total_transfer => Total de llamadas transferidas
 - transfer_survey => Total de llamadas transferidas a módulo de encuestas
 - transfer_other => Total de llamadas transferidas a otros destinos
 - agent_hangup => Total de llamadas contestadas por un agente y finalizadas por el mismo desde la consola
 
Ejemplo de salida:
{
    "error": false,
    "registros": 2,
    "id_itbx": XXX,
    "data": [
        {
            "status": "Fallida",
            "campaign": "Prueba1_16_05_25",
            "agent_name": "",
            "total_duration": "0",
            "total_calls": "1",
            "tmo": "0",
            "total_transfer": "0",
            "transfer_survey": "0",
            "transfer_other": "0",
            "agent_hangup": "0"
        },
        {
            "status": "Contestada",
            "campaign": "CALLBACK506",
            "agent_name": "8645",
            "total_duration": "58",
            "total_calls": "1",
            "tmo": "58",
            "total_transfer": "0",
            "transfer_survey": "0",
            "transfer_other": "0",
            "agent_hangup": "0"
        },
    ]
}
                
            22. Resumen de campañas salientes Gestor Virtual Omnicanal (GVO)
Descripción: Reporte de campañas salientes automáticas por medio del Gestor Virtual Omnicanal (GVO) - Call Blasting + Call Deflection
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getCampaignGVOData
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - fecha_inicio => Requerido, Fecha (ejemplo: 2020-01-01)
 - fecha_fin => Requerido, Fecha (ejemplo: 2020-01-01)
 
Descripcion campos respuesta:
- status => Estado final de registros en una campaña específica de (GVO). [Posibles estados finales: Contestada+Final, Contestada+Cola, Contestada+IVR, Contestada+Extensión. Contestada+Omnicanal, LlamadaCorta, EnMensaje, NoContestada, Fallida, Abandonada, SinGestión]
 - campaign => Nombre de campaña específica de (GVO)
 - to_extension => Registro finalizado en la entrega de llamada a una extensión específica, Registro de una campaña GVO específica
 - to_sms => Confirmación de un registro finalizado en el envío de un SMS a un destiino específico, Registro de una campaña GVO específica
 - to_wa => Confirmación de un registro finalizado en el envío de un HSM a un destiino específico, Registro de una campaña GVO específica
 - to_callback => Confirmación de un registro finalizado en el agendamiento a una campaña de Callback, Registro de una campaña GVO específica
 - to_option1 => Confirmación de un registro finalizado en la captura de intención de la opción1 por marcación de DTMF. Registro de una campaña GVO específica
 - to_option2 => Confirmación de un registro finalizado en la captura de intención de la opción2 por marcación de DTMF. Registro de una campaña GVO específica
 - to_option3 => Confirmación de un registro finalizado en la captura de intención de la opción3 por marcación de DTMF. Registro de una campaña GVO específica
 - to_option4 => Confirmación de un registro finalizado en la captura de intención de la opción4 por marcación de DTMF. Registro de una campaña GVO específica
 - to_option5 => Confirmación de un registro finalizado en la captura de intención de la opción5 por marcación de DTMF. Registro de una campaña GVO específica
 - total_calls => Cantidad total de llamadas según su estado final. Sumatoria total
 - tmo => Promedio TMO entre duración (Llamadas contestadas) y cantidad de llamadas según su estado final. (Valor en segundos)
 
Ejemplo de salida:
{
    "error": false,
    "registros": 2,
    "id_itbx": XXX,
    "data": [
        {
            "status": "LlamadaCorta",
            "campaign": "PBI",
            "to_extension": "8645",
            "to_sms": "",
            "to_wa": "",
            "to_callback": "",
            "to_option1": "",
            "to_option2": "",
            "to_option3": "",
            "to_option4": "",
            "to_option5": "",
            "total_calls": "1",
            "tmo": "5"
        },
        {
            "status": "Contestada+Omnicanal",
            "campaign": "PBI",
            "to_extension": "",
            "to_sms": "",
            "to_wa": "",
            "to_callback": "",
            "to_option1": "",
            "to_option2": "",
            "to_option3": "Confirmar",
            "to_option4": "",
            "to_option5": "",
            "total_calls": "1",
            "tmo": "0"
        }
    ]
}
                
            23. Resumen de campañas entrantes CALLCENTER
Descripción: Reporte de Campañas entrantes. Desde módulos de Call center
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getCampaignInboundCCData
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - fecha_inicio => Requerido, Fecha (ejemplo: 2020-01-01)
 - fecha_fin => Requerido, Fecha (ejemplo: 2020-01-01)
 
Descripcion campos respuesta:
- status => Estado final de registros en una campaña específica entrante. [Posibles estados finales: Contestada, Abandonada]
 - agent_name => Nombre del agente que interviene en la gestión de registros de una campaña específica entrante
 - queue_name => Número de la Cola de atención que recibe el registro y está relacionada a una campaña específica entrante
 - agent_hangup => Total de llamadas contestadas por un agente y finalizadas por el mismo desde la consola
 - total_calls => Cantidad total de llamadas según su estado final. Sumatoria total
 - tmo_answer_calls => Promedio TMO de llamadas en estado (Contestada) entre duración y cantidad de llamadas. (Valor en segundos)
 - average_wait_calls => Promedio de tiempo de espera en la gestión de los registros antes de ser (Contestada o Abandonada). (Valor en segundos)
 - total_transfer => Total de llamadas transferidas
 - total_transfer_survey => Total de llamadas transferidas a módulo de encuestas
 - total_transfer_wa_fail => Total de llamadas transferidas por Espera Omnicanal a Whatsapp por medio de un HSM (Envío fallido)
 - total_transfer_wa_success => Total de llamadas transferidas por Espera Omnicanal a Whatsapp por medio de un HSM (Envío exitoso)
 - total_transfer_sms_fail => Total de llamadas transferidas por Espera Omnicanal a un SMS (Envío fallido)
 - total_transfer_sms_success => Total de llamadas transferidas por Espera Omnicanal a un SMS (Envío exitoso)
 - total_transfer_callback_fail => Total de llamadas transferidas por Espera Omnicanal a un agendamiento de Callback (Agendamiento Fallido)
 - total_transfer_callback_success => Total de llamadas transferidas por Espera Omnicanal a un agendamiento de Callback (Agendamiento exitoso)
 - total_transfer_others => Total de llamadas transferidas a otros destinos
 
Ejemplo de salida:
{
    "error": false,
    "registros": 2,
    "id_itbx": XXX,
    "data": [
        {
            "status": "Abandonada",
            "agent_name": "",
            "queue_name": "501",
            "agent_hangup": "6",
            "total_calls": "413",
            "tmo_answer_calls": "0",
            "average_wait_calls": "45",
            "total_transfer": "0",
            "total_transfer_survey": "0",
            "total_transfer_wa_fail": "0",
            "total_transfer_wa_success": "0",
            "total_transfer_sms_fail": "0",
            "total_transfer_sms_success": "0",
            "total_transfer_callback_fail": "0",
            "total_transfer_callback_success": "0",
            "total_transfer_others": "0"
        },
        {
            "status": "Abandonada",
            "agent_name": "",
            "queue_name": "502",
            "agent_hangup": "0",
            "total_calls": "432",
            "tmo_answer_calls": "0",
            "average_wait_calls": "52",
            "total_transfer": "0",
            "total_transfer_survey": "0",
            "total_transfer_wa_fail": "0",
            "total_transfer_wa_success": "0",
            "total_transfer_sms_fail": "0",
            "total_transfer_sms_success": "0",
            "total_transfer_callback_fail": "0",
            "total_transfer_callback_success": "0",
            "total_transfer_others": "0"
        }
    ]
}
            
            24. Resumen de atencion por Cola Inteligente desde PBX
Descripción: Reporte de nivel de atención por Cola inteligente, atendidas por extensiones. Desde módulos de PBX
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getAtentionQueueData
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - fecha_inicio => Requerido, Fecha (ejemplo: 2020-01-01)
 - fecha_fin => Requerido, Fecha (ejemplo: 2020-01-01)
 
Descripcion campos respuesta:
- status => Estado final de registros en una Cola de atención. [Posibles estados finales: Contestada, Abandonada, Desbordada, EsperaInteligente, Transferida]
 - queue_name => Número de la Cola de atención específica que recibe el registro
 - destination => Nombre del usuario (extensión y/o agente) que interviene en la gestión de registros de una Cola de atención específica, según su estado final.
 - average_wait_before_answer => Promedio de tiempo de espera en la gestión de los registros antes de ser (Contestada). (Valor en segundos)
 - tmo_answer_calls => Promedio TMO de llamadas en estado (Contestada). (Valor en segundos)
 - average_wait_before_exit => Promedio de tiempo de espera en la gestión de los registros antes de ser (Abandonada o Desbordada). (Valor en segundos)
 - tmo_answer_before_transfer => Promedio TMO de llamadas en estado (Transferida). (Valor en segundos)
 - total_calls => Cantidad total de llamadas según su estado final. Sumatoria total
 - total_transfer => Total de llamadas transferidas
 - total_transfer_survey => Total de llamadas transferidas a módulo de encuestas
 - total_transfer_wa_fail => Total de llamadas transferidas por Espera Omnicanal a Whatsapp por medio de un HSM (Envío fallido)
 - total_transfer_wa_success => Total de llamadas transferidas por Espera Omnicanal a Whatsapp por medio de un HSM (Envío exitoso)
 - total_transfer_sms_fail => Total de llamadas transferidas por Espera Omnicanal a un SMS (Envío fallido)
 - total_transfer_sms_success => Total de llamadas transferidas por Espera Omnicanal a un SMS (Envío exitoso)
 - total_transfer_queue_fail => Total de llamadas transferidas por Espera Omnicanal a un agendamiento de Callback (Agendamiento Fallido)
 - total_transfer_queue_success => Total de llamadas transferidas por Espera Omnicanal a un agendamiento de Callback (Agendamiento exitoso)
 - total_transfer_others => Total de llamadas transferidas a otros destinos
 
Ejemplo de salida:
{
    "error": false,
    "registros": 2,
    "id_itbx": XXX,
    "data": [
        {
            "status": "Desbordada",
            "queue_name": "201",
            "destination": "NONE",
            "average_time_wait_before_answer": "0",
            "tmo_answer_calls": "0",
            "average_wait_before_exit": "0",
            "tmo_answer_before_transfer": "0",
            "total_calls": "1",
            "total_transfer": "0",
            "total_transfer_survey": "0",
            "total_transfer_wa_fail": "0",
            "total_transfer_wa_success": "0",
            "total_transfer_sms_fail": "0",
            "total_transfer_sms_success": "0",
            "total_transfer_queue_fail": "0",
            "total_transfer_queue_success": "0",
            "total_transfer_others": "0"
        },
        {
            "status": "Contestada",
            "queue_name": "501",
            "destination": "Agent/1001",
            "average_time_wait_before_answer": "7",
            "tmo_answer_calls": "36",
            "average_wait_before_exit": "0",
            "tmo_answer_before_transfer": "0",
            "total_calls": "79",
            "total_transfer": "0",
            "total_transfer_survey": "0",
            "total_transfer_wa_fail": "0",
            "total_transfer_wa_success": "0",
            "total_transfer_sms_fail": "0",
            "total_transfer_sms_success": "0",
            "total_transfer_queue_fail": "0",
            "total_transfer_queue_success": "0",
            "total_transfer_others": "0"
        },
    ]
}
        
    25. Resumen de trafico saliente por extensiones
Descripción:Reporte de tráfico saliente de llamadas por extensión a destinos externos
Tipo de salida: Array asociativo
Ruta: https://api.itbx.co/api/v1/usuario/getOutgoingtraficPBX
Método: GET
Parámetros de entrada:
- token => Requerido, String (ir a API Login)
 - fecha_inicio => Requerido, Fecha (ejemplo: 2020-01-01)
 - fecha_fin => Requerido, Fecha (ejemplo: 2020-01-01)
 
Descripcion campos respuesta:
- status => Estado final de las llamada a destinos externo. [Posibles estados finales: Contestada, NoContestada, Ocupado, Fallido]
 - source => Número de la extension que realizó la llamada saliente a destino externo.
 - trunk => Nombre de la troncal por la que se realizó la llamada saliente a destino externo.
 - total_calls => Cantidad total de llamadas según su estado final. Sumatoria total
 - tmo_calls => Promedio TMO entre duración y cantidad de llamadas según su estado final. (Valor en segundos)
 
Ejemplo de salida:
{
    "error": false,
    "registros": 2,
    "id_itbx": XXX,
    "data": [
        {
            "status": "Contestada",
            "source": "1001",
            "trunk": "ITBX",
            "total_calls": "332",
            "tmo_calls": "77"
        },
        {
            "status": "Ocupado",
            "source": "1001",
            "trunk": "ITBX",
            "total_calls": "5",
            "tmo_calls": "0"
        }
    ]
}
    
            
        26. Agregar un contacto a campaña AUTOMÁTICA Gestor Virtual Omnicanal (GVO)
Descripción: Agrega un registro a una campaña automática al Gestor Virtual Omnicanal
Tipo de salida: 1 si es correcto o mensaje si hay un error
Ruta: https://api.itbx.co/api/v1/usuario/setNewContactAutoGvoBatch
Método: POST
Parámetros de entrada: Objeto JSON con los siguientes parámetros:
- token => Requerido, String (ir a API Login)
 - campaign_name => Requerido, String (ejemplo: Auto 1)
 - phone => Requerido, String (ejemplo: 123456)
 - destEXT => Opcional, String (ejemplo: 9012)
 - msgSMS => Opcional, String (ejemplo: Prueba de mensaje SMS)
 - campaignCB => Opcional, String (ejemplo: 510)
 - nombreContacto => Opcional, String (ejemplo: Pedro Suarez)
 - templateHSM => Opcional, String (ejemplo: 6789)
 - data1HSM => Opcional, String (ejemplo: Carlos Cuartas)
 - data2HSM => Opcional, String (ejemplo: Oftalmología)
 - data3HSM => Opcional, String (ejemplo: Julio 18 2023 5:30pm)
 - dateOP1 => Opcional, String (ejemplo: Asistiré)
 - dateOP2 => Opcional, String (ejemplo: No asistiré)
 - dateOP3 => Opcional, String (ejemplo: No interesado)
 - dateOP4 => Opcional, String (ejemplo: Ya lo recibí)
 - dateOP5 => Opcional, String (ejemplo: Mas información)
 - extra_params => Opcional, Array asociativo
 
Ejemplo de entrada:
[
    {
        "phone": "3197579554",
        "campaign_name" : "Desarrollo2",
        "destEXT": "8645",
        "msgSMS": "Prueba ITBX",
        "campaignCB": "CALLBACK503",
        "nombreContacto": "Carlos Perez",
        "templateHSM": "3556",
        "data1HSM": "JohnWA1",
        "dataOP1": "Ya pago",
        "dataOP2": "No volver a llamar",
        "dataOP3": "Estoy interesado",
        "dataOP4": "Finalizo llamada",
        "dataOP5": "opcion5-4",
        "extra_params": {
            "Dia": "17",
            "Mes": "1",
            "Hora": "14",
            "Saldo": "50000"
        }
    },
    {
        "phone": "3001122334",
        "campaign_name" : "Desarrollo2",
        "destEXT": "9911",
        "msgSMS": "Seguimiento de oferta",
        "campaignCB": "CALLBACK504",
        "nombreContacto": "Laura Sanchez",
        "templateHSM": "3557",
        "data1HSM": "LauraWA2",
        "dataOP1": "Quiere más informacion",
        "dataOP2": "No contesta",
        "dataOP3": "Requiere asesor",
        "dataOP4": "Agenda cita",
        "dataOP5": "opcion5-2",
        "extra_params": {
            "Dia": "18",
            "Mes": "1",
            "Hora": "10",
            "Saldo": "0"
        }
    }
    ]