Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Here, we can find all the information relevant to the telephony actions that can be performed through our API.

Info

Remember that to use the API, you need:

  1. Authenticate and get a token for the session

  2. Use the token in the Header Authorization

  3. End session

See more here…here


Content

Table of Contents
type
maxLevel
flat
1

Image RemovedImage Added


Calls

With the calls we can find the following available actions

Expandtitle

Click here to expand

Make

Call

call

Code Block
Relative URL: Integra/resources/Agents/AgentCall
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: callerid (From number that the call will go out with)
        agent    (Name of the Agent that generates the call)
        phone    (Phone of the Agent that generates the call)
        tech     (Usually SIP)
        context  (Context of the Agent configured in uContact)
        outqueue (Name of the Outbound Campaign to compute the call)
        destination (Destination number)
Result: TEXT  (Guid of the generated call)
              0 if Error

This is a two step call will call the agent and when answer (or auto answer), 
the final call it is generated.

via Proxy

Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
 
   function Call () {
       var windowProxy;
       windowProxy.addEventListener(onResponse);
       windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
       windowProxy.post({'action': 'call', 'campaign' : '<CAMPAIGN>', 'callerid' : '<CALLERID>', 'destination' : '<NUMBER>'});
   }
 
  function onResponse(messageEvent) {
        response = messageEvent.data.guid; //returns uniqueid of the call
  
    }
</script>

expand

titleClick here to expand

Make call by phone

Info

This function allows you to make a call directly using the portal's phone. The only way to use it is via proxy, because the communication is with the uContact portal.

Click here to expand
Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script>
        function call(){
 
            var windowProxy;
             
            windowProxy = new Porthole.WindowProxy(window.location.protocol + '//' + window.location.hostname);
            windowProxy.addEventListener(onResponse);
            windowProxy.post({
                action: 'callWithPhone',
                destination: '091000000',
                campaign: 'Sale->'
            });
        }
 
    
  
        function onResponse(messageEvent) {
            var response = messageEvent.data.guid;
            alert(response);
        }
</script>
Expand
title

HungUp Call

Code Block
Relative URL: Integra/resources/Agents/HungupPhone
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: phone    (Phone of the Agent that generates the call)

Result: 	  1  Success on hung up
              0 if Error

via Proxy

Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
//for example on click when you want to hangup
   function Hangup () {
       var windowProxy;
       windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
       windowProxy.post({'action': 'hangup'});
   }
 
</script>

ExpandtitleClick here to expand

Disposition Call

Info

Disposition of the call using dialer actions and taging

  • RESPOOL

  • RESPOOLALTERNATIVE

  • BLACKLIST

  • SCHEDULE

Dispositions must be configured in uContact.

Code Block
Relative URL: Integra/resources/api/DispositionCall
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:     campaign      (campaign name)
            agent         (agent name)
            callerid      (customer phone number)
            guid          (call id)
            l1            (level 1 disposition)
            l2            (level 2 disposition)
            l3            (level 3 disposition)
            d1            (extra data)
            d2            (extra data)
            comment       (comment)
            schedule      (if action RESCHEDULE will schedule a call in the future for that number)
Result: 1
Expand
titleClick here to expand External Workflow call
            camptoreschedule (optional - dialer to reschedule the call)
            tag            ( text for tag or empty by default l1|l2|l3 )

Result:  1

External Workflow call

Info

Allows to call a web service that injects information into a voice dialplan allowing multiple actions by workflows.

expand
Code Block
Relative URL: Integra/resources/admin/CallWorkflow
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:    context       (incoming context of the flow)
           extension     (incoming extension of the flow) 
           jsonparams    (JSON Object)
Result:  OK

Blacklist

titleClick here to expand Add to DNCR (blacklist)
Info

Add number to Do not call Registry (black list) by campaign or use * on campaign for all

Code Block
Relative URL: Integra/resources/admin/addblack
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:     black (JSON Object)
Result:  1

