Used to get a report of all voice broadcasts in a given date range.
Use the Broadcast Report API to get voice broadcast results
API used to get a report of all voice broadcasts in a given date range.
Base URL for Broadcast Report
Parameter List
Parameter | Required | Accepts | Max Length | Notes | Usage |
---|---|---|---|---|---|
action | Yes | String: report.broadcast | n/a | Only accepts report.broadcast for Broadcast Report | Defines the API Call as "Broadcast Report" type |
access_key | Yes | String | n/a | Access Key from the Key Manager within a DialogTech account | Credentials used for access to the API for a particular DialogTech account |
secret_access_key | Yes | String | n/a | Secret Access Key from the Key Manager within a DialogTech account | Credentials used for access to the API for a particular DialogTech account |
start_date | Yes | Date | 8 | Date format should be YYYYMMDD | Defines the start of the date-range for records to be returned from |
end_date | Yes | Date | 8 | Date format should be YYYYMMDD | Defines the end of the date-range for records to be returned from |
format | No | xml - or csv | 3 | xml - XML format csv - csv format | Determines the output format for the response, as either xml or csv |
number | No | String: Unformatted Phone Number | n/a | A number that was broadcasted to within the date range specified | Filters the response to only return records where the Numer_Called matches the number provided. |
broadcast_id | No | Broadcast ID | n/a | Broadcast ID within the specified date range Default is all broadcasts | Filters the response to only return records where the Broadcast_ID matches the broadcast_id provided. |
type | No | survo or basic or all | n/a | survo - Only return records for Smart Broadcasts basic - Only return records from basic audio broadcasts all - Return records from all broadcats This value is ignored if a broadcast_id is provided | Filters the response to only return records where the broadcast type matches the type provided. |
Using this API
These code examples are meant to show a basic method of accessing DialogTech's bradcast.report API.
<?php
/*
Broadcast Report EX:
This example will request a Broadcast
report. It will then create an html
table to display on the page with all
available Broadcast Report fields.
*/
// Create cURL resource
$ch = curl_init();
$baseuri = "https://secure.dialogtech.com/ibp_api.php?";
// API Specific Static Parameters
$action = "report.broadcast";
// Required User Parameters To Request the API
$access_key = "foo";
$secret_access_key = "bar";
$start_date = "20170101";
$end_date = "20170131";
$broadcast_type = "all";
$format = "csv";
// Construct the full URL
$full_url = $baseuri . "&action=" . $action .
"&access_key=" . $access_key .
"&secret_access_key=" . $secret_access_key .
"&start_date=" . $start_date .
"&end_date=" . $end_date .
"&broadcast_type=" . $broadcast_type .
"&format=" . $format;
// Set the URL
curl_setopt($ch, CURLOPT_URL, $full_url);
// Sets the return options of the cURL to return the actual result from the curl request, and FALSE on failure
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Sets the $output variable to the result of the curl
$output = curl_exec($ch);
// Close curl resource to free up system resources
curl_close($ch);
// Basic CSS for the table formatting
$page_html = "<style>
td
{
border-left:1px solid black;
border-top:1px solid black;
text-align:center;
}
table
{
border-right:1px solid black;
border-bottom:1px solid black;
}
</style>\n\n";
// Create the table
$table = "<table>\n";
$rows = str_getcsv($output, "\n");
foreach($rows as &$row) {
// Add new row
$table .= " <tr>\n";
$cells = str_getcsv($row);
foreach($cells as &$cell) {
// Add a new cell
$table .= " <td>$cell</td>\n";
}
// Complete the new row
$table .= " </tr>\n";
}
// Complete the table
$table .= "</table>";
// Echo the CSS and table on the page
echo $page_html . $table;
?>
curl -X ""
Example Response
<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE data [
<!ELEMENT data (record+)>
<!ELEMENT record (Scheduled_Time,Actual_Time,Delay_if_any,Number_Called,Result_of_Call,Response_ID,Broadcast_Parameters,Broadcast_ID)>
<!ELEMENT Scheduled_Time (#PCDATA)>
<!ELEMENT Actual_Time (#PCDATA)>
<!ELEMENT Delay_if_any (#PCDATA)>
<!ELEMENT Number_Called (#PCDATA)>
<!ELEMENT Result_of_Call (#PCDATA)>
<!ELEMENT Response_ID (#PCDATA)>
<!ELEMENT Broadcast_Parameters (#PCDATA)>
<!ELEMENT Broadcast_ID (#PCDATA)>
]>
<data>
<record>
<Scheduled_Time>2017-01-01 09:00:00</Scheduled_Time>
<Actual_Time>2017-01-01 09:01:35</Actual_Time>
<Delay_if_any>00:01:35</Delay_if_any>
<Number_Called>8772955100</Number_Called>
<Result_of_Call>Live Person</Result_of_Call>
<Response_ID></Response_ID>
<Broadcast_Parameters>12345</Broadcast_Parameters>
<Broadcast_ID>01234567</Broadcast_ID>
</record>
<record>
<Scheduled_Time>2017-01-02 09:00:00</Scheduled_Time>
<Actual_Time>2017-01-01 09:01:20</Actual_Time>
<Delay_if_any>00:01:20</Delay_if_any>
<Number_Called>5556667777</Number_Called>
<Result_of_Call>Live Person</Result_of_Call>
<Response_ID></Response_ID>
<Broadcast_Parameters>12345</Broadcast_Parameters>
<Broadcast_ID>01234568</Broadcast_ID>
</record>
<record>
<Scheduled_Time>2017-01-04 10:54:00</Scheduled_Time>
<Actual_Time>2017-01-04 10:55:36</Actual_Time>
<Delay_if_any>00:01:36</Delay_if_any>
<Number_Called>7083725264</Number_Called>
<Result_of_Call>Live Person</Result_of_Call>
<Response_ID>2955551112</Response_ID>
<Broadcast_Parameters>usr_survey_id=973214</Broadcast_Parameters>
<Broadcast_ID>01234569</Broadcast_ID>
</record>
</data>
"Scheduled_Time","Actual_Time","Delay_if_any","Number_Called","Result_of_Call","Response_ID","Broadcast_Parameters","Broadcast_ID"
"2017-01-01 09:00:00","2017-01-01 09:01:35","00:01:35","8772955100","Live Person","","12345","01234567"
"2017-01-02 09:00:00","2017-01-01 09:01:20","00:01:20","5556667777","Live Person","","12345","01234568"
"2017-03-01 10:54:00","2017-03-01 10:55:36","00:01:36","7083725264","Live Person","2955551112","usr_survey_id=973214","01234569"
Response Appendix
This is a list of each value returned by the Broadcast Report API and a simple description of what that value represents.
Parameter | Description |
---|---|
Scheduled_Time | The time the call was scheduled to be broadcasted from DialogTech |
Actual_Time | The time the call was actually broadcasted from DialogTech |
Delay_if_any | The time DialogTech queued up the call and waited for the appropriate broadcast ports to become available |
Number_Called | The number that was broadcasted to |
Result_of_Call | The result of DialogTech's Voicemail Detection which attempts to determine the difference between a Live Person and an Answering Machine |
Response_ID | A unique ID assigned to one call as part of a broadcast |
Broadcast_Parameters | A list of any user-generated parameters utilized as part of a smart broadcast |
Broadcast_ID | A unique ID assigned the entire broadcast |