Table of Contents

Class ReportResponse

Namespace
Vonage.Reports
Assembly
Vonage.dll

Represents the state of an asynchronous report, returned by both the get-status and cancel-report endpoints.

public record ReportResponse : IEquatable<ReportResponse>
Inheritance
ReportResponse
Implements
Inherited Members

Constructors

Represents the state of an asynchronous report, returned by both the get-status and cancel-report endpoints.

public ReportResponse(Guid RequestId, ReportStatus RequestStatus, DateTimeOffset ReceiveTime, DateTimeOffset StartTime, long ItemsCount, ReportLinks Links, ReportProduct Product, string AccountId, Maybe<DateTimeOffset> DateStart, Maybe<DateTimeOffset> DateEnd, Maybe<bool> IncludeSubaccounts, Maybe<Uri> CallbackUrl)

Parameters

RequestId Guid

The unique identifier of the report.

RequestStatus ReportStatus

The current status of the report.

ReceiveTime DateTimeOffset

The time the report request was received.

StartTime DateTimeOffset

The time report processing started.

ItemsCount long

The number of records in the report.

Links ReportLinks

HAL links for navigating to the report and its download.

Product ReportProduct

The product type the report covers.

AccountId string

The account ID (API key) the report is for.

DateStart Maybe<DateTimeOffset>

The start of the reporting period.

DateEnd Maybe<DateTimeOffset>

The end of the reporting period.

IncludeSubaccounts Maybe<bool>

Whether sub-account data is included in the report.

CallbackUrl Maybe<Uri>

The webhook URL that receives a notification when the report is ready.

Properties

AccountId

The account ID (API key) the report is for.

[JsonPropertyName("account_id")]
public string AccountId { get; init; }

Property Value

string

CallbackUrl

The webhook URL that receives a notification when the report is ready.

[JsonPropertyName("callback_url")]
[JsonConverter(typeof(MaybeJsonConverter<Uri>))]
public Maybe<Uri> CallbackUrl { get; init; }

Property Value

Maybe<Uri>

DateEnd

The end of the reporting period.

[JsonPropertyName("date_end")]
[JsonConverter(typeof(MaybeJsonConverter<DateTimeOffset>))]
public Maybe<DateTimeOffset> DateEnd { get; init; }

Property Value

Maybe<DateTimeOffset>

DateStart

The start of the reporting period.

[JsonPropertyName("date_start")]
[JsonConverter(typeof(MaybeJsonConverter<DateTimeOffset>))]
public Maybe<DateTimeOffset> DateStart { get; init; }

Property Value

Maybe<DateTimeOffset>

IncludeSubaccounts

Whether sub-account data is included in the report.

[JsonPropertyName("include_subaccounts")]
[JsonConverter(typeof(MaybeJsonConverter<bool>))]
public Maybe<bool> IncludeSubaccounts { get; init; }

Property Value

Maybe<bool>

ItemsCount

The number of records in the report.

[JsonPropertyName("items_count")]
public long ItemsCount { get; init; }

Property Value

long

HAL links for navigating to the report and its download.

[JsonPropertyName("_links")]
public ReportLinks Links { get; init; }

Property Value

ReportLinks

Product

The product type the report covers.

[JsonPropertyName("product")]
[JsonConverter(typeof(EnumDescriptionJsonConverter<ReportProduct>))]
public ReportProduct Product { get; init; }

Property Value

ReportProduct

ReceiveTime

The time the report request was received.

[JsonPropertyName("receive_time")]
public DateTimeOffset ReceiveTime { get; init; }

Property Value

DateTimeOffset

RequestId

The unique identifier of the report.

[JsonPropertyName("request_id")]
public Guid RequestId { get; init; }

Property Value

Guid

RequestStatus

The current status of the report.

[JsonPropertyName("request_status")]
[JsonConverter(typeof(EnumDescriptionJsonConverter<ReportStatus>))]
public ReportStatus RequestStatus { get; init; }

Property Value

ReportStatus

StartTime

The time report processing started.

[JsonPropertyName("start_time")]
public DateTimeOffset StartTime { get; init; }

Property Value

DateTimeOffset