Skip to content

Performance method 📊 Metrics

Retrieve performance metrics for messages sent from your account, including counts of processed, delivered, hard-bounced 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.performance()
ts
import { MailChannels } from 'mailchannels-sdk'

const mailchannels = new MailChannels('your-api-key')

const { data, error } = await mailchannels.metrics.performance()

Params

  • options MetricsOptions optional: Optional filter options.
    • startTime string optional: The beginning of the time range for retrieving message performance metrics (inclusive). Formats: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ. Defaults to one month ago if not provided.
    • endTime string optional: The end of the time range for retrieving message performance metrics (exclusive). Formats: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ. Defaults to the current time if not provided.
    • campaignId string optional: 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 to day.

Response

  • data MetricsPerformance | null nullable
    • bounced number guaranteed: Count of messages bounced during the specified time range.
    • buckets object guaranteed: A series of metrics aggregations bucketed by time interval (e.g. hour, day).
      • bounced MetricsBucket[] guaranteed
        • count number guaranteed: The number of events or occurrences aggregated within this time period.
        • periodStart string guaranteed: The starting date and time of the time period this bucket represents.
      • delivered MetricsBucket[] guaranteed
        • count number guaranteed: The number of events or occurrences aggregated within this time period.
        • periodStart string guaranteed: The starting date and time of the time period this bucket represents.
      • processed MetricsBucket[] guaranteed
        • count number guaranteed: The number of events or occurrences aggregated within this time period.
        • periodStart string guaranteed: The starting date and time of the time period this bucket represents.
    • delivered number guaranteed: Count of messages delivered during the specified time range.
    • endTime string guaranteed: The end of the time range for retrieving message performance metrics (exclusive).
    • processed number guaranteed: Count of messages processed during the specified time range.
    • startTime string guaranteed: The beginning of the time range for retrieving message performance metrics (inclusive).
  • error ErrorResponse | null nullable: Error information if the operation failed.
    • message string guaranteed: A human-readable description of the error.
    • statusCode number | null nullable: The HTTP status code from the API, or null if the error is not related to an HTTP request. This field is intended for diagnostic use only and should not be relied upon.
    • type string guaranteed: 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 performance (options?: MetricsOptions): Promise<MetricsPerformanceResponse>

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;
}

Performance type declarations

ts
interface MetricsPerformance {
  bounced: number;
  buckets: {
    bounced: MetricsBucket[];
    delivered: MetricsBucket[];
    processed: MetricsBucket[];
  };
  delivered: number;
  endTime: string;
  processed: number;
  startTime: string;
}
ts
type MetricsPerformanceResponse = DataResponse<MetricsPerformance>;

Source

SourcePlaygroundDocsTests

Released under the MIT License.