Whisper Prompts¶
Manage whisper prompts for campaigns¶
A whisper prompt can be created from provided text or a professional prompt recordings can be assigned as whisper prompt.
Create whisper prompt¶
Example: create whisper prompt
POST
https://invoca.net/api/2022-08-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>.json
Request Body
{
"ivr_tree": {
"record_calls": false,
"whisper_prompt_text": "How are you today?",
"root": {
"node_type": "Connect",
"destination_phone_number": "8056173768",
"destination_country_code": ""
}
}
}
Assign prompt recording as whisper prompt¶
Example: assign prompt recording as whisper prompt
POST
https://invoca.net/api/2022-08-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>.json
Request Body
{
"ivr_tree": {
"record_calls": false,
"whisper_prompt_id_from_network": "rec34",
"root": {
"node_type": "Connect",
"destination_phone_number": "8056173768",
"destination_country_code": ""
}
}
}
Retrieve whisper prompt for a campaign¶
Example: retrieve whisper prompt for a campaign
GET
https://invoca.net/api/2022-08-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>.json
Response (complete response not shown)
{
"name": "Selling Shoes",
"status": "Activated",
"future_terms": {
"ivr_tree": {
"record_calls": false,
"whisper_prompt_text": "How are you today?",
"whisper_prompt_id_from_network": "rec34",
"root": {
"node_type": "Connect",
"destination_phone_number": "8056173768",
"destination_country_code": ""
}
}
}
}
Set Whisper Prompt Condition¶
A whisper prompt condition can be set for a campaign to determine whether or not to play the whisper prompt in a call. The prompt will only be played if the full condition is met.
To conditionally play whisper prompts during calls, set a whisper prompt using "whisper_prompt_text"
or "whisper_prompt_id_from_network"
field and set "whisper_prompt_condition"
to the expression you want to evaluate.
POST
https://invoca.net/api/2022-08-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>.json
Example Request Body
{
"ivr_tree": {
"record_calls": false,
"whisper_prompt_text": "You have reached our business during hours. Please wait while we connect you."
"whisper_prompt_condition": "during_hours and repeat",
"root": {
"node_type": "Connect",
"destination_phone_number": "8056173768",
"destination_country_code": ""
}
}
}
Remove Whisper Prompt Condition¶
To remove whisper prompt condition set "whisper_prompt_condition"
to empty string ""
.
POST
https://invoca.net/api/2022-08-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>.json
Example Request Body
{
"ivr_tree": {
"record_calls": false,
"whisper_prompt_text": "Welcome to Invoca. Please wait while we connect you."
"whisper_prompt_condition": "",
"root": {
"node_type": "Connect",
"destination_phone_number": "8056173768",
"destination_country_code": ""
}
}
}
Conditions¶
Condition |
Details |
Examples |
---|---|---|
during_hours |
True if the caller is calling during the hours specified in the campaign. |
during_hours |
repeat |
True if the caller has already called this campaign in the last N days (the interval N can be set on the campaign; the default is 30 days). |
repeat |
landline |
True if the caller is calling from a landline phone. |
landline |
mobile |
True if the caller is calling from a mobile phone. |
mobile |
pressed[key] |
True if the caller pressed the key. Supported characters (case sensitive): [1-9, a-z, W, N]. For a sub-menu keypress, join characters in their expected order with spaces (e.g. 1 1 2). |
pressed[3] |
custom_data[field_partner_name] |
|
|
affiliate_name |
|
|
media_type |
|
|
promo_number_description |
|
|
and |
Joins two conditions and is true if both conditions are true. |
repeat and during_hours |
or |
Joins two conditions and is true if either condition is true. |
repeat or during_hours |
not |
Inverts the following condition. |
not during_hours |
( ) |
Used for grouping. |
mobile and (repeat or during_hours) |
Note that and is higher precedence than or. So if you use both in a condition like this:
mobile or repeat and during_hours
it is equivalent to this:
mobile or (repeat and during_hours)