Requires any of the roles: | SystemAdministrator, Manager, Customer |
All Verbs | /reports/billing |
---|
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 BillingReport extends ReportRequest
{
public startDate: string;
public endDate: string;
public includeCustomerIds: boolean;
public constructor(init?: Partial<BillingReport>) { super(init); (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /reports/billing HTTP/1.1
Host: team.evovoice.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
startDate: String,
endDate: String,
includeCustomerIds: False,
accountId: String,
emailAddressToNotify: String,
webhookUrl: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: String, name: String, status: Queued, statusMessage: String, dateCreated: String, dateUpdated: String, downloadLink: String, jobId: String, emailAddressToNotify: String, server: String }