Input Node (Public)

Input Node (Public)

Overview

MyOperator is designed with simplicity in mind, most of our customers can do most of the stuff from the MyOperator panel itself. But, MyOperator IVR designer may not be enough to handle every kind of IVR flow, especially with customers having custom requirements related to dialing or playing dynamic messages. MyOperator provides a feature called Input Node for such cases.

Problem

Input node feature aims to solve many different problems:
  1. Complex IVR and they are not able to create the IVR on the MyOperator platform.
  2. Verify the caller before proceed to the next node.
  3. Play a customized message to their callers.
  4. Connect the caller to a specific set of agent/agents.

Solution

MyOperator solves this problem by enabling you to send commands to MyOperator during a call. This interaction between MyOperator works over HTTP API which is called input node API.

During a call, MyOperator sends events to your Input node API and asks for the next action to be taken in the IVR. Based on the parameters provided by MyOperator, Input Node API will send the action in response to the request. Response received by MyOperator and provided action will be performed in the IVR.

Process Details

Prerequisites

To get the Input node working customer must have the following things:
  1. A working API reachable from MyOperator.
  2. Input node feature enabled in MyOperator account.
  3. If you want to dial anon users, you should have anon user feature enabled in the MyOperator account.

Process Flow Overview

After setting the required settings for Input Node, when a customer calls on MyOperator IVR with input node configured, the following steps will be followed:
  1. MyOperator makes a request to the Input Node API with some parameters (Described later)
  2. Input Node API after processing returns the response with action to be taken by MyOperator IVR.
  3. MyOperator receives a response from the IVR and processes the action according to Input API response.
  4. MyOperator executes the next node in the IVR, if jump-node (described later) is configured, then node_id passed will be executed (Helps if you want to repeat the node)

Request Format

MyOperator sends a request to Input Node API configured by you, with the below parameters:

Method: POST

Parameters:

Input node API will receive the below parameters:

Parameter

Type

Description

Sample

uid

String

unique id of call

s4.1231221asd31e13

 

node_id

 

String

Node id shown in the callflow page as shown in image below

 

1a18f23cf93c4c15958779042f

 

timestamp

 

Integer

current timestamp value in seconds

 

1585631149

 

 

 

clid

 

 

 

String

formatted caller id(if caller id received by myoperator as 08527384897 or

918527384897 then

8527384897 will be sent)

 

 

 

8527384897

 

input

 

Integer

input provided by the caller(if any)

 

15


Node ID can be found in the Design Callflow section in the MyOperator panel. Node ID will be shown on the Edit IVR page shown below:


Parameters will be sent according to the format configured on the MyOperator panel in section MyOperator/Integration/Webhook. A screenshot of the same is provided below:


An explanation of each input in the form is provided below:

Key

Example Values

Type

Description

Required

 

Target URL

 

https://example.com

 

string

Your site URL which needs to provide response

 

yes

 

 

 

Header

 

 

["Content-Type: application/json","header key:value"]

 

 

 

string

Headers which you want to be sent by us to given URL - NOTE: Default content type is application/x-www- form-urlencoded

 

 

 

no

 

 

Credential

 

{ "username": "abc",

"password": "abc" }

 

 

string (JSON)

BASIC Auth username and password to be sent for the given request

 

 

no


Input Node API Response Format

MyOperator needs responses from the Input Node API in a certain way to perform a particular action. The response should be in JSON format, with the below parameters:

Key

Possible Values

Type

Description

Required

 

action

 

 

string

action to be performed

 

yes

 

 

tts

 

string

Play from Text To Speech

 

 

url

string

Play from URL

 

 

 

value

 

 

 

string

data for action . could be a text for action:tts or file url for action:url

 

 

yes

 

operation

 

 

string

followup action to be performed after action

 

 

hangup

string

hang up the call

 

 

dial-users

string

dial the users

 

 

 

dial-numbers

 

string

dial numbers ( anonymous case )

 

 

