Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • channel.externaldispositions.updated

channel.request.incontact.getscripts (InContact only)

Retrieves the list of scripts available for the channel. Scripts are limited by the channel type.

Request

Code Block
languagejson
{
  "command": "channel.dial",
  "target": "<session-id>.<channel-id>" |
  "<session-id>.<channel-group-id>.<channel-id>",
  "data":
  {
    "destination": "<number-to-dial>",
    "extensions":
    {
      <platform-specific-extensions>
    }
  }
}

Success Response

Code Block
languagejson
{
  "command": "channel.dial",
  "target": "<session-id>.<channel-id>" |
  "<session-id>.<channel-group-id>.<channel-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "channel.dial",
  "target": "<session-id>.<channel-id>" |
  "<session-id>.<channel-group-id>.<channel-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Placing an outbound call on a channel will generate the following secondary events:

  • channel.infochanged

  • state.updated (channel state event)

  • interaction.created

  • state.updated (interaction state event)

  • conversation.created

  • state.updated (conversation state event)

  • conversation.member.added

  • conversation.initialized

  • interaction.datachanged

  • interaction.preview

  • interaction.initialized

interaction.accept (Telephony and Multimedia)

Accepts an alerting interaction.  A new interaction, whether from an inbound call or multimedia contact, will generate an "interaction.preview" event.  However, the interaction is still not officially assigned to the agent.  The agent must accept the interaction before it is assigned.  Although this request can be used to accept in inbound phone call, it is recommended for clients to use the telephony specific "conversation.answer" request instead.  A failure is generated if the interaction cannot be assigned to the agent.

Request

Code Block
languagejson
{
  "command": "interaction.accept",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.accept",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.accept",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Accepting an interaction will generate the following secondary events:

...

Rejects an alerting interaction.  A new interaction, whether from an inbound call or multimedia contact, will generate an "interaction.preview" event.  However, the interaction is still not officially assigned to the agent.  The agent reject the interaction before it is assigned allowing another agent to handle the interaction.  Although this request can be used to reject in inbound phone call, it is recommended for clients to use the telephony specific "conversation.release" request instead.  A failure is generated if the agent cannot reject the interaction.

Request

Code Block
languagejson
{
  "command": "interaction.reject",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.reject",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.reject",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Rejecting an interaction will generate the following secondary events:

...

Attempts to add or modify the call data of an interaction.  The "key" and "value" properties of the "data" request property hold the name of the data item and its value.  If the key already exists, the current value is overwritten with the new value.  If the key does not exist, it is added to the call data.  A failure is generated if the interaction call data cannot be updated for some reason.

Request

Code Block
languagejson
{
  "command": "interaction.setinteractiondata",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data":
  {
    "key": "[name-of-data-item]",
    "value": "[value-of-data-item]"
  }
}

Success Response

Code Block
languagejson
{
  "command": "interaction.setinteractiondata",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.setinteractiondata",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Modifying the interaction call data will generate the following secondary events:

...

Attempts to add or modify the disposition of an interaction.  The "disposition" properties of the "data" request property holds the value.  A failure is generated if the interaction disposition cannot be updated for some reason.

Request

Code Block
languagejson
{
  "command": "interaction.setdisposition",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data":
  {
    "disposition": "[disposition-text]"
  }
}

Success Response

Code Block
languagejson
{
  "command": "interaction.setdisposition",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.setdisposition",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Modifying the interaction disposition does not generate any secondary events.

...

Marks the interaction complete indicating no additional work is required by the agent.  A failure is generated if the agent cannot reject the interaction.  Multimedia interactions can be completed at any time after being accepted.  All conversations of a telephony interaction must have ended before the interaction can be completed.

Request

Code Block
languagejson
{
  "command": "interaction.complete",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.complete",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.complete",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

...

The media bar should provide the agent a way to select a disposition as well as provide a set of notes related to the interaction.  The call should be made again providing "skipDisposition": true if dispositionRequired is false and the agent doesn't select a disposition.  Otherwise the call is should be made providing "dispositionId" and "notes" properties.

Secondary Events

Completing an interaction will generate the following secondary events:

...

Places the current call on hold and attempts to place a second outbound call under the same interaction.  The "destination" property of the "data" request property contains the number to be dialed.  A failure is generated if the interaction has not started or if the outbound call cannot be initiated for some reason.

Request

Code Block
languagejson
{
  "command": "interaction.consult",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data":
  {
    "destination": "[number-to-dial]"
  }
}

Success Response

Code Block
languagejson
{
  "command": "interaction.consult",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.consult",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Placing a consult call will generate the following secondary events:

...

Places the current talking party on hold and retrieves the other held party.  A failure is generated if a consult call is not connected.

Request

Code Block
languagejson
{
  "command": "interaction.alternate",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.alternate",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.alternate",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Alternating between the primary and consult calls will generate the following secondary events:

...

Attempts to transfer the original call party to the consult call party.  If successful, both conversations will end for this agent and the two parties will be connected together.  A failure is generated if a consult call is not connected or the call cannot be transferred.

Request

Code Block
languagejson
{
  "command": "interaction.consulttransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.consulttransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.consulttransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing a consult transfer will generate the following secondary events:

...

Attempts to conference the consult call party into the original call.  If successful, both parties will be in conference together.  A failure is generated if a consult call is not connected or the call cannot be conferenced.

Request

Code Block
languagejson
{
  "command": "interaction.consultconference",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "interaction.consultconference",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "interaction.consultconference",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing a consult conference will generate the following secondary events:

...

Attempts to start call recording.  If recording is already underway, this should successfully return.

Request

Code Block
languagejson
{
  "command": "interaction.request.recording.start",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": " interaction.request.recording.start",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": " interaction.request.recording.start",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing start recording will generate the following secondary events:

...

Attempts to stop call recording.  If recording is already stopped, this should successfully return.

Request

Code Block
languagejson
{
  "command": "interaction.request.recording.stop",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": " interaction.request.recording.stop",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": " interaction.request.recording.stop",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing stop recording will generate the following secondary events:

...

Attempts to pause call recording.  Not all platforms will support the pause operation and will return an unsupported error.

Request

Code Block
languagejson
{
  "command": "interaction.request.recording.pause",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": " interaction.request.recording.pause",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": " interaction.request.recording.pause",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing pause recording will generate the following secondary events:

...

Attempts to resume call recording.  Not all platforms will support the resume operation and will return an unsupported error.

Request

Code Block
languagejson
{
  "command": "interaction.request.recording.resume",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": " interaction.request.recording.resume",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": " interaction.request.recording.resume",
  "target": "<session-id>.<channel-id>.<interaction-id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing resume recording will generate the following secondary events:

...

Answers an inbound phone call.  This request also assigns the interaction to the agent as if "interaction.accept" were used.  A failure is generated if the call cannot be answered.

Request

Code Block
languagejson
{
  "command": "conversation.answer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.answer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.answer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Answering an inbound call will generate the following secondary events:

...

Disconnects the agent from an active phone call.  If a two-party call is released both the agent and other party are disconnected.  If a multi-party conference is released, only the agent is removed from conference while the remaining parties stay in conference.  A failure is generated if the call cannot be disconnected.

Request

Code Block
languagejson
{
  "command": "conversation.release",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.release",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.release",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Releasing an active call will generate the following secondary events:

...

Places the target conversation on hold.  A failure is generated if the call cannot be held.

Request

Code Block
languagejson
{
  "command": "conversation.hold",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.hold",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.hold",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Holding an active call will generate the following secondary events:

...

Retrieves the target conversation from hold.  A failure is generated if the call cannot be retrieved.

Request

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Retrieving a held call will generate the following secondary events:

...

Places the target conversation on mute.  A failure is generated if the call cannot be muted.

Request

Code Block
languagejson
{
  "command": "conversation.request.mute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.request.mute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.request.mute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Muting an active call will generate the following secondary events:

...

Unmutes the target conversation.  A failure is generated if the call cannot be unmuted.

Request

Code Block
languagejson
{
  "command": "conversation.request.unmute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.request.unmute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.request.unmute",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Unmuting a call will generate the following secondary events:

...

Generates DTMF tones to the other parties on a call.  The request is used to produce DTMF tones for navigating automated systems using the client interface.  A failure is generated if DTMF cannot be sent.

Request

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data": {}
}

Success Response

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.retrieve",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Sending DTMF tones does not generate any secondary events.

...

Attempts to transfer the call to the given destination.  The call will be disconnected from the agent regardless of whether it is successful.  A failure is generated if the call cannot be transferred.

Request

Code Block
languagejson
{
  "command": "conversation.blindtransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data":
  {
    "destination": "[number-to-dial]"
  }
}

Success Response

Code Block
languagejson
{
  "command": "conversation.blindtransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.blindtransfer",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing a blind transfer will generate the following secondary events:

...

Attempts to conference the party at the given destination into the original call.  If successful, both parties will be in conference together.  A failure is generated if the call cannot be conferenced.

Request

Code Block
languagejson
{
  "command": "conversation.blindconference",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "data":
  {
    "destination": "[number-to-dial]"
  }
}

Success Response

Code Block
languagejson
{
  "command": "conversation.blindconference",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "success",
  "data":
  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{
  "command": "conversation.blindconference",
  "target": "<session-id>.<channel-id>.<interaction-id>.<conversation.id>" | "<session-id>.<channel-group-id>.<channel-id>.<interaction-id>.<conversation.id>",
  "result": "failure",
  "failure":
  {
    "code": "<error-code-for-failure>",
    "message": "<error-message>",
    "context": "<stack-trace-if-applicable>"
  },
  "original":
  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Performing a blind conference will generate the following secondary events:

...