Evo Voice

<back to all web services

CustomMetricReport

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
All Verbs/reports/metric


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 CustomMetricReport extends ReportRequest
{
    public startDate: string;
    public endDate: string;
    public metricName: string;
    public timeZoneId: string;

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

TypeScript CustomMetricReport 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/metric HTTP/1.1 
Host: team.evovoice.io 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"startDate":"String","endDate":"String","metricName":"String","timeZoneId":"String","accountId":"String","emailAddressToNotify":"String","webhookUrl":"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"}