CTI API
. CTI A API fornece endpoints que permitem que os provedores de Integração de telefonia por computador (CTI) interajam com a estrutura do call center em nuvem.
- Invoque operações de CTI usando manipuladores de operação personalizados na estrutura do call center na nuvem.
- Passar eventos de um provedor de CCP para um ServiceNow instância.
- Renderize transcrições e gravações para uma chamada de agente especificada.
Esta API é executada no sn_cti_corenamespace. Para acessar esta API, você deve instalar a aplicação Cloud Call Center Core (sn_cti_core). Para obter informações sobre esta instalação, consulte Instale aplicações de call center na nuvem .
Para obter informações adicionais sobre o call center na nuvem, consulte Call center na nuvem .
CTI_api - OBTÉM /sn_cti_core/cti_api/call_analysis/
Renderiza transcrições e gravações para uma chamada de agente especificada.
Os componentes usam este endpoint nos espaços do agente e do gerente para renderizar transcrições e gravações de chamadas do agente associadas. Para acessar este endpoint, as credenciais do usuário que você passa na chamada devem ter a função workspace_user, interaction_agent ou admin.
Este endpoint tem um ponto de extensão correspondente, sn_cti_core.CTICallAnalysisExtractor, que é responsável pela renderização dos dados da chamada. O sistema de base fornece uma implementação para o Amazon Connect. Se sua implementação for diferente, você deverá personalizar este ponto de extensão antes de utilizar este endpoint. Além disso, os parâmetros de resposta retornados por este endpoint correspondem à implementação deste ponto de extensão. Para obter informações adicionais sobre como implementar pontos de extensão, consulte Usando pontos de extensão para estender a funcionalidade da aplicação e. Pontos de extensão no call center na nuvem .
Formato de URL
URL padrão: /api/sn_cti_core/cti_api/call_analysis/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| interaction_sys_id | Sys_id da chamada do agente para a qual renderizar para transcrição e gravação. Tipo de dados: Cadeia de caracteres Tabela: Interação [interaction] |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| Vários | Depende da implementação no ponto de extensão sn_cti_core.CTICallAnalysisExtractor. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| Depende da implementação no ponto de extensão sn_cti_core.CTICallAnalysisExtractor. |
Solicitação de curl
O exemplo a seguir solicita a renderização de uma chamada de agente específica.
curl -X POST \
https://instance.servicenow.com/api/sn_cti_core/cti_api/call_analysis/88f2d9b7dbd7101058f05214dc96192a \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password'
Dados de chamada renderizados com base no processamento especificado no ponto de extensão sn_cti_core.CTICallAnalysisExtractor.
{
"result":{
"status":"success",
"recordingData":{
"recordingUrls":[
"https://instance.awsapps.com/connect/get-recording?format=wav&callLegId=7626da7f-e083-4085-b77a-85bfea18fe24",
"https://s3.console.aws.amazon.com/s3/object/connect-60f8665899b6/connect/instance/CallRecordings/2020/09/23/7626da7f-e083-4085-b77a-85bfea18fe24_20200923T18%3A24_UTC.wav"
],
"status":"success"
},
"transcriptData":{
"transcript":[
{
"content":"Okay. Hello? Mhm. Okay, okay.",
"beginOffsetMillis":3940,
"participantId":"CUSTOMER",
"additionalInfo":[
{
"value":"Neutral",
"highlightColor":"info"
}
]
},
{
"content":"bye.",
"beginOffsetMillis":26040,
"participantId":"AGENT",
"additionalInfo":[
{
"value":"Neutral",
"highlightColor":"info"
}
]
}
],
"sentimentTrend":[
{
"x":0,
"y":0
},
{
"x":3939,
"y":0
},
{
"x":3940,
"y":0
},
{
"x":26450,
"y":0
}
],
"sentimentPercents":{
"positive":0,
"neutral":100,
"negative":0
},
"talkTimePercents":{
"agent_talk_time":2.515491747959998,
"customer_talk_time":28.82998956991226,
"non_talk_time":68.65451868212774
},
"metadata":{
"ctiVendor":"amazon_connect",
"customerId":"Alice Smith",
"agentId":"Piper Epps"
},
"status":"success"
},
"metadata":{
"callMonitorURL":"https://instance.awsapps.com/connect/real-time-metrics?tableType=user",
"recordingState":"success",
"transcriptState":"success",
"emptyStateImages":{
"in_progress":"call_in_progress.png",
"processing":"processing_post_call.png",
"unavailable":"transcript_failed.png"
}
}
}
}
CTI_api - POST /sn_cti_core/cti_api/providers/
Invoca operações de Integração de telefonia por computador (CTI) usando manipuladores de operação especificados na estrutura do call center em nuvem.
Antes de chamar este endpoint, você deve criar um registro de configuração do provedor e transformadores de mensagem associados. Normalmente, isso é feito quando a estrutura do call center na nuvem é implementada inicialmente em sua instância. Para obter informações adicionais, consulte Configuração do provedor no call center na nuvem .
Um transformador de mensagem é responsável por analisar a carga especificada no corpo da solicitação deste endpoint e definir os dados da carga em um associado CTIOperationRequest objeto. Um manipulador de operação é responsável por obter as informações do objeto CTIOperationRequest e usar os dados para processar a operação solicitada.
Depois que o transformador de mensagem conclui a análise da carga passada, a estrutura do call center na nuvem instancia o manipulador de operação especificado. O manipulador operacional usa o. CTIOperationResponse CTIOperationResponse - Com escopo, global API OBTER métodos para obter as informações necessárias do objeto CTIOperationRequest associado para processar a operação solicitada.
Você define o manipulador de operação a ser invocado e seus parâmetros associados no corpo da solicitação desta chamada de endpoint. O manipulador de operação especificado deve ser definido em sua instância na tabela Manipulador de operações [sn_cti_operation_handler]. Para obter informações adicionais sobre como criar manipuladores de operação, consulte Configure um fluxo de contato para uma interação automatizada do chamador .
- Proxy Lambda da Amazon Web Services (AWS) (invocar função do AWS Lambda)
- AWS Lex Bot (obter entrada do cliente)
Além disso, as credenciais de usuário que você passa na chamada devem ter a função sn_cti_core.service ou de administrador para acessar este endpoint.
Para obter informações adicionais sobre o call center na nuvem, consulte Call center na nuvem .
Formato de URL
URL padrão: /api/sn_cti_core/cti_api/providers/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| componente | Rótulo do componente do provedor, como sn_aws_connect_lambda_proxy_component ou sn_aws_connect_lex_intent_processor_component. Tipo de dados: Cadeia de caracteres Tabela: Campo de componente do componente do provedor [sn_cti_provider_component] |
| provedor | Sys_id do registro do provedor de CTI. Tipo de dados: Cadeia de caracteres Tabela: Componente do provedor [sn_cti_provider_component] |
| versão | Versão do registro do provedor especificado. Tipo de dados: Cadeia de caracteres Tabela: No campo Versão da tabela Componente do provedor [sn_cti_provider_component]. |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| Depende do manipulador de operação que está sendo chamado e sua implementação específica. |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| Vários | Depende da operação que está sendo chamada e sua implementação específica. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| Depende da operação que está sendo chamada e sua implementação específica. |
Solicitação de curl
O exemplo a seguir invoca o manipulador de operação interactionEvent por meio do componente sn_aws_connect_lambda_proxy_component.
curl -X POST \
https://instance.servicenow.com/api/sn_cti_core/cti_api/providers/c4b12aa6e700001034b36584c2f6a9bc/components/sn_aws_connect_lambda_proxy_component/versions/v1.0 \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password'
-d '{
"context": {
"callbackWaitsForEmptyEventLoop": true,
"functionVersion": "$LATEST",
"functionName": "snRALJNLambda",
"memoryLimitInMB": "128",
"logGroupName": "/aws/lambda/snRALJNLambda",
"logStreamName": "2020/09/24/[$LATEST]b604a9579ef548a1b3f6b6739d19e1d9",
"invokedFunctionArn": "arn:aws:lambda:us-west-2:028738656045:function:snRALJNLambda",
"awsRequestId": "b528a5a8-bb0b-4ec8-8e76-aa568f68fdc8"
},
"event": {
"Details": {
"ContactData": {
"Attributes": {
"$accepted_terms": "true"
},
"Channel": "VOICE",
"ContactId": "8fe7c107-78df-4eec-85b3-91c6dcb8e912",
"CustomerEndpoint": {
"Address": "+16693504374",
"Type": "TELEPHONE_NUMBER"
},
"Description": null,
"InitialContactId": "8fe7c107-78df-4eec-85b3-91c6dcb8e912",
"InitiationMethod": "INBOUND",
"InstanceARN": "arn:aws:connect:us-west-2:028738656045:instance/d276bd83-6305-4f63-abee-e66fd5bdf503",
"LanguageCode": "en-US",
"MediaStreams": {
"Customer": {
"Audio": null
}
},
"Name": null,
"PreviousContactId": "8fe7c107-78df-4eec-85b3-91c6dcb8e912",
"Queue": {
"ARN": "arn:aws:connect:us-west-2:028738656045:instance/d276bd83-6305-4f63-abee-e66fd5bdf503/queue/0f17b62d-d493-439a-88c6-42db0d0e652f",
"Name": "BasicQueue",
"OutboundCallerId": {
"Address": "+18335441399",
"Type": "TELEPHONE_NUMBER"
}
},
"References": {},
"SystemEndpoint": {
"Address": "+18335441399",
"Type": "TELEPHONE_NUMBER"
}
},
"Parameters": {
"sn_component": "sn_aws_connect_lambda_proxy_component",
"sn_operation": "interactionEvent"
}
},
"Name": "ContactFlowEvent"
}
}'
Resposta de exemplo para a chamada do manipulador de operação interactionEvent.
{
"result": {
"snc_user_first_name": "Jane",
"snc_user_last_name": "Doe",
"snc_user_sys_id": "bbe591bfdb5710100231dbdb5e9619e3",
"snc_user_vip": "false",
"interactionTable": "interaction",
"interactionId": "973b07c8dbe710100231dbdb5e961908",
"statusCode": 200,
"message": "success"
}
}
CTI_api - POST /sn_cti_core/cti_api/softphone/sources/
Passa eventos de um provedor do Painel de controle de contato (CCP) para um ServiceNow instância.
Normalmente, você chama esse endpoint na página de IU do CCP para executar várias tarefas (eventos), como mudar o estado de presença de um agente ou mudar o estado de um registro na conclusão da chamada. Para acessar este endpoint, as credenciais do usuário que você passa na chamada devem ter a função sn_openframe_user ou admin.
Este endpoint tem um ponto de extensão correspondente, sn_cti_core.SoftPhoneEventSink, que é responsável por determinar a ação que é realmente realizada por esta chamada de endpoint para cada evento. O sistema de base fornece uma implementação para eventos do Amazon Connect. Se sua implementação for diferente, você deverá personalizar este ponto de extensão antes de utilizar este endpoint. O corpo da solicitação e os formatos de resposta deste endpoint correspondem à implementação deste ponto de extensão. Para obter informações adicionais sobre como implementar pontos de extensão, consulte Usando pontos de extensão para estender a funcionalidade da aplicação e. Pontos de extensão no call center na nuvem .
Formato de URL
URL padrão: /api/sn_cti_core/cti_api/softphone/sources/
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| ator | Emissor do evento, como agente ou external_system. Os valores específicos são determinados pelo implementador. Tipo de dados: Cadeia de caracteres |
| evento | Nome do evento no sistema do fornecedor de Integração de telefonia por computador (CTI), como Disponível ou Offline. Os valores específicos são determinados pelo implementador, mas devem ser uma única palavra/frase sem espaços ou caracteres especiais. Tipo de dados: Cadeia de caracteres |
| origens | Identificador da página de IU do Softphone do fornecedor, como aws_cpc. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| Implementação específica. Determinado pela implementação do ponto de extensão sn_cti_core.SoftPhoneEventSink. |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Solicitação de curl
O exemplo a seguir passa informações de evento do AgentStatusOne para ServiceNow instância. Os parâmetros do corpo da solicitação são determinados pela implementação do ponto de extensão sn_cti_core.SoftPhoneEventSink.
curl -X POST \
https://instance.servicenow.com/api/sn_cti_core/cti_api/softphone/sources/aws_ccp/actor/agent/events/AgentStatusOne \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password'
-d '{
"agent":{
"sys_id":"doe.john@snc",
"status":{
"agentStateARN":null,
"type":"not_routable",
"name":"AgentStatusOne",
"startTimestamp":"2020-09-24T21:43:20.957Z"
}
},
"window":{
"location":{
"href":"https://instance.servicenow.com/sn_cti_amzn_cct_aws_ccp.do?id=44106eabdb5710100231dbdb5e96191d",
"search":"?id=44106eabdb5710100231dbdb5e96191d"
}
},
"aws":{
"connect":{
"config":{
"ccpHost":"instance.awsapps.com",
"ccpUrl":"https://instance.awsapps.com/connect/ccp-v2/",
"loginPopup":true,
"audioRecordingUrlPrefix":"https://instance.awsapps.com/connect/get-recording?format=wav&callLegId=",
"softphone":{
"allowFramedSoftphone":true
},
"region":"us-west-2"
}
}
}
}'
Nenhum parâmetro de resposta é retornado.
{
"result": {}
}