Reporting

Reporting endpoints are divided into two types:

  • historical,

  • live.

Historical

Historical reporting endpoints return data calculated over a specified window of time, aggregated by specified time units (granularity). Every historical reporting endpoint has at least these three required parameters:

Parameter

Description

start_date

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

Defines the granularity by which to bucket query results.

Live

Live reporting endpoints return data which reflects the current state of the system, such as "Number of operators that are currently engaged".

Download CSV

By specifying the header Accept: application/vnd.salemove.v1+csv, the data will be returned in CSV format. CSV format is only available for historical data.

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+csv" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id]
}' \
"https://api.salemove.com/reporting/$endpoint"

Generates the output

start,end,chat,audio_video
2017-06-28T00:00:00.000Z,2017-06-29T00:00:00.000Z,20,15
2017-06-29T00:00:00.000Z,2017-06-30T00:00:00.000Z,45,21

POST Engagement Count

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id],
"include_without_queues": $include_without_queues
}' \
"https://api.salemove.com/reporting/engagements"

Generates the output

{
"data": [
{
"timestamp": "2017-06-28T00:00:00.000Z",
"chat": 20,
"audio_video": 15
},
{
"timestamp": "2017-06-29T00:00:00.000Z",
"chat": 45,
"audio_video": 21
}
],
"chat": 65,
"audio_video": 36,
"total": 101
}

Action: POST /reporting/engagements

Returns an array of engagement counts. The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided. In this case the endpoint returns engagement counts for engagements which resulted from any of the specified queues.

Optionally the parameter team_ids can be provided. In this case the endpoint returns engagement counts only for the operators belonging to the specified teams.

Engagement counts are grouped by the highest media used by the operator during the engagement.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

include_without_queues

boolean

No

If true, includes results that are not associated with any queues. If false, excludes results that are not associated with queues. Default value is true.

Output

Field

Type

Description

data

array

Count of engagements during the period. Elements are described below.

chat

integer

Total count of chat engagements during the period.

audio_video

integer

Total count of audio/video engagements during the period.

total

integer

Total count of engagements during the period.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Count of chat engagements.

audio_video

integer

Count of audio/video engagements.

POST Queued Visitors Count

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id]
}' \
"https://api.salemove.com/reporting/queued_visitors"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 20,
"audio_video": 15
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 45,
"audio_video": 21
}
],
"chat": 65,
"audio_video": 36,
"total": 101
}

Action: POST /reporting/queued_visitors

Returns an array of counts of visitors queued for engagements, regardless of whether waiting in queue eventually resulted in engagement or not.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the count of visitors queued for engagements in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b-91b8-92a0543462a7"], then the

    request would return queued visitors counts aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the count of visitors queued for engagements in any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc- 79cd04a089c5"],

    then the request would return counts of visitors that were queued to have

    engagements with team 5db50064-8bf8-4c4a-98fc-79cd04a089c5. This would also

    include all visitors that were queued to have engagements with this team.

Queued visitor counts are grouped by media requested by the visitor.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

Output

Field

Type

Description

data

array

Count of queued visitors during the period. Elements are described below.

chat

integer

Total count of visitors queued for chat engagements during the period.

audio_video

integer

Total count of visitors queued for audio/video engagements during the period.

total

integer

Total count of queued visitors during the period.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Count of visitors queued for chat engagements.

audio_video

integer

Count of visitor queued for audio/video engagements.

POST Queue Average Wait Time

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id]
}' \
"https://api.salemove.com/reporting/average_wait_time"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 60,
"audio_video": 45
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 20,
"audio_video": 60
}
],
"chat": 40,
"audio_video": 50,
"total": 30
}

Action: POST /reporting/average_wait_time

Returns an array of average times visitors spent in queue before being engaged with.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the average wait time of visitors queued for engagements in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7"], then the

    request would return average wait times aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the average wait time of visitors queued for engagements in any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc- 79cd04a089c5"],

    then the request would return average wait times aggregated over visitors that

    were queued to have engagements with team

    5db50064-8bf8-4c4a-98fc-79cd04a089c5. This would also include all visitors

    that were queued to have engagements with this team.

