call:InboundCall SOA definition
The call:InboundCall SOA service
provides the only interface between your telephony system and NexJ CRM.
call:InboundCall interface
The
call:InboundCall interface receives and processes the
information from the telephony system. It uses the
updateCallState method to update the call state
information for the call. The telephony system must provide the following
information:
- userLoginName
- The login name of the currently registered user. It is passed to the UserCallState class.
- status
- The status of the call. The possible values are CONNECTED and DISCONNECTED. The value is passed to call:UserCallState class. The CONNECTED status indicates that the call has been assigned to the user and the user is available to take the call. The DISCONNECTED status indicates that the call has been disconnected by the caller.
- phoneNumber
- The inbound phone number. This phone number is used to search either in the searchableAddress attribute or in the address attribute of the Telcom class to identify the contact who is making the call. The value must be provided as an unformatted telephone number.
- reasonId
- The reason ID that indicates which call script will be used when the inbound call is answered by the user. The ID should match a value from the call:CallReason class and is then passed to the call:InboundCall class to identify the script.
The telephony system should send the JSON message to the
following address:
hostname/context/soa/nexj:call:InboundCall:1.0/json-rpc
.
For example, yourcompany.com/nexj/soa/nexj:call:InboundCall:1.0/json-rpc
.
Inbound call
To indicate an inbound call, your
telephony system must send the following information in the JSON
format:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["userLoginName", "CONNECTED", "phoneNumber", "reasonId"], "id":1}"
For
example:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["user101", "CONNECTED", "1234567890", "1084CC0BCF18B24ABF86830DD046021FC0"], "id":1}"
Inbound call without a reason
To indicate an
inbound call without a reason specified, your telephony system must send
the following information in the JSON format:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["userLoginName", "CONNECTED", "phoneNumber", null], "id":1}"
For
example:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["user101", "CONNECTED", "1234657890", null], "id":1}"
Disconnected call
To indicate a disconnected
call, your telephony system must send the following information in the
JSON format:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["userLoginName", "DISCONNECTED", null, null], "id":1}"
For
example:
"{"jsonrpc":"2.0", "method":"updateCallState", "params":["user101", "DISCONNECTED", null, null], "id":1}"