Engagement method 📊 Metrics
Retrieve engagement metrics for messages sent from your account, including counts of open and click events. Supports optional filters for time range, and campaign ID.
Usage
ts
import { MailChannelsClient, Metrics } from 'mailchannels-sdk'
const mailchannels = new MailChannelsClient('your-api-key')
const metrics = new Metrics(mailchannels)
const { data, error } = await metrics.engagement()ts
import { MailChannels } from 'mailchannels-sdk'
const mailchannels = new MailChannels('your-api-key')
const { data, error } = await mailchannels.metrics.engagement()Params
optionsMetricsOptionsoptional: Optional filter options.startTimestringoptional: The beginning of the time range for retrieving message engagement metrics (inclusive). Formats:YYYY-MM-DDorYYYY-MM-DDTHH:MM:SSZ. Defaults to one month ago if not provided.endTimestringoptional: The end of the time range for retrieving message engagement metrics (exclusive). Formats:YYYY-MM-DDorYYYY-MM-DDTHH:MM:SSZ. Defaults to the current time if not provided.campaignIdstringoptional: The ID of the campaign to filter metrics by. If not provided, metrics for all campaigns will be returned.interval"hour" | "day" | "week" | "month"optional: The interval for aggregating metrics data. Defaults today.
Response
dataMetricsEngagement | nullnullablebucketsobjectguaranteed: A series of metrics aggregations bucketed by time interval (e.g. hour, day).clickMetricsBucket[]guaranteedcountnumberguaranteed: The number of events or occurrences aggregated within this time period.periodStartstringguaranteed: The starting date and time of the time period this bucket represents.
clickTrackingDeliveredMetricsBucket[]guaranteedcountnumberguaranteed: The number of events or occurrences aggregated within this time period.periodStartstringguaranteed: The starting date and time of the time period this bucket represents.
openMetricsBucket[]guaranteedcountnumberguaranteed: The number of events or occurrences aggregated within this time period.periodStartstringguaranteed: The starting date and time of the time period this bucket represents.
openTrackingDeliveredMetricsBucket[]guaranteedcountnumberguaranteed: The number of events or occurrences aggregated within this time period.periodStartstringguaranteed: The starting date and time of the time period this bucket represents.
clicknumberguaranteedclickTrackingDeliverednumberguaranteedendTimestringguaranteedopennumberguaranteedopenTrackingDeliverednumberguaranteedstartTimestringguaranteed
errorErrorResponse | nullnullable: Error information if the operation failed.messagestringguaranteed: A human-readable description of the error.statusCodenumber | nullnullable: The HTTP status code from the API, ornullif the error is not related to an HTTP request. This field is intended for diagnostic use only and should not be relied upon.typestringguaranteed: A string identifier for the type of error. This field is intended for diagnostic use only and should not be relied upon.
Type declarations
Signature
ts
async function engagement (options?: MetricsOptions): Promise<MetricsEngagementResponse>Response type declarations
ts
interface ErrorResponse {
message: string;
statusCode: number | null;
type: ErrorType;
}ts
type DataResponse<T> = {
data: T;
error: null;
} | {
data: null;
error: ErrorResponse;
};Shared metrics type declarations
ts
interface MetricsOptions {
startTime?: string;
endTime?: string;
campaignId?: string;
interval?: "hour" | "day" | "week" | "month";
}ts
interface MetricsBucket {
count: number;
periodStart: string;
}Engagement type declarations
ts
interface MetricsEngagement {
buckets: {
click: MetricsBucket[];
clickTrackingDelivered: MetricsBucket[];
open: MetricsBucket[];
openTrackingDelivered: MetricsBucket[];
};
click: number;
clickTrackingDelivered: number;
endTime: string;
open: number;
openTrackingDelivered: number;
startTime: string;
}ts
type MetricsEngagementResponse = DataResponse<MetricsEngagement>;Source
Source • Playground • Docs • Tests