Average wait times are grouped by media requested by the visitor.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

Output

Field

Type

Description

data

array

Average wait times during the period. Elements are described below.

chat

integer

Total average wait time for chat engagements during the period in seconds.

audio_video

integer

Total average wait time for audio/video engagements during the period in seconds.

total

integer

Total average wait time during the period in seconds.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Average wait time of visitors queued for chat engagements in seconds.

audio_video

integer

Average wait time of visitor queued for audio/video engagements in seconds.

POST Queue Maximum Wait Time

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id]
}' \
"https://api.salemove.com/reporting/max_wait_time"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 120,
"audio_video": 110
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 130,
"audio_video": 145
}
],
"chat": 120,
"audio_video": 145,
"total": 145
}

Action: POST /reporting/max_wait_time

Returns an array of the maximum times a visitor spent in queue before being engaged with.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the maximum wait times of visitors queued for engagements in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7"], then the

    request would return maximum wait times aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the maximum wait times of visitors queued for engagements in any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc- 79cd04a089c5"],

    then the request would return maximum wait times aggregated over visitors that

    were queued to have engagements with team

    5db50064-8bf8-4c4a-98fc-79cd04a089c5. This would also include all visitors

    that were queued to have engagements with this team.

Maximum wait times are grouped by media requested by the visitor.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided Sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

Output

Field

Type

Description

data

array

Maximum wait times during the period. Elements are described below.

chat

integer

Maximum wait time for visitors queued for chat engagements during the period in seconds.

audio_video

integer

Maximum wait time for visitors queued for audio/video engagements during the period in seconds.

total

integer

Maximum wait time during the period in seconds.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Maximum wait time of visitors queued for chat engagements in seconds.

audio_video

integer

Maximum wait time of visitor queued for audio/video engagements in seconds.

POST Abandonment Rate

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id]
}' \
"https://api.salemove.com/reporting/abandonment_rate"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 10,
"audio_video": 20
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 5,
"audio_video": 7
}
],
"chat": 7,
"audio_video": 10,
"total": 8
}

Action: POST /reporting/abandonment_rate

Returns an array of abandonment rates for the period requested. Abandonment rate is the percentage of visitors who leave the queue before being able to establish an engagement.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the abandonment rate of visitors queued for engagements in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7"], then the

    request would return abandonment rates aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b- 91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the abandonment rate of visitors queued for engagements in any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc- 79cd04a089c5"],

    then the request would return abandonment rates aggregated over visitors that

    were queued to have engagements with team

    5db50064-8bf8-4c4a-98fc-79cd04a089c5. This would also include all visitors

    that were queued to have engagements with this team.

Abandonment rates are grouped by media requested by the visitor.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

Output

Field

Type

Description

data

array

Abandonment rates during the period. Elements are described below.

chat

integer

Total abandonment rate for visitors queued for chat engagements during the period, expressed as a percentage. Possible values range from 0 to 100.

audio_video

integer

Total abandonment rate for visitors queued for audio/video engagements during the period, expressed as a percentage. Possible values range from 0 to 100.

total

integer

Total abandonment rate during the period, expressed as a percentage. Possible values range from 0 to 100.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Abandonment rate of visitors queued for chat engagements, expressed as a percentage. Possible values range from 0 to 100.

audio_video

integer

Abandonment rate of visitor queued for audio/video engagements, expressed as a percentage. Possible values range from 0 to 100.

POST Service Level

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id]
}' \
"https://api.salemove.com/reporting/service_level"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 86,
"audio_video": 60
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 84,
"audio_video": 68
}
],
"chat": 85,
"audio_video": 64,
"total": 80
}

Action: POST /reporting/service_level

Returns an array of service levels.

Service level represents a percentage of the engagements that were started before a certain amount of time. For example, when one engagement is started after 5 seconds, three engagements are started after 15 seconds and service level threshold is set to 10 seconds, the service level would be 25%.

