CTI-API
Die CTI Die API stellt Endpunkte bereit, mit denen Anbieter von Computer Telephony Integration (CTI) mit dem Cloud Call Center-Framework interagieren können.
- Rufen Sie CTI-Vorgänge mit anwenderdefinierten Vorgangs-Handlern im Cloud Call Center-Framework auf.
- Übergeben Sie Ereignisse von einem CCP-Anbieter an einen ServiceNow Instanz.
- Transkripte und Aufzeichnungen für einen angegebenen Agent-Anruf rendern.
Diese API wird in ausgeführt sn_cti_coreNamespace. Bevor Sie auf diese API zugreifen können, müssen Sie die Anwendung Cloud Call Center Core (sn_cti_Core) installieren. Informationen zu dieser Installation finden Sie unter Installieren Sie Cloud-Callcenter-Anwendungen .
Weitere Informationen zum Cloud-Callcenter finden Sie unter Cloud-Callcenter .
CTI_API: /sn_cti_Core/cti_api/Call_Analysis/{Interaction_sys_ID} ABRUFEN
Rendert Transkripte und Aufzeichnungen für einen angegebenen Agent-Anruf.
Komponenten verwenden diesen Endpunkt in Mitarbeiterarbeitsbereichen und Manager, um zugehörige Mitarbeiteranruf-Transkripte und -Aufzeichnungen zu rendern. Um auf diesen Endpunkt zuzugreifen, müssen die Anwenderanmeldeinformationen, die Sie im Anruf übergeben, die Rolle „Workspace_user“, „Interaction_Agent“ oder „admin“ haben.
Dieser Endpunkt hat 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 zur Implementierung von Erweiterungspunkten finden Sie unter Erweiterungspunkte verwenden, um die Anwendungsfunktionalität zu erweitern Und Erweiterungspunkte im Cloud-Callcenter .
URL-Format
Standard-URL: /api/sn_cti_Core/cti_api/Call_Analysis/{Interaction_sys_ID}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| interaction_sys_id | SYS_ID des Agent-Anrufs, für den das Rendern in Transkript und Aufzeichnung erfolgen soll. Datentyp: Zeichenfolge Tabelle: Interaktion [Interaktion] |
| 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 REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Verschiedene | Hängt von der Implementierung im Erweiterungspunkt sn_cti_Core.CTICallAnalysisExtractor ab. |
Antworttext-Parameter (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 Agent-Anrufs 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'
Gerenderte Aufrufdaten basierend auf der im Erweiterungspunkt sn_cti_Core.CTICallAnalysisExtractor angegebenen Verarbeitung.
{
"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/{Provider}/components/{component}/versions/{Version}
Ruft CTI-Vorgänge (Computer Telephony Integration) mithilfe eines angegebenen Vorgangs-Handlers im Cloud Call Center-Framework auf.
Bevor Sie diesen Endpunkt aufrufen, müssen Sie einen Anbieterkonfigurationsdatensatz und zugehörige Nachrichtentransformatoren erstellen. Dies geschieht normalerweise, wenn das Cloud-Callcenter-Framework anfänglich in Ihrer Instanz implementiert wird. Weitere Informationen finden Sie unter Anbieterkonfiguration im Cloud-Callcenter .
Ein Nachrichtentransformator ist verantwortlich für die Analyse der im Anforderungstext dieses Endpunkts angegebenen Nutzlast und das Festlegen der Nutzlastdaten für einen zugeordneten CTIOperationRequest Objekt. 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 Nachrichtenumwandler die Analyse der übergebenen Nutzlast abgeschlossen hat, instanziiert das Cloud-Callcenter-Framework den angegebenen Vorgangs-Handler. Der Betriebshandler verwendet CTIOperationResponse CTIOperationResponse: Bereichsbezogen, Global API RUFT Methoden AB, um die Informationen abzurufen, die sie vom zugehörigen 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 in der Tabelle „Vorgangs-Handler“ [sn_cti_Operation_Handler] definiert werden. Weitere Informationen zum Erstellen von Vorgangs-Handlern finden Sie unter Konfigurieren Sie einen Kontakt-Flow für eine automatisierte Anruferinteraktion .
- Amazon Web Services (AWS) Lambda-Proxy (AWS Lambda-Funktion aufrufen)
- AWS Lex-Bot (Kundeneingabe abrufen)
Darüber hinaus müssen die Anwenderanmeldeinformationen, die Sie im Anruf übergeben, über die Administratorrolle sn_cti_core.service oder verfügen, um auf diesen Endpunkt zuzugreifen.
Weitere Informationen zum Cloud-Callcenter finden Sie unter Cloud-Callcenter .
URL-Format
Standard-URL: /api/sn_cti_Core/cti_api/Provider/{Provider}/components/{component}/versions/{Version}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Komponente | Bezeichnung Ihrer Anbieterkomponente, z. B. sn_aws_Connect_lambda_Proxy_component oder sn_aws_Connect_Lex_Intent_processor_component. Datentyp: Zeichenfolge Tabelle: Komponentenfeld der Anbieterkomponente [sn_cti_Provider_component] |
| Anbieter | SYS_ID Ihres CTI-Anbieterdatensatzes. Datentyp: Zeichenfolge Tabelle: Anbieterkomponente [sn_cti_Provider_component] |
| Version | Version des angegebenen Anbieterdatensatzes. Datentyp: Zeichenfolge Tabelle: Im Feld Version der Tabelle „Anbieterkomponente“ [sn_cti_Provider_component]. |
| 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 REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Verschiedene | Hängt vom aufgerufenen Vorgang und seiner spezifischen Implementierung ab. |
Antworttext-Parameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Hängt vom aufgerufenen Vorgang und seiner spezifischen Implementierung ab. |
cURL-Anforderung
Das folgende Beispiel ruft den InteractionEvent-Vorgangs-Handler über die Komponente sn_aws_Connect_lambda_Proxy_component auf.
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 InteractionEvent-Vorgangs-Handler-Aufruf.
{
"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/{Source}/actor/{actor}/Events/{event}
Übergibt Ereignisse von einem Contact Control Panel (CCP)-Anbieter an einen ServiceNow Instanz.
In der Regel rufen Sie diesen Endpunkt über Ihre CCP-UI-Seite an, um verschiedene Aufgaben (Ereignisse) auszuführen, z. B. das Ändern des Anwesenheitsstatus eines Service Desk-Mitarbeiters oder das Ändern des Status eines Datensatzes bei Abschluss der Rufbereitschaft. Um auf diesen Endpunkt zuzugreifen, müssen die Anwenderanmeldeinformationen, 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 von diesem Endpunkt-Aufruf für jedes Ereignis tatsächlich 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 zur Implementierung von Erweiterungspunkten finden Sie unter Erweiterungspunkte verwenden, um die Anwendungsfunktionalität zu erweitern Und Erweiterungspunkte im Cloud-Callcenter .
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 Ereignisses, z. B. Agent oder external_System. Die spezifischen Werte werden vom Implementierer bestimmt. Datentyp: Zeichenfolge |
| event | Name des Ereignisses im System des Computers Telephony Integration (CTI)-Lieferanten, z. B. verfügbar oder Offline. Die spezifischen Werte werden vom Implementierer bestimmt, müssen jedoch ein einzelnes Wort/Ausdruck 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 REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
Antworttext-Parameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Keine |
cURL-Anforderung
Im folgenden Beispiel werden AgentStatusOne-Ereignisinformationen an übergeben ServiceNow Instanz. Die Parameter des Anforderungstexts 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": {}
}