Evo Voice

<back to all web services

CdrReport

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
All Verbs/reports/cdr
import java.math.*;
import java.util.*;
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;
        
        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 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;
    }

}

Java CdrReport DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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: evovoice.io 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"timeZoneId":"String","startDate":"String","endDate":"String","customerId":"String","accountId":"String","emailAddressToNotify":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"id":"String","name":"String","status":"Queued","statusMessage":"String","dateCreated":"String","dateUpdated":"String","downloadLink":"String","jobId":"String","emailAddressToNotify":"String","server":"String"}