Dialing Strategies are the rules that define the inclusion of numbers for an account, sequence of dialing, whether to move to the next number in the sequence, and requeue inclusion.

Currently the Configuration API supports List, Get List Info, Read, Create, Update, and Delete methods for Dialing Strategies objects.

In order to use the methods listed that perform operations on Dialing Strategies resources, the user of the API must belong to either the Sysadmin, Superuser, Manager, or IT User role. If the user belongs to the Manager role, they must also have the "Dialing Strategies" optional power configured.

Create Dialing Strategy

Description: Creates a new Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /configuration/dialingStrategies[?client={client}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoThe LiveVox ID of the Client under which the Dialing Strategy will be created.

Body:

KeyTypeMandatory?Description
nameStringYesName of the Dialing Strategy to be created.
serviceArrayNo

An array of one or more Service IDs that will be assigned to the Dialing Strategy.

KeyTypeMandatory?Description
idInteger (ID)YesService ID

Although a Dialing Strategy is assigned to a Service this does not make it the Services' default Dialing Strategy, it only allows the Service to use the Dialing Strategy.

dialingSequenceItemArrayYes

An array of one or more phone positions to assign to the Dialing Strategy. Phone positions should be listed in the order you want them dialed from top to bottom.

outcomeItemArrayNo

An array of zero or more results that will be assigned to the Dialing Strategy.

KeyTypeMandatory?Description
lvResultIdInteger (ID)YesInternal ID of the result
dialAnotherNumberBooleanYesIf set to true the next number in the dialing sequence will be dialed if this result is obtained on the first dial.
maxNumberOfRetriesIntegerYesThe number of re-dial attempts allowed
retryDelayIntegerYesThe interval in minutes between dialing another number if dialAnotherNumber is set to true
requeueBooleanYesIf set to true calls with this result will be requeued when the Dialing Strategy is assigned to a requeue campaign

Response Code: 201 Created

Body:

Key or AttributeTypeMandatory?Description
idInteger (ID)YesThe ID of the newly created Dialing Strategy.

Create a new Dialing Strategy

#Request (JSON)
POST /configuration/dialingStrategies?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{
   "name": "For Documentation",
   "dialingSequenceItem":[1,3,2],
   "service":    [
      {"id": 20180},
      {"id": 18892}
   ],
   "outcomeItem":    [
            {
         "lvResultId": 316,
         "dialAnotherNumber": "false",
		 "maxNumberOfRetries": 1,
		 "retryDelay": 10,
		 "requeue": "false"
      },
            {
         "lvResultId": 476,
         "dialAnotherNumber": "true",
		 "maxNumberOfRetries": 2,
		 "retryDelay": 5,
		 "requeue": "true"
      }
   ]
}
 
#Response
201 Created
Content-Type: application/json
 
{"id": 30953}
CODE

Create Dialing Strategy Outcome

DescriptionAdds an Outcome to an existing Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /configuration/dialingStrategies/{id}/outcomes

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.

Body(JSON):

KeyTypeMandatory?Description
lvResultIdInteger (ID)YesInternal ID of the result
dialAnotherNumberBooleanYesIf set to true the next number in the dialing sequence will be dialed if this result is obtained on the first dial.
maxNumberOfRetriesIntegerYesThe number of re-dial attempts allowed
retryDelayIntegerYesThe interval in minutes between dialing another number if dialAnotherNumber is set to true
requeueBooleanYesIf set to true calls with this result will be requeued when the Dialing Strategy is assigned to a requeue campaign

Response Code: 201 Created

Body:

Key or AttributeTypeMandatory?Description
idInteger (ID)YesThe ID of the newly created Dialing Strategy Outcome.

Add an outcome to an existing Dialing Strategy

#Request (JSON)
POST /configuration/dialingStrategies/30953/outcomes
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"lvResultId":320,"dialAnotherNumber":"true","maxNumberOfRetries":1,"retryDelay":3,"requeue":"false"}

#Response
201 Created
Content-Type: application/json
 
{"id": 34562}
 
CODE

Attempt to assign an outcome that is already assigned to the Dialing Strategy

#Request (JSON)
POST /configuration/dialingStrategies/30953/outcomes
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
{
   "errorCode": 201,
   "errorMessage": "Element already exists"
}
CODE

Delete All Dialing Strategy Outcomes

DescriptionRemoves all outcomes from a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: DELETE /configuration/dialingStrategies/{id}/outcomes

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.

Body:

None

Response Code: 204 No Content

Body:

None

Remove all outcomes from an existing Dialing Strategy

#Request (JSON)
DELETE /configuration/dialingStrategies/30953/outcomes
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Delete Dialing Strategy

Description: Deletes a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)TrueID of the Dialing Strategy you want to delete

Body:

None

