Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1

...

maxLevel7

Internal Webhooks

Before you start

All internal webhooks have following structure. The method name and parameters are provided for each item.

Type:

Status
Getting Error
colourRedGreen
titlePOST

Code Block
{
	"method": "<method name. Eg: fetchUserPreferences>",
	"keys": [
		{
			"name": "$flow.key.<parameters>",
			"value": "<value to be saved>"
		},
		{
			"name": "$flow.key.cli",
			"value": "919979293198"
		}
	]
}

1. Validate Date and Time

Usage : This webhook is used when you want to check weather any date and time is correct or not , or is a holiday, a /weekend according to the configured weekdays or the date and time is valid or not etc.

URL : httphttps://192internal-webhooks.168.1.42:3000phonon.io/reliance-nippon-v1/test/

Method : ValidateDateAndTime

Request Parameters :

Flow Variable

Example

Description

$flow.key.inputDate

2019-12-08T05:00:00+05:30, 4 November 2019 etc

Input date that needs to be validated

$flow.key.validMAxDays

5

Given date must be in future business day and not after that days.

Example : If value is 5 than max 5 future day is valid other than not (excluding holiday).

$flow.key.flowId

58

Flow ID of the flow from which request was sent

$flow.key.workingDaysOff

MOnday

Monday,

FRiday

Friday,

sunday

Sunday

Working days to be consider in validating date

This variable is mandatory parameter, when the type is ‘Appointment’.

$flow.key.accountID

2

Account ID of the request

$flow.key.incrementDays

0

Days to be incremented in input date

$flow.key.appointmentStartTime

2019-11-05T18:00+05:30

Start Time of the appointment

This variable is mandatory parameter, when the type is ‘Appointment’.

$flow.key.appointmentEndTime

2019-11-05T18:00+05:30

End time of the appointment

This variable is mandatory parameter, when the type is ‘Appointment’.

$flow.key.type

Appointment

Type of request received. It can be ‘appointment’ or ‘callback’.

Output Date/time will depend on the this type.

Response Parameters :

Flow Variable

Example

Description

$flow.key.outputDate

2019-12-08T05:00:00+05:30

Send Output date after validating and correcting.

$flow.key.smsDate

8-12-2019

The output date to be send in SMS

$flow.key.SmsOutputTime

09:00 AM to 06:00 PM

The output time to be send in SMS.

If the type is ‘Callback’, then the time will be of form '08:00 AM to 08:00 PM'

$flow.key.outputTime

09:00 AM to 06:00 PM

The output time after validating

$flow.key.outputDay

Sunday

The output day after validating

$flow.key.timeIsValid

false

‘True' if time is valid, otherwise 'False’

$flow.key.dateIsValid

false

‘True' if time is valid, otherwise 'False’

2. Initiate Outbound Flow

...

Getting ErrorUsage : Using this webhook, you can request to initiate any Outbound Flow of your account using it's API.

URL : httphttps://192internal-webhooks.168.1.42:3000phonon.io/centraloutboundwebhook-v1/prod/

Method : createOutbound

R‌equest Parameter :

Flow Variable

Example

Description

$flow.syskey.apiVersion

1.0

Outbound Flow Version (mostly 1.0)

$flow.syskey.securityID

<64 Character UUID>

Security ID mentioned in the outbound flow

$flow.syskey.flowID

<8 Chacter UUID>

Flow ID of outbound flow that needs to be triggered

$flow.syskey.clientID

123123123

phononio123456

Client Identifier

$flow.syskey.delayMinutes

0

When to start the Outbound Flow from current system time.

$flow.syskey.contactNumbers

91997974 6666

9181607XXXXX

Customer Numbers to which calling is to be performed

Response Parameter :

Flow Variable

Value

Example

Description

$flow.key.obdResponseCode

200, 401 etc

Response code

$flow.key.obdReqID

Request ID

3417f255-e5e7-4911-a533-67bb2aaaf677

Request Id

$flow.key.obdPhononUUID

1b56ab0e-7760-4883-a1ef-ae8a872c8636

Phonon UUID

3

...

Status :

Status
colourGreen
titleworking

Usage : Using this webhook, you can shorten a long URL into a short URL.

URL: https://s.phonon.in/UrlShortner/phonon/shortUrl

Method: POST

Headers:

...

Key

...

Value

...

Content-Type

...

application/json

...

Accept

...

application/json

Request:

...

.

...

custToken is static at "abcd1234"