Service level time threshold can be configured per site.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the service levels for visitors that waited in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b-91b8-92a0543462a7"], then the

    request would return service levels aggregated over visitors that were queued

    in queue ce06d2a0-f9cf-4e4b-91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided. In this case only the service levels for visitors queued for any of the specified team are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc-79cd04a089c5"], then

    the request would return service levels aggregated over visitors that were

    queued to have engagements with team 5db50064-8bf8-4c4a-98fc-79cd04a089c5.

    This would also include all visitors that were queued to have engagements with

    this team.

The requester must have access to the sites. All specified queues and teams must belong to the sites.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

Output

Field

Type

Description

data

array

Service levels during the period. Elements are described below.

chat

integer

Chat service level during the period, expressed as a percentage. Possible values range from 0 to 100.

audio_video

integer

Audio/Video service level during the period, expressed as a percentage. Possible values range from 0 to 100.

total

integer

Total service level during the period, expressed as a percentage. Possible values range from 0 to 100.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Chat service level, expressed as a percentage. Possible values range from 0 to 100.

audio_video

integer

Audio/Video service level, expressed as a percentage. Possible values range from 0 to 100.

POST Average Handling Time

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"granularity": $granularity,
"site_ids": [$site_id],
"team_ids": [$team_id],
"queue_ids": [$queue_id],
"include_without_queues": $include_without_queues
}' \
"https://api.salemove.com/reporting/average_handling_time"

Generates the output

{
"data": [
{
"start": "2017-06-28T00:00:00.000Z",
"end": "2017-06-29T00:00:00.000Z",
"chat": 120,
"audio_video": 150
},
{
"start": "2017-06-29T00:00:00.000Z",
"end": "2017-06-30T00:00:00.000Z",
"chat": 52,
"audio_video": 62
}
],
"chat": 100,
"audio_video": 120,
"total": 110
}

Action: POST /reporting/average_handling_time

Returns an array of average engagement durations in seconds. The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided. In this case the endpoint returns average engagement durations for engagements which resulted from any of the specified queues.

Optionally the parameter team_ids can be provided. In this case the endpoint returns average engagement durations only for operators that belong to any of the specified teams.

To download the data as CSV, see Download CSV.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

granularity

string

Yes

Defines the granularity to bucket query results. Can be one of month, week, day, hour.

include_without_queues

boolean

No

If true, includes results that are not associated with any queues. If false, excludes results that are not associated with queues. Default value is true.

Output

Field

Type

Description

data

array

Average engagement durations during the period. Elements are described below.

chat

integer

Average chat engagement duration during the period in seconds.

audio_video

integer

Average audio/video engagement duration during the period in seconds.

total

integer

Total average engagement duration during the period in seconds.

data

Field

Type

Description

start

string

An ISO-8601 timestamp. Start of the period (inclusive).

end

string

An ISO-8601 timestamp. End of the period (exclusive).

chat

integer

Average chat engagement duration during the period in seconds.

audio_video

integer

Average audio/video engagement duration during the period in seconds.

POST Operators

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"start_date": $start_date,
"end_date": $end_date,
"site_ids": [$site_id],
"team_ids": [$team_id]
}' \
"https://api.salemove.com/reporting/operators"

Generates the output

