Requires any of the roles: | SystemAdministrator, Manager, Customer |
All Verbs | /reports/cdr |
---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class CdrReport extends ReportRequest
{
public String timeZoneId = null;
public String startDate = null;
public String endDate = null;
public String customerId = null;
public String getTimeZoneId() { return timeZoneId; }
public CdrReport setTimeZoneId(String value) { this.timeZoneId = value; return this; }
public String getStartDate() { return startDate; }
public CdrReport setStartDate(String value) { this.startDate = value; return this; }
public String getEndDate() { return endDate; }
public CdrReport setEndDate(String value) { this.endDate = value; return this; }
public String getCustomerId() { return customerId; }
public CdrReport setCustomerId(String value) { this.customerId = value; return this; }
}
public static class ReportRequest implements IPost
{
/**
* The account ID this report should be run for
*/
@ApiMember(Description="The account ID this report should be run for")
public String accountId = null;
/**
* The email address to notify after the report is run
*/
@ApiMember(Description="The email address to notify after the report is run")
public String emailAddressToNotify = null;
/**
* The webhook to call after the report is complete with the data from the report
*/
@ApiMember(Description="The webhook to call after the report is complete with the data from the report")
public String webhookUrl = null;
public String getAccountId() { return accountId; }
public ReportRequest setAccountId(String value) { this.accountId = value; return this; }
public String getEmailAddressToNotify() { return emailAddressToNotify; }
public ReportRequest setEmailAddressToNotify(String value) { this.emailAddressToNotify = value; return this; }
public String getWebhookUrl() { return webhookUrl; }
public ReportRequest setWebhookUrl(String value) { this.webhookUrl = value; return this; }
}
public static class ReportInfo
{
public String id = null;
public String name = null;
public ReportStatuses status = null;
public String statusMessage = null;
public String dateCreated = null;
public String dateUpdated = null;
public String downloadLink = null;
public String jobId = null;
public String emailAddressToNotify = null;
public String server = null;
public String getId() { return id; }
public ReportInfo setId(String value) { this.id = value; return this; }
public String getName() { return name; }
public ReportInfo setName(String value) { this.name = value; return this; }
public ReportStatuses getStatus() { return status; }
public ReportInfo setStatus(ReportStatuses value) { this.status = value; return this; }
public String getStatusMessage() { return statusMessage; }
public ReportInfo setStatusMessage(String value) { this.statusMessage = value; return this; }
public String getDateCreated() { return dateCreated; }
public ReportInfo setDateCreated(String value) { this.dateCreated = value; return this; }
public String getDateUpdated() { return dateUpdated; }
public ReportInfo setDateUpdated(String value) { this.dateUpdated = value; return this; }
public String getDownloadLink() { return downloadLink; }
public ReportInfo setDownloadLink(String value) { this.downloadLink = value; return this; }
public String getJobId() { return jobId; }
public ReportInfo setJobId(String value) { this.jobId = value; return this; }
public String getEmailAddressToNotify() { return emailAddressToNotify; }
public ReportInfo setEmailAddressToNotify(String value) { this.emailAddressToNotify = value; return this; }
public String getServer() { return server; }
public ReportInfo setServer(String value) { this.server = value; return this; }
}
public static enum ReportStatuses
{
Queued,
Running,
Completed,
Error;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /reports/cdr HTTP/1.1
Host: team.evovoice.io
Accept: application/json
Content-Type: application/json
Content-Length: length
{"timeZoneId":"String","startDate":"String","endDate":"String","customerId":"String","accountId":"String","emailAddressToNotify":"String","webhookUrl":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"id":"String","name":"String","status":"Queued","statusMessage":"String","dateCreated":"String","dateUpdated":"String","downloadLink":"String","jobId":"String","emailAddressToNotify":"String","server":"String"}