DOCUMENTS — REPORT
Report on data about opens, clicks, or deliverability for documents with optional arguments to select the documents to query, the time period, or restrict by Report Category, IP address, or a demographic column.
HTTP VERB
Post
URL
/API/Rest/Documents/Report
ARGUMENTS
reportType
|
The type of data to report on. Options are: Clicks, Opens, and Deliverability
|
documents
|
(Optional) An array of document names to report on
|
startTime
|
(Optional) Provide data for events after this date and time.
|
endTime
|
(Optional) Provide data for events before this date and time.
|
reportCategory
|
(Optional) If you assigned report categories when the documents were sent, you can now report using those categories.
|
demographicColumn
|
(Optional) Provide a demographic column to restrict the results
|
demographicValue
|
(Optional) The value to be searched for in the demographicColumn
|
virtualIpGroup
|
(Optional) Limit the results to documents sent to this virtual IP group.
|
Required permission
StandardReport
ERRORS
No Permission
Invalid report type. Options: Clicks, Opens, Deliverability
Cannot find document
Error in processing
Database error
Unknown error
RETURNS
The document was accepted by the receiving mail server.
{"downloadGuid":"7abc6069-35f2-469d-90d0-67818d40e6ae","totalRows":3,"userData":[["574770004@AOL.com","Joe Blow","Success","1/1/2016 7:16 AM","Invite"],["1249090386@MSN.com","Sam Spade","Success","1/1/2016 7:16 AM","Invite2"],["12346567@Live.com","Jim Jones","Success","1/1/2016 7:17 AM","Invite"]]}
EXAMPLE
Generate an opens report for several different documents in a time period.
string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 'reportType':'Opens', 'documents':['Invite', 'Invite1'], 'startTime':'2016-01-01', 'endTime':'2016-02-28'}";
string url = "http://example.com/api/rest/Documents/Report";
try
{
System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = message.Length;
using (Stream webStream = request.GetRequestStream())
using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
requestWriter.Write(message);
System.Net.WebResponse webResponse = request.GetResponse();
using (Stream webStream = webResponse.GetResponseStream())
using (StreamReader responseReader = new StreamReader(webStream))
Console.Out.WriteLine(responseReader.ReadToEnd());
}
catch (Exception e)
{
System.Diagnostics.Debug.Fail(e.Message);
}
# encoding: utf-8
require 'rest-client'
require 'json'
url = 'http://www.acme.com/api/rest/Documents/Report'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'sdf3w4tw', 'reportType'=>'Opens','documents'=>['Invite','Invite1'], 'startTime'=>'2016-01-01','endTime'=>'2016-02-28' }
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
import requests
url = "http://www.example.com/api/rest/Documents/Report";
args = {'accountName':'acme','login':'ApiUser','password':'35tergdsgwe', 'reportType':'Opens', 'documents':['Invite', 'Invite1'], 'startTime':'2016-01-01', 'endTime':'2016-02-28' }
headers = {'Content-Type': 'application/json'}
resp = requests.post(url, json=args, headers=headers)
if resp.status_code == 200:
print resp.text
curl -X POST -H "Content-Type: application/json" -d "{'accountName':'acme','login':'ApiUser',
'password':'35tergdsgwe', 'reportType':'Opens', 'documents':['Invite', 'Invite1'],
'startTime':'2016-01-01', 'endTime':'2016-02-28' }" http://example.com/api/rest/Documents/Report