Response Code: 204 No Content

Body:

None

Delete an existing Dialing Strategy

#Request
DELETE /configuration/dialingStrategies/30740
Host: localhost.com
Content-Type: application/json
Accept: application/json  

#Response
204 No Content
CODE

Delete Dialing Strategy Outcome

DescriptionRemoves an outcome from a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: DELETE /configuration/dialingStrategies/{id}/outcomes/{outcome}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.
outcomeoutcomeIdInteger (ID)YesID of the outcome to be removed from the Dialing Strategy

Body:

None

Response Code: 204 No Content

Body:

None

Remove an outcome from an existing Dialing Strategy

#Request (JSON)
DELETE /configuration/dialingStrategies/30953/outcomes/242673
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Get Dialing Strategies List Info

Description: Gets metadata for a list of Dialing Strategies.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /configuration/dialingStrategies/info[?client={clientId}]

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoRestricts the list to entries that are specifically associated with this particular Client.

Body:

None

Response Code:  200 OK

Body:

Key or AttributeTypeMandatory?Description
sizeIntegerYesTotal number of entries in the list.
lastModifiedDateTimeNoThe last date & time that the list was updated. This information might not be available. This is formatted according to the definition of dateTime in the XML Schema specification. For JSON responses, it is represented as the number of milliseconds since midnight on January 1, 1970 (GMT).

Get the metadata for a list of Dialing Strategies for a Client

#Request
GET /configuration/dialingStrategies/info?client=4199
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "size": 9,
   "lastModified": 1365615467000
}
CODE

List Dialing Strategies

Description: Lists Dialing Strategies configured for a Client and what Services those Strategies are associated to.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /configuration/dialingStrategies?[client={clientId}&]offset={n}&count={n}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoRestricts the list to entries that are specifically associated with this particular Client.
offsetnIntegerYesSpecifies the offset from 0, based on count, to start listing from.
countnIntegerYesSpecifies the number of items to return in the list. There is a hard cap of 1000 items.

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
nextURINoA URI for the next page of entries. If next is not present, or blank, then there are no pages after this one.
strategyArrayNo

A container for a page of Dialing Strategy entries. The page size is controlled via count and offset in the request.

KeyTypeMandatory?Description
serviceArrayNo

An array of Services assigned to the Dialing Strategy. Each item in the array consists of:

KeyTypeMandatory?Description
idInteger (ID)NoID of the Service
idInteger (ID)YesID of the Dialing Strategy.
nameStringYesDisplay name of the Dialing Strategy

List of Dialing Strategies configured for a Client

#Request (JSON)
GET /configuration/dialingStrategies?client=4199&offset=0&count=20
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response (JSON)
200 OK
Content-Type: application/json
 
{
   "strategy":    [
            {
         "service":          [
            {"id": 17885},
            {"id": 26881},
            {"id": 11458},
            {"id": 29081},
            {"id": 19891},
            {"id": 27925},
            {"id": 11459},
            {"id": 17524},
            {"id": 20966},
            {"id": 43185},
            {"id": 20576},
            {"id": 17797},
            {"id": 20575}
         ],
         "id": 7957,
         "name": "Custom Requeue"
      },
			{
         "service": [],
         "id": 29356,
         "name": "Landlines and POE"
      },
            {
         "service":          [
            {"id": 5607},
            {"id": 40789},
            {"id": 35574},
            {"id": 18008},
...
            {"id": 38686},
            {"id": 17867},
            {"id": 17522},
            {"id": 37535}
         ],
         "id": 20537,
         "name": "DEMO - All Phone Types"
      },
   ],
  "next": null
}
CODE

Read Dialing Strategies

Description: Gets information about a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /configuration/dialingStrategies/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)Yes

The ID of the Dialing Strategy to be read.

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Dialing Strategy.
nameStringYesDisplay name of the Dialing Strategy
serviceArrayNo

Array of zero or more Services to which this Dialing Strategy is assigned.

KeyTypeMandatory?Description
idInteger (ID)YesID of a Service to which this Dialing Strategy is assigned.
dialingSequenceItemArrayYes

Array of one or more phone positions which are assigned to the Dialing Strategy. Positions are listed in the order in which they will be dialing top to bottom.

outcomeItemArrayNo

An array of zero or more outcomes that are configured for the Dialing Strategy.

KeyTypeMandatory?Descirption
outcomeIdInteger (ID)YesInternal ID of the outcome
lvResultIdInteger (ID)YesInternal ID of the result
dialAnotherNumberBooleanYesIf set to true the next number in the dialing sequence will be dialed.
maxNumberOfRetriesIntegerYesThe number of re-dial attempts allowed
retryDelayIntegerYesThe interval in minutes between dialing another number if dialAnotherNumber is set to true
requeueBooleanYesIf set to true calls with this result will be requeued when the Dialing Strategy is assigned to a requeue campaign

