Kundeninformationen an einen Livechat übergeben
Wenn das Unterhaltungslogging für einen Skill aktiviert ist, wird die gesamte Chathistorie automatisch an Oracle B2C Service übergeben. Neben der Chathistorie können Sie auch einige spezifische Kundeninformationen senden.
- Vorfall-ID
- Kundeninformationen des Chats: Skills können die folgenden Kundeninformationen des Chats an Oracle B2C Service übergeben.
- E-Mail-Adresse
- Erster Name
- Last Name
- Ansprechpartner
- Unternehmen
- Kategorie
- Produkt
Der Skill verwendet die Profilwerte, um diese Chatkundenfelder automatisch auszufüllen und zu senden. Sie müssen nichts tun, um die folgenden Werte festzulegen:
- E-Mail-Adresse
- Erster Name
- Last Name
- Benutzerdefinierte Vorfallsfelder: Sie können Werte für jedes benutzerdefinierte Oracle B2C Service-Feld des Typs "Vorfall" übergeben.
Weitere Informationen zu benutzerdefinierten Feldern finden Sie unter Überblick über benutzerdefinierte Felder in Oracle B2C Service verwenden.
Wenn Sie einen Agent-Integrationskanal verwenden, der vor 20.1 erstellt wurde, oder wenn sich der Kanal mit einer Oracle B2C Service-Instanz vor 19A verbindet, können Sie auch Schnittstelleninformationen übergeben. Bei Kanälen, die in Version 20.1 oder höher erstellt wurden und eine Verbindung zu Oracle B2C Service 19A oder höher herstellen, nehmen Sie die Schnittstellen-ID in die URL des Channels auf.
Um Kundeninformationen an den Live-Agent zu senden, übergeben Sie eine Zuordnung in der Eigenschaft Benutzerdefinierte Eigenschaften der Agent-Integrationskomponente. Nachfolgend finden Sie die Struktur der obersten Ebene der Zuordnung:
incidentID: # type int
customerInformation: # chat customer information object
customFields: # incident custom fields object
${mapVariableName.value}
Ein Beispiel für die Zusammenstellung der Kundeninformationen zum Senden des Live-Agents finden Sie unter Benutzerdefiniertes Eigenschaftsobjekt zusammenstellen.
Die Eigenschaft incidentID
Sie können eine Vorfalls-ID an den Live-Agent übergeben, indem Sie der Zuordnung Benutzerdefinierte Eigenschaften eine Eigenschaft incidentID
hinzufügen.
Tipp:
Wenn Sie eine Chatanfrage mit einem vorhandenen Vorfall verknüpfen möchten, können Sie eine benutzerdefinierte Komponente erstellen, um dieincidentId
abzurufen. Dazu senden Sie eine REST-Anforderung wie im folgenden Beispiel. Diese REST-Anforderung ruft den letzten Vorfall für den Kontakt mit einer übereinstimmenden E-Mail-Adresse ab.https://<URL>/services/rest/connect/latest/incidents?q=primaryContact.ParentContact.Emails.EmailList.Address like 'email@gmail.com'&orderBy=createdTime:desc&limit=1
Der Antworttext enthält einen href
-Link, der die Vorfall-ID enthält:
{
"items": [
{
"id": 26302,
"lookupName": "200116-000003",
"createdTime": "2020-01-16T13:08:25.000Z",
"updatedTime": "2020-01-16T20:25:21.000Z",
"links": [
{
"rel": "canonical",
"href": "https://<URL>/services/rest/connect/v1.4/incidents/26302"
}
]
}
],
Weitere Informationen zu benutzerdefinierten Komponenten finden Sie unter Backend-Integration. Weitere Informationen zu den REST-APIs für Oracle B2C Service finden Sie unter REST-API für Oracle B2C Service.
Das Standardobjekt "customerInformation"
In diesem Abschnitt wird das Objekt customerInformation
für Skills beschrieben, die einen Agent-Integrationskanal verwenden, der in Version 20.01 oder höher erstellt wurde und eine Verbindung zu Oracle B2C Service Version 19A oder höher herstellt.
Sie können das Objekt customerInformation
in der Map Benutzerdefinierte Eigenschaften verwenden, um die folgenden Chatkundeninformationen zu übergeben:
- incidentID:
int
. -
eMailAddress:
string
. maximal 80 Zeichen. Der Skill richtet diesen Wert automatisch aus den entsprechenden.profile
-Eigenschaften ein (wie unter Variablen für Profilgeltungsbereich für Benutzerkontext beschrieben) und übergibt ihn an Oracle B2C Service. -
firstName:
string
. maximal 80 Zeichen. Der Skill richtet diesen Wert automatisch aus den entsprechenden.profile
-Eigenschaften ein (wie unter Variablen für Profilgeltungsbereich für Benutzerkontext beschrieben) und übergibt ihn an Oracle B2C Service. -
lastName:
string
. maximal 80 Zeichen. Der Skill richtet diesen Wert automatisch aus den entsprechenden.profile
-Eigenschaften ein (wie unter Variablen für Profilgeltungsbereich für Benutzerkontext beschrieben) und übergibt ihn an Oracle B2C Service. -
contactID: Übergeben Sie einen Wert vom Typ
int
in der Untereigenschaftid
. -
organizationID: Übergeben Sie einen Wert vom Typ
int
in der Untereigenschaftid
. -
productID: Übergeben Sie einen Wert vom Typ
int
in der Untereigenschaftid
. -
categoryID: Übergeben Sie einen Wert vom Typ
int
in der Untereigenschaftid
.
Tipp:
Mit der Oracle B2C Service-REST-API können Sie die gültigen Werte für Kundeninformationsfelder anzeigen. Diese GET-Anforderung listet beispielsweise die Kategorien auf:curl --request GET \
--url https://<sitename.domain>/services/rest/connect/latest/serviceCategories \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Das Legacy-Objekt "customerInformation"
In diesem Abschnitt wird das Objekt customerInformation
für Skills beschrieben, die einen Agent-Integrationskanal verwenden, der vor 20.01 erstellt wurde, oder einen Kanal, der eine Verbindung zu einer Oracle B2C Service-Instanz vor 19A herstellt.
Sie verwenden das Objekt customerInformation
in der Zuordnung Benutzerdefinierte Eigenschaften, um Kundeninformationen des Chats zu übergeben, z.B. Schnittstellen-ID, Kontakt-ID oder Kategorie-ID. Das Objekt customerInformation
kann die Felder enthalten, die im Abschnitt Chat Customer Information
in der Oracle B2C Service-WSDL unter http://<sitename.domain>/services/soap/connect/chat_soap?wsdl=server
definiert sind.
Ändern Sie bei Objekten das erste Zeichen im Namen in Kleinbuchstaben, und ändern Sie die Namen von einfachen Feldern durchgehend in Kleinbuchstaben.
Wenn Sie das Objekt interfaceID
nicht übergeben, verwendet der Skill den Standardwert id:{id: 1}
. Wenn die Schnittstelle nicht für Chats aktiviert ist, verläuft der Handshake für den Start nicht erfolgreich. Mit dem Oracle B2C Service-Konfigurationsassistenten, auf den Sie über "Meine Services" zugreifen, können Sie prüfen, ob eine Schnittstelle für den Chat aktiviert ist.
Sie können zwar die Felder EMailAddress
, FirstName
und LastName
definieren, die im Abschnitt für die Kundeninformationen des Chats der WSDL beschrieben werden, Ihr Skill legt diese Werte jedoch automatisch aus den entsprechenden .profile
-Eigenschaften fest (wie unter Profilgeltungsbereichsvariablen für Benutzerkontext beschrieben).
Tipp:
Mit der Oracle B2C Service-REST-API können Sie die gültigen Werte für Kundeninformationsfelder anzeigen. Mit der GET-Anforderung werden beispielsweise Schnittstellen-IDs und -namen aufgelistet:curl --request GET \
--url https://<sitename.domain>/services/rest/connect/latest/siteInterfaces \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Diese GET-Anforderung listet die Kategorien auf:
curl --request GET \
--url https://<sitename.domain>/services/rest/connect/latest/serviceCategories \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Wie bereits erwähnt, muss die Struktur der Zuordnung customerInformation
der Struktur der Kundeninformationen des Chats
entsprechen, die in der WSDL an folgender Adresse angezeigt wird:
http://<sitename.domain>/services/soap/connect/chat_soap?wsdl=server
Nachfolgend finden Sie einen Auszug aus der WSDL:
<!-- ============================== -->
<!-- Chat Customer Information -->
<!-- ============================== -->
<xs:complexType name="ChatCustomerInformation">
<xs:sequence>
<xs:element name="EMailAddress" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FirstName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="InterfaceID" type="rnccm:NamedID" minOccurs="1" maxOccurs="1"/>
<xs:element name="ContactID" type="rnccm:ID" minOccurs="0" maxOccurs="1" />
<xs:element name="OrganizationID" type="rnccm:ID" minOccurs="0" maxOccurs="1" />
<xs:element name="Question" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ProductID" type="rnccm:ID" minOccurs="0" maxOccurs="1"/>
<xs:element name="CategoryID" type="rnccm:ID" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
Einige Objekte weisen den Typ rnccm:ID
auf, der im nächsten Auszug definiert ist. Beachten Sie, dass das Objekt ein id
-Feld des Typs "long" enthält.
<xs:element name="ID" type="ID"/>
<xs:complexType name="ID">
<xs:attribute name="id" type="xs:long" use="optional"/>
</xs:complexType>
InterfaceID
hat den Typ rnccm:NamedID
. Beachten Sie, dass dieses Objekt eine ID (long) und/oder einen Namen (string) enthalten kann.
<xs:element name="NamedID" type="NamedID"/>
<xs:complexType name="NamedID">
<xs:sequence>
<xs:element name="ID" type="ID" minOccurs="0" maxOccurs="1"/>
<xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
Die Groß- und Kleinschreibung unterscheidet sich zwischen der WSDL und der Zuordnung Benutzerdefinierte Eigenschaften. In der Zuordnung ist der erste Buchstabe für einen Objektnamen klein geschrieben (Pascal-Kleinschreibung). Beispiel: ProductID
in der WSDL wäre productID
für das Zuordnungsobjekt. Die Namen einfacher Felder werden durchgängig kleiner (Beispiel: Name
wird zu name
).
Das Standardobjekt "customFields"
In diesem Abschnitt wird das Objekt customFields
für Skills beschrieben, die einen Agent-Integrationskanal verwenden, der in Version 20.01 oder höher erstellt wurde und eine Verbindung zu Oracle B2C Service Version 19A oder höher herstellt.
Verwenden Sie das Objekt customFields
in der Zuordnung Benutzerdefinierte Eigenschaften, um Werte für alle benutzerdefinierten Oracle B2C Service-Felder des Typs "Vorgang" zu übergeben.
Das Objekt customFields
ist ein Array von Maps, die die folgenden Eigenschaften enthalten.
-
Einfache Felder:
-
name:
Der Spaltenname des Feldes (Kleinbuchstaben) mit vorangestelltemc$
. -
type:
Zulässige Werte sind BOOLEAN, DATE, DATETIME, INTEGER, LONG, STRING und DECIMAL. -
value:
Der Feldwert.
-
-
Menüfeld:
-
name:
Der Spaltenname des Feldes (Kleinbuchstaben) mit vorangestelltemc$
. -
value:
Sie können den Wert entweder auf die Feld-ID oder auf den Text der Menüoption setzen. Beachten Sie, dass dieses Objekt keinetype
-Eigenschaft aufweist.Tipp:
Um die ID für eine Menüoption zu suchen, öffnen Sie die Detailseite des benutzerdefinierten Feldes in der Oracle B2C Service-Desktopservicekonsole. Bewegen Sie den Mauszeiger über eine Menüoption, und warten Sie einige Sekunden. Die QuickInfo wird mit der ID für dieses Element angezeigt.
-
Im Folgenden finden Sie einen Beispielwert für das Objekt:
[
{
"name" : "c$text_field",
"type" : "STRING",
"value" : "SILVER"
},
{
"name" : "c$text_area",
"type" : "STRING",
"value" : "My package arrived but there were no contents in the box. Just bubble wrap."
},
{
"name" : "c$integer",
"type" : "INTEGER",
"value" : 21
},
{
"name" : "c$yes_no",
"type" : "BOOLEAN",
"value": 1
},
{
"name" : "c$date_field",
"type" : "DATE",
"value" : "2020-02-04T00:00:00+00:00"
},
{
"name" : "c$date_time",
"type" : "DATETIME",
"value" : "2020-02-04T21:24:18+00:00"
},
{
"name" : "c$menu",
"value" : "12"
}
]
Tipp:
Sie können die folgende GET-Anforderung senden, die RightNow Object Query (ROQL) verwendet, um eine Liste der Spaltennamen abzurufen:curl --request GET \
--url https://<site.domain>/services/rest/connect/latest/queryResults/?query=select%20CustomFields.c.*%20from%20Incidents \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Um die gültigen Werte für ein benutzerdefiniertes Feld abzurufen, senden Sie wie folgt eine GET-Anforderung, die RightNow Object Query (ROQL) verwendet:
curl --request GET \
--url https://<site.domain>/services/rest/connect/latest/queryResults/?query=select%20CustomFields.c.skillType%20from%20Incidents%20where%20CustomFields.c.skillType%20IS%20NOT%20NULL \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Das Legacy-Objekt "customFields"
In diesem Abschnitt wird das Objekt customFields
für Skills beschrieben, die einen Agent-Integrationskanal verwenden, der vor 20.01 erstellt wurde, oder einen Kanal, der eine Verbindung zu einer Oracle B2C Service-Instanz vor 19A herstellt.
Verwenden Sie das Objekt customFields
in der Zuordnung Benutzerdefinierte Eigenschaften, um Werte für alle benutzerdefinierten Oracle B2C Service-Felder des Typs "Vorgang" zu übergeben.
Das Objekt customFields
ist ein Array von Maps, das die Eigenschaften name
, dataType
und dataValue
enthält. Der Wert der Eigenschaft name
ist der kleingeschriebene Spaltenname des Feldes mit vorangestelltem c$
.
Im Folgenden finden Sie einen Beispielwert für das Objekt:
[
{
"name" : "c$da_text_field",
"dataType" : "STRING",
"dataValue" : {
"stringValue": "SILVER"
}
},
{
"name" : "c$da_text_area",
"dataType" : "STRING",
"dataValue" : {
"stringValue": "This is a very long string that is more than 32 characters."
}
},
{
"name" : "c$da_integer",
"dataType" : "INTEGER",
"dataValue" : {
"integerValue" :21
}
},
{
"name" : "c$da_menu",
"dataType" : "NAMED_ID",
"dataValue" : {
"namedIDValue": {
"name" : "Item 1"
}
}
},
{
"name" : "c$da_is_from_skill",
"dataType" : "BOOLEAN",
"dataValue" : {
"booleanValue" : true
}
},
{
"name" : "c$da_date",
"dataType" : "DATE",
"dataValue" : {
"dateValue" : "2019-10-26"
}
},
{
"name" : "c$da_datetime",
"dataType" : "DATETIME",
"dataValue" : {
"dateTimeValue" : "2019-10-26T21:32:52"
}
}
]
Tipp:
Sie können die folgende GET-Anforderung senden, die RightNow Object Query (ROQL) verwendet, um eine Liste der Spaltennamen abzurufen:curl --request GET \
--url https://<site.domain>/services/rest/connect/latest/queryResults/?query=select%20CustomFields.c.*%20from%20Incidents \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Um die gültigen Werte für ein benutzerdefiniertes Feld abzurufen, senden Sie wie folgt eine GET-Anforderung, die RightNow Object Query (ROQL) verwendet:
curl --request GET \
--url https://<site.domain>/services/rest/connect/latest/queryResults/?query=select%20CustomFields.c.skillType%20from%20Incidents%20where%20CustomFields.c.skillType%20IS%20NOT%20NULL \
--header 'authorization: Basic <base64-encoded-username+:+password>' \
--header 'osvc-crest-application-context: <some-comment>'
Die GenericField
-Definition in der Oracle B2C Service-WSDL unter http://<sitename.domain>/services/soap/connect/chat_soap?wsdl=server
beschreibt die Struktur von dataType
und dataValue
:
<xs:element name="GenericField" type="GenericField"/>
<xs:complexType name="GenericField">
<xs:sequence>
<xs:element name="DataValue" type="DataValue" minOccurs="1" maxOccurs="1" nillable="true"/>
</xs:sequence>
<xs:attribute name="dataType" type="DataTypeEnum" use="optional"/>
<xs:attribute name="name" type="xs:string" use="required"/>
Wie bei den Feldern für customerInformation
gilt dieselbe Groß- und Kleinschreibung für die Entsprechungen in der Zuordnung Benutzerdefinierte Eigenschaften (Beispiel: DataValue
der WSDL ist dataValue
in der Zuordnung).
Benutzerdefiniertes Eigenschaftsobjekt assemblieren
Es gibt viele Ansätze, mit denen Sie das Objekt Benutzerdefinierte Eigenschaften erstellen können. Die folgenden Schritte zeigen, wie Sie dies tun, indem Sie eine separate Variable für jede Gruppe von Eigenschaften erstellen und diese dann in einer Karte konsolidieren.
- Deklarieren Sie Variablen für die Teile, die Sie in das Objekt Benutzerdefinierte Eigenschaften aufnehmen möchten:
- Wenn Sie die Vorfall-ID in die benutzerdefinierten Eigenschaften aufnehmen möchten, definieren Sie eine Variable vom Typ
Integer
für die Vorfall-ID. In diesem Beispiel nennen wir escustomerTicketId
. - Wenn Sie
customerInformation
-Eigenschaften in die benutzerdefinierten Eigenschaften aufnehmen möchten, definieren Sie eine Variable vom TypList
, die diese Eigenschaften enthält. In diesem Beispiel nennen wir escustInfo
. - Wenn Sie eine der
customFields
-Eigenschaften in die benutzerdefinierten Eigenschaften aufnehmen möchten, definieren Sie eine Variable vom TypMap
, die diese Eigenschaften enthält. In diesem Beispiel nennen wir escustFields
.
Sie deklarieren Flussvariablen, indem Sie den angegebenen Ablauf auf der Seite "Flow Designer" wählen, auf die Registerkarte Konfiguration klicken und auf Variable hinzufügen klicken.
- Wenn Sie die Vorfall-ID in die benutzerdefinierten Eigenschaften aufnehmen möchten, definieren Sie eine Variable vom Typ
- Weisen Sie in den Komponenten "Variable festlegen" den von Ihnen erstellten Variablen Werte zu.
- Verwenden Sie für
customerTicketId
einen Wert oder Ausdruck, der in eine Ganzzahl aufgelöst wird. - Geben Sie für
custInfo
den Wert als JSON-Map an, die ungefähr wie folgt aussieht:{ "contactID" : { "id" : "${contactId}" }, "organizationID" : { "id" : "${organizationId}" }, "productID" : { "id" : "${productId}" }, "categoryID" : { "id" : "${categoryId}" } }
- Geben Sie für
custFields
den Wert als JSON-Array mit Objekten an, die ungefähr wie folgt aussehen:[ { "name" : "c$text_field", "type" : "STRING", "value" : "SILVER" }, { "name" : "c$text_area", "type" : "STRING", "value" : "My package arrived but there were no contents in the box. Just bubble wrap." }, { "name" : "c$integer", "type" : "INTEGER", "value" : 21 }, { "name" : "c$yes_no", "type" : "BOOLEAN", "value": 1 }, { "name" : "c$date_field", "type" : "DATE", "value" : "2020-02-04T00:00:00+00:00" }, { "name" : "c$date_time", "type" : "DATETIME", "value" : "2020-02-04T21:24:18+00:00" }, { "name" : "c$date_time", "type" : "DATETIME", "value" : "2020-02-04T21:24:18+00:00" }, { "name" : "c$menu", "value" : "12" } ]
- Verwenden Sie für
- Mit der Komponente "Variable festlegen" können Sie die Variablen aus dem vorherigen Schritt in einer Zuordnungsvariable konsolidieren.
Beispiel: Sie können die Variable
liveChatInfo
benennen und ihr den folgenden Wert zuweisen:{ "incidentId" : "${customerTicketId}", "customerInformation" : "${custInfo.value}", "customFields" : "${custFields.value}" }
- Setzen Sie in der Agent-Initiierungskomponente des Ablaufs den Wert der Eigenschaft Benutzerdefinierte Eigenschaften auf den Wert der konsolidierten Zuordnungsvariable, z.B.:
${liveChatInfo.value}
.