describeContact method

Future<DescribeContactResponse> describeContact({
  1. required String contactId,
  2. required String instanceId,
})

This API is in preview release for Connect Customer and is subject to change.

Describes the specified contact.

Use cases

Following are common uses cases for this API:

  • Retrieve contact information such as the caller's phone number and the specific number the caller dialed to integrate into custom monitoring or custom agent experience solutions.
  • Detect when a customer chat session disconnects due to a network issue on the agent's end. Use the DisconnectReason field in the ContactTraceRecord to detect this event and then re-queue the chat for followup.
  • Identify after contact work (ACW) duration and call recordings information when a COMPLETED event is received by using the contact event stream.
Important things to know
  • SystemEndpoint is not populated for contacts with initiation method of MONITOR, QUEUE_TRANSFER, or CALLBACK
  • Contact information remains available in Connect Customer for 24 months from the InitiationTimestamp, and then it is deleted. Only contact information that is available in Connect Customer is returned by this API.
Endpoints: See Connect Customer endpoints and quotas.

May throw InternalServiceException. May throw InvalidParameterException. May throw InvalidRequestException. May throw ResourceNotFoundException. May throw ThrottlingException.

Parameter contactId : The identifier of the contact.

Parameter instanceId : The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

Implementation

Future<DescribeContactResponse> describeContact({
  required String contactId,
  required String instanceId,
}) async {
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/contacts/${Uri.encodeComponent(instanceId)}/${Uri.encodeComponent(contactId)}',
    exceptionFnMap: _exceptionFns,
  );
  return DescribeContactResponse.fromJson(response);
}