Start Conversation
Calls ECE’s ‘Start conversation’ API to create the conversation for a customer. Uses ‘searchContactOnAttribute’ option.
Important!
In addition to processing the responses from Start Conversation API, this node also waits for and handles messages from ECE application for an ongoing conversation that are posted to the registered imiconnect webhook callback URL.
Limitation - Custom attributes for the activity
Currently, the Start Conversation node limits the ability to send custom attributes for the activity being created as part of this conversation to the fields that are visible on the node UI. It is not possible to send custom attributes that may be unique to your ECE implementation.
The events are processed in the following order:
- API responses from Start Conversation API (onStartConversationSuccess, Bad Request, Forbidden, Unauthorized, Internal Server Error.
- Messages from ECE application for an ongoing conversation (Assigned, PagePush, Message, Transfer, AcceptAttachment, UploadAttachment, RejectAttachment, Complete).
- Not all of these asynchronous events are similar. E.g., while you can receive events such as Message or Transfer multiple times, you receive the Complete event only once and it indicates that the conversation has been completed.
- As a result, when configuring flow branches corresponding to each of these events, you need to make a distinction between the kind of nodes you can use on branches for intermediate events (such as Message and Transfer), vs closing event i.e., Complete. While you can add wait for or delay nodes (such as receive node, wait for delivery receipt on a Send SMS node, or a delay node, or an HTTP node which times out after configured time period, etc.) on the flow branch for the closing event, you are not supposed to add such nodes for intermediate events. If you do so, those will not be processed and will lead to issues.
Authorization
Refer to the Node Authorization section for more information.
Methods and Outcomes
Start Conversation on SMS
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Key Name of the contact point. For initiating a conversation on SMS, it is mobile.phone Entry Point ID The ID of the entry point where you want to create the conversation. Last Modified Date Last modified date of the entrypoint. Is Rich Text Supported? Indicates whether client supports rich text. Value can be true which means it is supported, or false which means it is not supported. Transaction ID Transaction id from the start node on the channel specific flow. For SMS, it is nodeid.sms.transid, & for Facebook Messenger, it is nodeid.messenger.transid First Name Customer first name. Phone Number Customer phone number without country code. Country Code Country code associated with the customer’s phone number. Cluster ID ECE Cluster ID where the conversation is being created. Conversation ID * Custom attribute to store the conversation ID for SMS. The value needs to be set to null when initiating a new conversation. | caseId Case ID associated with the conversation. activityId ID of the activity being created as part of this conversation. conversationId ID of the conversation code Contains the error sub-code when the node execution does not succeed. developerMessage Contains the error sub-code description when the node execution does not succeed. response Contains the complete response payload received from the API. | onInvalidData Request processing failed due to missing data. onError Request processing failed due to an error. onInvalidChoice Request processing failed but there is no outcome configured for the concerned scenario. onTimeout Request processing timed out. Bad Request None of the mutually exclusive mandatory query parameters are provided. Any unsupported query parameters are provided. Invalid value provided for any of the query parameters. Customer search found multiple contacts. Customer was not found, and customer creation using the provided details failed. Any rules stated in Overview or Request Body sections are violated. Unauthorized Authorization header is not provided. Authorization header format is incorrect. Session does not exist corresponding to the provided authorization header. The session identified through authorization header is not a client application session. Forbidden The client application is not configured to use the provided entry point. Internal server error Request processing failed because of internal server error. Complete Agent ended the conversation while customer was still in session. Assigned Agent assigned to the conversation. Message Agent sent a message to the customer. PagePush Agent sent a link to end user. Transfer Agent transferred the chat to another agent/queue. RejectAttachment Agent rejected the attachment. AcceptAttachment Agent accepted the attachment. UploadAttachment Agent uploaded an attachment. onauthorizationfail * The authorization has failed due to authentication |
Start Conversation on Messenger
Input Variables | Output Variables | Node Outcomes |
---|---|---|
Key Name of the contact point. For initiating a conversation on Facebook Messenger, it is custom.facebookpsid Entry Point ID The ID of the entry point where you want to create the conversation. Last Modified Date Last modified date of the entrypoint. Is Rich Text Supported? Indicates whether client supports rich text. Value can be true which means it is supported, or false which means it is not supported. Transaction ID Transaction id from the start node on the channel specific flow. For SMS, it is nodeid.sms.transid, & for Facebook Messenger, it is nodeid.messenger.transid First Name Customer first name. Cluster ID ECE Cluster ID where the conversation is being created. Conversation ID Custom attribute to store the conversation ID for SMS. The value needs to be set to null when initiating a new conversation. Facebook PSID Facebook Page Scoped ID for the customer who initiated the conversation using messenger. | caseId Case ID associated with the conversation. activityId ID of the activity being created as part of this conversation. conversationId ID of the conversation code Contains the error sub-code when the node execution does not succeed. developerMessage Contains the error sub-code description when the node execution does not succeed. response * Contains the complete response payload received from the API. | onInvalidData Request processing failed due to missing data. onError Request processing failed due to an error. onInvalidChoice Request processing failed but there is no outcome configured for the concerned scenario. onTimeout Request processing timed out. Bad Request None of the mutually exclusive mandatory query parameters are provided. Any unsupported query parameters are provided. Invalid value provided for any of the query parameters. Customer search found multiple contacts. Customer was not found, and customer creation using the provided details failed. Any rules stated in Overview or Request Body sections are violated. Unauthorized Authorization header is not provided. Authorization header format is incorrect. Session does not exist corresponding to the provided authorization header. The session identified through authorization header is not a client application session. Forbidden The client application is not configured to use the provided entry point. Internal server error Request processing failed because of internal server error. onStartConversationSuccess Chat conversation started successfully. Complete Agent ended the conversation while customer was still in session. Assigned Agent assigned to the conversation. Message Agent sent a message to the customer. PagePush Agent sent a link to end user. Transfer Agent transferred the chat to another agent/queue. RejectAttachment Agent rejected the attachment. AcceptAttachment Agent accepted the attachment. UploadAttachment Agent uploaded an attachment. onauthorizationfail The authorization has failed due to authentication |
Updated about 1 year ago