Dialog Notification

Finesse sends a Dialog notification when information (or an action) changes for a call to which the user belongs or when the user adds or removes a dialog.

For the purpose of notifications, the fromAddress and toAddress parameters of the Dialog object are defined as follows:

  • fromAddress: The extension of the caller who initiated the original call. If an unmonitored caller placed the call, the fromAddress is the unmonitored caller's extension. If an agent placed the call, the fromAddress is the agent's extension. For an Outbound Option Dialer call, the fromAddress is the extension of the agent on the outbound call. For a reservation call in Preview Outbound mode, the fromAddress is the dialer port. .

    For a reservation call in Direct Preview Outbound mode, the fromAddress is the dialer port.

  • toAddress: The dialed number of the original call. If the caller calls a route point, the toAddress is the route point. If the caller calls an agent directly, the toAddress is the agent's extension. For an Outbound Option Dialer call, the toAddress is the customer phone number called by the dialer. For a reservation call in Outbound Option Preview mode, the toAddress is the extension of the agent who received the call.

    For a reservation call in Direct Preview Outbound mode, the toAddress is the extension of the agent on the outbound call.

When a call is transferred, the fromAddress and toAddress in subsequent dialog notifications are those of the surviving call. For example, if an agent who is on a call places a consult call and then transfers the original call, the fromAddress and toAddress in the subsequent dialog notifications are those of the original call because the original call is the surviving call. However, if the agent puts the consult call on hold, retrieves the original call, and then transfers the consult call, the fromAddress and toAddress in subsequent dialog notifications are those of the consult call. In this case, the consult call is the surviving call.

When an agent who is on a call places a consult call, the original call will be on hold and the consult call will be active. Once the call is complete where the agent either transfers or places the call on conference, the surviving call's dialog notifications will contain the dropped call's dialog id in the secondary id field.

During Dialog notifications, there are two types of notifications that get sent to the Dialog node.

  • When a dialog is added or removed from the Dialog collection of the user.

Format:

XML

Node:

/finesse/api/User/{id}/Dialogs

Source:

/finesse/api/User/{id}/Dialogs (when a Dialog is added or removed from the Dialog collection for the user)

Data:

Dialogs

Payload:

Code Snippet
Copy<Update>
  <data>
    <dialogs>
      <Dialog>
        <!-- full Dialog object -->
      </Dialog>
    </dialogs>
  </data>
  <event>{POST|DELETE}</event>
  <requestId>xxxxxxxxx</requestId>
  <source>/finesse/api/User/{id}/Dialogs</source>
</Update>

Sample Notification Payload:

Code Snippet
Copy<Update>
    <data>
        <dialogs>
            <Dialog>
                <associatedDialogUri></associatedDialogUri>
                <fromAddress>1112554</fromAddress>
                <id>2130715746</id>
                <secondaryId>2130715747</secondaryId>
                <mediaProperties>
                    <mediaId>1</mediaId>
                    <DNIS>90101</DNIS>
                    <callType>CONSULT</callType>
                    <dialedNumber>90101</dialedNumber>
                    <outboundClassification></outboundClassification>
                    <callvariables>
                        <CallVariable>
                            <name>callVariable1</name>
                            <value>1</value>
                        </CallVariable>
                         ....
                        <CallVariable>
                            <name>callVariable2</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable3</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable4</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable5</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable6</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable7</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable8</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable9</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                        <CallVariable>
                            <name>callVariable10</name>
                            <value>0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ</value>
                        </CallVariable>
                    </callvariables>
                    <queueNumber>5022</queueNumber>
                    <queueName>UCM_PIM.Func.Agents.SG</queueName>
                    <callKeyCallId>217</callKeyCallId>
                    <callKeySequenceNum>1</callKeySequenceNum>
                    <callKeyPrefix>152018</callKeyPrefix>
                </mediaProperties>
                <mediaType>Voice</mediaType>
                <participants>
                    <Participant>
                        <actions>
                            <action>UPDATE_CALL_DATA</action>
                            <action>DROP</action>
                        </actions>
                        <mediaAddress>1112554</mediaAddress>
                        <mediaAddressType>AGENT_DEVICE</mediaAddressType>
                        <startTime>2016-05-03T21:49:36.512Z</startTime>
                        <state>INITIATING</state>
                        <stateCause></stateCause>
                        <stateChangeTime>2016-05-03T21:49:36.512Z</stateChangeTime>
                    </Participant>
                </participants>
                <state>INITIATING</state>
                <toAddress>90101</toAddress>
                <uri>/finesse/api/Dialog/2130715746</uri>
            </Dialog>
        </dialogs>
    </data>
    <event>POST</event>
    <requestId>edc7064f-1178-11e6-8bd0-005056000005</requestId>
    <source>/finesse/api/User/112554/Dialogs</source>