Read configuration properties of a Dialing Strategy

#Request (JSON)
GET /configuration/dialingStrategies/7957
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "service":    [
      {"id": 17797},
      {"id": 17885},
      {"id": 26881},
...
      {"id": 43185},
      {"id": 20576},
      {"id": 20575}
   ],
   "dialingSequenceItem":    [
      1,
      4
   ],
   "outcomeItem":    [
            {
         "outcomeId": 85841,
         "lvResultId": 339,
         "dialAnotherNumber": false,
         "maxNumberOfRetries": 0,
         "retryDelay": 0,
         "requeue": true
      },
            {
         "outcomeId": 83941,
         "lvResultId": 320,
         "dialAnotherNumber": true,
         "maxNumberOfRetries": 0,
         "retryDelay": 0,
         "requeue": true
      },
...
            {
         "outcomeId": 112346,
         "lvResultId": 742,
         "dialAnotherNumber": false,
         "maxNumberOfRetries": 0,
         "retryDelay": 10,
         "requeue": true
      }
   ],
   "id": 7957,
   "name": "Custom Requeue"
}
CODE

Update Dialing Strategy

DescriptionUpdates the name and/or dialing sequence of a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /configuration/dialingStrategies/{id}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)Yes

ID of the Dialing Strategy to be updated.

Body(JSON):

KeyTypeMandatory?Description
nameStringNoNew name of the Dialing Strategy.
dialingSequenceItemArrayNoAn array of one or more phone positions to assign to the Dialing Strategy. Phone positions should be listed in the order you want them dialed from top to bottom.

Response Code: 204 No Content

Body:

None

Update a Dialing Strategy name and/or dialing sequence

#Request (JSON)
POST /configuration/dialingStrategies/30953
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"dialingSequenceItem":[20,11],"name":"Documentation"}
 
#Response
204 No Content
 
CODE

Update Dialing Strategy Add Service

Description: Assigns a Service to a Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: PUT /configuration/dialingStrategies/{id}/services/{service}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.
serviceserviceIdInteger (ID)Yes

ID of the Service you want to assign to the Dialing Strategy

Body:

None

Response Code: 204 No Content

Body:

None

Assign a Service to an existing Dialing Strategy

#Request (JSON)
PUT /configuration/dialngStrategies/30853/services/20575
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Attempt to assign a Service that is already assigned to the Dialing Strategy

#Request (JSON)
PUT /configuration/dialingStrategies/30853/services/20575
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
{
   "errorCode": 201,
   "errorMessage": "Element already exists"
}
CODE

Update Dialing Strategy Outcome

DescriptionUpdates the properties of an Outcome for an existing Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: PUT /configuration/dialingStrategies/{id}/outcomes/{outcome}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.
outcomeoutcomeIdInteger (ID)YesThe ID of the Outcome to be updated.

Body(JSON):

KeyTypeMandatory?Description
dialAnotherNumberBooleanNoIf set to true the next number in the dialing sequence will be dialed if this result is obtained on the first dial.
maxNumberOfRetriesIntegerNoThe number of re-dial attempts allowed.
retryDelayIntegerNoThe interval in minutes between dialing another number if dialAnotherNumber is set to true.
requeueBooleanNoIf set to true calls with this result will be requeued when the Dialing Strategy is assigned to a requeue campaign.

Response Code: 204 No Content

Body:

None

Update an Outcome for an exisitng Dialing Strategy

#Request (JSON)
PUT /configuration/dialingStrategies/31015/outcomes/242792
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
{"dialAnotherNumber":true,"maxNumberOfRetries":20,"retryDelay":null,"requeue":false}

#Response
204 No Content
 
CODE

Update Dialing Strategy Remove All Services

DescriptionRemoves all Services assigned to an existing Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: DELETE /configuration/dialingStrategies/{id}/services

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.

Body:

None

Response Code: 204 No Content

Body:

None

Remove all Services assigned to an existing Dialing Strategy

#Request (JSON)
DELETE /configuration/dialingStrategies/30853/services
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Update Dialing Strategy Remove Service

DescriptionRemoves a Service assignment from an existing Dialing Strategy.

User Roles: Sysadmin, Superuser, or Manager

Method: DELETE /configuration/dialingStrategies/{id}/services/{service}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idstrategyIdInteger (ID)YesThe ID of the Dialing Strategy to be updated.
serviceserviceIdInteger (ID)Yes

The ID of the Service to be removed from the Dialing Strategy.

Body:

None

Response Code: 204 No Content

Body:

None

Remove a Service assignment from an existing Dialing Strategy

#Request (JSON)
DELETE /configuration/dialingStrategies/30853/services/20575
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Top of Page