Internal Webhook Functions

Internal Webhooks

Before you start

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

Type: POST

{ "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/weekend according to the configured weekdays or the date and time is valid or not etc.

URL : https://internal-webhooks.phonon.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,Friday,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

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

URL : https://internal-webhooks.phonon.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

phononio123456

Client Identifier

$flow.syskey.delayMinutes

0

When to start the Outbound Flow from current system time.

$flow.syskey.contactNumbers

9181607XXXXX

Customer Numbers to which calling is to be performed

Response Parameter :

Flow Variable

Example

Description

$flow.key.obdResponseCode

200, 401 etc

Response code

$flow.key.obdReqID

3417f255-e5e7-4911-a533-67bb2aaaf677

Request Id

$flow.key.obdPhononUUID

1b56ab0e-7760-4883-a1ef-ae8a872c8636

Phonon UUID

3. updateUserPreferences

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. Once 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: https://internal-webhooks.phonon.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 for which the user key variables are present.

$user.key.XXXX...

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


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).

‌Notes:‌

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

‌URL: https://internal-webhooks.phonon.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

Usage : 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 : fetchUserPreferences

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

URL : https://internal-webhooks.phonon.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 ChatBot.

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

Usage : 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 : translateText

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)

8. Pullreport

Usage : This webhook is 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

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 :

{ "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:

{ "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:

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



Webhook URLs and end-points :

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

URL

End point

Comment

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

 

This document has been developed by Phonon.io for the sole and exclusive use of the customer / prospective customer with whom this document is being shared. Further, this document has been provided by Phonon.io to the recipient in good faith and based on request from the recipient for the same. This document is a confidential document and contains confidential product technology, workflow and commercial details that are for the sole usage of the intended recipients of this document. Recipients are advised not to share this document with any third party that is not the intended recipient of this document and neither to bring this document in full or parts into the public domain. Any unauthorized access may be brought to Phonon.io’s notice immediately. Phonon.io is free to take any legal action it deems necessary against any person or entity that violates this confidentiality agreement. Phonon.io is bound and governed by the rules of the state of Gujarat in India. In case you are not in agreement with the terms set in this clause or are not an intended recipient of this document, please destroy the document and intimate us of the same at info@phonon.io.