Table of Contents | ||||
---|---|---|---|---|
|
Internal Webhooks
1. Validate Date and Time
...
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.60.15: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
...
Usage : Using this webhook, you can request to initiate any Outbound Flow of your account using it's API.
URL : httphttps://192internal-webhooks.168.50.21: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. updateUserPreferences
...
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 |
...
4. updatePauseStatusForCLI - Change Break Status of a Direct Dial Agent
...
...
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 : httphttps://192internal-webhooks.168.60.15:3000phonon.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
...
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 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 |
| Short URL |
$flow.key.botUniqueID | Unique ID of Bot |
7. translateText
Status : Status
URL : httphttps://192internal-webhooks.168.60.15:3000phonon.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) |
8.
...
Status :
Status | ||||
---|---|---|---|---|
|
URL: http://192.168.60.15:3000/hdfcsenseforthwebhook-v1/prod/
Method : speechprocessing
Usage : To webhook will be used to perform speech processing
Request :
...
Flow Variable
...
Example
...
Description
...
$flow.key.cli
...
9181607XXXXX
...
Status of webhook request
...
$flow.key.speechText
...
Good Morning
...
The speech text which needs to be processed
Response :
...
Flow Variable
...
Example
...
Description
...
$flow.key.status
...
SUCCESS/FAILURE
...
Status of webhook request
9. Pullreport
Status :
Status | ||||
---|---|---|---|---|
|
...
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
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 ?
...
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
...
URL: https://s.phonon.in/UrlShortner/phonon/shortUrl
Method: POST
Headers:
Key | Value |
Content-Type | application/json |
Accept | application/json |
Request:
Code Block |
---|
{ "custToken": "abcd1234", "longUrl": "https://google.co.in", "domain": "phn.io" } |
Note : custToken is static at "abcd1234"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