Json object

Code Block
{"phone": "phone number", "campaign":"Campaign or *", "username": "user",  "company": "Customer data", "job_title": "Customer data","name": "Name"}

Image Removed

Recordings

Here you will find how to use recordings with the API

Expand Expand Expand
titleClick here to expand Tag Record
Image Removed

Dialers

Here we see some actions that we use only for voice markers.

Expand

titleClick here to expand CTI
Image Removed

This JSON object is found on LocalStorage and encrypted, this has the information of the Answered Call and if is From a Dialer all the information of the Next alternative phone to Respool.

Dialer: Campaign, Main number, status(always 1), data (params and values for the workflow), alternatives (with :), retries (for this main number), contact (id), dialebase, priority, agentphone

Convert this datas to the Objet Respool shown below.

What can we do with Objet Respool?:

  • Change main number and alternatives and reorder them

  • Change retries for the main number (example if we use an alternative number as main then we set retries to 0)

  • Change priorities

  • Add data or change them for the workflow

  • agentphone, if progressive we can assign it to other agent

  • DON'T CHANGE: campaign, status, contact, dialerbase: Can alter the dialer beheavior.

via Proxy

Code Block
windowProxy = new Porthole.WindowProxy('<URL PARENT>');
windowProxy.addEventListener(onMessage);
windowProxy.post({'action': 'CTI'});
 
 
function onMessage(messageEvent) {
  CTI = messageEvent.data.CTI;
 
}

Expand
titleClick here to expand Respool Call

Code Block
Relative URL: Integra/resources/Dialers/Respool
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  callspool   (JSON Object)
Result:  1

Json object

