Versions Compared

Key

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

This chapter provides a general specification for Interaction Processor type network services.  It contains these sections:

Service Overview

An Interaction Processor type service is responsible for managing agent sessions and providing access to its underlying CTI for call control and possibly multimedia functionality.  All Interaction Processor services must support each request, response, and event detailed here unless otherwise marked optional.  However, they are free to expand on the structures of those messages as well as define new messages.

...

The "instance-domain" property is used to identify a group of interaction processors running within separate integration platforms that are working together to service the same pool of clients.  The set of clients will spread their connections across the platform instances hosting the correct domain.  The following information must be provided by all Interaction Processor type services.

{

Code Block
languagejson
{
  "vendor", "<vendor-name>",

...


  "version", "<current-version>",

...


  "cti-vendor": "<cti-vendor-name>",

...


  "cti-version": "<cti-version>",

...


  "instance-domain": "<instance-domain>"

...


}

Service Requests and Responses

...

It is recommended that clients initially use a value of false for this property and allow the user to decide if they want to destroy the session.  If the user requests the session be removed, the client would send a second request with a value of true for the "override" property.

Request

Code Block
languagejson
{

...


  "command": "prepareSession",

...


  "data":

...

{


  {
    "model": "<name-of-call-model>",

...


    "override": true | false,

...


    "agent":

...

{


    {
      "id": "<agent-id>",

...


      "password": "<agent-password>"

...

}

}


    }
  }
}

Confirmation Response

Code Block
languagejson
{

...


  "command": "prepareSession",

...


  "result": "confirm",

...


  "message": "<confirmation-prompt-text>",

...


  "original":

...

<Contains the original prepareSession request JSON structure>


  {
    <Contains the original prepareSession request JSON structure>
  }
}

Success Response

Code Block
languagejson
{

...


  "command": "prepareSession",

...


  "result": "success",

...


  "resource":

...

{


  {
    "id": "<resource-id>",

...


    "data":

...

<Contains the original data property of the request>

}


    {
      <Contains the original data property of the request>
    }
  }
}

Failure Response

Code Block
languagejson
{

...


  "command": "prepareSession",

...


  "result": "failure",

...


  "failure":

...

{


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

...


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

...


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

...

}


  },
  "original":

...

<Contains the original prepareSession request JSON structure>


  {
    <Contains the original prepareSession request JSON structure>
  }
}

Secondary Events

This request should not generate any secondary service events.

...

The getCapabilities request is used by a client to discover the capabilities of this interaction processor.

Request

Code Block
languagejson
{

...


  "command": "getCapabilities",

...


  "data":

...

{

}


  {
  }
}

Success Response

Code Block
languagejson
{

...


  "command": " getCapabilities ",

...


  "result": "success",

...


  "data":

...

{

<key value pairs of capabilities>

}


  {
    <key value pairs of capabilities>
  }
}

Failure Response

Code Block
languagejson
{

...


  "command": " getCapabilities ",

...


  "result": "failure",

...


  "failure":

...

{


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

...


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

...


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

...

}


  },
  "original":

...

<Contains the original getCapabilities request JSON structure>


  {
    <Contains the original getCapabilities request JSON structure>
  }
}

Secondary Events

This request should not generate any secondary service events.

...