Evo Voice

<back to all web services

BillingReport

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
All Verbs/reports/billing
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Reports;

namespace Voice.Api.Reports
{
    public partial class BillingReport
        : ReportRequest
    {
        public virtual string StartDate { get; set; }
        public virtual string EndDate { get; set; }
    }

    public partial class ReportInfo
    {
        public virtual string Id { get; set; }
        public virtual string Name { get; set; }
        public virtual ReportStatuses Status { get; set; }
        public virtual string StatusMessage { get; set; }
        public virtual string DateCreated { get; set; }
        public virtual string DateUpdated { get; set; }
        public virtual string DownloadLink { get; set; }
        public virtual string JobId { get; set; }
        public virtual string EmailAddressToNotify { get; set; }
        public virtual string Server { get; set; }
    }

    public partial class ReportRequest
        : IPost
    {
        ///<summary>
        ///The account ID this report should be run for
        ///</summary>
        [ApiMember(Description="The account ID this report should be run for")]
        public virtual string AccountId { 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")]
        public virtual string EmailAddressToNotify { get; set; }
    }

    public enum ReportStatuses
    {
        Queued,
        Running,
        Completed,
        Error,
    }

}

C# BillingReport 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/billing HTTP/1.1 
Host: evovoice.io 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

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