/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { analyticsWebinarGetAnalyticsWebinarsWebinarId } from "../funcs/analyticsWebinarGetAnalyticsWebinarsWebinarId.js"; import { analyticsWebinarGetAnalyticsWebinarsWebinarIdAudience } from "../funcs/analyticsWebinarGetAnalyticsWebinarsWebinarIdAudience.js"; import { analyticsWebinarGetAnalyticsWebinarsWebinarIdHistograms } from "../funcs/analyticsWebinarGetAnalyticsWebinarsWebinarIdHistograms.js"; import { analyticsWebinarGetAnalyticsWebinarsWebinarIdRegistration } from "../funcs/analyticsWebinarGetAnalyticsWebinarsWebinarIdRegistration.js"; import { analyticsWebinarGetAnalyticsWebinarsWebinarIdTraffic } from "../funcs/analyticsWebinarGetAnalyticsWebinarsWebinarIdTraffic.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; export class AnalyticsWebinar extends ClientSDK { /** * Show Webinar Analytics * * @remarks * Retrieve aggregate analytics for a webinar. This endpoint provides * Bottler-powered analytics including registrations, attendance, engagement, * chat activity, and poll results. * * * ## Requires api token with one of the following permissions * ``` * Read detailed stats * ``` * */ async getAnalyticsWebinarsWebinarId( request: operations.GetAnalyticsWebinarsWebinarIdRequest, options?: RequestOptions, ): Promise { return unwrapAsync(analyticsWebinarGetAnalyticsWebinarsWebinarId( this, request, options, )); } /** * Show Webinar Registration Timeseries * * @remarks * Retrieve registration timeseries data for a webinar with configurable * granularity. Returns an array of timestamped registration metric buckets * including impressions, registrations, and completion rates. * * * ## Requires api token with one of the following permissions * ``` * Read detailed stats * ``` * */ async getAnalyticsWebinarsWebinarIdRegistration( request: operations.GetAnalyticsWebinarsWebinarIdRegistrationRequest, options?: RequestOptions, ): Promise< Array > { return unwrapAsync( analyticsWebinarGetAnalyticsWebinarsWebinarIdRegistration( this, request, options, ), ); } /** * Show Webinar Traffic Breakdown * * @remarks * Retrieve traffic breakdown analytics for a webinar, grouped by a specified dimension * such as UTM campaign, UTM source, UTM medium, or referrer domain. * * * ## Requires api token with one of the following permissions * ``` * Read detailed stats * ``` * */ async getAnalyticsWebinarsWebinarIdTraffic( request: operations.GetAnalyticsWebinarsWebinarIdTrafficRequest, options?: RequestOptions, ): Promise> { return unwrapAsync(analyticsWebinarGetAnalyticsWebinarsWebinarIdTraffic( this, request, options, )); } /** * Show Webinar Audience * * @remarks * Retrieve audience data for a webinar. Returns a paginated list of * registrants with their attendance status, engagement metrics, * attribution data, and per-attendee histograms. * * * ## Requires api token with one of the following permissions * ``` * Read detailed stats * ``` * */ async getAnalyticsWebinarsWebinarIdAudience( request: operations.GetAnalyticsWebinarsWebinarIdAudienceRequest, options?: RequestOptions, ): Promise { return unwrapAsync(analyticsWebinarGetAnalyticsWebinarsWebinarIdAudience( this, request, options, )); } /** * Show Webinar Histograms * * @remarks * Retrieve engagement histogram data for a webinar. Returns arrays of * per-time-bucket counts for attendees, chat activity, and visual focus, * useful for rendering engagement visualizations. * * * ## Requires api token with one of the following permissions * ``` * Read detailed stats * ``` * */ async getAnalyticsWebinarsWebinarIdHistograms( request: operations.GetAnalyticsWebinarsWebinarIdHistogramsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(analyticsWebinarGetAnalyticsWebinarsWebinarIdHistograms( this, request, options, )); } }