Requires any of the roles: | SystemAdministrator, Manager, Customer |
All Verbs | /reports/metric |
---|
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 CustomMetricReport
Inherits ReportRequest
Public Overridable Property StartDate As String
Public Overridable Property EndDate As String
Public Overridable Property MetricName As String
Public Overridable Property TimeZoneId As String
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
VB.NET CustomMetricReport DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /reports/metric HTTP/1.1
Host: team.evovoice.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CustomMetricReport 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>
<EndDate>String</EndDate>
<MetricName>String</MetricName>
<StartDate>String</StartDate>
<TimeZoneId>String</TimeZoneId>
</CustomMetricReport>
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>