{
"operators": [
{
"id": "c8b52f0b-ad05-4c71-8c98-5056f07c4d1a",
"name": "Operator One",
"email": "operatorone@example.com",
"picture_url": "https://picture.url.com/operator_one_picture.jpg",
"teams": [
{
"name": "Team One"
},
{
"name": "Team Two"
}
],
"stats": {
"engagement_count": {
"chat": 20,
"audio_video": 10,
"total": 30
},
"engagement_request_outcomes_count": {
"reactive": {
"accepted": 16,
"rejected": 1,
"timed_out": 3,
"visitor_cancel": 2,
"operator_left": 0,
"visitor_left": 0,
"total": 22
},
"proactive": {
"accepted": 14,
"rejected": 6,
"timed_out": 4,
"operator_cancel": 1,
"operator_left": 0,
"visitor_left": 0,
"total": 25
}
},
"available_while_engaged_time": 120,
"available_time": {
"audio_video": 125,
"chat": 500
},
"unavailable_time": {
"engaged": 900,
"post_engagement": 100,
"with_customer": 3452,
"quick_break": 1300,
"meal_break": 3045,
"total": 8926
}
}
},
{
"id": "f42811bc-8519-4d33-bbb1-36d4555ecb0a",
"name": "Operator Two",
"email": "operatortwo@example.com",
"picture_url": "https://picture.url.com/operator_two_picture.jpg",
"teams": [
{
"name": "Team Two"
}
],
"stats": {
"engagement_count": {
"chat": 44,
"audio_video": 11,
"total": 55
},
"engagement_request_outcomes_count": {
"reactive": {
"accepted": 30,
"rejected": 1,
"timed_out": 3,
"visitor_cancel": 2,
"operator_left": 0,
"visitor_left": 0,
"total": 36
},
"proactive": {
"accepted": 25,
"rejected": 3,
"timed_out": 3,
"operator_cancel": 2,
"operator_left": 0,
"visitor_left": 0,
"total": 33
}
},
"available_while_engaged_time": 300,
"available_time": {
"audio_video": 500,
"chat": 1200
},
"unavailable_time": {
"engaged": 1000,
"post_engagement": 100,
"quick_break": 1500,
"meal_break": 1100,
"training": 6000,
"lunch": 2000,
"other": 100,
"total": 11800
}
}
},
{
"id": "2e56b224-6708-4755-b6c9-35f9889e42dd",
"name": "Operator Three",
"email": "operatorthree@example.com",
"picture_url": "https://picture.url.com/operator_three_picture.jpg",
"teams": [
{
"name": "Team Three"
}
],
"stats": {
"engagement_count": {
"chat": 20,
"audio_video": 5,
"total": 25
},
"engagement_request_outcomes_count": {
"reactive": {
"accepted": 15,
"rejected": 0,
"timed_out": 2,
"visitor_cancel": 1,
"operator_left": 0,
"visitor_left": 0,
"total": 18
},
"proactive": {
"accepted": 10,
"rejected": 1,
"timed_out": 1,
"operator_cancel": 2,
"operator_left": 0,
"visitor_left": 0,
"total": 14
}
},
"available_while_engaged_time": 0,
"available_time": {
"audio_video": 400,
"chat": 500
},
"unavailable_time": {
"engaged": 1000,
"quick_break": 200,
"advanced_admin": 100,
"statistics": 200,
"total": 1500
}
}
}
]
}

Action: POST /reporting/operators

Returns a list of operators belonging to the queried sites and teams and their respective reporting statistics. The endpoint requires a list of site_ids.

Optionally the parameter team_ids can be provided. In this case only the data for operators belonging to the specified teams is returned. The requester must have access to the sites and all specified teams must belong to the sites.

By specifying the Accept header application/vnd.salemove.v1+csv data will be returned in CSV format.

The sub-keys in column names of CSV output are separated by / delimiter. All team names are grouped under one column, separated by ; delimiter.

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+csv" \
--data-binary '{
"start_date": $start_date,
"end_date\": $end_date,
"site_ids\": [$site_id],
"team_ids\": [$team_id]
}' \
"https://api.salemove.com/reporting/operators"

Generates the output

