Requires any of the roles: | SystemAdministrator, Manager, Customer |
All Verbs | /reports/billing |
---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Voice.Api.Reports
Namespace Global
Namespace Voice.Api.Reports
Public Partial Class BillingReport
Inherits ReportRequest
Public Overridable Property StartDate As String
Public Overridable Property EndDate As String
Public Overridable Property IncludeCustomerIds As Boolean
End Class
Public Partial Class ReportInfo
Public Overridable Property Id As String
Public Overridable Property Name As String
Public Overridable Property Status As ReportStatuses
Public Overridable Property StatusMessage As String
Public Overridable Property DateCreated As String
Public Overridable Property DateUpdated As String
Public Overridable Property DownloadLink As String
Public Overridable Property JobId As String
Public Overridable Property EmailAddressToNotify As String
Public Overridable Property Server As String
End Class
Public Partial Class ReportRequest
Implements IPost
'''<Summary>
'''The account ID this report should be run for
'''</Summary>
<ApiMember(Description:="The account ID this report should be run for")>
Public Overridable Property AccountId As String
'''<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 Overridable Property EmailAddressToNotify As String
'''<Summary>
'''The webhook to call after the report is complete with the data from the report
'''</Summary>
<ApiMember(Description:="The webhook to call after the report is complete with the data from the report")>
Public Overridable Property WebhookUrl As String
End Class
Public Enum ReportStatuses
Queued
Running
Completed
[Error]
End Enum
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
Content-Length: length
{"startDate":"String","endDate":"String","includeCustomerIds":false,"accountId":"String","emailAddressToNotify":"String","webhookUrl":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"id":"String","name":"String","status":"Queued","statusMessage":"String","dateCreated":"String","dateUpdated":"String","downloadLink":"String","jobId":"String","emailAddressToNotify":"String","server":"String"}