Code Block{ "campaign": "Ventas->", //Name of the campaign "destination": "098344484", //Destination number "dialerbase": "basetest", //Name of the dialer List "status": 1, Blacklist Object

Code Block
{
  "phone": "12341234",
  "campaign": "Campaign",
  "username": "username",
  "company": "Company name",
  "job_title": "Developer",
  "name": "Name"
  "expire_date": "2025-01-01",
  "direction": "I/O",
}

Info
  • This API lets you add and delete blacklist registries

  • * could be used to indicate all campaigns are selected

  • The only mandatory fields are phone and campaign.

Add a number to the Blacklist

Code Block
Relative URL: Integra/resources/admin/addblack
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  blacklist object (JSON Object)
Result:  1

Add multiple numbers to the Blacklist

Code Block
Relative URL: Integra/resources/admin/addblackbulk
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  array de blacklist (JSON Array)
Result:  1

Remove number from the Blacklist

Code Block
Relative URL: Integra/resources/admin/deleteblack
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  objeto blacklist (JSON Object)
Result:  1

Remove multiple numbers from the Blacklist

Code Block
Relative URL: Integra/resources/admin/deleteblackbulk
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  array de blacklist (JSON Array)
Result:  1


Image Added


Recordings

Here you will find how to use recordings with the API.

Get Recordings

Code Block
Relative URL: Integra/resources/Cdr/getrecords
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: lastrow  (Last number of records for pagination, example 0 (will get you 50 recordings from 0-50), 50 (will get from 51-100)) if search limit is 50
		searchLimit records count
        filter  (Json of the filter object) 
        Random: 1 (Always 1)
Result: JSON

Json Object

Code Block
{
"calldatei": "2015-12-03 00:00:00",          //Initial date
"calldatef": "2016-02-24 23:59:59",          //Final date
"agent": "",                                 //Agent
"campaign": "",                              //Campaign
"source": "",                                //Source
"destination": "",                           //Destination
"data": "",                                  //Data of the call Tag
"range": "",                                 //Hour range
"rating": "",                                //Qualification
"mindur": "",                                //Min duration
"exclude": "",                               //Exclude number
"type": "record"                             //Type of record alway the same
,"cont": ""                                  //How many times at least we have this number in the range
}


The recording could be in 4 different places:

Code Block
https://TelephonyIP/records/guid.mp3
https://TelephonyIP/records/guid.mp3
https://BackupRecords/records/20160118/guid.mp3
https://BackupRecords/records/guid.mp3

 
Guid (Unique identifier found in JSON) 
Example: 7e4e7db9-f080-494e-b04b-7c8e47711558

Note

The folders are the date of the recording that is on the JSON string (calldate) without hypens or time.

This is done because if you are storing many million files the Operating System won't be able to manage them ok, that is why we store the recording per day in folders.

Warning

If you don't find the recording on any of these places the recording could be in GSM format, you can do 2 things here:

  1. If your application is capable to reproduce GSM format, then just replace mp3 with GSM and try to find them on the same 4 places.

  2. You can Convert the GSM to MP3 with a WebService.

Convert Recordings

Code Block
Relative URL: Integra/resources/Supervisor/convert
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: guid (Unique identifier of the recording)  
        folder (Example:20160118) This is the date of the recording in case the recording is found there.
Result: 1 for complete.
Info

Then you will try again to find the MP3 file (you can reproduce the URL with HTML5 or any capable audio player).

Code Block
https://TelephonyIP/records/guid.mp3
https://TelephonyIP/records/guid.mp3
https://BackupRecords/records/20160118/guid.mp3
https://BackupRecords/records/guid.mp3
 
  
Guid (Unique identifier found in JSON) 
Example: 7e4e7db9-f080-494e-b04b-7c8e47711558

Tag Record

Code Block
Relative URL: Integra/resources/Agents/TagRecord
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params: phone   (Destination phone) 
        guid    (Record unique identifier)
        data    (Text to tag)
Result: Empty, is an Async Request

Via Proxy

Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
//for example on click when you want to close a tab
   function CloseTab () {
       var windowProxy;
       windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
       windowProxy.post({'action': 'tag', 'guid' : '<GUID>', 'message' : '<MESSAGE>'});
   }
 
</script>

Image Added


Dialers

Here we see some actions that we use only for voice markers.

CTI

Image Added

This JSON object is found on LocalStorage and encrypted, this has the information of the Answered Call and if is From a Dialer all the information of the Next alternative phone to Respool.

Dialer: Campaign, Main number, status(always 1), data (params and values for the workflow), alternatives (with :), retries (for this main number), contact (id), dialebase, priority, agentphone


Convert this datas to the Objet Respool shown below.

What can we do with Objet Respool?:

  • Change main number and alternatives and reorder them

  • Change retries for the main number (example if we use an alternative number as main then we set retries to 0)

  • Change priorities

  • Add data or change them for the workflow

  • agentphone, if progressive we can assign it to other agent

  • DON'T CHANGE: campaign, status, contact, dialerbase: Can alter the dialer beheavior.

via Proxy

Code Block
windowProxy = new Porthole.WindowProxy('<URL PARENT>');
windowProxy.addEventListener(onMessage);
windowProxy.post({'action': 'CTI'});
 
 
function onMessage(messageEvent) {
  CTI = messageEvent.data.CTI;
 
}

Respool Call

Code Block
Relative URL: Integra/resources/Dialers/Respool
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  callspool   (JSON Object)
Result:  1

Json object

Code Block
{
 
  "campaign": "Ventas->",                  //Name of the campaign
  "destination": "098344484",              //Destination number
  "dialerbase": "basetest",                 //Name of the dialer List
  "status": 1,                               // 1 if enable
  "data": "Par1=Val1:Par2=Val2",             // Params for the workflow and Forms
  "alternatives": "098124484",               //Alternatives numbers separated by :
  "contact": 222,                            // Contactid
  "retries": 0,                              // 0 as we are starting a new phone
  "priority": 9999,                          // Priority to order the records 1 is used for schedule so use > 1
  "agentphone": "1001"                       // For progressive dialers
}
Warning

Never Respool a destination that is already on the Spool always a alternative number, in CTI the principal number is already the first alternative.

via Proxy

Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
 
   function Respool () {
       var windowProxy;
       windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
       windowProxy.post({'action': 'respool', 'objetoRespool' : <Objeto Respool>});
   }
 
</script>

Schedule Call

Warning

The dialer has to be Enable and On Date To process Schedule Calls if not this will be the first to go out when the Dialer starts again.

Code Block
Relative URL: Integra/resources/Dialers/ScheduleDialerCall
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  callschedule   (JSON Object)
Result:  1 OK
         0 ERROR

Json Object

Code Block
{
  "calldate" : "2015-10-11 15:00:00",              //Calldate to be executed
  "campaign" : "Ventas->",                         //Dialer campaign
  "destination" : "098344484",                     //Destination for the call
  "alternatives" : "099124484:099121212",          //Alternative phones
  "agentphone" : "1001",                           //Agent phone if progressive
  "data" :  "Par1=Val1:Par2=Val2"                  //Values for Forms and Workflows
}

via Proxy

Code Block
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script>
<script type="text/javascript">
 
   function Schedule () {
       var windowProxy;
       windowProxy = new Porthole.WindowProxy(window.location.protocol + window.location.hostname);
       windowProxy.post({'action': 'schedule', 'callDate' : '<2016-10-10 15:00:00>', 'objectDialer' : <Objecto Respool> });
   }
 
</script>

Dialer Tasks

Info

If the call date is specified, the task will execute at this exact moment, on the contrary, if the date is specified as null, the task will execute when the schedule is free.

The priority of the scheduled task with an specific date will be higher than the one that date is null.

Code Block
Dialer Task

URL Relativa: Integra/resources/Dialers/DialerTask
Método: POST
content-type: application/x-www-form-urlencoded
Parámetros:  call   (Objeto JSON)
Resultado:  1 OK
            
// 1 if enable "data": "Par1=Val1:Par2=Val2", // Params for the workflow and Forms "alternatives": "098124484", //Alternatives numbers separated by : "contact": 222, // Contactid "retries": 0, // 0 as we are starting a new phone "priority": 9999, // Priority to order the records 1 is used for schedule so use > 1 "agentphone": "1001"
0 ERROR

Examples for each mode

Insert Dialer with priority 1

Info

"calldate" is NOW

bulk = false
automatic = true

Code Block
{"calldate" : null,
"campaign" : "campName<-",
"destination": "12-345-678",
"alternatives": "",
"agent" : "",
"data": "idcustomer=7",
"source": "source",
"bulk": false,
"automatic": true }

Create a manual call -Click to call-

Info

calldate = null
bulk = false
automatic = false

make a call in the moment

Code Block
{"calldate" : null,
"campaign" : "campName<-",
"destination": "12-345-678",
"alternatives": "",
"agent" : "",
"data": "idcustomer=7",
"source": "source",
"bulk" : false,
"automatic" : false }

Insert Scheduled Call for anytime

Info

Calldate is any future date time

Code Block
Dialer, Any Time

{"calldate" : "2020-01-01 00:00:00",
"campaign" : "campName<-",
"destination": "12-345-678",
"alternatives": "",
"agent" : "",
"data": "idcustomer=7",
"source": "source",
"bulk" : true,
"automatic" : false }

Insert Dialer call to a Dialer

Info

If dialer is progressive, don’t forget to insert the agent

Code Block
Dialer, Specific Agent

//Identify Agent by its username:

{"calldate" : null,
"campaign" : "campName->",
"destination": "12-345-678",
"alternatives": "",
"agent" : "Agent1",
"data": "idcustomer=7",
"source": "source",
"bulk" : true,
"automatic" : false}

//Identify Agent by its assigned phone number:

{"calldate" : null,
"campaign" : "campName->",
"destination": "12-345-678",
"alternatives": "",
"agent" : "1001",
"data": "idcustomer=7",
"source": "source",
"bulk" : true,
"automatic" : false}

Delete Contact from Dialer

Code Block
Relative URL: Integra/resources/Dialers/RemoveContact
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:     campaign
            
//
number
For
Result: 
progressive dialers }
Warning

