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


export class NodeParameterMap
{
    [key:string] : NodeParameter;

    public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}


export class ReportRequest implements IPost
{
    /** @description The account ID this report should be run for */
    // @ApiMember(Description="The account ID this report should be run for")
    public accountId: string;

    /** @description The email address to notify after the report is run */
    // @ApiMember(Description="The email address to notify after the report is run")
    public emailAddressToNotify: string;

    /** @description 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 webhookUrl: string;

    public constructor(init?: Partial<ReportRequest>) { (Object as any).assign(this, init); }
}

export enum ReportStatuses
{
    Queued = 'Queued',
    Running = 'Running',
    Completed = 'Completed',
    Error = 'Error',
}

export class ReportInfo
{
    public id: string;
    public name: string;
    public status: ReportStatuses;
    public statusMessage: string;
    public dateCreated: string;
    public dateUpdated: string;
    public downloadLink: string;
    public jobId: string;
    public emailAddressToNotify: string;
    public server: string;

    public constructor(init?: Partial<ReportInfo>) { (Object as any).assign(this, init); }
}

export class CdrReport extends ReportRequest
{
    public timeZoneId: string;
    public startDate: string;
    public endDate: string;
    public customerId: string;

    public constructor(init?: Partial<CdrReport>) { super(init); (Object as any).assign(this, init); }
}

TypeScript CdrReport DTOs

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

HTTP + XML

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/xml
Content-Type: application/xml
Content-Length: length

<CdrReport xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Reports">
  <AccountId>String</AccountId>
  <EmailAddressToNotify>String</EmailAddressToNotify>
  <WebhookUrl>String</WebhookUrl>
  <CustomerId>String</CustomerId>
  <EndDate>String</EndDate>
  <StartDate>String</StartDate>
  <TimeZoneId>String</TimeZoneId>
</CdrReport>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ReportInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Reports">
  <DateCreated>String</DateCreated>
  <DateUpdated>String</DateUpdated>
  <DownloadLink>String</DownloadLink>
  <EmailAddressToNotify>String</EmailAddressToNotify>
  <Id>String</Id>
  <JobId>String</JobId>
  <Name>String</Name>
  <Server>String</Server>
  <Status>Queued</Status>
  <StatusMessage>String</StatusMessage>
</ReportInfo>