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
namespace Voice.Api.Reports

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type ReportStatuses =
        | Queued = 0
        | Running = 1
        | Completed = 2
        | Error = 3

    [<AllowNullLiteral>]
    type ReportInfo() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Status:ReportStatuses = new ReportStatuses() with get,set
        member val StatusMessage:String = null with get,set
        member val DateCreated:String = null with get,set
        member val DateUpdated:String = null with get,set
        member val DownloadLink:String = null with get,set
        member val JobId:String = null with get,set
        member val EmailAddressToNotify:String = null with get,set
        member val Server:String = null with get,set

    [<AllowNullLiteral>]
    type ReportRequest() = 
        interface IPost
        ///<summary>
        ///The account ID this report should be run for
        ///</summary>
        [<ApiMember(Description="The account ID this report should be run for")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The email address to notify after the report is run
        ///</summary>
        [<ApiMember(Description="The email address to notify after the report is run")>]
        member val EmailAddressToNotify:String = null with get,set

    [<AllowNullLiteral>]
    type CallCenterReport() = 
        inherit ReportRequest()
        member val StartDate:String = null with get,set
        member val EndDate:String = null with get,set
        member val CustomerId:String = null with get,set

F# CallCenterReport DTOs

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

HTTP + JSV

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

{
	startDate: String,
	endDate: String,
	customerId: String,
	accountId: String,
	emailAddressToNotify: 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
}