Never Respool a destination that is already on the Spool always a alternative number, in CTI the principal number is already the first alternative.

via Proxy

Code Block<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script> <script type="text/javascript"> function Respool () {
 1

Delete Schedule from Dialer

Info

Deletes a schedule call, parameters campaign, number,date from and to format:

(YYYY-MM-DD HH:mm:ss) to be able to delete in a date time range.

Code Block
Relative URL: Integra/resources/Dialers/RemoveScheduleDialerCall
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:     campaign
         
var
 
windowProxy;
  destination
     
windowProxy
 
=
 
new
 
Porthole.WindowProxy(window.location.protocol
 
+
 
window.location.hostname);
  from
     
windowProxy.post({'action':
 
'respool',
 
'objetoRespool'
 
:
 
<Objeto
 
Respool>});
  to
Result: 
} </script> Expand
titleClick here to expand Schedule Call
WarningThe dialer has to be Enable and On Date To process Schedule Calls if not this will be the first to go out when the Dialer starts again.
 1

Image Added


Upload Bases

The API gives us the possibility to upload the lists of dialers in a simple way, with parameters and with timezone so that it is used the most appropriate to your needs.

Upload Calls Base

Code Block
Relative URL: Integra/resources/Dialers/
ScheduleDialerCall
uploadbase
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-
8 Params: callschedule
8
Params:  filename         (Name of the file)
   
