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}"