jump-node

string

jump to another node

 

 

 

operation-data

 

{depends on operation}

 

{depends on operation}

data required by operation . See table below for possible scenarios

 


operation-data possible scenarios concerning operation value are given below:

Operation

Operation-data key

Type

Description

hangup

{not required}

 

 

dial-users

data

list

list of user ids to be dialed

 

dial-users

 

dial_method

 

string

dial method to use in case of multiple users

dial-numbers

data

list

list of numbers to be dialed

 

dial-numbers

 

dial_method

 

string

dial method to use in case of multiple users

 

dial-numbers

 

anon_uuid

 

string

uuid of anonymous user if configured

 

jump-node

 

node_id

 

string

node id of the node to process next


Examples of Input Node responses

Case: TTS will be played and the next node the IVR will be executed.

{
"action": "tts",
"value": "welcome to company ABC"
}

Case: When action is url , the value should be a valid url with an mp3 file:

{
"action": "url",
"value": "http://myurl.com/file.mp3"
}

Case: If you want to loop input node commands, then use jump-node operation as given below:

{
"action": "tts",
"value": "welcome to company ABC",
"operation": "jump-node",
"operation_data":{
"node_id":"5d26dd68ee5ed818"
}
}

Case: If you want to play TTS and dial MyOperator users below example can be used:

{
"action": "tts",
"value": "I will be played but users will be dialed",
"operation": "dial-users",
"operation_data": {
"data": ["5d10680d44bc1498", "5784e85138748421"],
"dial_method": "serial"
}
}

Case: If you do not wish to play a greeting and want to dial users directly:

{
"action": "tts",
"value": "",
"operation": "dial-users",
"operation_data": {
"data": ["5d10680d44bc1498", "5784e85138748421"],
"dial_method": "serial"
}
}

Case: If you wish to hang up the call after playing a greeting:

{
"action": "tts",
"value": "I will be played but call will hangup immediately",
"operation": "hangup"
}

Case: Dial numbers will work similar to dial users but numbers will be passed instead of users, along with anon_uuid:

{
"action": "tts",
"value": "I will be played but users will be dialed",
"operation": "dial-numbers",
"operation_data": {
"data": ["91-9212992129", "1-2019424084"],
"dial_method": "serial",
"anon_uuid" : "d0238udj923jd023dd32"
}
}

Please note:
1. Action and value keys are required but the value keys can have an empty string in some cases.
2. In the case of dial-users and dial-numbers, if the call is picked or not picked. Then no further node will be executed and the call will hang up after the conversation. So, you cannot use jump-node after dial-users and dial-numbers.

Got Issue?

In case of any query please contact the support team at support@myoperator.co. Or generate a support ticket from MyOperator Panel.


    • Related Articles

    • What is "Node ID"?

      Node ID is an unique identification number of every node added in the advance callflow.  Using this Node ID any node can be attached with any API. Using Node ID with our APIs, you can access or direct your callers to that particular node. Find the ...
    • What happens if a client does not enter any input to the IVR?

      When client doesn’t enter a valid input to the IVR, then there could be 2 possibilities: The IVR menu (press 1 for sales, press 2 for support etc) will repeat. The call would automatically get transferred to one of the employees of the company. The ...
    • What are APIs ?

      Application Programmable Interface which is responsible for integration to happen and providing data about calls logs, recordings etc to clients on their CRM or websites. It can include Click to Call API , Input node Api, Incall APIs.
    • What are the different types of nodes that can be added in an IVR?

      There are Five types of nodes that can be added in an IVR. IVR Menu : When you want to add different menus to a particular IVR or department, you use the sub menu node. Extension : This node is added to add the extension number of the user. ...
    • What impact it creates if APIs services went down?

      No data e.g Recordings, Logs, users etc will be passed to client’s side by API. It may impact click to call integration through API , Incall Data provided to the client through and also Call masking solutions given by using input Node API.