(JSON
 
Object)
 
Result:
  
1
 
OK
 fileb64         
0 ERROR

Json Object

Code Block{ "calldate" : "2015-10-11 15:00:00",
 (base64 content of the file)
         campaign      
//Calldate
 
to
 
be
 
executed
(Name of the 
"
campaign
"
)
:
 
"Ventas->",
        cant             (Count of records)
//Dialer campaign
		 username		  
"destination" : "098344484", //Destination for the call "alternatives" : "099124484:099121212",
(user uploading)
Result: 1 (Async Method)

File Format

Code Block
prueba1;098344484;var1=val1:var2=val2;099124484:099111111;9999;1001
campaign;principanumber;parameters and values for workflows and forms;alternatives phones separated by :; priority (optional);agentphone (optional)

Upload Calls Base with Timezone

Code Block
Relative URL: Integra/resources/Dialers/uploadbasewithtimezone
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Params:  filename         
//Alternative phones "agentphone" : "1001",
(Name of the file)
         fileb64          (base64 content of 
the file)
 
//Agent phone
 
if
 
progressive
   
"data"
 
:
  
"Par1=Val1:Par2=Val2"
campaign         (Name of the campaign)
     
//Values
 
for
 
Forms
 
and
 
Workflows }

via Proxy

Code Block<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/porthole/1.0.0/porthole.js"></script> <script type="text/javascript">
cant           
function
 
Schedule
 (Count of records)
{
         username     
var
   
windowProxy;
 (user uploading)
     
windowProxy
 
=
 
new
 
Porthole.WindowProxy(window.location.protocol + window.location.hostname);
 timezone         
windowProxy.post({'action': 'schedule', 'callDate' : '<2016-10-10 15:00:00>', 'objectDialer' : <Objecto Respool> }); } </script> Expand
titleClick here to expand Dialer Tasks
Info

If the call date is specified, the task will execute at this exact moment, on the contrary, if the date is specified as null, the task will execute when the schedule is free.

The priority of the scheduled task with an specific date will be higher than the one that date is null.

Code BlockDialer Task URL Relativa
(Timezone, the list of zones can be found in: uContact Timezones)
Result: 1 (Async Method)

