CTI-API
Die CTI- API bietet Endpunkte, die es CTI-Anbietern (Computer Telephony Integration) ermöglichen, mit dem Cloud Call Center-Framework zu interagieren.
- Rufen Sie CTI-Vorgänge mit benutzerdefinierten Vorgangs-Handlern im Cloud Call Center-Framework auf.
- Übergeben Sie Events von einem CCP-Provider an eine ServiceNow -Instanz.
- Transkripte und Aufzeichnungen für einen angegebenen Mitarbeiteranruf rendern.
Diese API wird im Namespace sn_cti_core ausgeführt. Bevor Sie auf diese API zugreifen können, müssen Sie die Anwendung Cloud Call Center Core (sn_cti_core) installieren. Weitere Informationen zu dieser Installation finden Sie unter Cloud Call Center-Anwendungen installieren.
Weitere Informationen zum Cloud-Callcenter finden Sie unter Cloud-Callcenter.
CTI_API – GET /sn_ct_core/ct_api/call_analysis/{interaction_sys_id}
Rendert Transkripte und Aufzeichnungen für einen angegebenen Mitarbeiteranruf.
Komponenten verwenden diesen Endpunkt in Agent- und Manager-Arbeitsbereichen, um zugehörige Anruftranskripte und Aufzeichnungen von Service Desk-Mitarbeitern zu rendern. Um auf diesen Endpunkt zuzugreifen, müssen die Benutzeranmeldeinformationen, die Sie im Aufruf übergeben, die Rolle „workspace_user“, „interaction_agent“ oder „admin“ haben.
Dieser Endpunkt verfügt über einen entsprechenden Erweiterungspunkt, sn_cti_core.CTICallAnalysisExtractor, der für das Rendern der Anrufdaten verantwortlich ist. Das Basissystem bietet eine Implementierung für Amazon Connect. Wenn Ihre Implementierung anders ist, sollten Sie diesen Erweiterungspunkt anpassen, bevor Sie diesen Endpunkt verwenden. Außerdem entsprechen die von diesem Endpunkt zurückgegebenen Antwortparameter der Implementierung dieses Erweiterungspunkts. Weitere Informationen zum Implementieren von Erweiterungspunkten finden Sie unter Erweiterungspunkte zum Erweitern der Anwendungsfunktionalität verwenden und Erweiterungspunkte in Cloud Call Center.
URL-Format
Standard-URL: /api/sn_ct_core/ct_api/call_analysis/{interaction_sys_id}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| interaction_sys_id | Sys_id des Anrufs des Service Desk-Mitarbeiters, für den Transkript und Aufzeichnung gerendert werden sollen. Befindet sich in der Interaktionstabelle [interaction]. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
Kopfzeilen
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Verschiedene | Hängt von der Implementierung im Erweiterungspunkt sn_cti_core.CTICallAnalysisExtractor ab. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Hängt von der Implementierung im Erweiterungspunkt sn_cti_core.CTICallAnalysisExtractor ab. |
cURL-Anforderung
Im folgenden Beispiel wird das Rendern eines bestimmten Mitarbeiteranrufs angefordert.
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'
Anrufdaten basierend auf der im Erweiterungspunkt sn_cti_core.CTICallAnalysisExtractor angegebenen Verarbeitung gerendert.
{
"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_ct_core/ct_api/providers/{provider}/components/{component}/versions/{version}
Ruft CTI-Vorgänge (Computer Telephony Integration) mit einem angegebenen Vorgangs-Handler im Cloud Call Center-Framework auf.
Bevor Sie diesen Endpunkt aufrufen, müssen Sie einen Provider-Konfigurationsdatensatz und zugehörige Nachrichtenumwandler erstellen. Dies erfolgt normalerweise, wenn das Cloud Call Center-Framework zum ersten Mal in Ihrer Instanz implementiert wird. Weitere Informationen finden Sie unter Anbieterkonfiguration im Cloud-Callcenter.
Ein Nachrichtentransformator ist für die Analyse der im Anforderungstext dieses Endpunkts angegebenen Nutzlast und die Festlegung der Nutzlastdaten für ein zugeordnetes CTIOperationRequest- Objekt verantwortlich. Ein Vorgangs-Handler ist dann dafür verantwortlich, die Informationen aus dem CTIOperationRequest-Objekt abzurufen und die Daten zur Verarbeitung des angeforderten Vorgangs zu verwenden.
Nachdem der Nachrichtentransformator die Analyse der übergebenen Nutzlast abgeschlossen hat, instanziiert das Cloud Call Center-Framework den angegebenen Vorgangs-Handler. Der Betriebs-Handler verwendet die GET-Methoden der CTIOperationResponse- CTIOperationResponse – Scoped, Global API, um die Informationen abzurufen, die er vom zugeordneten CTIOperationRequest-Objekt benötigt, um den angeforderten Vorgang zu verarbeiten.
Sie definieren den aufzurufenden Vorgangs-Handler und die zugehörigen Parameter im Anforderungstext dieses Endpunktaufrufs. Der angegebene Vorgangs-Handler muss in Ihrer Instanz innerhalb der Tabelle „Vorgangs-Handler“ [sn_cti_operation_handler] definiert sein. Weitere Informationen zum Erstellen von Vorgangs-Handlern finden Sie unter Kontakt-Flow für eine automatisierte Anruferinteraktion konfigurieren.
- Amazon Web Services (AWS) Lambda-Proxy (AWS Lambda-Funktion aufrufen)
- AWS Lex Bot (Kundeneingabe abrufen)
Darüber hinaus müssen die Benutzeranmeldeinformationen, die Sie im Aufruf übergeben, über die Rolle „sn_cti_core.service“ oder „admin“ verfügen, um auf diesen Endpunkt zugreifen zu können.
Weitere Informationen zum Cloud-Callcenter finden Sie unter Cloud-Callcenter.
URL-Format
Standard-URL: /api/sn_cti_core/cti_api/providers/{provider}/components/{component}/versions/{version}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Komponente | Bezeichnung der Provider-Komponente, z. B. sn_aws_connect_lambda_proxy_component oder sn_aws_connect_lex_intent_processor_component. Befindet sich im Feld Komponente der Tabelle „Provider-Komponente“ [sn_cti_provider_component]. Datentyp: Zeichenfolge |
| Anbieter | Sys_id Ihres CTI-Provider-Datensatzes. Befindet sich in der Tabelle „Provider-Komponente“ [sn_cti_provider_component]. Datentyp: Zeichenfolge |
| version | Version des angegebenen Provider-Datensatzes. Befindet sich im Feld Version der Tabelle „Provider-Komponente“ [sn_cti_provider_component]. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Hängt vom aufgerufenen Vorgangs-Handler und seiner spezifischen Implementierung ab. |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Verschiedene | Hängt vom aufgerufenen Vorgang und seiner spezifischen Implementierung ab. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Hängt vom aufgerufenen Vorgang und seiner spezifischen Implementierung ab. |
cURL-Anforderung
Im folgenden Beispiel wird der Vorgangs-Handler „interactionEvent“ über die Komponente sn_aws_connect_lambda_proxy_component aufgerufen.
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"
}
}'
Beispielantwort auf den Aufruf des Aktionshandlers „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_ct_core/ct_api/softphone/sources/{source}/actor/{actor}/events/{event}
Übergibt Events von einem Contact Control Panel (CCP)-Provider an eine ServiceNow -Instanz.
Normalerweise rufen Sie diesen Endpunkt von Ihrer CCP-UI-Seite aus auf, um verschiedene Aufgaben (Events) auszuführen, z. B. das Ändern des Anwesenheitsstatus eines Service Desk-Mitarbeiters oder das Ändern des Status eines Datensatzes bei Abschluss eines Anrufs. Um auf diesen Endpunkt zuzugreifen, müssen die Benutzeranmeldeinformationen, die Sie im Aufruf übergeben, die Rolle sn_openframe_user oder admin haben.
Dieser Endpunkt verfügt über einen entsprechenden Erweiterungspunkt, sn_cti_core.SoftPhoneEventSink, der für die Bestimmung der Aktion verantwortlich ist, die tatsächlich von diesem Endpunktaufruf für jedes Event ausgeführt wird. Das Basissystem bietet eine Implementierung für Amazon Connect-Ereignisse. Wenn Ihre Implementierung anders ist, sollten Sie diesen Erweiterungspunkt anpassen, bevor Sie diesen Endpunkt verwenden. Der Anforderungstext und die Antwortformate dieses Endpunkts entsprechen der Implementierung dieses Erweiterungspunkts. Weitere Informationen zum Implementieren von Erweiterungspunkten finden Sie unter Erweiterungspunkte zum Erweitern der Anwendungsfunktionalität verwenden und Erweiterungspunkte in Cloud Call Center.
URL-Format
Standard-URL: /api/sn_cti_core/cti_api/softphone/sources/{source}/actor/{actor}/events/{event}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Akteur | Emitter des Events, z. B. „agent“ oder „external_system“. Die spezifischen Werte werden vom Implementierer festgelegt. Datentyp: Zeichenfolge |
| event | Name des Ereignisses im System des CTI-Anbieters (Computer Telephony Integration), z. B. Verfügbar oder Offline. Die spezifischen Werte werden vom Implementierer festgelegt, müssen jedoch ein einzelnes Wort/eine einzelne Formulierung ohne Leerzeichen oder Sonderzeichen sein. Datentyp: Zeichenfolge |
| Quellen | Bezeichner der Softphone-UI-Seite des Lieferanten, z. B. aws_ccp. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Implementierungsspezifisch. Wird durch die Implementierung des Erweiterungspunkts sn_cti_core.SoftPhoneEventSink bestimmt. |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Keine |
cURL-Anforderung
Im folgenden Beispiel werden AgentStatusOne-Ereignisinformationen an die Instanz ServiceNow übergeben. Die Anforderungstextparameter werden durch die Implementierung des Erweiterungspunkts sn_cti_core.SoftPhoneEventSink bestimmt.
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"
}
}
}
}'
Es werden keine Antwortparameter zurückgegeben.
{
"result": {}
}