VoiceTranscriptObject : Bereichsbezogen
Die skriptfähige VoiceTranscriptObject -API bietet Methoden zum Speichern von Transkriptdaten für Sprachkonversationen von Drittparteien in einer Tabelle innerhalb einer Instanz ServiceNow.
Verwenden Sie beim Aufrufen der VoiceTranscriptObject -Klasse den Namespace-Bezeichner sn_cs.
Verfügbarkeit
Diese API ist im Basissystem ServiceNow verfügbar. Der Zugriff wird durch die ACLs eingeschränkt, die auf die Tabellen „Interaktion“ [interaction] und „Konversation“ [sys_cs_conversation] angewendet werden.
VoiceTranscriptObject – addVoiceInteractionMessage(String interactionId, Zeichenfolgen-JSON)
Fügt die angegebenen Nachrichten dem angegebenen Sprachtransaktionsdatensatz hinzu.
Sie können diesen Endpunkt während der Echtzeittransskription des Anrufs mehrmals aufrufen oder alle Nachrichten in einem einzigen Anruf übergeben, wenn Sie den Anruf zu Verlaufszwecken transkribieren. Wenn Sie eine Echtzeitkonversation verarbeiten, sollten Sie diesen Endpunkt häufig aufrufen, damit die Nachrichten rechtzeitig in Mitarbeiterbereich angezeigt werden. Nachrichten werden basierend auf ihrer Start- und Endzeit im Verhältnis zum Beginn des Anrufs sortiert.
| Name | Typ | Beschreibung |
|---|---|---|
| interactionId | Zeichenfolge | Sys_id des Interaktionsdatensatzes, dem die angegebenen Nachrichten hinzugefügt werden sollen. Dieser Wert wird von der Methode VoiceTranscriptObject – startVoiceInteraction(String Json) zurückgegeben. Tabelle: Interaktion [interaction] |
| <json_string> | Zeichenfolge (Array von Objekten) | Liste der Nachrichten, die an die angegebene Sprachinteraktion angehängt werden sollen.
|
| <json_string>.Attribute | Array von Objekten | Schlüssel-Wert-Paare, die der Sprachinteraktion zugeordnet werden sollen.
Dies kann jede Art von Datenobjekt sein, von einfachen Objekten bis zu komplexen zusammengesetzten Objekten. Sie werden beim Aufrufen von Amazon Web Services-APIs als eindeutige Bezeichner verwendet. Standard: Keine |
| <json_string>.beginOffsetMillis | Lang | Erforderlich Zeitversatz zwischen dem Start der Sprachinteraktion und dem Start der zugehörigen Nachricht. Beispiel: „beginOffsetMillis“: 2650. Einheit: Millisekunden |
| <json_string>.Inhalt | Zeichenfolge | Erforderlich Text der Nachricht, die der Sprachinteraktion hinzugefügt werden soll. |
| <json_string>.endOffsetMillis | Lang | Erforderlich Zeitversatz zwischen dem Start der Sprachinteraktion und dem Ende der Nachricht. Beispiel: „endOffsetMillis“: 9380. Einheit: Millisekunden |
| <json_string>.id | Zeichenfolge | Nachrichten-UUID der Quelle dieser Sprachkonversation, z. B. für AmazonConnect. Legt den Wert der ID-Spalte der Quellnachricht fest. Standard: Keine |
| <json_string>.istEreignis | Boolean | Wird von Amazon Connect festgelegt, aber derzeit nicht von der Methode verwendet. Kennzeichnung, die angibt, ob die zugeordnete Nachricht ein Ereignis ist.
Gültige Werte:
Standardwert: false |
| <json_string>.istInternalMessage | Boolean | Kennzeichnung, die angibt, ob dies eine interne Nachricht ist und dem Anrufer nicht angezeigt werden soll.
Transkriptionen werden normalerweise als interne Nachrichten betrachtet und nur für den Service Desk-Mitarbeiter angezeigt, nicht für den Anrufer. Darüber hinaus wird die Flüsterfunktion verwendet, wenn eine stille Drittpartei ohne Wissen des Anrufers mit einer Person chattet oder in ein Telefongespräch einbezogen wird und einem Service Desk-Mitarbeiter einen Rat gibt. Der Anrufer kann diese Nachrichten nicht hören oder sehen, der Service Desk-Mitarbeiter hingegen schon. Gültige Werte:
Standardwert: false |
| <json_string>.lautstärkePunktzahl | Nummer | Messung, wie laut ein Kunde oder Service Desk-Mitarbeiter während eines Anrufs spricht.
Contact Objektiv zeigt eine Analyse der Konversation an, die zeigt, wo sich die Person möglicherweise lautstark unterhält und eine negative Stimmung hat. Standard: Null |
| <json_string>.Teilnehmer-ID | Zeichenfolge | Erforderlich. Teilnehmer, der der Nachricht zugeordnet ist. Gültige Werte:
|
| <json_string>.Stimmung | Zeichenfolge | Stimmung der Nachricht.
Dieser Wert wird von einem Drittanbieter generiert. Basierend auf den Konfigurationseinstellungen der Instanz ServiceNow wird dieser Wert dann entweder als positiv, negativ oder neutral übersetzt und im Konversations- und Interaktionsdatensatz gespeichert. Gültige Werte:
Standard: Null |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Nachricht, welche die Ergebnisse des Anrufs beschreibt. |
| Zeichenfolge | Bei Erfolg: sys_id des erstellten Datensatzes der Sprachinteraktionsnachricht. Wenn ein Fehler aufgetreten ist, eine Fehlermeldung, die den Grund für den Fehler beschreibt. Tabelle: Transkript-Konversationsnachricht der Sprachfunktionen [sys_cs_message_voice_transcript] |
Das folgende Beispiel zeigt, wie Sie einem vorhandenen Sprachinteraktionsdatensatz Nachrichten hinzufügen.
var request = [
{
"isEvent":"False",
"isInternalMessage":"False",
"beginOffsetMillis":100000,
"content":"This is John. How can I help you?",
"endOffsetMillis":150000,
"id":"954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8",
"participantId":"AGENT",
"sentiment":"NEUTRAL"
},
{
"isEvent":"False",
"isInternalMessage":"False",
"beginOffsetMillis":200000,
"content":"Uh, yes, John. Um, I'm a little very frustrated right now.",
"endOffsetMillis":25000,
"id":"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
"participantId":"CUSTOMER",
"sentiment":"NEGATIVE"
}
];
gs.log(sn_cs.VoiceTranscriptObject.addVoiceInteractionMessage("1f4ed6fdb7471110b6e8bc15ae11a971", JSON.stringify(request)));
Ausgabe:
// Success
Voice conversation transcript has been successfully saved. Conversation id: ea01113cb7f71110b6e8bc15ae11a94d
// Error
Exception occurred while adding the message: <error message>
VoiceTranscriptObject – createConversation(String interactionId, Zeichenfolgen-JSON)
Erstellt einen Konversationsdatensatz in der Konversationstabelle [sys_cs_conversation] für die angegebene Interaktion.
| Name | Typ | Beschreibung |
|---|---|---|
| interactionId | Zeichenfolge | Sys_id des Interaktionsdatensatzes, für den ein Konversationsdatensatz erstellt werden soll. Dieser Wert wird von der Methode VoiceTranscriptObject – startVoiceInteraction(String Json) zurückgegeben und in der Interaktionstabelle [interaction] gespeichert. |
| <json_string> | Zeichenfolge | JSON-Zeichenfolge der Eingabeparameter. |
| <json_string>.agentId | Zeichenfolge | Eindeutiger Bezeichner des Service Desk-Mitarbeiters, dem die Sprachinteraktion zugewiesen werden soll. Standard: Keine. Dem nächsten verfügbaren Service Desk-Mitarbeiter zugewiesen Tabelle: Im Feld Anwender-ID der Tabelle „Benutzer“ [sys_user]. |
| <json_string>.callerPhoneNumber | Zeichenfolge | Rückruf-Telefonnummer des Anrufers. Dies ist die Nummer, unter der der Service Desk-Mitarbeiter den Anrufer erreicht, falls der Anruf unterbrochen wird. Format: Entspricht Standard E.164 Standard: Keine |
| <json_string>.clientSessionId | Zeichenfolge | Eindeutiger Bezeichner eines Datensatzes in einem externen System, der zur Nachverfolgung dieses Telefonanrufs verwendet wird. Diese Informationen verknüpfen die Datensätze zwischen den beiden Systemen. Standard: Keine |
| <json_string>.inboundId | Zeichenfolge | Eindeutiger Bezeichner des Anwendungsanbieters für den Sprachservice. Standard: Aus Chat abrufen Tabelle: Im Feld Eingehende ID der Tabelle Anbieterkanalanwendung [sys_cs_provider_application] |
| <json_string>.userId | Zeichenfolge | Erforderlich Telefonnummer des Anrufers, der den der Sprachtransaktion zugeordneten Anruf getätigt hat. Format: Wird von der Software definiert, die das Sprachkonversationsskript erstellt hat. Normalerweise konform mit dem E.164-Standard. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bei Erfolg wird die sys_id des neu erstellten Konversationsdatensatzes zurückgegeben. Wenn ein Fehler auftritt, gibt eine detaillierte Fehlermeldung zurück. Tabelle: Konversation [sys_cs_conversation] |
Das folgende Codebeispiel zeigt, wie Sie mit dieser Methode einen neuen Konversationsdatensatz erstellen.
var request = {
"userId": "+14089178877"
};
var response = sn_cs.VoiceTranscriptObject.createConversation("e0fc03d7b7a21110b6e8bc15ae11a96c", JSON.stringify(request));
gs.log("Conversation id: " + JSON.stringify(response));
Ausgabe:
// Success
{"conversationId":"28435dbcb7f71110b6e8bc15ae11a972","status":"SUCCESS"}
// Error
{"error":"Exception occurred while creating a conversation: <error message>","status":"FAILED"}
VoiceTranscriptObject – endVoiceInteraction(String interactionId, Zeichenfolgen-JSON)
Beendet die angegebene Sprachinteraktion. Nach dem Anruf werden keine zusätzlichen Sprachnachrichten für das Telefongespräch übersetzt und gespeichert.
| Name | Typ | Beschreibung |
|---|---|---|
| interactionId | Zeichenfolge | Sys_id des Interaktionsdatensatzes, dessen Sprachinteraktion beendet werden soll. Befindet sich in der Interaktionstabelle [interaction]. |
| <json_string> | JSON-Zeichenfolge | Optional. Parameter, die zusätzliche Informationen zu den Sprachinteraktionen enthalten. |
| <json_string>.recordingURL | Zeichenfolge | Optional. URL, unter der sich die ursprüngliche Sprachaufzeichnung befindet. Bei entsprechender Konfiguration wird diese URL unter Mitarbeiterbereichangezeigt. Standard: Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bei Erfolg wird Successzurückgegeben. Wenn ein Fehler auftritt, gibt eine detaillierte Fehlermeldung zurück. |
Das folgende Codebeispiel zeigt, wie Sie eine aktive Sprachinteraktion beenden und die ursprüngliche URL für die Sprachaufzeichnung übergeben.
var request = {
"recordingURL": "https://servicenow.zoom.us/rec/QbF7XmPFHPlX1LG"
};
gs.log(sn_cs.VoiceTranscriptObject.endVoiceInteraction("1f4ed6fdb7471110b6e8bc15ae11a971", JSON.stringify(request)));
Ausgabe:
// Success
Success
// Error
Exception occurred while ending the interaction: <error message>
VoiceTranscriptObject – saveVoiceConversationTranscript(String voiceConversationJson)
Speichert Transkriptdaten von Sprachkonversationen von Drittparteien in Tabellen innerhalb einer Instanz ServiceNow, auf die dann über Kundenservice-Management (CSM)zugegriffen werden kann.
Diese Sprachkonversationen werden normalerweise mit Software von Drittanbietern generiert. Diese Methode analysiert das übergebene JSON-Objekt und speichert die Daten in den Tabellen „Konversation“ [sys_cs_conversation], „Konversationsnachricht“ [sys_cs_message] und „Sprachtranskript-Konversationsnachricht“ [sys_cs_message_voice_transcript] in der Instanz ServiceNow. CSM greift auf die Informationen in diesen Tabellen zu, um die Transkripte der Sprachunterhaltung anzuzeigen.
| Name | Typ | Beschreibung |
|---|---|---|
| voiceConversationJson | Zeichenfolge | JSON, das die zu speichernde Sprachkonversation darstellt. Diese JSON wird von einem anderen Plugin ServiceNow gesendet, z. B. OpenFrame. Drittanbieter wie Amazon senden das JSON-Objekt an das Plugin. Das zugehörige Plugin analysiert die Sprachkonversation und sendet JSON im erforderlichen Format an Virtual Agent. Im Folgenden finden Sie ein Beispiel für eine Amazon Connect-Konversation: |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ergebnisse des Methodenaufrufs. Mögliche Rückgabeergebnisse:
|
In diesem Beispiel wird gezeigt, wie die saveVoiceConversationTranscript()- Methode aufgerufen wird, um ein Amazon Connect-Transkript zu speichern.
var voiceConversationJson = "{\n" +
" \"interactionId\":\"e67a6c30c7233010967a34c91dc26068\",\n" +
" \"source\":\"AmazonConnect\",\n" +
" \"conversationStarted\":\"2021-08-06 15:07:51\",\n" +
" \"transcript\":[\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":2650,\n" +
" \"content\":\"This is John. How can I help you? Yeah,\",\n" +
" \"endOffsetMillis\":9380,\n" +
" \"id\":\"954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8\",\n" +
" \"participantId\":\"AGENT\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":9120,\n" +
" \"content\":\"Uh, yes, John. I'm a little frustrated right now.\",\n" +
" \"endOffsetMillis\":22900,\n" +
" \"id\":\"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEGATIVE\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":9120,\n" +
" \"content\":\"I am sorry to hear that\",\n" +
" \"endOffsetMillis\":22900,\n" +
" \"id\":\"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f\",\n" +
" \"participantId\":\"AGENT\",\n" +
" \"sentiment\":\"NEGATIVE\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"false\",\n" +
" \"isInternalMessage\":\"false\",\n" +
" \"beginOffsetMillis\":23590,\n" +
" \"content\":\"I am having problems with my computer\",\n" +
" \"endOffsetMillis\":30610,\n" +
" \"id\":\"ab09b3b6-23fd-4e41-be05-6b2b53c19059\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null,null,null\",\n" +
" \"attributes\": [\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"True\",\n" +
" \"isInternalMessage\":\"True\",\n" +
" \"beginOffsetMillis\":23590,\n" +
" \"content\":\"Agent asked for help in chat\",\n" +
" \"endOffsetMillis\":30610,\n" +
" \"id\":\"ab09b3b6-23fd-4e41-be05-6b2b53c19059\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null,null,null\",\n" +
" \"attributes\": [\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}\n";
var result = sn_cs.VoiceTranscriptObject.saveVoiceConversationTranscript(voiceConversationJson);
gs.log(result);
Ausgabe:
Voice conversation transcript has been successfully saved. Conversation id: 9c573169c611228700193229fff72400
VoiceTranscriptObject – startVoiceInteraction(String Json)
Erstellt einen Sprachinteraktionsdatensatz in der Interaktionstabelle [interaction].
Sie müssen diesen Datensatz erstellen, bevor Sie versuchen, transkribierte Sprachnachrichten zu speichern. Sie können diese Methode auch verwenden, um einem bestimmten Service Desk-Mitarbeiter einen Anruf zuzuweisen, indem Sie die spezifische Anwender-IDund übergeben.
| Name | Typ | Beschreibung |
|---|---|---|
| <json_string> | Zeichenfolge | JSON-Zeichenfolge der Eingabeparameter. |
| <json_string>.agentId | Zeichenfolge | Eindeutiger Bezeichner des Service Desk-Mitarbeiters, dem die Sprachinteraktion zugewiesen werden soll. Standard: Keine. Dem nächsten verfügbaren Service Desk-Mitarbeiter zugewiesen Tabelle: Im Feld Anwender-ID der Tabelle „Benutzer“ [sys_user]. |
| <json_string>.callerPhoneNumber | Zeichenfolge | Rückruf-Telefonnummer des Anrufers. Dies ist die Nummer, unter der der Service Desk-Mitarbeiter den Anrufer erreicht, falls der Anruf unterbrochen wird. Format: Entspricht Standard E.164 Standard: Keine |
| <json_string>.clientSessionId | Zeichenfolge | Eindeutiger Bezeichner eines Datensatzes in einem externen System, der zur Nachverfolgung dieses Telefonanrufs verwendet wird. Diese Informationen verknüpfen die Datensätze zwischen den beiden Systemen. Standard: Keine |
| <json_string>.inboundId | Zeichenfolge | Eindeutiger Bezeichner des Anwendungsanbieters für den Sprachservice. Standard: Aus Chat abrufen Tabelle: Im Feld Eingehende ID der Tabelle Anbieterkanalanwendung [sys_cs_provider_application] |
| <json_string>.userId | Zeichenfolge | Erforderlich Telefonnummer des Anrufers, der den der Sprachtransaktion zugeordneten Anruf getätigt hat. Format: Wird von der Software definiert, die das Sprachkonversationsskript erstellt hat. Normalerweise konform mit dem E.164-Standard. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ergebnisse des Methodenaufrufs. Mögliche Rückgabeergebnisse:
|
Das folgende Codebeispiel zeigt, wie ein Sprachinteraktionsdatensatz erstellt wird.
var request = {
"userId": "+14089178877",
"callerPhoneNumber": "+14089178878",
"clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z"
};
var response = sn_cs.VoiceTranscriptObject.startVoiceInteraction(JSON.stringify(request));
gs.log(JSON.stringify(response));
Ausgabe:
// Success
{"interactionId":"ea01113cb7f71110b6e8bc15ae11a950","status":"SUCCESS"}
// Error
{"error":"Exception occurred while starting the interaction: <error message>","status":"FAILED"}