File format

Code Block
prueba1;098344484;var1=val1:var2=val2;099124484:099111111;9999;1001
campaign;principanumber;parameters and values for workflows and forms;alternatives phones separated by :; priority (optional);agentphone (optional)

Image Added


Campaigns Information

You can also get voice campaign information through the API.

Campaigns Summary

To see the status of system campaigns summarized, the following method exists

Code Block
Relative URL: Integra/resources/
Dialers
Supervisor/
DialerTask
queuesummary
Método
Method: POST
content-type:
application/x-www-form-
urlencoded Parámetros: call (Objeto JSON) Resultado: 1 OK
urlencoded; charset=UTF-8
Result: JSON

Response

Dialer,
 
Priority X
  
{
"
calldate
holdTime"
: 
null
18,
"campaign"
   
:
 
"campName<-",
 
"destination": "12-345-678",
   "
alternatives
talkTime": 
""
130,
"agent" : "", "data
        "longestHoldTime": 220,
        "internalActionId": "
idcustomer=7
1982468278_6312",
"source
        "dateReceived": "
source", "bulk": true, "automatic": false }

Insert Dialer with high priority

Code Block
languagejson
[
    {
        "queue": "Power<-",
        "loggedIn": 10,
        "available": 5,
        "callers": 3,
    
0
 
ERROR

Examples for each mode

Insert Dialer with priority 2 (Bulk list made one by one. Alternative phones separated)

Code Block
Code Block
Dialer, Priority High

{"calldate" : null,
"campaign" : "campName<-",
"destination": "12-345-678",
"alternatives": "",
"agent" : "",
"data": "idcustomer=7",
"source": "source",
"bulk" : false,
"automatic" : true }

Insert Scheduled Call for anytime (Calldate is any future date time)

Code Block
Dialer, Any Time

{"calldate" : "2018-01-01 00:00:00",
"campaign" : "campName<-",
"destination": "12-345-678",
"alternatives": "",
"agent" : "",
"data": "idcustomer=7",
"source": "source",
"bulk" : false,
"automatic" : false }
  • Insert Dialer call to a Dialer with ownership (Assigned to an specific Agent)

    Code Block
    Dialer, Specific Agent
    
    //Identify Agent by its username:
    
    {"calldate" : null,
    "campaign" : "campName->",
    "destination": "12-345-678",
    "alternatives": "",
    "agent" : "Agent1",
    "data": "idcustomer=7",
    "source": "source",
    "bulk" : false,
    "automatic" : false}
    
    //Identify Agent by its assigned phone number:
    
    {"calldate" : null,
    "campaign" : "campName->",
    "destination": "12-345-678",
    "alternatives": "",
    "agent" : "1001",
    "data": "idcustomer=7",
    "source": "source",
    "bulk" : false,
    "automatic" : false}
  • Expand
    titleClick here to expand Delete Contact from Dialer
    Code BlockRelative URL: Integra/resources/Dialers/RemoveContact Method: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Params: campaign
    Nov 2, 2018 11:31:42 AM"
        },
        {
            "queue": "test->",
            "loggedIn": 0,
            "available": 0,
            "callers": 0,
            "holdTime": 0,
            "talkTime": 0,
            "longestHoldTime": 0,
            "internalActionId": "1982468278_6312",
            "dateReceived": "Nov 2, 2018 11:31:42 AM"
        },
        {
            "internalActionId": "1982468278_6312",
            "dateReceived": "Nov 2, 2018 11:31:42 AM"
        }
    ]

    Campaign Status

    On the other hand, if we want to obtain all the information of the campaigns of the system, we can use this other method

    Code Block
    Relative URL: Integra/resources/Supervisor/campaignstatus
    Method: POST
    content-type:application/x-www-form-urlencoded; charset=UTF-8
    Params: queue   (Example: CampTest2<-)
    Result: JSON (Has different type of Objects, Campaigns, Agents and ACD Calls)

    Response

    Relative URL: Integra/resources/Dialers/RemoveScheduleDialerCall Method: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Params: campaign
    0,
            "totalagents": 1,
            "logged": 0,
            "onwrapup": 0,
            "completed": 0,
       
    destination
         "abandoned": 0,
          
    from
      "talked": "00:00:00-0",
            
    to Result: 1
    Code Block
    {
        "Power<-": {
            "campaign": "Power<-",
            "availables": 0,
            "notavailables": 1,
            "paused": 0,
            "busy": 0,
           
    number
     
    Result
    "busypaused": 
    1
    Expand
    titleClick here to expand Delete Schedule from Dialer
    Info

    Deletes a schedule call, parameters campaign, number,date from and to format:

    (YYYY-MM-DD HH:mm:ss) to be able to delete in a date time range

    Code Block

    Image Removed

    Upload Bases

    The API gives us the possibility to upload the lists of dialers in a simple way, with parameters and with timezone so that it is used the most appropriate to your needs.

    Expand
    titleClick here to expand Upload Calls Base
    Code BlockRelative URL: Integra/resources/Dialers/uploadbase Method: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Params: filename

    "hold": "00:00:00-0",
            "abandonedlevel": "0",
            "totalcalls": 0,
            "acd": 0,
            "servicelevel": "0.0",
            

    (Name of the file)

    "servicelevel2": "0.0",
            "strategy": "leastrecent",
       

    fileb64

         "slevelthreshold": "3",
       

    (base64

     

    content

     

    of

     

    the

     

    file)

     "wrapup": 0
        },
      

    campaign

      "test->": {
         

    (Name

     

    of

     

    the

     "campaign

    )

    ": "test->",
            

    cant

    "availables": 0,
            "notavailables": 0,
     

    (Count

     

    of

     

    records)

     

     

    username

      

    (user uploading) Result

     "paused": 

    1

    0,
    

    (Async

     

    Method)

    File Format

    Code Blockprueba1;098344484;var1=val1:var2=val2;099124484:099111111;9999;1001

     

    campaign;principanumber;parameters

     

    and

     

    values

     

    for

     

    workflows

     

    and forms;alternatives phones separated by :; priority (optional);agentphone (optional) Expand
    titleClick here to expand Upload Calls Base with Timezone
    Code BlockRelative URL: Integra/resources/Dialers/uploadbasewithtimezone Method: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Params: filename

     "busy": 0,
            "busypaused": 0,
            "totalagents": 0,
     

    (Name

     

    of the

     

    file)

         "logged": 0,
       

    fileb64

         "onwrapup": 0,
       

    (base64

     

    content

     

    of

     

    the

     

    file)

     "completed": 0,
           

    campaign

     "abandoned": 0,
          

    (Name

     

    of

     

    the campaign)

    "talked": "00:00:00-0",
            

    cant

    "hold": "00:00:00-0",
            

    "abandonedlevel": "0",
     

    (Count of

     

    records)

          "totalcalls": 0,
      

    username

          "acd": 0,
     

    (user

     

    uploading)

          "servicelevel": "0.0",
      

    timezone

          "servicelevel2": "0.0",
     

    (Timezone,

     

    the

     

    list

     

    of

     

    zones

     

    can

     

    be

     

    found in: uContact Timezones) Result: 1 (Async Method)

    File format

    Code Block
    prueba1;098344484;var1=val1:var2=val2;099124484:099111111;9999;1001
    campaign;principanumber;parameters and values for workflows and forms;alternatives phones separated by :; priority (optional);agentphone (optional)

    Image Removed

    Campaigns

    You can also get voice campaign information through the API.

    Expand ExpandColección de postman con algunas de las llamadas.

    "strategy": "leastrecent",
            "slevelthreshold": "3",
            "wrapup": 3
        }
    }