Table of Contents | ||
---|---|---|
|
...
|
Internal Webhooks
Before you start
All internal webhooks have following structure. The method name and parameters are provided for each item.
Type:
Status | |||||
---|---|---|---|---|---|
|
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, |
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
...
URL : httphttps://192internal-webhooks.168.1.42:3000phonon.io/centraloutboundwebhook-v1/prod/
Method : createOutbound
Request 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
...
Status :
Status | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 |
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 |
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).
...
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 |
| Set the Direct Dial Agent Pause Status to be true. |
$flow.key.cli | 98799XXXXX | CLI of the Direct Dial Agent. With or Without Country Code |
Response Parameter :
Flow Variable | Example | Description |
$flow.key.cli_pause_update |
| The Direct Dial was successfully paused / unpaused |
...
5. fetchUserPreferences
Status :
Status | ||||
---|---|---|---|---|
|
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
...
colour | Blue |
---|---|
title | testing remaining |
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 |
| Short URL |
$flow.key.botUniqueID | Unique ID of Bot |
...
7. translateText
Status :
Status | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 -
Connect to VPN
Open any API Client tool, example - Postman
Enter the URL of internal webhook
Select the method as ‘POST’
Select ‘Body type’ as ‘JSON’
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