</Update>

Notification Triggers:

  • Incoming call

  • Ending a call

  • When dialog properties associated with the specified Dialog id is modified.

Format:

XML

Node:

/finesse/api/User/{id}/Dialogs

Source:

/finesse/api/Dialog/{id} (when a Dialog within the Dialogs collection for the user is modified)

Data:

Dialog

Payload:

Code Snippet
Copy<Update>
  <data>
    <dialog>
      <!-- full Dialog object -->
    </dialog>
  </data>
  <event>{PUT}</event>
  <requestId>xxxxxxxxx</requestId>
  <source>/finesse/api/Dialog/16804377</source>
</Update>

Sample Notification Payload:

Code Snippet
Copy<Update>
    <data>
        <dialog>
            <associatedDialogUri></associatedDialogUri>
            <fromAddress>1081001</fromAddress>
            <id>16804377</id>
            <mediaProperties>
                <mediaId>1</mediaId>
                <DNIS>1081002</DNIS>
                <callType>AGENT_INSIDE</callType>
                <callvariables>
                    <CallVariable>
                        <name>callVariable1</name>
                        <value></value
                <queueNumber>5022</queueNumber>
                <queueName>UCM_PIM.Func.Agents.SG</queueName>
                <callKeyCallId>217</callKeyCallId>
                <callKeySequenceNum>1</callKeySequenceNum>
                <callKeyPrefix>152018</callKeyPrefix>
                <dialedNumber>1081002</dialedNumber>
                </mediaProperties>
                <mediaType>Voice</mediaType>
                <participants>
                    <Participant>
                        <actions>
                            <action>TRANSFER_SST</action>
                            <action>CONSULT_CALL</action>
                            <action>HOLD</action>
                            <action>UPDATE_CALL_DATA</action>
                            <action>SEND_DTMF</action>
                            <action>DROP</action>
                        </actions>
                        <mediaAddress>1081001</mediaAddress>
                        <mediaAddressType>AGENT_DEVICE</mediaAddressType>
                        <startTime>2014-02-04T15:33:16.653Z</startTime>
                        <state>ACTIVE</state>
                        <stateCause></stateCause>
                        <stateChangeTime>2014-02-04T15:33:16.653Z</stateChangeTime>
                    </Participant>
                    <Participant>
                        <actions>
                            <action>UPDATE_CALL_DATA</action>
                            <action>DROP</action>
                            <action>RETRIEVE</action>
                        </actions>
                        <mediaAddress>1081002</mediaAddress>
                        <mediaAddressType>AGENT_DEVICE</mediaAddressType>
                        <startTime>2014-02-04T15:33:16.653Z</startTime>
                        <state>HELD</state>
                        <stateCause></stateCause>
                        <stateChangeTime>2014-02-04T15:33:27.584Z</stateChangeTime>
                    </Participant>
                </participants>
                <state>ACTIVE</state>
                <toAddress>1081002</toAddress>
                <uri>/finesse/api/Dialog/16804377</uri>
        </dialog>
    </data>
    <event>PUT</event>
    <requestId>xxxxxxxxx</requestId>
    <source>/finesse/api/Dialog/16804377</source>
</Update>

Notification Triggers:

  • Modification of participant state (for example, when a participant answers or hangs up a call)

  • A new participant on the call

  • Modification of the call data or actions