VoiceTranscriptObject – Scoped
Die skriptfähige VoiceTranscriptObject -API bietet die Möglichkeit, Transkriptdaten von Sprachkonversationen von Drittanbietern in einer Tabelle innerhalb einer ServiceNow -Instanz zu speichern.
Verwenden Sie beim Aufruf der VoiceTranscriptObject -Klasse den Namespace-Identifier sn_cs.
Verfügbarkeit
Diese API ist im Basissystem ServiceNow verfügbar. Der Zugriff wird durch die ACLs eingeschränkt, die den Tabellen „Interaktion“ [interaction] und „Konversation“ [sys_cs_conversation] auferlegt wurden.
VoiceTranscriptObject – addVoiceInteractionMessage(String interactionId, String Json)
Fügt die angegebenen Nachrichten dem angegebenen Sprachtransaktionsdatensatz hinzu.
Sie können diesen Endpunkt während der Echtzeittranskription des Anrufs mehrmals aufrufen oder alle Nachrichten in einem einzigen Anruf übergeben, wenn Sie den Anruf für Verlaufszwecke transkribieren. Wenn Sie eine Echtzeitkonversation verarbeiten, sollten Sie diesen Endpunkt häufig aufrufen, damit die Nachrichten zeitnah in Mitarbeiterbereich angezeigt werden. Nachrichten werden basierend auf ihren Start- und Endzeiten 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 und in der Interaktionstabelle [interaction] gespeichert. |
| <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 hin zu komplexen zusammengesetzten Objekten. Sie werden beim Aufruf von Amazon Web Services-APIs als eindeutige Bezeichner verwendet. Standard: Keine |
| <json_string>.beginOffsetMillis | Lang | Erforderlich. Zeitversatz zwischen dem Beginn der Sprachinteraktion und dem Beginn der zugehörigen Nachricht. Beispiel: "beginOffsetMillis": 2650. Einheit: Millisekunden |
| <json_string>.Inhalt | Zeichenfolge | Erforderlich. Text der Nachricht, der der Sprachinteraktion hinzugefügt werden soll. |
| <json_string>.endOffsetMillis | Lang | Erforderlich. Zeitversatz zwischen dem Beginn 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 Spaltenwert der Quellnachrichten-ID fest. Standard: Keine |
| <json_string>.isEvent | Boolean | Wird von Amazon Connect festgelegt, aber derzeit nicht von der Methode verwendet. Kennzeichnung, die angibt, ob die zugeordnete Nachricht ein Event ist.
Gültige Werte:
Standardwert: false |
| <json_string>.isInternalMessage | Boolean | Kennzeichnung, die angibt, ob dies eine interne Nachricht ist und dem Anrufer nicht angezeigt werden soll.
Transkriptionen werden in der Regel als interne Nachrichten betrachtet und nur für den Service Desk-Mitarbeiter, nicht für den Anrufer angezeigt. Darüber hinaus wird die Flüsterfunktion verwendet, wenn eine stille Drittpartei ohne Wissen des Anrufers mit einer stillen Drittpartei chattet oder in eine Telefonkonversation einbezogen wird, und einem Service Desk-Mitarbeiter Ratschläge gibt. Der Anrufer hört oder sieht diese Nachrichten nicht, der Service Desk-Mitarbeiter jedoch. 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 Lens zeigt eine Analyse der Konversation an, die zeigt, wo die Person möglicherweise laut redet 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 ServiceNow Instanzkonfigurationseinstellungen wird dieser Wert dann entweder in positiv, negativ oder neutral übersetzt und im Konversations- und Interaktionsdatensatz gespeichert. Gültige Werte:
Standard: Null |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Nachricht, die die Ergebnisse des Anrufs beschreibt. |
| Zeichenfolge | Bei Erfolg sys_id des erstellten Datensatzes der Sprachinteraktionsnachricht. Befindet sich in der Tabelle „Sprachtranskript-Konversationsnachricht“ [sys_cs_message_voice_transcript]. Wenn ein Fehler aufgetreten ist, eine Fehlermeldung, die den Grund für den Fehler beschreibt. |
Das folgende Beispiel zeigt, wie Nachrichten zu einem vorhandenen Sprachinteraktionsdatensatz hinzugefügt werden.
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, String 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. Befindet sich im Feld Benutzer-ID in der Benutzertabelle [sys_user]. Standard: Keine. Dem nächsten verfügbaren Service Desk-Mitarbeiter zugewiesen. |
| <json_string>.callerPhoneNumber | Zeichenfolge | Telefonnummer für Rückruf des Anrufers. Dies ist die Nummer, die der Service Desk-Mitarbeiter verwendet, um den Anrufer zu erreichen, falls der Anruf abgebrochen wird. Format: Konform mit E.164-Standard Standard: Keine |
| <json_string>.clientSessionId | Zeichenfolge | Eindeutiger Bezeichner eines Datensatzes in einem externen System, der zum Nachverfolgen dieses Telefonanrufs verwendet wird. Diese Informationen verknüpfen die Datensätze zwischen den beiden Systemen. Standard: Keine |
| <json_string>.inboundId | Zeichenfolge | Eindeutiger Identifier des Anwendungsanbieters für den Sprachservice. Befindet sich im Feld Eingehende ID in der Tabelle „Provider-Kanalanwendung“ [sys_cs_provider_application]. Standard: Aus Chat abrufen |
| <json_string>.Benutzer-ID | 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. In der Regel konform mit dem E.164-Standard. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bei Erfolg wird die sys_id des neu erstellten Konversationsdatensatzes zurückgegeben. Befindet sich in der Konversationstabelle [sys_cs_conversation]. Wenn ein Fehler auftritt, wird eine detaillierte Fehlermeldung zurückgegeben. |
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, String Json)
Beendet die angegebene Sprachinteraktion. Nach dem Anruf werden keine zusätzlichen Sprachnachrichten für die Telefonkonversation ü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. Wenn dies konfiguriert ist, wird diese URL in Mitarbeiterbereichangezeigt. Standard: Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Bei Erfolg wird Successzurückgegeben. Wenn ein Fehler auftritt, wird eine detaillierte Fehlermeldung zurückgegeben. |
Das folgende Codebeispiel zeigt, wie eine aktive Sprachinteraktion beendet und die ursprüngliche Sprachaufzeichnungs-URL übergeben wird.
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 Drittanbietern in Tabellen innerhalb einer ServiceNow -Instanz, auf die dann über Kundenservice-Management (Customer Service Management, CSM)zugegriffen werden kann.
Diese Sprachkonversationen werden normalerweise mit Software von Drittanbietern generiert. Diese Methode analysiert das übergebene JSON und speichert die Daten in den Tabellen „Konversation“ [sys_cs_conversation], „Konversationsnachricht“ [sys_cs_message] und „Sprachtranskript-Konversationsnachricht“ [sys_cs_message_voice_transcript] innerhalb der Instanz ServiceNow. CSM greift auf die Informationen in diesen Tabellen zu, um die Transkripte der Sprachkonversation anzuzeigen.
| Name | Typ | Beschreibung |
|---|---|---|
| voiceConversationJson | Zeichenfolge | JSON, die die zu speichernde Sprachkonversation darstellt. Dieses JSON-Objekt wird von einem anderen ServiceNow -Plugin gesendet, z. B. OpenFrame. Drittanbieter wie Amazon senden das JSON-Objekt an das Plugin. Das zugehörige Plugin analysiert die Sprachkonversation und sendet das JSON-Objekt im erforderlichen Format an Virtual Agent. Das Folgende ist ein Beispiel für eine Amazon Connect-Konversation: |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ergebnisse des Methodenaufrufs. Mögliche Rückgabeergebnisse:
|
Dieses Beispiel zeigt, wie die Methode saveVoiceConversationTranscript() 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 einen Anruf einem bestimmten Service Desk-Mitarbeiter zuzuweisen, indem Sie dieir - spezifische Benutzer-ID ü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. Befindet sich im Feld Benutzer-ID in der Benutzertabelle [sys_user]. Standard: Keine. Dem nächsten verfügbaren Service Desk-Mitarbeiter zugewiesen. |
| <json_string>.callerPhoneNumber | Zeichenfolge | Telefonnummer für Rückruf des Anrufers. Dies ist die Nummer, die der Service Desk-Mitarbeiter verwendet, um den Anrufer zu erreichen, falls der Anruf abgebrochen wird. Format: Konform mit E.164-Standard Standard: Keine |
| <json_string>.clientSessionId | Zeichenfolge | Eindeutiger Bezeichner eines Datensatzes in einem externen System, der zum Nachverfolgen dieses Telefonanrufs verwendet wird. Diese Informationen verknüpfen die Datensätze zwischen den beiden Systemen. Standard: Keine |
| <json_string>.inboundId | Zeichenfolge | Eindeutiger Identifier des Anwendungsanbieters für den Sprachservice. Befindet sich im Feld Eingehende ID in der Tabelle „Provider-Kanalanwendung“ [sys_cs_provider_application]. Standard: Aus Chat abrufen |
| <json_string>.Benutzer-ID | 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. In der Regel 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"}