CTI-API
Die CTI- API stellt Endpunkte bereit, die CTI-Anbietern (Computer-Telefonie-Integration) die Interaktion mit dem Cloud-Callcenter-Framework ermöglichen.
- Rufen Sie CTI-Vorgänge mithilfe von anwenderdefinierten Vorgangshandlern im Cloud Call Center-Framework auf.
- Übergeben Sie Ereignisse von einem CCP-Anbieter an eine ServiceNow -Instanz.
- Rendern Sie Transkripte und Aufzeichnungen für einen angegebenen Mitarbeiteranruf.
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. Informationen zu dieser Installation finden Sie unter Cloud-Callcenter-Anwendungen installieren.
Weitere Informationen zum Cloud-Callcenter finden Sie unter Cloud-Callcenter.
CTI_API – GET /sn_cti_core/cti_api/call_anasys/{interaction_sys_id}
Rendert Transkripte und Aufzeichnungen für einen angegebenen Mitarbeiteranruf.
Komponenten verwenden diesen Endpunkt in Mitarbeiter- und Manager-Arbeitsbereichen, um zugehörige Anruftranskripte und Aufzeichnungen von Service Desk-Mitarbeitern zu rendern. Um auf diesen Endpunkt zuzugreifen, müssen die im Aufruf übergebenen Anmeldeinformationen die Rolle workspace_user, interaction_agent oder admin aufweisen.
Dieser Endpunkt verfügt über den entsprechenden Erweiterungspunkt „sn_cti_core.CTICallAnasysExtractor“, der für das Rendern der Anrufdaten verantwortlich ist. Das Basissystem stellt eine Implementierung für Amazon Connect bereit. Wenn Ihre Implementierung davon abweicht, 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-Callcenter.
URL-Format
Standard-URL: /api/sn_cti_core/cti_api/call_anasys/{interaction_sys_id}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| interaction_sys_id | Sys_id des Mitarbeiteraufrufs, der im Transkript und in der Aufzeichnung gerendert werden soll. 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.CTICallAnasysExtractor ab. |
Parameter des Antworttexts (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Hängt von der Implementierung im Erweiterungspunkt sn_cti_core.CTICallAnasysExtractor 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'
Gerenderte Anrufdaten basierend auf der im Erweiterungspunkt „sn_cti_core.CTICallAnasysExtractor“ 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-Telefonie-Integration) mithilfe eines angegebenen Vorgangshandlers im Cloud-Callcenter-Framework auf.
Bevor Sie diesen Endpunkt aufrufen, müssen Sie einen Anbieterkonfigurationsdatensatz und zugehörige Nachrichtenumwandler erstellen. Dies geschieht 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 Nachrichtenumwandler ist für die Analyse der im Anforderungstext dieses Endpunkts angegebenen Nutzlast und das Festlegen 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 Nachrichtenumwandler die Analyse der übergebenen Nutzlast abgeschlossen hat, instanziiert das Cloud-Callcenter-Framework den angegebenen Vorgangs-Handler. Der -Handler für die Ausführungsvorgänge verwendet die GET-Methoden der CTIOperationResponse- CTIOperationResponse: Bereichsbezogen, global API, um die Informationen abzurufen, die er vom zugehörigen CTIOperationRequest-Objekt zur Verarbeitung des angeforderten Vorgangs benötigt.
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 sein. Weitere Informationen zum Erstellen von Vorgangshandlern finden Sie unter Kontakt-Flow für automatisierte Anruferinteraktion konfigurieren.
- Amazon Web Services (AWS) Lambda Proxy (AWS Lambda-Funktion aufrufen)
- AWS Lex-Bot (Kundeneingabe abrufen)
Darüber hinaus müssen die im Aufruf übergebenen Anmeldeinformationen ü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 Ihrer Anbieterkomponente, z. B. sn_aws_connect_lambda_proxy_component oder sn_aws_connect_lex_intent_processor_component. Befindet sich im Feld Komponente der Tabelle „Anbieterkomponente“ [sn_cti_provider_component]. Datentyp: Zeichenfolge |
| Anbieter | Sys_id des CTI-Provider-Datensatzes. Befindet sich in der Tabelle „Anbieterkomponente“ [sn_cti_provider_component]. Datentyp: Zeichenfolge |
| Version | Version des angegebenen Anbieterdatensatzes. Befindet sich im Feld „Version“ der Tabelle „Anbieterkomponente“ [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. |
Parameter des Antworttexts (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 -Interaktions-Vorgangs-Handlers.
{
"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 CCP-Anbieter (Contact Control Panel) an eine ServiceNow -Instanz.
Normalerweise rufen Sie diesen Endpunkt von Ihrer CCP-UI-Seite aus auf, 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 eines Anrufs. Für den Zugriff auf diesen Endpunkt müssen die im Aufruf übergebenen Anmeldeinformationen die Rolle sn_openframe_user oder admin aufweisen.
Dieser Endpunkt hat einen entsprechenden Erweiterungspunkt, sn_cti_core.SoftPhoneEventSink, der dafür verantwortlich ist, die Aktion zu bestimmen, die tatsächlich von diesem Endpunktaufruf für jedes Ereignis ausgeführt wird. Das Basissystem bietet eine Implementierung für Amazon Connect-Ereignisse. Wenn Ihre Implementierung davon abweicht, 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-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 konkreten Werte werden vom Implementierer bestimmt. Datentyp: Zeichenfolge |
| event | Name des Ereignisses im System des Lieferanten für Computer-Telefonie-Integration (Computer Teletelefony Integration, CTI), z. B. Verfügbar oder Offline. Die spezifischen Werte werden vom Implementierer bestimmt, 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. |
Parameter des Antworttexts (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Keine |
cURL-Anforderung
Im folgenden Beispiel werden AgentStatusOne-Ereignisinformationen an die Instanz ServiceNow übergeben. 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": {}
}