Interaction Properties. Genesys 7.6
Annons
Annons
Chapter
7
Interaction Properties
This chapter describes interaction properties and provides information on which of them are safe to modify. It covers these topics:
Interaction Properties, page 207
z z
z z
Overview
Genesys Multimedia interactions have a number of properties that take the form of key-value pairs. This chapter lists these properties and provides some information about them, including whether it is safe to change them.
Since you can set up your Multimedia system to change some of these properties as the interaction moves through the system, it is particularly important to know that some properties are safe to change and others are not.
For example, you can change interaction properties by using the
Update,
UpdateBusinessData,
and
UpdateInteractionData functions in a routing strategy. But you should be very careful when considering using these functions to change any interaction property.
There are four types of properties that can be defined in terms of the following two characteristics
•
Whether they exist as independent fields in the
interactions table. If they do, you can refer to them when defining conditions, orders, and segments in Views in Business Processes.
•
Whether they are used by Genesys media servers.
summarizes this classification and specifies whether it is safe for users to change the properties.
User’s Guide 205
Chapter 7: Interaction Properties Overview
Note:
When this chapter says that you must not change an interaction property, that means that you must not change the value of existing properties and that you must not create a new object with this name.
Table 23: Four Property Types
Type
System
Business
Custom
Other
Independent
Field
+
+
+
-
Used by Genesys
Media Server
-
+
-
+
Change OK
No
Yes
Yes
No
Note:
Significant changes were made to the
interactions table in release
7.6.1. “Changes in Release 7.6.1” on page 213 describes these changes.
Other locations in this chapter provide cross-references to this section where relevant.
Here is further information on these four property types:
•
System properties. These are maintained solely by Interaction Server, as independent fields in the
interactions table. The user cannot change them. The definition of conditions, orders, and segments in Views can refer to them. Examples:
InteractionID, MediaType.
•
Business properties. The values of these are set by media servers
(including both Genesys and custom media servers), and these properties may be used by the media servers at later points in processing. Therefore you must not change the ones that are used by any media server in your solution. They are stored as independent fields in the
interactions table
(this differs in release 7.6.1; see “Business Properties Not Stored as
Independent Fields” on page 213 ). The definition of conditions, orders, and
segments in Views can refer to them. Examples:
ContactID, Subject.
See
also “Business Properties” on page 210
.
•
Custom properties. These are reserved as independent fields in the interactions table with generic names such as
CustomString3.
They are available for you to define as interaction properties. Media servers do not
use them. can refer to them. See also “Custom Properties” on page 211
and “Flexible Configuration of Custom Properties” on page 214 .
206 Multimedia 7.6
Chapter 7: Interaction Properties Interaction Properties
•
Other properties. These are used by media servers. They are not stored as independent fields in the
interactions table and can not be used to define
Views. Users must not change them. See also “Other Properties” on page 213
.
Note:
In setting conditions for Views and snapshots, besides directly using some interaction properties types, you can also use a set of functions called Translations. These provide database manipulation tools that are
independent of the underlying database. See “Translations” on page 216
.
Interaction properties show up in several places:
•
Interaction Server logs show all of them.
•
Some IRD objects (for example,
UpdateBusinessData
) use them as parameters and display them in drop-down lists.
Interaction Properties
This section lists the following about interaction properties:
•
Property name as it appears in protocol messages
•
Field name in the
interactions table
•
Data type
•
Short description
System Properties
lists the system properties. You must not change these properties. You can use these properties on the
Condition, Order, and
Segmentation tabs of
Views in Business Processes, except that properties with Timestamp data type cannot be used on the
Segmentation tab.
Table 24: System Properties
Name
DeliveredAt
Name in
Interactions
Table
delivered_at
Type Description
ExternalId
InQueues external_id destinations
Timestamp Date and time that the interaction was first offered to the agent
String External interaction identifier (examples: chat session ID, e-mail mime ID)
String Suggested destinations for the interaction
(if provided by URS)
User’s Guide 207
Chapter 7: Interaction Properties Interaction Properties
Table 24: System Properties (Continued)
Name
PlacedInQueueAt
PlaceInQueueSeq
Name in
Interactions
Table
Type Description
InteractionId id
InteractionState
InteractionSubtype
InteractionType
IsLocked
IsOnline
MediaType
MovedToQueueAt
String state subtype type
Integer
String
String
0
= queued
2
= being processed by URS
3
= being handled by agent
Defined as
Business Attribute in
Configuration Server
Defined as
Business Attribute in
Configuration Server is_locked is_online
Integer
Integer
0
= unlocked
1
= locked
0
= offline
1
= online
This property applies to any media type
(for e-mail, the value is always
0
).
media_type String Defined as
Business Attribute in
Configuration Server moved_to_queue_at Timestamp Date and time that the interaction was first moved to a queue. If the interaction leaves the queue, then returns to it, the value of this property remains the same; that is, it shows the earliest time that the interaction entered the queue, without regard for later entry to or exit from the queue.
OutQueues
ParentId destinations parent_id
String
String
Suggested destinations for reply
Identifier of the parent interaction in the
UCS database placed_in_queue_at Timestamp Date and time that the interaction was placed in the current queue, regardless of whether the interaction was in this queue previously place_in_queue_seq Integer Event sequence number, denoting the chronological order of the last
EventPlacedInQueue
(for the interaction)
208 Multimedia 7.6
Chapter 7: Interaction Properties Interaction Properties
Table 24: System Properties (Continued)
Name
Queue
Name in
Interactions
Table
queue
Type
ReceivedAt
ScheduledAt
SubmittedAt
SubmittedBy
SubmitSeq received_at scheduled_at submitted_at submitted_by submit_seq
TenantId
Workbin tenant_id workbin
WorkbinAgentGroupId agent_group_id
WorkbinAgentId agent_id
WorkbinPlaceGroupId place_group_id
Description
String Name of the queue that the interaction is in
Timestamp Date and time that the media server received the interaction. If not provided by media server, date and time of submission to Interaction Server (same as
SubmittedAt
).
Timestamp Date and time before which the interaction must not be processed. See
“Setting the ScheduledAt Property” in the
“Creating Business Process Objects” chapter of the Universal Routing 7.6
Business Process User’s Guide.
Timestamp Date and time that the interaction was submitted to Interaction Server
String Application name of the media server that submitted the interaction
Integer
Integer
String
String
Event sequence number, denoting the chronological order of
EventInteractionSubmitted
(for the interaction)
Tenant associated with the interaction
Indicates that interaction is in a workbin
One of four properties specifying the ID and type of the workbin that the interaction is in. Only one of the four properties is present.
String
String
See
WorkbinAgentGroupId.
See
WorkbinAgentGroupId.
User’s Guide 209
Chapter 7: Interaction Properties Interaction Properties
Table 24: System Properties (Continued)
Name
WorkbinPlaceId
AbandonedAt
Name in
Interactions
Table
place_id abandoned_at
Type Description
String See
WorkbinAgentGroupId.
Timestamp Date and time that the media server set the
IsOnline attribute to
0.
Simplifies calculation of some statistics. If the interaction is still online, this attribute is not set.
Business Properties
lists business properties. You can use these properties on the
Condition and
Order tabs of Views in Business Processes. It is safe to change these properties.
Note:
For significant changes to these properties in release 7.6.1, see
“Business Properties Not Stored as Independent Fields” on page 213 .
Table 25: Business Properties
Name
CaseId
CategoryId
ContactId
CustomerSegment
Name In Interactions Table Type Description
case_id String Case identifier. Use and meaning to be defined by user.
category String Category identifier obtained by routing strategy request for e-mail classification contact_id customer_segment
String Customer identifier in the UCS database. Provided by UCS.
String Code for the customer’s revenue potential; for example,
Gold, Silver,
Bronze.
May be assigned as a result of database lookup based on sender name. Routing strategy sets this property.
DispositionCode
FromAddress disposition_code from_address
String Code for moving the interaction somewhere else
String Taken from e-mail interaction
210 Multimedia 7.6
Chapter 7: Interaction Properties Interaction Properties
Table 25: Business Properties (Continued)
Name
FromPersonal
Name In Interactions Table Type Description
from_personal String Name of person who sent the interaction
Mailbox mailbox
Priority priority Integer Indicates whether e-mail should receive special processing
ReasonCode reason_code
ServiceObjective service_objective caused the event; for example, normal, autoresponse, sent, forwarded, or redirected. Set by routing strategy Stop object.
Integer Time objective for servicing the interaction. The contact center may define a service objective for each combination of customer segment, service type, and media type.
ServiceType
Subject service_type subject
String Code for type of service being requested; for example,
Sales,
Service, Information.
Routing strategy sets this property.
String Taken from e-mail interaction
Custom Properties
The
interactions table contains a number of customizable properties, listed
Note:
This section does not apply to release 7.6.1; see “Flexible
Configuration of Custom Properties” on page 214
.
Table 26: Custom Properties
Name
CustomString1
CustomString2
CustomString3
CustomString4
Name in Interactions Table
custom_1s custom_2s custom_3s custom_4s
Type
String
String
String
String
User’s Guide 211
Chapter 7: Interaction Properties Interaction Properties
Table 26: Custom Properties (Continued)
Name
CustomString5
CustomString6
CustomNumber1
Name in Interactions Table
custom_5s custom_6s custom_1n
CustomNumber2
CustomNumber3 custom_2n custom_3n
To customize these properties use the following procedure.
Type
String
String
Integer
Integer
Integer
Procedure:
Using custom properties
Start of procedure
1. In Configuration Manager, open the required tenant folder and then open the
Business Attributes folder.
2. Create a new Business Attribute:
Name =
InteractionCustomProperties
Display name =
Interaction Custom Properties
Type =
Custom
If such an attribute already exists go to the next step.
3. Expand
Interaction Custom Properties and open its
Attribute values.
4. Create an attribute value with the name of the property that you want to use
(do not use spaces); for example,
AccountNumber or
InsurancePolicyNumber
. Give it an appropriate display name (spaces are allowed); for example,
Account Number.
5. In your new attribute value, go to the Annex tab and create a section called translation.
6. In the new
translation section, create an option called
translate-to.
7. Give the new translate-to option one of the custom property names from
as a value.
End of procedure
Next Steps
•
You can now use the new custom property to attach data to an interaction and to define conditions and orders of Views and snapshots.
212 Multimedia 7.6
Chapter 7: Interaction Properties Interaction Properties
Other Properties
These properties are listed in Table 27 . They are used by media servers. You
cannot use these properties on the
Condition and
Order tabs of Views in
Business Processes. You must not change them.
Note:
For significant changes to these properties in release 7.6.1, see
“Changes in Release 7.6.1” immediately below.
Table 27: Other Properties
Name
To
Header_*
Type
String
String
Description
Destination e-mail address of an e-mail or web form
Content of the header of an e-mail
The
To: property is required if you use the
Chat Transcript object in routing strategies. It supplies the value for the
To field of the outbound e-mail that sends the chat transcript. One way to give this property a value is in a routing strategy; for details, see “Chat Transcript” under “E-Mail Objects” in Chapter
3 of the Universal Routing 7.6 Reference Manual.
Changes in Release 7.6.1
The following changes to the
interactions table were made in release 7.6.1 and are relevant to the topic of this chapter.
Business Properties Not Stored as Independent Fields
Of the properties listed in “Business Properties” on page 210
, only
Priority and
ServiceObjective are stored as independent fields of the
interactions table in release 7.6.1. All other Business Properties are stored in the flexible_properties field. Here is a list:
CaseId, CategoryId, ContactId,
CustomerSegment, DispositionCode, FromAddress, FromPersonal, Mailbox,
ReasonCode, ServiceType, Subject.
This means that, as delivered by Genesys, only
Priority and
ServiceObjective can be used on the
Condition, Order,
and
Segmentation
tabs of Views. However, if you create a custom property (see “Custom
) corresponding to any of the other Business
Properties, then that property can be used on the
Condition, Order,
and
Segmentation tabs of Views. You can also do this for the
To and
Header_*
properties described in “Other Properties” on page 213
.
User’s Guide 213
Chapter 7: Interaction Properties Business Attributes
Flexible Configuration of Custom Properties
In release 7.6.1, the
interactions table does not include the customizable properties CustomString1–6 and CustomNumber1–3 that are described in
“Custom Properties” on page 211 . You can still create custom properties, with
greater flexibility then before, as described in “Custom Database Fields” on page 188
. These can be used on the
Condition, Order,
and
Segmentation tabs of Views.
Business Attributes
Business Attributes differ from interaction properties, although the two share some names (for example,
MediaType and
Case ID
).
•
Interaction properties are fields in the
interactions table. Their main purpose is to identify and describe interactions during processing.
•
Business Attributes are objects in the configuration database. They have two purposes.
To represent data concerning areas other than traditional telephony.
Each Business Attribute contains a range of possible values for a data category. In this sense, Business Attributes are like a dictionary.
To convey data between software components that have no other means of communication. Examples are Category Structure and
Screening Rules. These are among the Business Attributes that you must not change in Configuration Manager.
Category Structure is an example of a Business Attribute that users must not change. You create and edit categories in Knowledge Manager. The categories that you create also appear in Configuration Manager, in
Resources >
Business Attributes > Category Structure.
It is possible to select a category in Configuration Manager, open its
Properties dialog box, and make changes as you would to any configuration object. But this could create severe problems and the system would probably not operate properly when trying to handle this category. Knowledge Manager is the only safe tool to use for creating and editing categories.
lists the Business Attributes and Business Attribute Values that are relevant to Multimedia but are not represented in the
interactions table.
Table 28: Business Attributes That Are Not in the Interactions
Table
Name Change
CategoryStructure Prohibited
ContactAttributes Prohibited
214 Multimedia 7.6
Chapter 7: Interaction Properties Business Attributes
Table 28: Business Attributes That Are Not in the Interactions
Table (Continued)
Name
ContactAttributes/AccountNumber
ContactAttributes/LastName
ContactAttributes/PhoneNumber
ContactAttributes/PIN
ContactAttributes/Title
EmailAccounts
InteractionAttributes
Language
RootInteractionID
ScreeningRules
StopProcessingReason
Change
Allowed
Prohibited
Prohibited
Allowed
Prohibited
Allowed
Prohibited
Allowed
Prohibited
Prohibited
Allowed
User’s Guide 215
Chapter 7: Interaction Properties Translations
repeats three of the Business Attributes from Table 28 for which
change is allowed, and adds information. Note that all three of these Business
Attributes must be present for Multimedia to work properly.
Table 29: Business Attributes, Change Allowed
Name
EmailAccounts
Default Value
None
Comment
The Multimedia configuration wizard creates two values: one for the account that E-mail Server Java pulls e-mails from in order to bring them into the Multimedia system, and one for an external agent.
You may want to use Configuration Manager to create additional values, for example if you want additional e-mail addresses to be available for
Forward and
Redirect objects in routing strategies.
Configure the address for this value on the
Annex tab
>
General section
> address option. The address must comply with RFC2822 and therefore it must be encoded according to RFC2047.
Examples: [email protected]
""Legal Dpt"" <[email protected]>
Type = custom.
Language English
StopProcessingReason AutoResponded
Forwarded
Normal
Re-directed
Sent
Terminated
Used by Knowledge Manager (along with Tenant) to group category trees. You must add the value
unknown if you want to train a model that classifies by language. See
and “Notes on Language” on page 115 .
Specified by agent application when it stops the interaction.Must be selected in the IRD
Stop E-mail object.
Note: You must manually add the value
Abandoned, which is required by Chat Server.
Translations
In IRD, on the
Conditions and
Order tabs of a View object in an Business
Process, you can write statements that refer to the three types of interaction properties that are represented as independent fields in the
interactions table: system, business, and custom. You can also use translations, which provide database manipulation tools that are independent of the underlying database.
216 Multimedia 7.6
Chapter 7: Interaction Properties Translations
Translations enable you to use the interaction property names as presented in this chapter rather than database table field names. They provide a unified representation, regardless of the underlying database, of a collection of functions. Some deal with time and date, others with attributes of the specific interaction; for example,
_age() calculates the interaction’s age in seconds, regardless of database type used.
Notes:
Bear in mind the following:
•
Translation does not hide the original database syntax. Interaction Server translates whatever it can, leaves the rest unchanged, and transmits it all to the database. Therefore you can also use database field names and any database-specific constructs on the
Conditions and
Order tabs.
•
Many of these translations are time sensitive. As such they have a dependency on the
freeze-interval option of the Interaction Queue View object. For details, see the discussion of this option in the “Interaction
Server Options” section of the “Configuration Options” chapter of the
Multimedia 7.6 Reference Manual.
_timestamp
Specifies date constants in conditions. The single argument is a character constant that represents a date in the common form used by Interaction Server.
Usage
_timestamp('yyyy-mm-ddThh:mi:ssZ')
OR
_timestamp('yyyy-mm-dd hh:mi:ss')
Translations Performed by Database
For Oracle 9:
TO_DATE('yyyy-mm-dd hh:mi:ss', 'YYYY-MM-DD HH24:MI:SS')
For Microsoft SQL:
CONVERT(DATETIME, '2003-11-26 17:43:23', 102)
For DB2:
TIMESTAMP('yyyy-mm-dd hh:mm:ss')
_current_time
Calculates the current UTC date-time.
Use this function to avoid the confusion caused by mixing UTC and local times. Since Interaction Server manipulates only UTC time, and all dates in the
User’s Guide 217
Chapter 7: Interaction Properties Translations database are saved as UTC time, there is no standard function to get the current local date-time.
Database-specific functions can also be used to get the local time, such as
Microsoft SQL’s
getdate() or Oracle’s
sysdate.
Usage
_current_time()
Translations Performed by Database
For Oracle 9: cast(SYS_EXTRACT_UTC(SYSTIMESTAMP) as date)
For Microsoft SQL:
GETUTCDATE()
For DB2:
(CURRENT TIMESTAMP - CURRENT TIMEZONE)
_timestampdiff
Calculates the difference, in seconds, between two timestamps.
Both arguments should be of type timestamp, which differs depending on the database engine:
•
Oracle—date
•
Microsoft SQL—datetime
•
DB2—timestamp
Usage
_timestampdiff(timestamp date1, timestamp date2)
Translations Performed by Database
For Oracle 9:
(((date1) ñ (date2))*86400)
For Microsoft SQL: cast(cast(((date1) ñ (date2)) as float)*86400 as integer)
For DB2: timestampdiff( 2, char((date1) ñ (date2)) )
_timestampadd
Method of increasing and decreasing dates. Generates a date increased or decreased by a specified number of seconds. The second parameter can be negative, to make the result a date earlier than the original date.
218 Multimedia 7.6
Chapter 7: Interaction Properties Translations
Usage
_timestampadd(timestamp date, integer seconds)
Translations Performed by Database
For Oracle 9:
(date + (seconds)/86400)
For Microsoft SQL: dateadd(second, seconds, date)
For DB2:
(date + (seconds) second)
_age
Calculates the age in seconds of the interaction; that is, the difference between the current time in UTC and the interaction attribute
ReceivedAt
.
Usage
_age()
Translations Performed by Database
For Oracle 9:
((cast(SYS_EXTRACT_UTC(SYSTIMESTAMP) as date) ñ received_at)*86400)
For Microsoft SQL: cast(cast((getutcdate() - received_at) as float)*86400 as integer)
For DB2: timestampdiff( 2, char((current timestamp - current timezone) ñ received_at))
_time_in_queue
Calculates the time, in seconds, that the interaction has spent in the queue; that is, the difference between the current time in UTC and the attribute
PlacedInQueueAt.
Usage
_time_in_queue()
Translations Performed by Database
For Oracle 9:
((cast(SYS_EXTRACT_UTC(SYSTIMESTAMP) as date) ñ placed_in_queue_at)*86400)
User’s Guide 219
Chapter 7: Interaction Properties Translations
For Microsoft SQL: cast(cast((getutcdate() ñ placed_in_queue_at) as float)*86400 as integer)
For DB2: timestampdiff( 2, char((current timestamp - current timezone) ñ placed_in_queue_at))
_time_in_same_queue
Same as
_time_in_queue except that it is based on the
MovedToQueueAt property, which is updated only when the interaction is placed into a queue that it has not been in before.
Provides a unified method of calculating the amount of time that the interaction has spent in the current queue. It calculates the difference in seconds between the current time in UTC and the attribute
MovedToQueueAt.
Usage
_time_in_same_queue()
Translations Performed by Database
For Oracle 9:
((cast(SYS_EXTRACT_UTC(SYSTIMESTAMP) as date) - moved_to_queue_at)*86400)
For Microsoft SQL: cast(cast((getutcdate() - moved_to_queue_at) as float)*86400 as integer)
For DB2: timestampdiff( 2, char((current timestamp - current timezone) - moved_to_queue_at))
_empty
Usage
_empty(string value)
The result is a logical expression that is true if the string value is either null or an empty string, and is false otherwise.
Translations Performed by Database
For Oracle:
((value) is null)
For all other database platforms:
(((value) is null) or ((value)=''))
220 Multimedia 7.6
Chapter 7: Interaction Properties Translations
Note:
The reason the Oracle condition is different is that Oracle interprets an empty string as null, and a condition like
(anything=null) is always false.
_not_empty
Usage
_not_empty(string value)
The result is a logical expression that is false if the string value is either null or an empty string, and is true otherwise.
Translations Performed by Database
For Oracle:
((value) is not null)
For all other database platforms:
(((value) is not null) and (not ((value)='')))
User’s Guide 221
Chapter 7: Interaction Properties Translations
222 Multimedia 7.6
Ladda ner
Annons