Operator ID,Name,Email,Picture URL,Team(s),Total Eng Count,A/V Eng Count,Chat Eng Count,Proactive Call Count,Missed Call Count,Declined Call Count,Eng (min),Post-Eng (min),Avail. A/V (min),Avail. Chat (min),Avail. While Eng (min),U/A (min),Bathroom (min),Break (min),Training (min),Lunch (min),Statistics (min)
c8b52f0b-ad05-4c71-8c98-5056f07c4d1a,Operator One,operatorone@example.com,https://picture.url.com/operator_one_picture.jpg,Team One;Team Two,30,10,20,25,3,1,15,1.67,2.08,8.33,2,38.34,0,21.67,0,0,0
f42811bc-8519-4d33-bbb1-36d4555ecb0a,Operator Two,operatortwo@example.com,https://picture.url.com/operator_two_picture.jpg,Team Two,55,11,44,33,3,2,16.67,1.67,8.33,20,5,176.74,0.07,25,100,33.33,0
2e56b224-6708-4755-b6c9-35f9889e42dd,Operator Three,operatorthree@example.com,https://picture.url.com/operator_three_picture.jpg,Team Three,25,5,20,14,2,0,16.67,0,6.67,8.33,0,20,0,0,0,0,3.33

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

start_date

string

Yes

An ISO-8601 timestamp. Defines the query start date (inclusive).

end_date

string

Yes

An ISO-8601 timestamp. Defines the query end date (exclusive).

Output

Field

Type

Description

operators

array

Historical data for operators. Elements are described below.

operators

Field

Type

Description

id

string

Operator ID.

name

string

Full name of the operator.

email

string

Email of the operator.

picture_url

string

Current operator picture. null if no picture is currently set.

teams

array

Array of the teams the operator belongs to. Elements described below.

stats

object

Operator's reporting statistics for the requested time period. Elements described below.

teams

Field

Type

Description

name

string

Team name.

stats

Field

Type

Description

engagement_count

object

Object representing the count of engagements the operator has participated in. Elements described below.

engagement_request_outcomes_count

object

Object representing the set of data about certain operator’s engagement requests outcomes. The elements are described below.

available_while_engaged_time

integer

Time operator has been in engagements while being available for other engagements during the requested time period (in seconds).

available_time

object

Object representing the time operator has been available for engagements. Elements described below.

unavailable_time

object

Object representing the time operator has been unavailable for new engagements. Elements described below.

engagement_count

Field

Type

Description

chat

integer

Count of chat engagements the operator has participated in during the requested time period.

audio_video

integer

Count of audio/video engagements the operator has participated in during the requested time period.

total

integer

Total count of engagements the operator has participated in during the requested time period.

engagement_request_outcomes_count

Field

Type

Description

reactive

object

Object representing the outcome count for engagement Requests created by the operator.

proactive

object

Object representing the outcome count for engagement Requests received by the operator.

reactive

Field

Type

Description

accepted

integer

Count of reactive engagement requests accepted by the operator.

rejected

integer

Count of reactive engagement requests rejected by the operator.

timed_out

integer

Count of reactive engagement requests that timed out before being accepted by the operator.

visitor_cancel

integer

Count of reactive engagement requests to the operator cancelled by visitor.

operator_left

integer

Count of reactive engagement requests during which the operator left.

visitor_left

integer

Count of reactive engagement requests to the operator during which visitor left.

proactive

Field

Type

Description

accepted

integer

Count of proactive engagement requests created by the operator accepted by a visitor.

rejected

integer

Count of proactive engagement requests created by the operator rejected by a visitor.

timed_out

integer

Count of proactive engagement requests created by the operator that timed out before being accepted by a visitor.

operator_cancel

integer

Count of proactive engagement requests cancelled by the operator.

operator_left

integer

Count of proactive engagement requests created by the operator during which the operator left.

visitor_left

integer

Count of proactive engagement requests created by the operator during which visitor left.

available_time

Field

Type

Description

audio_video

integer

Time operator has been available for audio/video engagements during the requested time period (in seconds).

chat

integer

Time operator has been available for chat engagements during the requested time period (in seconds).

unavailable_time

Values in unavailable_time object indicate time the operator has been unavailable for new engagements. This list is not all-inclusive as each site can be configured to have its own unavailability types. All entries valued 0 are omitted (with the exception of total, which is always present).

Field

Type

Description

engaged

integer

Time operator has been in engagements during the requested time period (in seconds).

post_engagement

integer

