Async Transcript API
The AsyncTranscriptAPI method allows the application to pull the conversation history of past asynchronous engagements.
AsyncTranscriptAPI
Public Methods
-
- (void) getAsyncMessages(void (^)(NSMutableArray* messages, Response *error))completionBlock andMode:(NSString*) mode andDays:(NSString*) days
- (void) getAsyncMessages(void (^)(NSMutableArray* messages, Response *error))completionBlock andMode:(NSString*) mode andDays:(NSString*) days andBUID:(NSString*)buID
getAsyncMessages() will not work if Site ID and Customer ID or Persistent Customer are null.
Request past asynchronous engagements conversation history from Nuance Messaging System.
GetMessageResponse
An array of GetMessageResponse objects is passed as an argument to the completionBlock. This will be nil if there is an error in the request.
Public Properties
-
NSString *messageType
The following are the possible message types:
"chatLine"
"stateChange"
"chat.authorized"
"chat.automation_request"
"chatroom.member_connected"
"command"
"chatroom.member_lost"
-
NSString *getProperty:(NSString *)name
The table below lists the properties that can be present in a GetMessageResponse. Pass the property name to retrieve its value.
Name Value Type Description agentName Name of the agent assigned to this engagement. string Agent name agentIsTyping-state true/false boolean Indicates the agent is currently typing a response. agentID Numeric ID of the assigned agent. string The unique identifier of the agent (same as agent login ID). command pushURL string A pushURL command is sent. from Message sender string This field contains the recommended customer facing agent name (typically presented something like “Jim: How can I help you?”, where Jim is the agent name presented to the customer). message Tag to wrap the content of each message. Indicates a new agent message is included. messageText Chat line text. string The actual agent text and/or message. messageType chatLine | command | stateChange | chatroom.member_connected | chatroom.member_lost string Type of message that is being returned. When the “stateChange” message type is received, you will also receive the “state” field indicating what state was changed. When the “command” message type is received, you will also receive the “command” field indicating what command was sent. queueDepth Number of customers ahead of you in queue number Queue depth is provided when state is queued. sequenceNumber Sequence number of this message number The client application can use the sequence number to ensure that messages are displayed in the correct order state queued | assigned | closed | agentIsTyping| transfer | conference string The current status of the engagement. This field presents only if messageType = stateChange url URL of page sent string When messageType is command, this field will be included and contain the URL to be pushed in the customer’s browser. waitTime Estimated wait time, in seconds. number Estimated wait time is provided when state is queued. Other parameters what returns from CR Name Example Message types where this parameter appears agent.alias
<agent.alias>Agent</agent.alias>
<messageType
>stateChange</messageType>
<state>assigned</state>, <messageType>chatLine</messageType>,<messageType
>chatroom.member_connected</messageType>
business_unit.id
<business_unit.id>22</business_unit.id>
<messageType
>stateChange</messageType>
<state>assigned</state>,<messageType
>chatroom.member_connected</messageType>
chatroom.chat_id
<chatroom.chat_id>7657620082880181644</chatroom.chat_id
>
<messageType
>chatroom.member_connected</messageType>, <messageType>chatroom.member_lost</messageType>
chatroom.member.name
<chatroom.member.name>1</chatroom.member.name>
<messageType
>chatroom.member_connected</messageType>
chatroom.member.id
<chatroom.member.id>1</chatroom.member.id>
<messageType
>chatroom.member_connected</messageType>, <messageType>chatroom.member lost</messageType>
chatroom.member
.type
<chatroom.member
.type>agent</chatroom.member.type>
<messageType
>chatroom.member_connected</messageType>, <messageType>chatroom.member_lost</messageType>
chatrouter
.address
<chatrouter
.address>192.168.0.20</chatrouter.address>
<messageType
>stateChange</messageType>
<state>assigned</state>client.display.text
<client.display.text>Agent has left the chat&nl;You are being
transferred, please hold...</client.display.text>
<messageType
>stateChange</messageType>
<state>transfer</state>,<messageType
>chatroom.member_connected</messageType>
cobrowse.enabled
<cobrowse.enabled>true</cobrowse.enabled>
<messageType
>stateChange</messageType>
<state>assigned</state>display.text
<display.text>Agent is typing...</display.text> <messageType
>stateChange</messageType>
<state>agentIsTyping</state>,<messageType
>chatroom.member_connected</messageType>, <messageType>chatroom.member_lost</messageType>,
<messageType
>stateChange</messageType>
<state>closed</state>escalate
<escalate>false</escalate>
<messageType
>stateChange</messageType>
<state>closed</state>event.agent_first_name
<event.agent_first_name>User First Name</event.agent_first_name>
<messageType
>stateChange</messageType>
<state>assigned</state>,<messageType
>chatroom.member_connected</messageType>
event.agent_last_name
<event.agent_last_name>User Last Name</event.agent_last_name
>
<messageType
>stateChange</messageType>
<state>assigned</state>,<messageType
>chatroom.member_connected</messageType>
exit
<exit>true</exit>
<messageType>chatroom.member_lost</messageType> host.node.id
<host.node.id>192.168.0.20
</host.node.id>
<messageType
>stateChange</messageType>
<state>assigned</state>,<messageType
>stateChange</messageType>
<state>transfer</state>msg.originalrequest.id
<msg.originalrequest.id>5722840798275623
</msg.originalrequest.id>
<messageType
>stateChange</messageType>
<state>assigned</state>,<messageType
>stateChange</messageType>
<state>transfer</state>owner
<owner>true</owner>
<messageType
>chatroom.member_connected</messageType>
reason
<reason>Transfer accepted and sent to 1</reason>
<messageType
>stateChange</messageType>
<state>transfer</state>screening
<screening>true</screening>
<messageType
>chatroom.member_connected</messageType>
script.id
<script.id>200023</script.id>
<messageType>chatLine</messageType> tc.mode <tc.mode>transfer</tc.mode>
<messageType
>chatroom.member_connected</messageType>,
<messageType>chatroom.member_lost</messageType>,<messageType
>stateChange</messageType>
<state>closed</state>type
<type>2</type>
<messageType
>stateChange</messageType>
<state>agentIsTyping</state>user.id
<user.id>2</user.id>
<messageType
>stateChange</messageType>
<state>agentIsTyping</state>
AsyncTranscriptAPI *asyncTranscriptAPI = [[AsyncTranscriptAPI alloc] init];
[asyncTranscriptAPI getAsyncMessages:^(NSMutableArray *messages, Response *error) {
} andMode:@"all" andDays:@"1"];
AsyncTranscriptAPI *asyncTranscriptAPI = [[AsyncTranscriptAPI alloc] init];
[asyncTranscriptAPI getAsyncMessages:^(NSMutableArray *messages, Response *error) {
} andMode:@"all" andDays:@"1" andBUID:@"1111111"];
let asyncAPI = AsyncTranscriptAPI.init()
asyncAPI.getAsyncMessages ({ (conversations ,errorResp) in
if errorResp == nil {
if conversations != nil {
if (conversations?.count)! > 0 {
let resp = conversations?[conversations!.count-1] as! ConversationResponse
}
}
}
}, andMode: "none", andDays:nil, andBUID: "11111111")