/AWS1/IF_CNT=>GETMETRICDATA()¶
About GetMetricData¶
Gets historical metric data from the specified Amazon Connect instance.
For a description of each historical metric, see Metrics definitions in the Amazon Connect Administrator Guide.
We recommend using the GetMetricDataV2 API. It provides more flexibility, features, and the ability to query longer time ranges
than GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at
varying intervals. You can also use it to build custom dashboards to measure historical queue and agent performance.
For example, you can track the number of incoming contacts for the last 7 days, with data split by day, to see how
contact volume changed per day of the week.
Method Signature¶
METHODS /AWS1/IF_CNT~GETMETRICDATA
IMPORTING
!IV_INSTANCEID TYPE /AWS1/CNTINSTANCEID OPTIONAL
!IV_STARTTIME TYPE /AWS1/CNTTIMESTAMP OPTIONAL
!IV_ENDTIME TYPE /AWS1/CNTTIMESTAMP OPTIONAL
!IO_FILTERS TYPE REF TO /AWS1/CL_CNTFILTERS OPTIONAL
!IT_GROUPINGS TYPE /AWS1/CL_CNTGROUPINGS_W=>TT_GROUPINGS OPTIONAL
!IT_HISTORICALMETRICS TYPE /AWS1/CL_CNTHISTORICALMETRIC=>TT_HISTORICALMETRICS OPTIONAL
!IV_NEXTTOKEN TYPE /AWS1/CNTNEXTTOKEN OPTIONAL
!IV_MAXRESULTS TYPE /AWS1/CNTMAXRESULT100 OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_cntgetmetricdatarsp
RAISING
/AWS1/CX_CNTINTERNALSERVICEEX
/AWS1/CX_CNTINVALIDPARAMETEREX
/AWS1/CX_CNTINVALIDREQUESTEX
/AWS1/CX_CNTRESOURCENOTFOUNDEX
/AWS1/CX_CNTTHROTTLINGEX
/AWS1/CX_CNTCLIENTEXC
/AWS1/CX_CNTSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_instanceid TYPE /AWS1/CNTINSTANCEID /AWS1/CNTINSTANCEID¶
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
iv_starttime TYPE /AWS1/CNTTIMESTAMP /AWS1/CNTTIMESTAMP¶
The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.
The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.
iv_endtime TYPE /AWS1/CNTTIMESTAMP /AWS1/CNTTIMESTAMP¶
The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.
The time range between the start and end time must be less than 24 hours.
io_filters TYPE REF TO /AWS1/CL_CNTFILTERS /AWS1/CL_CNTFILTERS¶
The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.
RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.
To filter by
Queues, enter the queue ID/ARN, not the name of the queue.
it_historicalmetrics TYPE /AWS1/CL_CNTHISTORICALMETRIC=>TT_HISTORICALMETRICS TT_HISTORICALMETRICS¶
The metrics to retrieve. Specify the name, unit, and statistic for each metric. The following historical metrics are available. For a description of each metric, see Metrics definition in the Amazon Connect Administrator Guide.
This API does not support a contacts incoming metric (there's no CONTACTS_INCOMING metric missing from the documented list).
- ABANDON_TIME
Unit: SECONDS
Statistic: AVG
UI name: Average queue abandon time
- AFTER_CONTACT_WORK_TIME
Unit: SECONDS
Statistic: AVG
UI name: After contact work time
- API_CONTACTS_HANDLED
Unit: COUNT
Statistic: SUM
UI name: API contacts handled
- AVG_HOLD_TIME
Unit: SECONDS
Statistic: AVG
UI name: Average customer hold time
- CALLBACK_CONTACTS_HANDLED
Unit: COUNT
Statistic: SUM
UI name: Callback contacts handled
- CONTACTS_ABANDONED
Unit: COUNT
Statistic: SUM
UI name: Contacts abandoned
- CONTACTS_AGENT_HUNG_UP_FIRST
Unit: COUNT
Statistic: SUM
UI name: Contacts agent hung up first
- CONTACTS_CONSULTED
Unit: COUNT
Statistic: SUM
UI name: Contacts consulted
- CONTACTS_HANDLED
Unit: COUNT
Statistic: SUM
UI name: Contacts handled
- CONTACTS_HANDLED_INCOMING
Unit: COUNT
Statistic: SUM
UI name: Contacts handled incoming
- CONTACTS_HANDLED_OUTBOUND
Unit: COUNT
Statistic: SUM
UI name: Contacts handled outbound
- CONTACTS_HOLD_ABANDONS
Unit: COUNT
Statistic: SUM
UI name: Contacts hold disconnect
- CONTACTS_MISSED
Unit: COUNT
Statistic: SUM
UI name: AGENT_NON_RESPONSE
- CONTACTS_QUEUED
Unit: COUNT
Statistic: SUM
UI name: Contacts queued
- CONTACTS_TRANSFERRED_IN
Unit: COUNT
Statistic: SUM
UI name: Contacts transferred in
- CONTACTS_TRANSFERRED_IN_FROM_QUEUE
Unit: COUNT
Statistic: SUM
UI name: Contacts transferred out queue
- CONTACTS_TRANSFERRED_OUT
Unit: COUNT
Statistic: SUM
UI name: Contacts transferred out
- CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
Unit: COUNT
Statistic: SUM
UI name: Contacts transferred out queue
- HANDLE_TIME
Unit: SECONDS
Statistic: AVG
UI name: Average handle time
- INTERACTION_AND_HOLD_TIME
Unit: SECONDS
Statistic: AVG
- INTERACTION_TIME
Unit: SECONDS
Statistic: AVG
UI name: Average agent interaction time
- OCCUPANCY
Unit: PERCENT
Statistic: AVG
UI name: Occupancy
- QUEUE_ANSWER_TIME
Unit: SECONDS
Statistic: AVG
UI name: Average queue answer time
- QUEUED_TIME
Unit: SECONDS
Statistic: MAX
UI name: Minimum flow time
- SERVICE_LEVEL
You can include up to 20 SERVICE_LEVEL metrics in a request.
Unit: PERCENT
Statistic: AVG
Threshold: For
ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. ForComparison, you must enterLT(for "Less than").UI name: Average queue abandon time
Optional arguments:¶
it_groupings TYPE /AWS1/CL_CNTGROUPINGS_W=>TT_GROUPINGS TT_GROUPINGS¶
The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.
If no grouping is specified, a summary of metrics for all queues is returned.
RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.
iv_nexttoken TYPE /AWS1/CNTNEXTTOKEN /AWS1/CNTNEXTTOKEN¶
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
iv_maxresults TYPE /AWS1/CNTMAXRESULT100 /AWS1/CNTMAXRESULT100¶
The maximum number of results to return per page.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_cntgetmetricdatarsp /AWS1/CL_CNTGETMETRICDATARSP¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->getmetricdata(
io_filters = new /aws1/cl_cntfilters(
it_agentstatuses = VALUE /aws1/cl_cntagentstatuses_w=>tt_agentstatuses(
( new /aws1/cl_cntagentstatuses_w( |string| ) )
)
it_channels = VALUE /aws1/cl_cntchannels_w=>tt_channels(
( new /aws1/cl_cntchannels_w( |string| ) )
)
it_queues = VALUE /aws1/cl_cntqueues_w=>tt_queues(
( new /aws1/cl_cntqueues_w( |string| ) )
)
it_routingprofiles = VALUE /aws1/cl_cntroutingprofiles_w=>tt_routingprofiles(
( new /aws1/cl_cntroutingprofiles_w( |string| ) )
)
it_routingstepexpressions = VALUE /aws1/cl_cntroutingxprsns_w=>tt_routingexpressions(
( new /aws1/cl_cntroutingxprsns_w( |string| ) )
)
it_subtypes = VALUE /aws1/cl_cntsubtypes_w=>tt_subtypes(
( new /aws1/cl_cntsubtypes_w( |string| ) )
)
it_validationtesttypes = VALUE /aws1/cl_cntvldtntesttypes_w=>tt_validationtesttypes(
( new /aws1/cl_cntvldtntesttypes_w( |string| ) )
)
)
it_groupings = VALUE /aws1/cl_cntgroupings_w=>tt_groupings(
( new /aws1/cl_cntgroupings_w( |string| ) )
)
it_historicalmetrics = VALUE /aws1/cl_cnthistoricalmetric=>tt_historicalmetrics(
(
new /aws1/cl_cnthistoricalmetric(
io_threshold = new /aws1/cl_cntthreshold(
iv_comparison = |string|
iv_thresholdvalue = '0.1'
)
iv_name = |string|
iv_statistic = |string|
iv_unit = |string|
)
)
)
iv_endtime = '20150101000000.0000000'
iv_instanceid = |string|
iv_maxresults = 123
iv_nexttoken = |string|
iv_starttime = '20150101000000.0000000'
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_nexttoken = lo_result->get_nexttoken( ).
LOOP AT lo_result->get_metricresults( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lo_dimensions = lo_row_1->get_dimensions( ).
IF lo_dimensions IS NOT INITIAL.
lo_queuereference = lo_dimensions->get_queue( ).
IF lo_queuereference IS NOT INITIAL.
lv_queueid = lo_queuereference->get_id( ).
lv_arn = lo_queuereference->get_arn( ).
ENDIF.
lv_channel = lo_dimensions->get_channel( ).
lo_routingprofilereference = lo_dimensions->get_routingprofile( ).
IF lo_routingprofilereference IS NOT INITIAL.
lv_routingprofileid = lo_routingprofilereference->get_id( ).
lv_arn = lo_routingprofilereference->get_arn( ).
ENDIF.
lv_routingexpression = lo_dimensions->get_routingstepexpression( ).
lo_agentstatusidentifier = lo_dimensions->get_agentstatus( ).
IF lo_agentstatusidentifier IS NOT INITIAL.
lv_arn = lo_agentstatusidentifier->get_arn( ).
lv_agentstatusid = lo_agentstatusidentifier->get_id( ).
ENDIF.
lv_subtype = lo_dimensions->get_subtype( ).
lv_validationtesttype = lo_dimensions->get_validationtesttype( ).
ENDIF.
LOOP AT lo_row_1->get_collections( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lo_historicalmetric = lo_row_3->get_metric( ).
IF lo_historicalmetric IS NOT INITIAL.
lv_historicalmetricname = lo_historicalmetric->get_name( ).
lo_threshold = lo_historicalmetric->get_threshold( ).
IF lo_threshold IS NOT INITIAL.
lv_comparison = lo_threshold->get_comparison( ).
lv_thresholdvalue = lo_threshold->get_thresholdvalue( ).
ENDIF.
lv_statistic = lo_historicalmetric->get_statistic( ).
lv_unit = lo_historicalmetric->get_unit( ).
ENDIF.
lv_value = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.