Time operator has spent being in post-engagement during the requested time period (in seconds).

advanced_admin

integer

Time operator has spent being in Admin Console during the requested time period (in seconds).

idle

integer

Time operator has spent being idle during the requested time period (in seconds). Operator is set to "Idle" after a missed engagement or transfer request if "Automatic missed call unavailability" option is enabled for the site.

...

integer

Any other status the operator has set for the reason of being unavailable for engagements (in seconds). These statuses include (but are not limited to) meal_break, restroom, quick_break, training and with_customer.

total

integer

Total time operator has spent being unavailable during the requested time period (in seconds).

POST Live Queue Maximum Wait Time

curl --request POST \
--header "Authorization: Token $api_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"queue_ids": ["$queue_id"],
"team_ids": ["$team_id"]
}' \
"https://api.salemove.com/reporting/live/queue/max_wait_time"

Generates the output

{
"chat": 45,
"audio": 20,
"video": 32,
"any": 45
}

Action: POST /reporting/live/queue/max_wait_time

Returns the longest waiting duration among currently queued visitors. The response includes the maximum waiting time for any visitor and separate waiting times for visitors waiting for engagements with a specific medium.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the maximum wait times of visitors waiting in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b-91b8-92a0543462a7"], then the

    request would return maximum wait times aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b-91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the maximum wait times of visitors queued for any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc-79cd04a089c5"], then

    the request would return maximum wait times aggregated over visitors that were

    queued to have engagements with team 5db50064-8bf8-4c4a-98fc-79cd04a089c5.

    This would also include all visitors that were queued to have engagements with

    this team.

The requester must have access to the sites. All specified queues and teams must belong to the sites.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

Output

Field

Type

Description

chat

integer

Maximum wait time of visitors queued for chat engagements (in seconds).

audio

integer

Maximum wait time of visitors queued for audio engagements (in seconds).

video

integer

Maximum wait time of visitors queued for video engagements (in seconds).

any

integer

Maximum wait time of visitors queued for any kind of engagements (in seconds).

POST Live Queue Average Wait Time

curl --request POST \
--header "Authorization: Token $api_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"queue_ids": ["$queue_id"],
"team_ids": ["$team_id"]
}' \
"https://api.salemove.com/reporting/live/queue/average_wait_time"

Generates the output

{
"chat": 45,
"audio": 20,
"video": 32,
"audio_video": 22,
"total": 37
}

Action: POST /reporting/live/queue/average_wait_time

Returns the average waiting duration among currently queued visitors. The response includes the total average waiting time for all visitors and separate waiting times for visitors waiting for engagements with a specific medium.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the average wait times of visitors waiting in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b-91b8-92a0543462a7"], then the

    request would return average wait times aggregated over visitors that were

    queued in queue ce06d2a0-f9cf-4e4b-91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the average wait times of visitors queued for any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc-79cd04a089c5"], then

    the request would return average wait times aggregated over visitors that were

    queued to have engagements with team 5db50064-8bf8-4c4a-98fc-79cd04a089c5.

    This would also include all visitors that were queued to have engagements with

    this team.

The requester must have access to the sites. All specified queues and teams must belong to the sites.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

team_ids

array

No

A list of team IDs. All teams must belong to provided Sites.

Output

Field

Type

Description

chat

integer

Average wait time of visitors queued for chat engagements (in seconds).

audio

integer

Average wait time of visitors queued for audio engagements (in seconds).

video

integer

Average wait time of visitors queued for video engagements (in seconds).

audio_video

integer

Average wait time of visitors queued for audio/video engagements (in seconds).

total

integer

Total average wait time of queued visitors (in seconds).

POST Live Queued Visitors Count

curl --request POST \
--header "Authorization: Token $api_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"queue_ids": ["$queue_id"],
"team_ids": ["$team_id"]
}' \
"https://api.salemove.com/reporting/live/queue/visitor_count"

Generates the output

{
"chat": 10,
"audio": 15,
"video": 15,
"total": 40
}

Action: POST /reporting/live/queue/visitor_count