Response:

Code Block
{  
    "shortUrl": "https://s.phonon.in/BEK4YYnx"
}

You can have your custom domain. Contact Support to help you with that.

...

updateUserPreferences

Status :

Status
colourGreen
titleworking

Usage : Using this webhook, you can update $user.key Flow Variables without requiring a Make Call widget. Great for usage in Email and SMS flows. Note: This will become an inert feature of $user.key flow variables soon resulting this to be obsoleteOnce you have invoked this webhook, then the values of the user key variables mentioned in the API request will be updated with the new values in the system.

URL: httphttps://192internal-webhooks.168.50.21:3000phonon.io/centraloutboundwebhook-v1/prod/

Method : POST

Request Parameter :

Flow Variable

Example

Details

$user.syskey.contactNumber

8000374XXX

Enter the unique ID of the Customer such as it's phone number.

$user.syskey.accountID

163

Account ID of the Central

Account where the flow is

for which the user key variables are present.

$user.key.XXXX...

Value

You can save or get any value

The user key variables which you want to update

Response Parameter :

Flow Variable

Example

Details

$flow.key.userPrefsUpdationSuccess

SUCCESS/FAILURE

Status of the request sent

As soon as this webhook is executed, user key variables will be updated with the new values of $user.key variables.

...


4. updatePauseStatusForCLI - Change Break Status of a Direct Dial Agent

...

Usage : Using this webhook, you can change the break status of a Direct Dial Agent. While the Direct Dial Agent is on break, s/he will not be considered for any calls allotment. For example, if your Dialer DID is 9180680XXXXX, you can create an Inbound Flow with the same DID with this webhook. DID Agents can call on the Inbound number to change their pause status anytime (or you can toggle it automatically).

...

  1. In the Dialer Flow, you can get the Agent CLI using $call.agent.dnis.number or for Inbound Flow =>$call.cli.number

URL: httphttps://192internal-webhooks.168.60.15:3000phonon.io/centraloutboundwebhook-v1/prod/

Method: POST

Request Parameter :

Flow Variable

Example

Description

$flow.key.pause

true

Set the Direct Dial Agent Pause Status to be true. Mandatory

$flow.key.cli

98799XXXXX

CLI of the Direct Dial Agent. With or Without Country CodeMandatory

 

Response Parameter :

Flow Variable

Example

Description

$flow.key.cli_pause_update

true/false

The Direct Dial was successfully paused / unpaused

...

5. fetchUserPreferences

Status :

Status
colourRed
titleGetting Error

URL : http://192.168.1.42:3000Usage : This webhook is used to fetch all the user key variables linked with the contact number in an account.

URL : https://internal-webhooks.phonon.io/centraloutboundwebhook-v1/prod/

Method : fetchUserPreferencesUsage : This webhook is used to fetch all the user key variables linked with the contact number.

Request Parameter :

Flow Variable

Example

Description

$user.syskey.contactNumber

9181607XXXXX

Contact Number whose details are to be fetched

$user.syskey.accountID

123

Account ID of request

Response Parameter : All user key variables linked with contact number.

...

6. linkcreation

...

colourBlue
titletesting remaining
URL : httphttps://192internal-webhooks.168.1.42:3000phonon.io/chatbotwebhook-v1/prod

Method : linkcreation

Usage : This webhook is used to generate a personalised short URL(by appending customer’s details) for the customer for a BotChatBot.

Request Parameter :

Flow Variable

Example

Description

$flow.key.cli

9181607XXXXX

CLI number

$flow.key.botid

123

ID of Bot

$flow.key.token

Cust token of the chat bot

Note : In this request, all other flow variable will also be send if provided.

Response Parameter :

Flow Variable

Example

Description

$flow.key.shortenUrl

https://s.phonon.in/BEK4YYnx

Short URL

$flow.key.botUniqueID

Unique ID of Bot

...

7. translateText

Status :

Status
colourRed
titlegetting error

URL : http://192.168.1.42:3000Usage : This webhook will be used to convert the text from one language to another using Google Cloud account.

URL : https://internal-webhooks.phonon.io/googleapiwebhook-v1/prod

Method : translateTextUsage : This webhook will be used to convert the text from one language to another.

Request Parameter :

Flow Variable

Example

Description

$flow.key.inputText

My name is John

Input text to be converted

$flow.key.sourceLang

English

Language of input text

$flow.key.targetLang

Hindi

Language in which you want to translate

