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.
Post
/API/Rest/Documents/Report
| 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. |
StandardReport
No Permission
Invalid report type. Options: Clicks, Opens, Deliverability
Cannot find document
Error in processing
Database error
Unknown error
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"]]}
Generate an opens report for several different documents in a time period.
using System;
using System.Net.Http;
using System.Text;
string url = "https://example.com/API/Rest/Documents/Report";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"reportType\":\"Opens\",\"documents\":[\"Invite\",\"Invite1\"],\"startTime\":\"2016-01-01\",\"endTime\":\"2016-02-28\"}";
// Reuse HttpClient for multiple requests in production code.
using (var client = new HttpClient())
using (var request = new HttpRequestMessage(HttpMethod.Post, url))
{
request.Content = new StringContent(message, Encoding.UTF8, "application/json");
using (HttpResponseMessage response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
# encoding: utf-8
require 'rest-client'
require 'json'
url = 'https://example.com/API/Rest/Documents/Report'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', '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 = "https://example.com/API/Rest/Documents/Report"
args = {'accountName':'acme','login':'ApiUser','password':'YOUR_PASSWORD', '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 --request POST --header "Content-Type: application/json" --data '{"accountName":"acme","login":"ApiUser", "password":"YOUR_PASSWORD", "reportType":"Opens", "documents":["Invite", "Invite1"], "startTime":"2016-01-01", "endTime":"2016-02-28"}' "https://example.com/API/Rest/Documents/Report"