Virtual Agent-Bot-Integrations-API
Die Virtual Agent-Bot-Integrations -API bietet Endpunkte, mit denen Benutzer eine beliebige Chat-Schnittstelle oder ein Bot-Ökosystem mit ServiceNow Virtual Agent und/oder Service Desk-Mitarbeiterintegrieren können.
Diese API basiert auf dem mit Virtual Agent bereitgestellten benutzerdefinierten Chat-Integrations-Framework für Konversationen und wird im Namespace sn_va_as_service ausgeführt.
Weitere Informationen zur Installation und Konfiguration der Bot-Integrations-API Virtual Agent finden Sie unter Virtual Agent-API.
VA-Bot-Integration – POST /sn_va_as_service/bot/integration
Sendet eine angegebene Nachricht, einen Anhang oder eine URL an einen angegebenen sekundären ServiceNow Virtual Agent (VA)-Bot.
Die Site eines Kunden kann einen oder mehrere sekundäre ServiceNow Bots haben. Zusätzlich zur Weitergabe von Nachrichten an einen sekundären VA-Bot von ServiceNow kann der primäre Bot oder Chat-Client diesen Endpunkt verwenden, um Nachrichten über den Chat von Service Desk-Mitarbeiter an einen Service Desk-Mitarbeiter zu übergeben. Verwenden Sie den im Anforderungstext übergebenen Parameter action, um anzugeben, wie der angegebene Inhalt behandelt werden soll.
URL-Format
Standard-URL: /api/sn_va_as_service/bot/integration
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Aktion | Aktion, die der VA ausführen soll. Gültige Werte:
Datentyp: Zeichenfolge Standard: Null |
| botToBot | Kennzeichnung, die angibt, ob die Konversation zwischen Bots stattfindet, z. B. zwischen einem primären Bot und einem sekundären Bot. Mögliche Werte:
Datentyp: Boolesch Standardwert: true |
| clientSessionId | Eindeutiger Bezeichner der Clientsitzung der Anwendung/des Service, den der Endbenutzer für die Kommunikation mit dem ServiceNow -Bot verwendet. Diese ID hilft, den Satz von Anforderungen/Antworten für eine bestimmte Benutzerkonversation zu identifizieren. Das Format dieses Parameters wird vom Implementierer bestimmt. Datentyp: Zeichenfolge Standard: Null |
| clientVariablen | Pass-Through-JSON-formatierte Name-Wert-Paare, die in der Antwort zurückgesendet werden. Diese Werte werden nicht vom Endpunkt verarbeitet, können jedoch verwendet werden, um bestimmte Kundeninformationen an die Konversation anzuhängen. Datentyp: Objekt Standard: Null |
| contextVariablen | JSON-formatierte Name-Wert-Paare, die zusätzliche Informationen zum Benutzer bereitstellen. Geben Sie diese Informationen an, um die Konversations-Experience anzupassen. Weitere Informationen zu Kontextvariablen finden Sie unter Chat-Kontextvariablen definieren und veröffentlichen. Beispiel: Datentyp: Objekt Standard: Null |
| emailId | Erforderlich, wenn die Account-Verknüpfung aktiviert wird, andernfalls werden alle Benutzer als Gastbenutzer betrachtet. E-Mail-Adresse des Chat-Client-Endbenutzers, der Person, mit der der Bot interagiert. Weitere Informationen zur Kontoverknüpfung finden Sie unter ServiceNow-Benutzerkonto mit einer Messaging-Anwendung für Virtual Agent-Konversationenverknüpfen. Datentyp: Zeichenfolge |
| Verlauf | Verlauf der Konversation des primären Bots mit dem Benutzer, beginnend mit der ersten Anforderung des Benutzers. Datentyp: Objekt Beispiel: |
| Verlauf.Anzeigename | Name des Benutzers, an den die Nachricht gesendet wurde. Wenn es sich um den primären Bot handelt, übergeben Sie Bot. Datentyp: Zeichenfolge |
| history.isBotMessage | Kennzeichnung, die angibt, ob die Nachricht vom primären Bot gesendet wurde. Gültige Werte:
Datentyp: Boolesch |
| Verlauf.Typ | Typ der gesendeten Nachricht. Gültige Werte: text Datentyp: Zeichenfolge |
| Verlauf.Wert | Inhalt der Informationen. Zum Beispiel der Nachrichtentext. Datentyp: Zeichenfolge |
| Absicht | Beschreibt die Absicht der Konversation. Geben Sie diese Informationen an, wenn der Parameter action auf SWITCHfestgelegt ist.Datentyp: Objekt |
| Absicht.ID | NLU Absichts-ID des Systemthemas, zu dem die Konversation wechseln soll. Befindet sich in der Tabelle „CS-Themensprache“ [sys_cs_topic_language]. intent.id wird basierend auf der in der Chatsitzung übergebenen Sprache aufgelöst. Wenn beim Starten einer Konversation keine Sprache übergeben wird, wird die Sprache aus der Sitzung/dem Profil des Benutzers abgerufen. Datentyp: Zeichenfolge |
| Nachricht | Erforderlich. Details der Nachricht, die an den Bot ServiceNow gesendet werden soll. Datentyp: Objekt |
| message.attachment | Erforderlich, wenn ein Anhang gesendet wird. Details des Anhangs. Sie können Anhänge nur als URL übergeben, und pro Aufruf kann nur ein Anhang übergeben werden. Ein Virenscan wird für alle Anhänge ausgelöst. Datentyp: Objekt |
| message.attachment.clientAttachmentId | Eindeutiger Bezeichner des Anhangs, der an den ServiceNow -Bot gesendet werden soll. Das Format dieses Bezeichners wird vom Implementierer bestimmt. Datentyp: Zeichenfolge Standard: Null |
| message.attachment.contentType | Erforderlich, wenn Anhang angegeben ist. Standard-MIME-Typ des Anhangs. Gültige Werte (Groß-/Kleinschreibung beachten):
Datentyp: Zeichenfolge |
| message.attachment.fileName | Erforderlich, wenn Anhang angegeben ist. Dateiname des Anhangs. Datentyp: Zeichenfolge |
| message.attachment.headers | Zusätzliche Informationen erforderlich, wenn die Anhangdatei privat und geschützt ist. Datentyp: Objekt |
| message.attachment.headers.Authorization | Informationen, die erforderlich sind, um die Berechtigung für den Zugriff auf den Anhang zu erhalten, z. B. Benutzername und Passwort. Datentyp: Zeichenfolge |
| message.attachment.url | Erforderlich, wenn Anhang angegeben ist. URL, unter der sich der Anhang befindet. Der VA ruft den Anhang von dieser URL ab, führt einen Virenscan aus und verarbeitet dann die Datei. Wenn der Anhang keine öffentliche Datei ist, müssen Sie ein message.attachment.header -Objekt übergeben, das die Autorisierungsinformationen enthält, damit auf den Anhang zugegriffen werden kann. Sie müssen auch sicherstellen, dass die URL-Domäne in den vertrauenswürdigen Domänen in sys_cs_providervorhanden ist. Datentyp: Zeichenfolge |
| message.clientMessageId | Eindeutiger alphanumerischer Bezeichner für die Nachricht. Das Format dieses Bezeichners wird vom Implementierer bestimmt. Datentyp: Zeichenfolge Standard: Null |
| message.text | Erforderlich, wenn Parameter attachment nicht angegeben ist. Nachrichtentext. Die Sprache der Nachricht muss im Parameter contextVariables übergeben werden. Datentyp: Zeichenfolge Maximale Länge: Unbegrenzt |
| message.typed | Erforderlich. Kennzeichnung, die angibt, ob die Nachricht eingegeben wurde oder eine Optionsauswahl war (ausgewählt). Gültige Werte:
Datentyp: Boolesch |
| requestId | Erforderlich. Eindeutiger alphanumerischer Bezeichner für diese Anforderung. Das Format dieses Bezeichners wird vom Implementierer bestimmt. Datentyp: Zeichenfolge |
| stille Nachricht | Kennzeichnung, die angibt, ob es sich um eine stille Nachricht handelt. Eine stille Nachricht ist eine Nachricht, die keine Antwort erfordert. Gültige Werte:
Hinweis: Wenn eine Anforderung mit stillemMessage = true gesendet wird, bleiben alle nachfolgenden Bot-Nachrichten unterdrückt, bis eine Anforderung zum Deaktivieren des unbeaufsichtigten Modus gesendet wird, indem stilleMessage = falschübergeben wird.Datentyp: Boolesch Standardwert: false |
| timestamp | Unix-Epochenzeit, zu der die Nachricht vom Endbenutzer des Chat-Clients gesendet wurde. Datentyp: Zahl Einheit: Millisekunden Standard: Aktuelle Uhrzeit |
| Feld | GMT-Zeitzone des Endbenutzers des Chat-Clients. Beispiel: Eine Liste der verfügbaren Zeitzonenwerte finden Sie unter https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. Datentyp: Zeichenfolge Standard: GMT-Zeitzone der Instanz ServiceNow. |
| Thema | Erforderlich, wenn der Benutzer zu einem bestimmten Thema wechseln möchte, indem er einen Themennamen angibt. Name-Wert-Paar des Themas, zu dem gewechselt werden soll. Sie können entweder den Themennamen oder die sys_id des Themas angeben. Hinweis: Sie können nur einen einzigen Themennamen oder eine einzelne ID im Objekt angeben. Datentyp: Objekt Beispiel: |
| topic.name | Name des Themas, zu dem gewechselt werden soll. Befindet sich im Namensfeld der Tabelle „Virtual Agent-Themen“ [sys_cs_topic]. Datentyp: Zeichenfolge |
| topic.id | Sys_id des Themas, zu dem gewechselt werden soll. Befindet sich im Feld sys_id der Tabelle „Virtual Agent-Themen“ [sys_cs_topic]. Datentyp: Zeichenfolge |
| userId | Erforderlich. Eindeutiger Benutzerbezeichner. Dies ist der Bezeichner des Endbenutzers, der mit dem Bot interagiert. Datentyp: Zeichenfolge |
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ützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Token | Erforderlich, wenn tokenbasierte Authentifizierung verwendet wird; optional für Standard- oder OAuth-Authentifizierung. Zu verwendendes Authentifizierungstoken, wenn die Tokenauthentifizierung für diesen Endpunkt eingerichtet wurde. Datentyp: Zeichenfolge |
| 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. Wenn Sie den Statuscode 200 erhalten, aber keine Antwort erhalten, überprüfen Sie Folgendes:
|
| 400 | Fehlerhafte Anforderung. Ein fehlerhafter Anforderungstyp oder eine falsch formatierte Anforderung wurde erkannt. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 405 | Ungültige Methode. Die Funktion ist deaktiviert. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Parameter des Antwort-Haupttexts
Status des Endpunktaufrufs. Diese wird als Antwort gesendet, wenn die erste Anrufanforderung empfangen wird. Die Anforderung wurde noch nicht verarbeitet.
| Name | Beschreibung |
|---|---|
| Fehler | Beschreibung des erkannten Fehlers. Wird nur zurückgegeben, wenn ein Fehler auftritt. Datentyp: Objekt |
| Fehler.Detail | Details zum aufgetretenen Fehler. Datentyp: Zeichenfolge |
| Fehler.Nachricht | Fehlermeldung ausgelöst. Datentyp: Zeichenfolge |
| status | Status des Endpunktaufrufs. Gültige Werte:
Datentyp: Zeichenfolge |
Parameter des VA-Antworttexts
Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
| Name | Beschreibung |
|---|---|
| agentChat | Kennzeichnung, die angibt, ob die Konversation mit ServiceNow Service Desk-Mitarbeiterverbunden ist. Mögliche Werte:
Datentyp: Boolesch |
| body | Liste der Objekte, die die Elemente des Antwortnachrichtentexts beschreiben. Datentyp: Array |
| body.actionType | Typ der Aktionsnachricht, die vom sekundären Bot an den primären Bot gesendet wird. Zum Beispiel Eingabeindikator oder Wartezeit des Service Desk-Mitarbeiters. Gültige Werte:
Beispiel: Datentyp: Zeichenfolge |
| body.agentInfo | Name und Avatar des zugeordneten Service Desk-Mitarbeiters, sofern im Agent Chat-Setup aktiviert. Datentyp: Objekt Beispiel: |
| body.agentInfo.agentAvatar | URL der dem Service Desk-Mitarbeiter zugeordneten Avatar-Datei. Beispiel: „https://instance.servicenow.com/ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small“ Datentyp: Zeichenfolge |
| body.agentInfo.agentName | Anzeigename des Service Desk-Mitarbeiters. Datentyp: Zeichenfolge |
| body.agentInfo.sentFromAgent | Kennzeichnung, die angibt, ob die Nachricht von einem Servicemitarbeiter gesendet wurde. Mögliche Werte:
Datentyp: Boolesch |
| body.data | JSON-Zeichenfolge, die die Daten innerhalb der Karte definiert. Datentyp: Zeichenfolge |
| body.group | Rich-Kontrollgruppe, zu der das Textelement gehört. Sie können diese Standardsteuerungen weiter transformieren, indem Sie ausgehende Transformationsskripts schreiben. Weitere Informationen zu diesen Skripts finden Sie unter Virtual Agent-Aktionsskripts. Mögliche Werte:
Datentyp: Zeichenfolge |
| body.header | Link-Header. Datentyp: Zeichenfolge |
| body.height | Höhe des HTML-Elements. Datentyp: Zahl Einheit: Pixel |
| body.itemType | Typ des Textelements. Mögliche Werte: (Groß-/Kleinschreibung beachten)
Datentyp: Zeichenfolge |
| body.label | Bezeichnung, die für das zugeordnete Element angezeigt werden soll. Datentyp: Zeichenfolge |
| body.maskType | Gibt die Vertraulichkeit der zugeordneten Daten an. Mögliche Werte:
Datentyp: Zeichenfolge |
| body.maxAnzahl | Wird nur zurückgegeben, wenn uiTypeFileUploadist. Maximale Anzahl von Anhängen, die gleichzeitig hochgeladen werden können.Datentyp: Zahl (Integer) |
| body.maxGröße | Wird nur zurückgegeben, wenn uiTypeFileUploadist. Maximale Größe des Anhangs, der hochgeladen werden kann.Datentyp: Zahl (Integer) Einheit: Megabyte |
| body.message | Wird nur zurückgegeben, wenn actionTypeStartSpinnerist. Nachricht, die dem Anwender angezeigt werden soll.Datentyp: Zeichenfolge |
| body.multiSelect | Kennzeichnung, die angibt, ob der Benutzer mehrere Optionen auswählen kann. Mögliche Werte:
Datentyp: Boolesch |
| body.nluTextAktiviert | Kennzeichnung, die angibt, ob der Benutzerchat-Client NLU-Textnachrichten (Natural Language Understanding) empfangen kann. Mögliche Werte:
Datentyp: Boolesch |
| body.options | Liste der Objekte, die die für ein Auswahlsteuerelement verfügbaren Optionen beschreiben. Datentyp: Array |
| body.options.attachment | URL des abzurufenden Bilds im Karussell. Datentyp: Zeichenfolge |
| body.options.description | Beschreibung des Karussellelements. Datentyp: Zeichenfolge |
| body.options.enabled | Kennzeichnung, die angibt, ob die Auswahlsteuerung auf dem Chat-Client des Endbenutzers aktiviert ist. In Bot-zu-Bot-Implementierungen ist der primäre Bot dafür verantwortlich, dass die Auswahlsteuerung deaktiviert ist. Mögliche Werte:
Datentyp: Boolesch |
| body.optionen.bezeichnung | Bezeichnung, die für den zugeordneten Parameter body.options.value angezeigt werden soll. Datentyp: Zeichenfolge |
| body.options.renderStyle | Stil, der beim Rendern des zugeordneten Elements verwendet werden soll. Möglicher Wert: Daten Datentyp: Zeichenfolge |
| body.options.value | Wert, der für den zugeordneten Parameter body.options.label angezeigt werden soll. Datentyp: Zeichenfolge |
| body.promptMsg | Aufforderungsnachricht, die mit dem Auswahlsteuerelement angezeigt werden soll. Datentyp: Zeichenfolge |
| body.erforderlich | Kennzeichnung, die angibt, ob der Endbenutzer auf die Abfrage im Textelement antworten muss. Mögliche Werte:
Datentyp: Boolesch |
| body.spinnerType | Wird nur zurückgegeben, wenn actionTypeStartSpinnerist. Typ des Spinners, der dem Chat-Benutzer angezeigt wird.Mögliche Werte: wait_time: Nachricht, die die Verzögerung angibt, bevor sie an einen Servicemitarbeiter übertragen wird. Datentyp: Zeichenfolge |
| body.stil | Stil des Textelements. Mögliche Werte:
Datentyp: Zeichenfolge |
| body.templateName | Name der Vorlage, die zum Anzeigen der zugehörigen Karte verwendet werden soll. Datentyp: Zeichenfolge |
| body.type | Wird nur für DefaultOutputLink zurückgegeben. Typ der Rückgabedaten. Mögliche Werte: link Datentyp: Zeichenfolge |
| body.uiType | Typ des Textelements. Die möglichen Werte hängen vom Wert im Parameter body.group ab. Diese Werte werden den im Virtual Agent-Designer definierten Steuerelementen zugeordnet. Weitere Informationen finden Sie unter Erste Schritte mit Virtual Agent-Designer. Mögliche Werte:
Datentyp: Zeichenfolge |
| body.value | Daten, die zur Verarbeitung des Textkörperelements verwendet werden sollen. Die Art der Informationen, die zurückgegeben werden, hängt vom Typ des Textelements ab. AusgabeLink: Objekt. Ausgabebild: Zeichenfolge. Bild-URL AusgabeHtml: Zeichenfolge. HTML, das der Client rendern muss. Datentyp: Zeichenfolge oder Objekt |
| body.value.action | Wird nur für DefaultOutputLink zurückgegeben. URL des zurückgegebenen Links. Datentyp: Zeichenfolge |
| body.wartezeit | Zeitspanne, die der Benutzer warten muss, bevor eine Verbindung zu einem Servicemitarbeiter hergestellt wird. Datentyp: Zeichenfolge |
| body.width | Breite des zugeordneten HTML-Elements. Datentyp: Zahl Einheit: Pixel |
| clientSessionId | Eindeutiger Bezeichner der Clientsitzung der Chat-Anwendung/des Chat-Service, den der Endbenutzer für die Kommunikation mit dem ServiceNow -Bot verwendet. Datentyp: Zeichenfolge |
| clientVariablen | JSON-formatierte Name-Wert-Paare, die aus dem kopiert werden, was im Parameter clientVariables im Anforderungstext übergeben wird. Diese Werte werden nicht vom Endpunkt verarbeitet, können jedoch verwendet werden, um bestimmte Kundeninformationen an die Konversation anzuhängen. Datentyp: Objekt |
| abgeschlossen | Kennzeichnung, die angibt, ob ServiceNow Virtual Agent die Konversation erfolgreich abgeschlossen hat. Mögliche Werte:
Datentyp: Boolesch |
| unternehmens-ID | Derzeit nicht verwendet. |
| Nachricht | Details der an ServiceNow VA gesendeten Nachricht. Dies ist mit dem übergebenen Nachrichtenobjekt identisch. Datentyp: Objekt |
| message.attachment | Details des Anhangs. Anhänge können entweder eine Datei oder eine URL sein. Datentyp: Objekt |
| message.attachment.clientAttachmentId | Eindeutiger Bezeichner des an den ServiceNow VA gesendeten Anhangs. Das Format dieses Bezeichners wird vom Implementierer bestimmt. Datentyp: Zeichenfolge |
| message.attachment.contentType | Standard-MIME-Typ des Anhangs. Mögliche Werte (Groß-/Kleinschreibung beachten):
Datentyp: Zeichenfolge |
| message.attachment.fileName | Dateiname des Anhangs. Datentyp: Zeichenfolge |
| message.attachment.url | URL, unter der sich der Anhang befindet. Datentyp: Zeichenfolge |
| message.clientMessageId | Eindeutiger alphanumerischer Bezeichner für die Nachricht. Datentyp: Zeichenfolge |
| message.text | Nachrichtentext. Datentyp: Zeichenfolge Maximale Länge: Unbegrenzt |
| message.typed | Kennzeichnung, die angibt, ob die Nachricht eingegeben wurde oder eine Optionsauswahl war (ausgewählt). Gültige Werte:
Datentyp: Boolesch |
| nowBotId | Derzeit nicht verwendet. |
| nowSessionId | Derzeit nicht verwendet. |
| requestId | Eindeutiger Bezeichner für diese Anforderung. Datentyp: Zeichenfolge |
| Punktzahl | Absichtskonfidenzpunktzahl aus dem ServiceNow NLU -Modell, angegeben in Prozent, z. B. 87,3 %. Diese Punktzahl ermöglicht es dem primären Bot, basierend auf dem Konfidenzschwellenwert des Modells NLU des primären Bots zu entscheiden, ob die zugeordnete Absicht angezeigt werden soll. Der Konfidenzschwellenwert des Modells ServiceNow NLU ] wird in der Instanz ServiceNow ignoriert, sodass der Konfidenzschwellenwert des Modells NLU ] des primären Bots konsistent auf alle sekundären Bots angewendet werden kann. Datentyp: Zahl |
| nehmenSteuerung | Kennzeichnung, die angibt, dass ServiceNow Virtual Agent die Kontrolle an den primären Bot zurückgeben möchte. Gültige Werte:
Datentyp: Boolesch Standardwert: false |
| userId | Bezeichner des Endbenutzers, der mit dem Bot interagiert. Datentyp: Zeichenfolge |
Starten Sie eine Konversation mit der Aktion START_CONVERSATION, um eine Konversation zu starten
Das folgende Beispiel zeigt, wie Sie die Aktion START_CONVERSATION verwenden, um eine Konversation mit Virtual Agentzu starten. Dieser Anruf leitet den Benutzer zum Begrüßungsthema.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "asd2423-sda23-qwe23-we23",
"action": "START_CONVERSATION",
"enterpriseId": "ServiceNow",
"nowBotId": "A85PWLERF",
"clientSessionId": "",
"nowSessionId": "",
"message":{
"text": "",
"typed": true,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"emailId": "beth.anglin@example.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
--user "username":"password"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"asd2423-sda23-qwe23-we23",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"text":"",
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"beth.anglin",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.",
"maskType":"NONE"
},
{
"uiType":"TopicPickerControl",
"group":"DefaultPicker",
"nluTextEnabled":false,
"promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.",
"label":"Show me everything",
"options":[
{
"label":"b2b topic",
"value":"2bb7bd7670de6010f877c7f188266fc7",
"enabled":true
},
{
"label":"Live Agent Support.",
"value":"ce2ee85053130010cf8cddeeff7b12bf",
"enabled":true
}
]
}
],
"score":1
}
Übertragen Sie eine Konversation mithilfe einer Äußerung an Service Desk-Mitarbeiter .
Das folgende Beispiel zeigt, wie eine Konversation unter Umgehung des Begrüßungsthemas an Service Desk-Mitarbeiterübertragen wird, indem der Agent als Äußerung im Parameter message.text übergeben wird. Mögliche Äußerungswerte sind in der Tabelle sys_cs_contextual_action definiert. Weitere Informationen zu kontextbezogenen Aktionen finden Sie unter Kontextbezogene Aktionen für benutzerdefinierte Chat-Integrationen.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: ORANGE" \
--data " {
"requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
"botToBot": true,
"clientSessionId": "",
"silentMessage": false,
"message":{
"text": "agent",
"typed": true
},
"userId": "abel.tuter",
"emailId": "abel.tuter@servicenow.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
"clientSessionId":"",
"message":{
"text":"agent",
"typed":true
},
"userId":"abel.tuter",
"body":[
{
"uiType":"Picker",
"group":"DefaultPicker",
"required":true,
"nluTextEnabled":false,
"label":"I want to be sure I got this right. What item best describes what you want to do?",
"itemType":"List",
"style":"list",
"multiSelect":false,
"options":[
{
"label":"Live Agent Support.",
"value":"Live Agent Support.",
"renderStyle":"data",
"enabled":false
},
{
"label":"Virtual Agent Capabilities.",
"value":"Virtual Agent Capabilities.",
"renderStyle":"data",
"enabled":false
},
{
"label":"I want something else",
"value":"-1",
"renderStyle":"data",
"enabled":false
}
],
"scriptedData":null
}
],
"score":1
}
Übertragen Sie eine Konversation basierend auf der Auswahl des Benutzers an den Servicemitarbeiter-Support
Das folgende Beispiel zeigt die Übertragung der Konversation an den Servicemitarbeiter-Support basierend auf der Auswahl des Benutzers aus der vorherigen Interaktion.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: ORANGE" \
--data "{
"requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
"botToBot": true,
"clientSessionId": "",
"silentMessage": false,
"message":{
"text": "Live Agent Support.",
"typed": true
},
"userId": "abel.tuter",
"emailId": "abel.tuter@servicenow.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
} "
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
"clientSessionId":"",
"message":{
"text":"Live Agent Support.",
"typed":true
},
"userId":"abel.tuter",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"Please stand by while I connect you to a live agent."
}
],
"agentChat":true,
"score":1
}
Beenden Sie eine Virtual Agent -Konversation, indem Sie den Aktionsparameter festlegen
Das folgende Beispiel zeigt, wie eine Virtual Agent -Konversation beendet wird, indem der Parameter action auf END_CONVERSATION festgelegt wird.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "s345ew-sjg554-qwe23-we23",
"action": "END_CONVERSATION",
"enterpriseId": "ServiceNow",
"nowBotId": "A85PWLERF",
"clientSessionId": "",
"nowSessionId": "",
"message":{
"text": "b2b topic",
"typed": true,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"emailId": beth.anglin@example.com,
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
--user "username":"password"
Im Folgenden finden Sie den vom VA an den konfigurierten Antwortendpunkt gesendeten Antworttext, der die beendete Konversation anzeigt.
{
"requestId":"s345ew-sjg554-qwe23-we23",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"text":"",
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"beth.anglin",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"The conversation has ended. If you need help again, type hi.",
"maskType":"NONE"
}
],
"score":1
}
Beenden Sie eine Service Desk-Mitarbeiter -Konversation, indem Sie den Aktionsparameter festlegen
Das folgende Beispiel zeigt, wie eine Service Desk-Mitarbeiter -Konversation beendet wird, indem der Parameter action auf END_CONVERSATION festgelegt wird.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "sad-sjg554-qwe23-we23",
"action": "END_CONVERSATION",
"enterpriseId": "ServiceNow",
"nowBotId": "A85PWLERF",
"clientSessionId": "",
"nowSessionId": "",
"message":{
"text": "",
"typed": true,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"emailId": "beth.anglin@example.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
--user "username":"password"
Im Folgenden finden Sie den vom VA an den konfigurierten Antwortendpunkt gesendeten Antworttext, der die beendete Konversation anzeigt.
{
"requestId":"sad-sjg554-qwe23-we23",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"text":"",
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"beth.anglin",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"The conversation has ended. If you need help again, type hi.",
"maskType":"NONE"
}
],
"completed":true,
"score":1
}
Verwenden Sie Befehle, die in der Tabelle „sys_cs_contextual_action“ definiert sind, als Äußerung, um eine Konversation mit zu beginnen Virtual Agent
Das folgende Beispiel zeigt, wie Sie den in der Tabelle „sys_cs_contextual_action“ definierten Befehl Hi als Äußerung verwenden, um eine Konversation mit Virtual Agent zu beginnen, anstatt den Parameter action wie in den vorherigen Beispielen auf START_CONVERSATION zu setzen. Dieses Beispiel zeigt die Verwendung einer der Sprachvarianten des Befehls Hi, „hola“.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: ORANGE" \
--data "{
"requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
"botToBot": true,
"clientSessionId": "",
"silentMessage": false,
"message":{
"text": "hola",
"typed": true
},
"userId": "fred.ludy",
"emailId": "abel.tuter@servicenow.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9",
"clientSessionId":"",
"message":{
"text":"hola",
"typed":true
},
"userId":"fred.ludy",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.",
"maskType":"NONE"
},
{
"uiType":"TopicPickerControl",
"group":"DefaultPicker",
"nluTextEnabled":false,
"promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type hellllp! any time when you need help.",
"label":"Show me everything",
"options":[
{
"label":"boolean check",
"value":"1b5257a1db712010d3d6d9595e9619f3",
"enabled":true
},
{
"label":"Test_table_datepicker",
"value":"6515f0cadb4220108249f7541d961980",
"enabled":true
},
{
"label":"Test File upload",
"value":"76c1f4b2db7520108249f7541d9619a7",
"enabled":true
},
{
"label":"Test B2B 2",
"value":"8373e55cdb8120108249f7541d96196d",
"enabled":true
},
{
"label":"FAQ Conversation Builder_Global",
"value":"9f3114a3dbc520108249f7541d961981",
"enabled":true
},
{
"label":"Get to know you",
"value":"a443dd6adb812010d3d6d9595e961954",
"enabled":true
},
{
"label":"Get to know you_Global",
"value":"b1a56b87db8120108249f7541d9619b2",
"enabled":true
},
{
"label":"Live Agent Support.",
"value":"ce2ee85053130010cf8cddeeff7b12bf",
"enabled":true
},
{
"label":"Apply for PTO_B2B NLU",
"value":"d948c94cdb052010d3d6d9595e961969",
"enabled":true
}
]
}
],
"score":1
}
Verwenden Sie Befehle, die in der Tabelle „sys_cs_contextual_action“ definiert sind, als Äußerungen, um eine Konversation zu beenden
Das folgende Beispiel zeigt, wie Sie den in der Tabelle „sys_cs_contextual_action“ definierten Befehl Bye als Äußerung verwenden, um eine Konversation mit Virtual Agent ] zu beenden, anstatt action wie in den vorherigen Beispielen gezeigt auf END_CONVERSATION zu setzen. Dieses Beispiel zeigt die Verwendung einer der Sprachvarianten des Befehls Bye, „choa“.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: ORANGE" \
--data "{
"requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
"botToBot": true,
"clientSessionId": "",
"silentMessage": false,
"message":{
"text": "choa",
"typed": true
},
"userId": "fred.ludy",
"emailId": "abel.tuter@servicenow.com",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9",
"clientSessionId":"",
"message":{
"text":"chao",
"typed":true
},
"userId":"fred.ludy",
"body":[
{
"uiType":"Picker",
"group":"DefaultPicker",
"required":true,
"nluTextEnabled":false,
"label":"Please make a selection.",
"itemType":"List",
"style":"list",
"multiSelect":false,
"options":[
{
"label":"End conversation",
"value":"1",
"renderStyle":"data",
"enabled":false
},
{
"label":"Cancel",
"value":"0",
"renderStyle":"data",
"enabled":false
}
],
"scriptedData":null
}
],
"score":1
}
Ändern Sie eine laufende Konversation mit dem Aktionsparameter SWITCH
Das folgende Beispiel zeigt, wie Sie den Parameter SWITCH action verwenden, um eine laufende Konversation zu dem Thema zu ändern, das dem entspricht, was im Parameter intent.id angegeben ist.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43",
"enterpriseId": "ServiceNow",
"nowBotId": "A85PWLERF",
"clientSessionId": "",
"nowSessionId": "",
"action": "SWITCH",
"intent" : {
"id": "Saloon Vehicle"
},
"message":{
"typed": true,
"clientMessageId": "ABC-123"
},
"userId": "Guest",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
--user "username":"password"
Im Folgenden finden Sie den vom VA an den konfigurierten Antwortendpunkt gesendeten Antworttext, der zeigt, dass der VA zum neuen Thema gewechselt ist.
{
"requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"Guest",
"body":[
{
"uiType":"InputText",
"group":"DefaultText",
"required":true,
"nluTextEnabled":false,
"label":"limo input:",
"maskType":"NONE"
}
],
"score":1
}
Ruft eine Natural Language Understanding (NLU) Konfidenzpunktzahl für eine Äußerung ab
Das folgende Beispiel zeigt, wie Sie eine NLU Konfidenzpunktzahl für eine Äußerung erhalten, wenn NLU in VA aktiviert ist.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43",
"enterpriseId": "ServiceNow",
"nowBotId": "A85PWLERF",
"clientSessionId": "",
"nowSessionId": "",
"message":{
"text": "most popular choice",
"typed": true,
"clientMessageId": "ABC-123"
},
"userId": "Guest",
"timestamp": 1588824102,
"timezone": "America/New_York"
}"
--user "username":"password"
Im Folgenden finden Sie den vom VA an den konfigurierten Antwortendpunkt gesendeten Antworttext mit der NLU-Konfidenzpunktzahl.
{
"requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"text":"most popular choice",
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"Guest",
"body":[
{
"uiType":"InputText",
"group":"DefaultText",
"required":true,
"nluTextEnabled":false,
"label":"model input:",
"maskType":"NONE"
}
],
"score":"0.92"
}
Übertragen Sie eine Konversation an einen Servicemitarbeiter in einer bestimmten Warteschlange
Das folgende Beispiel zeigt, wie eine Konversation an einen Servicemitarbeiter in einer bestimmten Warteschlange übertragen wird. Sie müssen zuerst Ihre Warteschlangen mit bestimmten Bedingungen einrichten. Sie übergeben diese Bedingungen dann als contextVariables im Anforderungstext. Weitere Informationen zum Erstellen einer Warteschlange für Arbeitselemente finden Sie unter Warteschlange für Arbeitselemente erstellen.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"requestId": "34re-dasd-qwe23-dsds", // Unique value for a message (hash)
"enterpriseId": "ServiceNow", // ServiceNow (Optional
"nowBotId": "A85PWLERF", // In case of multiple ServiceNow secondary bots (one for HR, one for ITSM)
"action":"AGENT", // Actions to close conversation. Other possible value is END_CONVERSATION
"clientSessionId": "", // Client conversation id
"nowSessionId": "", // ServiceNow conversation id
"message":{
"text": "How are you?", // User passed message
"typed": true, // typed or clicked
"clientMessageId": "ABC-123"
},
"userId": "abraham.lincoln", // User’s id in their system
"emailId": "abraham.lincoln@example.com",
"timestamp": 1588824102,
"timezone": "America/New_York",
"contextVariables":{
"b2b_category":"humanresource"
}
}"
--user "username":"password"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"34re-dasd-qwe23-dsds",
"clientSessionId":"",
"nowSessionId":"",
"message":{
"text":"How are you?",
"typed":true,
"clientMessageId":"ABC-123"
},
"userId":"abraham.lincoln",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"I am sorry but I didn't understand your request.",
"maskType":"NONE"
},
{
"uiType":"OutputText",
"group":"DefaultText",
"value":"Please try giving me your request in a different way. I'm currently better at understanding short sentences.",
"maskType":"NONE"
},
{
"uiType":"TopicPickerControl",
"group":"DefaultPicker",
"nluTextEnabled":false,
"promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.",
"label":"Show me everything",
"options":[
{
"label":"Live Agent Support.",
"value":"ce2ee85053130010cf8cddeeff7b12bf",
"enabled":true
}
]
}
],
"score":0
}
Übertragen Sie eine öffentliche Anwendung/PDF-Anhangdatei
Dieses Beispiel zeigt, wie eine öffentliche Anwendung/ein PDF-Anhang übertragen wird.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: BOT_Token" \
--data "{
"requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId": "U94CSJLEN",
"message": {
"attachment": {
"clientAttachmentId": "my-unique-identifier",
"contentType": "application/pdf",
"fileName": "MY PDF TEST",
"url": "http://www.africau.edu/images/default/sample.pdf"
}
},
"userId": "U94CSJLEN",
"emailId": "admin@example.com"
}"
--user "username":"password"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId":"U94CSJLEN",
"message":{
"attachment":{
"clientAttachmentId":"my-unique-identifier",
"contentType":"application/pdf",
"fileName":"MY PDF TEST",
"url":"http://www.africau.edu/images/default/sample.pdf"}
},
"userId":"U94CSJLEN",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"File got",
"maskType":"NONE",
"itemType":"outputtext"
},
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"The conversation has ended. If you need help again, type hi.",
"maskType":"NONE",
"itemType":"outputtext"
}
],
"completed":true,
"score":1
}
Übertragen Sie einen Video-/MPEG-Anhang
Dieses Beispiel zeigt die Anforderung/Antwort für das Hochladen eines Video-/MPEG-Anhangs.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: BOT_TOKEN" \
--data "{
"requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId": "U94CSJLEN",
"message": {
"attachment": {
"clientAttachmentId": "my-unique-identifier10",
"contentType": "video/mpeg",
"fileName": "MY TEST10.mp4",
"url": "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
}
},
"userId": "U94CSJLEN",
"emailId": "admin@example.com"
}"
--user "username":"password"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId":"U94CSJLEN",
"message":{
"attachment":{
"headers":{
"Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
},
"clientAttachmentId":"my-unique-identifier10",
"contentType":"video/mpeg",
"fileName":"MY TEST10.mp4",
"url":"https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
}
},
"userId":"U94CSJLEN",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"File got",
"maskType":"NONE",
"itemType":"outputtext"
},
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"The conversation has ended. If you need help again, type hi.",
"maskType":"NONE","itemType":"outputtext"
}
],
"completed":true,
"score":1
}
Übertragen Sie ein Bild/einen JPEG-Anhang
Dieses Beispiel zeigt die Anforderung/Antwort für das Hochladen eines Bild-/JPEG-Anhangs.
curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--header "token: BOT_TOKEN" \
--data "{
"requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId": "U94CSJLEN",
"message": {
"attachment": {
"clientAttachmentId": "my-unique-identifier10",
"contentType": "image/jpeg",
"fileName": "MY TEST10.jpg",
"url": "https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
}
},
"userId": "U94CSJLEN",
"emailId": "admin@example.com"
}"
--user "username":"password"
Das Folgende ist der Antworttext, der vom VA an den konfigurierten Antwortendpunkt gesendet wird.
{
"requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId":"U94CSJLEN",
"message":{
"attachment":{
"headers":{
"Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
},
"clientAttachmentId":"my-unique-identifier10",
"contentType":"image/jpeg",
"fileName":"MY TEST10.jpg",
"url":"https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
}
},
"userId":"U94CSJLEN",
"body":[
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"File got",
"maskType":"NONE",
"itemType":"outputtext"
},
{
"uiType":"OutputText",
"group":"DefaultText",
"required":false,
"nluTextEnabled":false,
"label":"The conversation has ended. If you need help again, type hi.",
"maskType":"NONE",
"itemType":"outputtext"
}
],
"completed":true,
"score":1
}