$flow.key.apiKey

AIzaSyD562N7eElnnwMH6euehqJGdv5W43fOxxx

API Key of Google Account (provided on google console)

Response Parameter :

Flow Variable

Example

Description

$flow.key.status

SUCCESS/FAILED

Status of webhook request

$flow.key.translatedText

Translated text

$flow.key.detectedSourceLanguage

Hindi

Source language that was detected (If any)

9. speechprocessing

Status :

Status
colourRed
titlegetting error

URL: http://192.168.1.42:3000/hdfcsenseforthwebhook-v1/prod

...

8. Pullreport

Usage : To This webhook will be used to perform speech processing

Request :

...

Flow Variable

...

Example

...

Description

...

$flow.key.cli

...

Status of webhook request

...

$flow.key.speechText

Response :

...

Flow Variable

...

Example

...

Description

...

$flow.key.status

...

Status of webhook request

10. Pullreport

Status :

Status
colourRed
titlegetting error

URL : http://192.168.50.21:3000is used to write the details of any call record in the report at the given location.

URL : https://internal-webhooks.phonon.io/pullreportapiwebhook-v1/prod/

Method : pullreport

Usage : This webhook is used to write the details of any call record in the report at the given location.

Request Request Parameter :

Flow Variable

Example

Description

$flow.key.reportType

call

Type of the report in which the call data is to be added

$flow.key.dtmf

1

Last DTMF pressed by the used

$flow.key.flowid

8657

Unique ID of flow for which request is to be send

$flow.key.accountID

293

Unique ID of Account for which request is to be send

$flow.key.dnis

99999XXXXX

DNIS number for which data is to be added in report

$flow.key.starttime

2021-01-11T09:00:00.000+5:30

Start time of the call

Response Parameter : No response configured

9. FindLanguage

Usage : This webhook is used to find the language of the customer from where it belongs, based on their phone number.

URL : https://internal-webhooks.phonon.io/hdfcruralwebhook-v1/prod/

Method : findLanguage

Request Parameters :

Flow Variable

Example

Description

$flow.key.languageSupported

TELGU,ASSAMESE,HINDI,PUNJABI,CHHATTISGARHI,GUJARATI,HINDI,HINDI,URDU,HINDI,KANNADA,MALAYALAM,HINDI,MARATHI,ENGLISH,ORIYA,PUNJABI,RAJASTHANI,TAMIL,TELGU,BENGALI,HINDI,HINDI,BENGALI

List of languages that are supported.

$flow.key.cli

9175748XXXXX

CLI Number of the customer

$flow.key.cliSource

MOBILE

The source from where the call was received

Response Parameter :

Flow Variable

Example

Description

$flow.key.cliOperator

VODAFONE

The operator of the CLI Number of customer

$flow.key.cliCircle

MAHARASHTRA

The operator circle in which the CLI number is located

$flow.key.cliBasedLanguage

MARATHI

The name of the language generally used in the CLI Circle

...

How to test internal webhooks ?

In order to test internal webhooks, you need to follow below steps -

  1. Connect to VPN

  2. Open any API Client tool, example - Postman

  3. Enter the URL of internal webhook

  4. Select the method as ‘POST’

  5. Select ‘Body type’ as ‘JSON’

  6. Enter the API request in predefined format in the ‘Body’

Predefined Format :

Code Block
{
	"method" : "<name of method>",
	"keys" : 
[
		{
			"name" : "<request variable 1>",
			"value" :  "<value of request variable 1>"
		},
		{
			"name" : "<request variable 2>",
			"value" : "<value of request variable 2>"
		} 
		//Repeate for other request variables
	]
}

Additional APIs

1. shortURL

Usage : Using this webhook, you can shorten any long URL into a short URL.

URL: https://s.phonon.in/UrlShortner/phonon/shortUrl

Method: POST

Headers:

Key

Value

Content-Type

application/json

Accept

application/json

Request:

Code Block
{	
//follow same pattern if more than 2 request parameters
]
}    "custToken": "abcd1234",	
    "longUrl": "https://google.co.in",
    "domain": "phn.io"
}

Note : custToken is unique for each customer. Domain is optional, and must be created if custom domain is required.

Response:

Code Block
{  
    "shortUrl": "https://s.phonon.in/BEK4YYnx"
}


Webhook URLs and end-points :

URL : https://internal-webhooks.phonon.io

URL

End point

Comment

/webhook

No end point, only deal with DB

