Evo Voice

<back to all web services

CallCenterReport

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
All Verbs/reports/call-center
"use strict";
export class ReportRequest {
    /** @param {{accountId?:string,emailAddressToNotify?:string,webhookUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The account ID this report should be run for */
    accountId;
    /**
     * @type {string}
     * @description The email address to notify after the report is run */
    emailAddressToNotify;
    /**
     * @type {string}
     * @description The webhook to call after the report is complete with the data from the report */
    webhookUrl;
}
/** @typedef {'Queued'|'Running'|'Completed'|'Error'} */
export var ReportStatuses;
(function (ReportStatuses) {
    ReportStatuses["Queued"] = "Queued"
    ReportStatuses["Running"] = "Running"
    ReportStatuses["Completed"] = "Completed"
    ReportStatuses["Error"] = "Error"
})(ReportStatuses || (ReportStatuses = {}));
export class ReportInfo {
    /** @param {{id?:string,name?:string,status?:ReportStatuses,statusMessage?:string,dateCreated?:string,dateUpdated?:string,downloadLink?:string,jobId?:string,emailAddressToNotify?:string,server?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {ReportStatuses} */
    status;
    /** @type {string} */
    statusMessage;
    /** @type {string} */
    dateCreated;
    /** @type {string} */
    dateUpdated;
    /** @type {string} */
    downloadLink;
    /** @type {string} */
    jobId;
    /** @type {string} */
    emailAddressToNotify;
    /** @type {string} */
    server;
}
export class CallCenterReport extends ReportRequest {
    /** @param {{startDate?:string,endDate?:string,customerId?:string,accountId?:string,emailAddressToNotify?:string,webhookUrl?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    startDate;
    /** @type {string} */
    endDate;
    /** @type {string} */
    customerId;
}

JavaScript CallCenterReport 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/call-center HTTP/1.1 
Host: team.evovoice.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CallCenterReport 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>
</CallCenterReport>
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>