CTI API
-
- UpdatedJan 30, 2025
- 7 minutes to read
- Yokohama
- API reference
The CTI API provides endpoints that enable Computer Telephony Integration (CTI) providers to interact with the Cloud Call Center framework.
- Invoke CTI operations using custom operation handlers within the Cloud Call Center framework.
- Pass events from a CCP provider to a ServiceNow instance.
- Render transcripts and recordings for a specified agent call.
This API runs in the sn_cti_core namespace. Before you are able to access this API, you must install the Cloud Call Center Core (sn_cti_core) application. For information on this installation, see Install Cloud Call Center applications.
For additional information on the Cloud Call Center, see Cloud Call Center.
CTI_API - GET /sn_cti_core/cti_api/call_analysis/{interaction_sys_id}
Renders transcripts and recordings for a specified agent call.
Components use this endpoint in Agent and Manager workspaces to render associated agent call transcripts and recordings. To access this endpoint, the user credentials that you pass in the call must have the workspace_user, interaction_agent, or admin role.
This endpoint has a corresponding extension point, sn_cti_core.CTICallAnalysisExtractor, that is responsible for rendering the call data. The base system provides an implementation for Amazon Connect. If your implementation is different, you should customize this extension point before utilizing this endpoint. Also, the response parameters returned by this endpoint correspond to the implementation of this extension point. For additional information on implementing extension points, see Using extension points to extend application functionality and Extension points in Cloud Call Center.
URL format
Default URL: /api/sn_cti_core/cti_api/call_analysis/{interaction_sys_id}
Supported request parameters
Name | Description |
---|---|
interaction_sys_id | Sys_id of the agent call for which to render to transcript and recording. Data type: String Table: Interaction [interaction] |
Name | Description |
---|---|
None |
Name | Description |
---|---|
None |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
Header | Description |
---|---|
Accept | Data format of the response
body. Supported types: application/json or
application/xml.
Default: application/json |
Header | Description |
---|---|
None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
Status code | Description |
---|---|
200 | Successful. The request was successfully processed. |
Various | Depends on the implementation in the sn_cti_core.CTICallAnalysisExtractor extension point. |
Response body parameters (JSON or XML)
Name | Description |
---|---|
Depends on the implementation in the sn_cti_core.CTICallAnalysisExtractor extension point. |
Example: cURL request
The following example requests the rendering of a specific agent call.
Rendered call data based on the processing specified in the sn_cti_core.CTICallAnalysisExtractor extension point.
CTI_API - POST /sn_cti_core/cti_api/providers/{provider}/components/{component}/versions/{version}
Invokes Computer Telephony Integration (CTI) operations using a specified operation handlers within the Cloud Call Center framework.
Before calling this endpoint, you must create a provider configuration record and associated message transformers. This is typically done when the Cloud Call Center framework is initially implemented in your instance. For additional information, see Provider configuration in Cloud Call Center.
A message transformer is responsible for parsing the payload specified in the request body of this endpoint and setting the payload data on an associated CTIOperationRequest object. An operation handler is then responsible for getting the information from the CTIOperationRequest object and using the data to process the requested operation.
After the message transformer finishes parsing the passed in payload, the Cloud Call Center framework instantiates the specified operation handler. The operating handler uses the CTIOperationResponse CTIOperationResponse - Scoped, Global API GET methods to obtain the information that it needs from the associated CTIOperationRequest object to process the requested operation.
You define the operation handler to invoke, and its associated parameters, in the request body of this endpoint call. The specified operation handler must be defined in your instance within the Operation Handler [sn_cti_operation_handler] table. For additional information on creating operation handlers, see Configure a contact flow for an automated caller interaction.
- Amazon Web Services (AWS) Lambda Proxy (Invoke AWS Lambda function)
- AWS Lex Bot (Get Customer Input)
In addition, the user credentials that you pass in the call must have the sn_cti_core.service or admin role to access this endpoint.
For additional information on the Cloud Call Center, see Cloud Call Center.
URL format
Default URL: /api/sn_cti_core/cti_api/providers/{provider}/components/{component}/versions/{version}
Supported request parameters
Name | Description |
---|---|
component | Label of your provider component, such as sn_aws_connect_lambda_proxy_component or sn_aws_connect_lex_intent_processor_component. Data type: String Table: Component field of the Provider Component [sn_cti_provider_component] |
provider | Sys_id of your CTI provider record. Data type: String Table: Provider Component [sn_cti_provider_component] |
version | Version of the specified provider record. Data type: String Table: In the Version field of the Provider Component [sn_cti_provider_component] table. |
Name | Description |
---|---|
None |
Name | Description |
---|---|
Depends on the operation handler being called and its specific implementation. |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
Header | Description |
---|---|
Accept | Data format of the response
body. Supported types: application/json or
application/xml.
Default: application/json |
Header | Description |
---|---|
None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
Status code | Description |
---|---|
200 | Successful. The request was successfully processed. |
Various | Depends on the operation being called and its specific implementation. |
Response body parameters (JSON or XML)
Name | Description |
---|---|
Depends on the operation being called and its specific implementation. |
Example: cURL request
The following example invokes the interactionEvent operation handler through the sn_aws_connect_lambda_proxy_component component.
Example response to the interactionEvent operation handler call.
CTI_API - POST /sn_cti_core/cti_api/softphone/sources/{source}/actor/{actor}/events/{event}
Passes events from a Contact Control Panel (CCP) provider to a ServiceNow instance.
Typically you call this endpoint from your CCP UI page to perform various tasks (events), such as changing the presence state of an agent or changing the state of a record on call completion. To access this endpoint, the user credentials that you pass in the call must have the sn_openframe_user or admin role.
This endpoint has a corresponding extension point, sn_cti_core.SoftPhoneEventSink, that is responsible for determining the action that is actually performed by this endpoint call for each event. The base system provides an implementation for Amazon Connect events. If your implementation is different, you should customize this extension point before utilizing this endpoint. The request body and response formats of this endpoint correspond to the implementation of this extension point. For additional information on implementing extension points, see Using extension points to extend application functionality and Extension points in Cloud Call Center.
URL format
Default URL: /api/sn_cti_core/cti_api/softphone/sources/{source}/actor/{actor}/events/{event}
Supported request parameters
Name | Description |
---|---|
actor | Emitter of the event, such as agent or external_system. The specific values are
determined by the implementer. Data type: String |
event | Name of the event in the Computer Telephony Integration (CTI) vendor’s system,
such as Available or Offline. The specific values are determined by the implementer
but must be a single word/phrase without spaces or special characters. Data type: String |
sources | Identifier of the vendor's Softphone UI page, such as aws_ccp. Data type: String |
Name | Description |
---|---|
None |
Name | Description |
---|---|
Implementation specific. Determined by the implementation of the sn_cti_core.SoftPhoneEventSink extension point. |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
Header | Description |
---|---|
Accept | Data format of the response
body. Supported types: application/json or
application/xml.
Default: application/json |
Header | Description |
---|---|
None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
Status code | Description |
---|---|
200 | Successful. The request was successfully processed. |
Response body parameters (JSON or XML)
Name | Description |
---|---|
None |
Example: cURL request
The following example passes AgentStatusOne event information to the ServiceNow instance. The request body parameters are determined by the implementation of the sn_cti_core.SoftPhoneEventSink extension point.
No response parameters are returned.