/dishwebhook-v1

http://publicapis.dishtv.in/API/IVR/CheckPreferedLanguage
http://publicapis.dishtv.in/API/IVR/GetDateRMNIvr
http://publicapis.dishtv.in/API/IVR/UpdateCustomerLanguage
http://publicapis.dishtv.in/API/IVR/CallBackRequest
http://publicapis.dishtv.in/API/IVR/GetPaylaterEligibility
http://publicapis.dishtv.in/API/IVR/InsertAutoPLRequest
http://publicapis.dishtv.in/API/IVR/SendRefreshCommand
http://publicapis.dishtv.in/API/IVR/GetVCValidation
http://publicapis.dishtv.in/API/IVR/GetPackageRelatedInfo
http://publicapis.dishtv.in/API/IVR/GetPaidAlacarte
http://publicapis.dishtv.in/API/IVR/CheckAddONAlacarte
http://publicapis.dishtv.in/API/IVR/ChannelRequest
http://publicapis.dishtv.in/API/IVR/TotalMonthlyPriceDetail
http://publicapis.dishtv.in/API/IVR/SingleChannelAddOn
http://publicapis.dishtv.in/API/IVR/CheckIsChannelPartOfMap
http://publicapis.dishtv.in/API/IVR/SendAccountInfo
http://publicapis.dishtv.in/API/IVR/AccountCurrentBalance
http://publicapis.dishtv.in/API/IVR/CheckMapIVRChannelRequest
http://publicapis.dishtv.in/API/IVR/GetOnChannelAlacarteIvrNTOMap
http://publicapis.dishtv.in/API/IVR/GetMeraApnaCheckPartMAPST2

https://app.yellowmessenger.com/integrations/ivr

/tonetag-v1

http://172.26.147.177:9091/email/send

/chatbotwebhook-v1

https://botlink.phonon.in/generate/

/hdfcbank-senseforth-v1

https://hbchat.senseforth.com/chat

/yesbank-v1

https://sky.yesbank.in:444/app/live/ProductLead/CreateLead
https://uatsky.yesbank.in:444/app/uat/rsProductLeadService/createLead

/centraloutboundwebhook-v1

https://central.phonon.in/kairos-apis/outbound/create

/googleapi-v1

https://translation.googleapis.com/language/translate/v2

/hdfcruralwebhook-v1

No end point, only deal with DB

/hdfclifewebhook-v1

https://www.hdfclife.com/contact-us/branchdetails

https://hslcp.hdfclife.com/IVRWebservice/IVRHdfcService.asmx/RegisterRequest

https://hslcp.hdfclife.com/IVRWebservice/IVRHdfcService.asmx/RetrieveForMissedCall
https://hslcp.hdfclife.com/IVRWebservice/IVRHdfcService.asmx/retrievePolicyData

https://soacsps.hdfclife.com/TEBT_ChatBot_ModuleWeb/sca/TEBTChatBotWSExport
https://hslcp.hdfclife.com/IVRWebservice/IVRHdfcService.asmx/UpdatePolicyData


host : 'opsuat.hdfclife.com',
port: 443,
path : '/IVRServiceDemo/IVRHDFCService.asmx/RegisterRequest/',
method : 'POST',
secureProtocol: 'TLSv1_method',
headers: {
'Content-Type' : "application/x-www-form-urlencoded"
}

/reliance-nippon-v1

No end point, only deal with DB

/rsgiwebhook-v1

https://www.royalsundaram.in/cmservices/ClaimsDetails/
https://www.royalsundaram.in/cmservices/Customer/
https://www.royalsundaram.in/cmservices/PolicyDetails/
https://www.royalsundaram.in/cmservices/Interaction/
https://www.royalsundaram.in/cmservices/Interaction/
https://www.royalsundaram.in/cmservices/PolicyDetails/
https://www.royalsundaram.in/cmservices/Customer/
https://www.royalsundaram.in/cmservices/RenewalDetails/
https://dtcdoc.royalsundaram.in/Services/Request/InteractionTicketCreation

/pullreportapiwebhook-v1

No end point, only deal with DB

/iiflwebhook-v1

No end point

/hdfcvendorauthandgetdata-v1

https://capiuat.hdfc.com/Mowbly_api_dmz/api/Mowbly/GetData
https://capiuat.hdfc.com/mowbly_api_dmz/api/Authentication/Vendor_Auth

/getSetKeyValue-v1

No end point, only deal with DB