Contact Timing resources define how the dialing of accounts within campaigns is prioritized. Contact Timing resources are used by the LiveVox platform to identify accounts that fall into "prime time" windows by Time Zone. Higher dialing priorities are assigned to accounts while they are within one of these “prime time” windows. Contact Timing resources are assigned to Services, and a default Contact Timing may also be assigned at the Client level.

Currently, the Configuration API supports Read, List, and Get List Info methods for Contact Timing resources. Create, Update, and Delete are not yet supported.

In order to use the methods listed that perform operations on Contact Timing resources, the user of the API must belong to either the Sysadmin, Superuser, or IT User role.

Get Contact Timing List Info

Description: Gets metadata for a list of Contact Timing resources configured for a client. Takes into account any "system-wide" Contact Timing resources available to all Clients.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /configuration/contactTiming/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 Contact Timing resources configured for a Client

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

#Response
200 OK
Content-Type: application/json

{
   "size": 8,
   "lastModified": 1369249675000
}
CODE

List Contact Timings

Description: Lists Contact Timing resources configured for a Client. The list also includes any "system-wide" Contact Timing resources available to all Clients.

User Roles: Sysadmin, Superuser, or Manager

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

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
clientclientIdInteger (ID)NoSpecifies the Client for which you want to retrieve the list of Contact Timing resources
countnIntegerYesSpecifies the number of items to return in the list. There is a hard cap of 1000 items.
offsetnIntegerYesSpecifies the offset from 0, based on count, to start listing from.

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.
contactTimingArrayNo

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

KeyTypeMandatory?Description
idInteger (ID)YesInternal ID of the Contact Timing resource
nameStringYesDisplay name of the Contact Timing resource

Get a list of Contact Timing resources configured for a Client

#Request (JSON)
GET /configuration/contactTiming?count=10&client=4199&offset=0
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
   "contactTiming":    [
            {
         "id": 4006,
         "name": "Custom Prioritized"
      },
            {
         "id": 4007,
         "name": "Custom Restricted"
      },
            {
         "id": 8130,
         "name": "LunchTime Dial"
      },
            {
         "id": 8310,
         "name": "ONLY lunchtime dial"
      },
            {
         "id": 7450,
         "name": "TM All TZs Dial"
      },
            {
         "id": 1,
         "name": "Curfew Only"
      },
            {
         "id": 2,
         "name": "Std Prioritized"
      },
            {
         "id": 3,
         "name": "Std Restricted"
      }
   ],
   "next": null
}
CODE

Read Contact Timing

Description: Gets information about a Contact Timing resource.

User Roles: Sysadmin, Superuser, or Manager

Method: GET /configuration/contactTiming/{id}

Parameters:

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

The ID of the Contact Timing resource to be read.

You can read any Contact Timing resource configured for the Client, as well as any system-wide Contact Timing resources available to all Clients.

Body:

None

Response Code: 200 OK

Body:

KeyTypeMandatory?Description
clientIdInteger (ID)YesID of the Client under which this Contact Timing resource is configured. If not included in the response, it means the Contact Timing resource is a system-wide one that is available to all Clients.
nameStringYesDisplay name of the Contact Timing resource.
restrictBooleanYesIf true, indicates that only phone numbers that meet the prime time calling hours are dialed. If false, after a time zone's numbers are dialed the next time zone's numbers can be attempted.
clientDefaultBooleanYesIf true, indicates that this Contact Timing resource is configured as the default for the Client.
windowArrayNo

Array of zero or more prime time dialing windows configured for the Contact Timing resource.

KeyTypeMandatory?Description
timeOfDayEnumYesTime of day of the Contact Timing window. Possible values are MORNING and EVENING.
dayOfWeekEnumYesDay(s) of the week of the Contact Timing window. Possible values are WEEKDAY, SATURDAY, and SUNDAY.
startTimeTimeYesStart time of the Contact Timing prime time window.
endTimeTimeYesEnd time of the Contact Timing prime time window.
serviceArrayNo

Array of zero of more Services to which this Contact Timing resource is assigned.

KeyTypeMandatory?Description
idInteger (ID)YesID of a Service to which this Contact Timing window is assigned.

Read configuration properties of a Contact Timing resource

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

#Response
200 OK
Content-Type: application/json

{
   "window":    [
            {
         "timeOfDay": "MORNING",
         "dayOfWeek": "WEEKDAY",
         "startTime": 46800000,
         "endTime": 54000000
      },
            {
         "timeOfDay": "EVENING",
         "dayOfWeek": "WEEKDAY",
         "startTime": 79200000,
         "endTime": 93600000
      },
            {
         "timeOfDay": "MORNING",
         "dayOfWeek": "SATURDAY",
         "startTime": 46800000,
         "endTime": 54000000
      },
            {
         "timeOfDay": "EVENING",
         "dayOfWeek": "SATURDAY",
         "startTime": 79200000,
         "endTime": 86400000
      },
            {
         "timeOfDay": "MORNING",
         "dayOfWeek": "SUNDAY",
         "startTime": 46800000,
         "endTime": 57600000
      },
            {
         "timeOfDay": "EVENING",
         "dayOfWeek": "SUNDAY",
         "startTime": 79200000,
         "endTime": 86400000
      }
   ],
   "service": [{"id": 11458}],
   "clientId": 4199,
   "name": "Custom Restricted",
   "restrict": false,
   "clientDefault": false
}
CODE

Update Contact Timing Add Service

Description: Assigns a Service to a Contact Timing. The Contact Timing supplied in the request replaces the currently assigned Contact Timing for the Service.

User Roles: Sysadmin, Superuser, or Manager

Method: POST /configuration/contactTiming/{id}/services/{service}

Parameters:

Path/Query Parameter NameVariable NameTypeMandatory?Description
idcontactTimingIdInteger (ID)YesThe ID of the Contact Timing to be updated.
serviceserviceIdInteger (ID)Yes

ID of the Service to be added.

Body:

None

Response Code: 204 No Content

Body:

None

Assign a Service to a Contact Timing

#Request (JSON)
POST /configuration/contactTiming/4007/services/54194
Host: localhost.com
Content-Type: application/json
Accept: application/json
 
#Response
204 No Content
CODE

Top of Page