Versions Compared

Key

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

...

Requests the agent leg be connected.

Request

{

Code Block
languagejson
{
  "command": "session.request.incontact.agentleg.connect",

...


  "target": "<session-id>",

...


  "data":

...

{

}


  {
  }
}

Success Response

{

Code Block
languagejson
{
  "command": " session.request.incontact.agentleg.connect",

...


  "target": "<session-id>",

...


  "result": "success",

...


  "data":

...

{

}


  {
  }
}

Failure Response

{

Code Block
languagejson
{
  "command": "session.request.incontact.agentleg.connect",

...


  "target": "<session-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>

...


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

If successful, a session.agentleg.connected event will be generated.  Otherwise, a session.agentleg.failed event will be generated.

...

Requests the agent leg be connected.

Request

Code Block
languagejson
{

...


  "command": "session.request.incontact.agentleg.disconnect",

...


  "target": "<session-id>",

...


  "data":

...

{

}


  {
  }
}

Success Response

{

Code Block
languagejson
{
  "command": " session.request.incontact.agentleg.disconnect",

...


  "target": "<session-id>",

...


  "result": "success",

...


  "data":

...

{

}


  {
  }
}

Failure Response

{

Code Block
languagejson
{
  "command": "session.request.incontact.agentleg.disconnect",

...


  "target": "<session-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>

...


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

If successful, a session.agentleg.disconnected event will be generated.

...

Requests a structured list of dial destinations.  The destination structure is specific to Incontact.  The "realtime" property controls whether or not update events will be sent to the client.

Request

Code Block
languagejson
{

...


  "command": "session.request.incontact.addressbook",

...


  "target": "<session-id>",

...


  "data":

...

{

...


  {
    "realtime": true | false

...


  }

...


}

Success Response

{

"command": " session.request.incontact.addressbook",

...

"result": "success",

"data":

Code Block
languagejson
{

...


  "addressbooks":

...

                  [

                        {

...


  [
    {
      "name": "<address_book_name>",

...


      "groups":

...

                              [

...


      [
        {
          "name": "<group_name>",

...


          "groups": []

...

,
          "entries": []

...

                              ],

...


        }
      ],
      "entries":

...

                              [

...


      [
        "name": "<entry_name>",
        "type": "external" | "agent" | "skill",

...


        "destinations":

...

[

...


        [
          {
            "label": "<destination_label>",

...


            "value": "<destination_value>"

...

                                    ]

                                    "name": "<entry_name>",

...


          }
        ],
        "properties":

...

                                    {

...


        {
          #agent_properties#

...


          "state": "<agent_state_name>"

...


          #skill_properties#

...


          "mediaType": "<skill_media_type>",

...

                                          #optional skill properties

...


          #optional skill properties
          "numAvailable": <num_avail_agents>,

...


          "numUnavailable": <num_unavail_agents>,

...


          "ewt": "<estimated_wait_time>"

...

                                    }

                              ]

                        }

                  ]

}


        }
      ]
    }
  ]
}

Failure Response

{

Code Block
languagejson
{
  "command": "session.request.incontact.addressbook",

...


  "target": "<session-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

If the real time property is true, a session.incontact.addressbook.updated event is periodically generated that contains fully updated address book information that should replace any previous information.

...

Requests that any ongoing address book real time updates stop.  This should be called after requesting the address book with the real time property as true and updates are no longer required.

Request

{

Code Block
languagejson
{
  "command": "session.request.incontact.addressbook.stop",

...


  "target": "<session-id>",

...


  "data":

...

{

}


  {
  }
}

Success Response

Code Block
languagejson
{

...


  "command": " session.request.incontact.addressbook.stop",

...


  "target": "<session-id>",

...


  "result": "success",

...


  "data":

...

{

}


  {
  }
}

Failure Response

Code Block
languagejson
{

...


  "command": "session.request.incontact.addressbook.stop",

...


  "target": "<session-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

None.

channelgroup.activateall

...

The "data" property should carry any CTI specific activation parameters within the "channeloptions" array.  Each channel that requires parameters should be represented by a JSON structure identifying the channel by id and any other necessary JSON properties or structure to perform the activation.

RequestRequest

Code Block
languagejson
{

...


  "command": "channelgroup.activateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "data":

...

{


  {
    "channeloptions":

...

[

{


    [
      {
        "id": "<channel-identifier>",

...


        "queue": "<channel-queue>"

...

}

]

}


      }
      …
    ]
  }
}

Success Response

Code Block
languagejson
{

...


  "command": "channelgroup.activateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "result": "success",

...


  "data":

...

{

<Same data contents as original request>

}


  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block

{

languagejson
{
  "command": "channelgroup.activateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Activating the channels associated with a channel group will generate the following secondary events:·      

  • channel.infochanged (for each associated channel If not active)

...

  • state.updated (channel state event, if not active)

channelgroup.deactivateall

Attempts to place all channels associated with the channel group into inactive status.  Channels that are already inactive will be unaffected by this request.  A failure is generated if one of the channels cannot be deactivated for some reason.  Any channels that were already deactivated during this request will remain inactive after a failure but remaining channels will not be deactivated.

Request

{

Code Block
languagejson
{
  "command": "channelgroup.deactivateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "data":
  {
  }

...


}

Success Response

Code Block

{

languagejson
{
  "command": "channelgroup.deactivateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "result": "success",

...


  "data":

...

{

<Same data contents as original request>

}


  {
    <Same data contents as original request>
  }
}

Failure Response

Code Block
languagejson
{

...


  "command": "channelgroup.deactivateall",

...


  "target": "<session-id>.<channel-group-id>",

...


  "result": "failure",

...


  "failure":

...

{


  {
    "code": "<error-code-for-failure>",

...


    "message": "<error-message>",

...


    "context": "<stack-trace-if-applicable>"

...

}


  },
  "original":

...

<Contains the original request JSON structure>


  {
    <Contains the original request JSON structure>
  }
}

Secondary Events

Deactivating the channels associated with a channel group will generate the following secondary events:·      

  • channel.infochanged (for each associated channel If active)

...

  • state.updated (channel state event, if active)

channel.activate

Attempts to place the given channel into activated status.  A failure is generated if the channel cannot be activated or is already in the active state.  The "data" property should carry any CTI specific activation parameters within the "channeloptions" property.

Request

{

Code Block
languagejson
{
  "command": "channel.activate",

...


  "target": "<session-id>.<channel-id>" |

...


  "<session-id>.<channel-group-id>.<channel-id>",

...


  "data":

...

{


  {
    "channeloptions":

...

{


    {
      "queue": "<channel-queue>"

...

}

}


    }
  }
}

Success Response

{

"command": "channel.activate",

...