Returns the number of visitors who are currently waiting in a queue. The response includes a total count of all visitors and separate counts for visitors queued for engagements with a specific medium.

The endpoint requires a list of site_ids.

Optionally the parameter queue_ids can be provided, in which case only the counts of visitors waiting in any of the specified queues are returned.

  • E.g. if queue_ids was ["ce06d2a0-f9cf-4e4b-91b8-92a0543462a7"], then the

    request would return counts of visitors that were queued in queue

    ce06d2a0-f9cf-4e4b-91b8-92a0543462a7.

Also, optionally the parameter team_ids can be provided, in which case only the counts of visitors queued for any of the specified teams are returned.

  • E.g. if team_ids was set to ["5db50064-8bf8-4c4a-98fc-79cd04a089c5"], then

    the request would return counts of visitors that were queued to have

    engagements with team 5db50064-8bf8-4c4a-98fc-79cd04a089c5. This would also

    include all visitors that were queued to have engagements with this team.

The requester must have access to the sites. All specified queues and teams must belong to the sites.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

queue_ids

array

No

A list of queue IDs. All queues must belong to provided sites.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

Output

Field

Type

Description

chat

integer

Count of visitors queued for chat engagements.

audio

integer

Count of visitors queued for audio engagements.

video

integer

Count of visitors queued for video engagements.

total

integer

Count of queued visitors.

POST Live Engagement Count

curl --request POST \
--header "Authorization: Token $api_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"team_ids": ["$team_id"]
}' \
"https://api.salemove.com/engagements/live/count"

Generates the output

{
"chat": 5,
"audio": 2,
"video": 1,
"total": 15
}

Action: POST /engagements/live/count

Returns the count of text, audio, video and total ongoing engagements for provided sites and teams. The endpoint requires a list of site_ids. Optionally the parameter team_ids can be provided. In this case only the count of engagements for operators belonging to the specified teams is returned. The requester must have access to the Sites and all specified teams must belong to the Sites.

Parameter

Type

Required

Description

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

No

A list of team IDs. All teams must belong to provided sites.

Output

Field

Type

Description

chat

integer

Number of ongoing text (chat) engagements for provided sites and teams.

audio

integer

Number of ongoing audio engagements for provided sites and teams.

video

integer

Number of ongoing video engagements for provided sites and teams.

total

integer

Number of all ongoing engagements for provided sites and teams.

POST Live Engaged Operators Count

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"team_ids": ["$team_id"],
"include_support": $include_support
}' \
"https://api.salemove.com/operators/engaged/count"

Generates the Output

{
"chat": 3,
"audio": 2,
"video": 1,
"total": 6
}

Action: POST /operators/engaged/count

Returns the number of operators who are currently engaged. The response includes a total count of all operators and separate counts for operators engaged with a specific medium.

The requester must have access to the sites. All specified teams must belong to the sites.

Parameter

Type

Required

Description

include_support

boolean

No

If true, includes operators from Glia support staff. The default value is false.

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

Yes

A list of team IDs. All teams must belong to provided sites.

POST Live Unengaged Operators Count

curl --request POST \
--header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.salemove.v1+json" \
--data-binary '{
"site_ids": ["$site_id"],
"team_ids": ["$team_id"],
"include_support": $include_support
}' \
"https://api.salemove.com/operators/unengaged/count"

Generates the Output

{
"chat": 3,
"audio": 2,
"video": 1,
"unavailable": 1,
"total": 7
}

Action: POST /operators/unengaged/count

Returns the number of operators who are currently not engaged. The response includes a total count of all operators and separate counts for operators who are unengaged but available with a specific medium as well as operators who are unavailable.

The requester must have access to the sites. All specified teams must belong to the sites.

Parameter

Type

Required

Description

include_support

boolean

No

If true, includes operators from Glia support staff. The default value is false.

site_ids

array

Yes

A list of site IDs. Must not be empty.

team_ids

array

Yes

A list of team IDs. All teams must belong to provided sites.