declare module "wix-online-programs-backend" {
interface Program {
/** @readonly */
_id?: string | null;
/** program settings that can be updated by */
settings?: ProgramsSettings;
/**
* current program state
* @readonly
*/
state?: StateTransition$1;
/**
* sections/steps general info
* @readonly
*/
contentSummary?: ContentSummary;
/**
* participant stats
* @readonly
*/
participationStats?: ParticipationStats;
/**
* msid where the program was created
* @readonly
*/
msid?: string;
/** @readonly */
categoryIds?: string[];
/**
* identity of the program creator
* @readonly
*/
createdBy?: PersonIdentity$1;
/**
* part of the EXTENDED fieldset -> info about the current person participation in the program.
* @readonly
*/
participation?: Participation;
}
interface ProgramsSettings {
/** timeline type -> Self-paced, time-restricted. */
timeline?: Timeline;
/** general program info */
description?: ObjectDescription$1;
/** participant limitation, step-completion pace and etc. */
restrictions?: ProgramRestrictions;
/** single-payment price. */
pricing?: Money;
/** seo settings */
seo?: Seo;
rewards?: Reward[];
/** connected social group. */
socialGroupId?: string | null;
}
interface Timeline extends TimelineTimelineOptionsOneOf {
/** an endless program, owner adds steps "on the fly" */
ongoing?: Ongoing;
/** program duration is fixed, every participant has its own start-date. */
flexible?: Flexible;
/** program duration is fixed, all participants share the same time range. */
specific?: Specific;
/** endless or fixed program where steps are not limited by time. */
selfPaced?: SelfPaced;
}
/** @oneof */
interface TimelineTimelineOptionsOneOf {
/** an endless program, owner adds steps "on the fly" */
ongoing?: Ongoing;
/** program duration is fixed, every participant has its own start-date. */
flexible?: Flexible;
/** program duration is fixed, all participants share the same time range. */
specific?: Specific;
/** endless or fixed program where steps are not limited by time. */
selfPaced?: SelfPaced;
}
/** Time duration */
interface TimeDuration$1 {
/** DAYS or WEEKS */
unit?: DurationUnit$1;
/** number of unit */
value?: number;
}
enum DurationUnit$1 {
DAYS = "DAYS",
WEEKS = "WEEKS"
}
interface Ongoing {
/** specific date chosen by owner to start the program */
startDate?: string;
}
interface Flexible {
/** duration of the program */
duration?: TimeDuration$1;
}
interface Specific {
/** everyone starts on this day */
startDate?: string;
/** program duration */
duration?: TimeDuration$1;
}
interface SelfPaced {
/** give participants time duration to finish. */
duration?: TimeDuration$1;
}
interface ObjectDescription$1 {
/** object title */
title?: string | null;
/** object details */
details?: string | null;
/** media */
media?: MediaItem$1;
}
interface MediaItem$1 extends MediaItemMediaOneOf$1 {
/** WixMedia image */
image?: string;
/** WixMedia video */
video?: string;
}
/** @oneof */
interface MediaItemMediaOneOf$1 {
/** WixMedia image */
image?: string;
/** WixMedia video */
video?: string;
}
interface VideoResolution$1 {
/** Video URL. */
url?: string;
/** Video height. */
height?: number;
/** Video width. */
width?: number;
/**
* Deprecated. Use the `posters` property in the parent entity instead.
* @internal
* @deprecated
*/
poster?: string;
/** Video format for example, mp4, hls. */
format?: string;
/**
* Deprecated. Use the `urlExpirationDate` property in the parent entity instead.
* @internal
* @deprecated
*/
urlExpirationDate?: Date;
/**
* Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.
* @internal
* @deprecated
*/
sizeInBytes?: string | null;
/**
* Video quality. For example: 480p, 720p.
* @internal
*/
quality?: string | null;
/**
* Video filename.
* @internal
*/
filename?: string | null;
/**
* Video duration in seconds.
* @internal
* @readonly
* @deprecated Video duration in seconds.
* @replacedBy duration_in_milliseconds
* @targetRemovalDate 2024-08-01
*/
durationInSeconds?: number | null;
/**
* Video duration in milliseconds.
* @internal
* @readonly
*/
durationInMilliseconds?: number | null;
/**
* When true, this is a protected asset, and calling the URL will return a 403 error.
* In order to access private assets, make a request to:
* `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request
* @internal
* @readonly
*/
private?: boolean | null;
/**
* Key to identify the video resolution's relationship to the original media in WixMedia.
* Can be used to request a download for the specific video resolution.
* For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4
* @internal
* @readonly
*/
assetKey?: string | null;
}
interface ProgramRestrictions {
/** limit of active participants in the program. */
maxParticipants?: number | null;
/** hide steps in the Pending state. */
hideFutureSteps?: boolean;
/** allow participants complete steps in the certain order. */
resolveStepsInOrder?: boolean;
/** visibility and join access */
accessType?: AccessType;
/** allow program participants to share their progress in group */
shareProgress?: boolean;
}
enum AccessType {
PUBLIC = "PUBLIC",
PRIVATE = "PRIVATE",
SECRET = "SECRET"
}
/**
* Money.
* Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.
*/
interface Money {
/** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */
value?: string;
/** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */
currency?: string;
/** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */
formattedValue?: string | null;
}
interface Seo {
/** challenge slug expression. */
slug?: string;
/** schema used by Seo team */
seoData?: SeoSchema;
/** program url */
url?: string;
/** image url from description media */
imageUrl?: string | null;
}
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the
section of the HTML document, while not being displayed on the page itself.
*/
interface SeoSchema {
/** SEO tag information. */
tags?: Tag[];
/** SEO general settings. */
settings?: Settings$1;
}
interface Keyword {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
}
interface Tag {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.
* For example: `{'name': 'description', 'content': 'the description itself'}`.
*/
props?: Record | null;
/** SEO tag meta data. For example, `{height: 300, width: 240}`. */
meta?: Record | null;
/** SEO tag inner content. For example, ` inner content `. */
children?: string;
/** Whether the tag is a custom tag. */
custom?: boolean;
/** Whether the tag is disabled. */
disabled?: boolean;
}
interface Settings$1 {
/**
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
*
*
* Default: `false` (Auto Redirect is enabled.)
*/
preventAutoRedirect?: boolean;
/** User-selected keyword terms for a specific page. */
keywords?: Keyword[];
}
interface Reward {
/** on which action rewards must be assigned. */
trigger?: Trigger;
/** badges participant will get on program complete */
badgeIds?: string[];
/** certificate for program. Currently is program GUID */
certificate?: Certificate$2;
}
enum Trigger {
/** member joins the program */
JOINED_TO_PROGRAM = "JOINED_TO_PROGRAM",
/** at least one step completed */
STEP_COMPLETED = "STEP_COMPLETED",
/** all steps are completed. */
ALL_STEPS_COMPLETED = "ALL_STEPS_COMPLETED"
}
interface Certificate$2 {
/** Certificate for program completion. Currently is program GUID */
_id?: string | null;
/** date it was connected to program */
connectedDate?: Date;
}
interface StateTransition$1 {
/** program state */
state?: StateTransitionState;
/** time when program changed state */
occurredAt?: Date;
}
enum StateTransitionState {
/** not published program, visible only to site owner */
DRAFT = "DRAFT",
/** program visible regarding to restrictions */
PUBLISHED = "PUBLISHED",
FINISHED = "FINISHED",
ARCHIVED = "ARCHIVED"
}
interface ContentSummary {
/** number of steps in the program */
totalSteps?: number;
/** number of sections in the program */
totalSections?: number;
}
interface ParticipationStats {
/** number of active and finished participants. */
activeCount?: number;
/** number of pending join requests */
joinRequestCount?: number;
/** number of invited members. */
invitationCount?: number;
/** number of participants waiting for the owner payment confirmation. */
paymentWaitingCount?: number;
/** number of participants who joined, but not started the program */
notStartedCount?: number;
/** number of participants who started and not finished the program */
inProgressCount?: number;
/** number of participants who finished the program */
finishedCount?: number;
}
interface PersonIdentity$1 {
/**
* Wix member
* @readonly
*/
memberId?: string;
/**
* Wix contact
* @readonly
*/
contactId?: string;
/**
* Wix user
* @readonly
*/
wixUserId?: string | null;
}
interface Participation {
participantId?: string;
/** current participants state */
state?: State$2;
/** number of successfully completed program steps */
totalCompletedSteps?: number;
}
interface State$2 extends StateStateOptionsOneOf$1 {
/** participant invited to program by owner */
invited?: Invited$1;
/** participant requested to join to private program */
joinRequested?: JoinRequested$1;
/** owner rejected participant join request */
joinRejected?: JoinRejected$1;
/** owner requested member to pay for participation */
paymentRequested?: PaymentRequested$1;
/** member started payment */
paymentStarted?: PaymentStarted$1;
/** owner waits for manual offline payment */
paymentStartedOffline?: PaymentStartedOffline$1;
/** member became participant */
joined?: Joined$1;
/** participant left program */
left?: Left$1;
/** owner removed participant from program */
removed?: Removed$1;
/** participant completed program */
completed?: Completed$2;
/** participant did not finished program in timeline */
failed?: Failed$1;
/** program was suspended, so is participant */
suspended?: Suspended$1;
}
/** @oneof */
interface StateStateOptionsOneOf$1 {
/** participant invited to program by owner */
invited?: Invited$1;
/** participant requested to join to private program */
joinRequested?: JoinRequested$1;
/** owner rejected participant join request */
joinRejected?: JoinRejected$1;
/** owner requested member to pay for participation */
paymentRequested?: PaymentRequested$1;
/** member started payment */
paymentStarted?: PaymentStarted$1;
/** owner waits for manual offline payment */
paymentStartedOffline?: PaymentStartedOffline$1;
/** member became participant */
joined?: Joined$1;
/** participant left program */
left?: Left$1;
/** owner removed participant from program */
removed?: Removed$1;
/** participant completed program */
completed?: Completed$2;
/** participant did not finished program in timeline */
failed?: Failed$1;
/** program was suspended, so is participant */
suspended?: Suspended$1;
}
interface DateInterval$2 {
/** local date start */
start?: string;
/** local date finish, inclusive */
finish?: string | null;
}
interface Invited$1 {
}
interface JoinRequested$1 {
/** Approval request regarding to V1 */
approvalRequestId?: string;
}
interface JoinRejected$1 {
}
interface PaymentRequested$1 {
}
interface PaymentStarted$1 {
}
interface PaymentStartedOffline$1 {
/** Offline transaction id in payments wix.payment.api.pay.v3.Transaction */
transactionId?: string;
}
interface Joined$1 {
/** TODO: change to start/end pair? */
dateFrame?: DateInterval$2;
}
interface Left$1 {
}
interface Removed$1 {
}
interface Completed$2 {
}
interface Failed$1 {
}
interface Suspended$1 {
}
interface ListProgramsRequest {
/** return only programs where current identity is participating. */
participatingOnly?: boolean;
/** sort criterion */
sorting?: SortingCriterion$1;
/** page (offset-based only at the moment) */
paging?: Paging$2;
/** at the moment EXTENDED contains Participation + Stats objects on top of STANDARD. */
fieldSet?: FieldSet;
}
enum SortingCriterion$1 {
DEFAULT = "DEFAULT",
ACTIVE_FIRST = "ACTIVE_FIRST",
LAST_TRANSITION = "LAST_TRANSITION",
CREATION_TIME = "CREATION_TIME"
}
interface Paging$2 {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
enum FieldSet {
STANDARD = "STANDARD",
EXTENDED = "EXTENDED"
}
interface ListProgramsResponse {
/** paging metadata */
metadata?: PagingMetadataV2$1;
/** programs */
programs?: Program[];
}
interface PagingMetadataV2$1 {
/** Number of items returned in the response. */
count?: number | null;
/** Offset that was requested. */
offset?: number | null;
/** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */
total?: number | null;
/** Flag that indicates the server failed to calculate the `total` field. */
tooManyToCount?: boolean | null;
/** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
cursors?: Cursors$1;
/**
* Indicates if there are more results after the current page.
* If `true`, another page of results can be retrieved.
* If `false`, this is the last page.
* @internal
*/
hasNext?: boolean | null;
}
interface Cursors$1 {
/** Cursor string pointing to the next page in the list of results. */
next?: string | null;
/** Cursor pointing to the previous page in the list of results. */
prev?: string | null;
}
interface GetProgramRequest {
/** program to get */
programId: string;
/** STANDARD or EXTENDED field set */
fieldSet?: FieldSet;
}
interface GetProgramResponse {
/** found program */
program?: Program;
}
interface QueryProgramsRequest {
/** query to get programs */
query?: Query;
}
interface Query {
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: any;
/**
* Sort object in the following format:
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
*/
sort?: Sorting$2[];
/** Paging options to limit and skip the number of items. */
paging?: Paging$2;
/** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */
fields?: string[];
/** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */
fieldsets?: string[];
}
interface Sorting$2 {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder$1;
/**
* When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
* a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
*
* If multiple filters are provided, they are combined with AND operator.
*
* Example:
* Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
* and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
* { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
* @internal
*/
selectItemsBy?: Record[] | null;
}
enum SortOrder$1 {
ASC = "ASC",
DESC = "DESC"
}
interface QueryProgramsResponse {
/** paging metadata */
metadata?: PagingMetadataV2$1;
/** programs */
programs?: Program[];
}
interface CreateProgramRequest extends CreateProgramRequestStrategyOneOf {
/** to create new program from scratch */
startFresh?: StartFresh;
/** to clone existing program */
duplicate?: Duplicate;
/** to crate from existing template */
fromTemplate?: FromTemplate;
}
/** @oneof */
interface CreateProgramRequestStrategyOneOf {
/** to create new program from scratch */
startFresh?: StartFresh;
/** to clone existing program */
duplicate?: Duplicate;
/** to crate from existing template */
fromTemplate?: FromTemplate;
}
enum ValidationStrategy {
FAIL_ON_ERRORS = "FAIL_ON_ERRORS",
FIX_ERRORS = "FIX_ERRORS"
}
/** Creates new draft program by providing new settings */
interface StartFresh {
/** settings for new program */
settings?: ProgramsSettings;
}
/** Creates new draft program by cloning existing one */
interface Duplicate {
/** existing owners program to duplicate */
cloneFromId?: string;
/** fix or fail on errors */
validation?: ValidationStrategy;
}
/** Creates new draft program from existing templates */
interface FromTemplate {
/** existing program template */
cloneFromId?: string;
/** new settings to override */
settings?: ProgramsSettings;
}
interface CreateProgramResponse {
/** new program */
program?: Program;
}
interface UpdateProgramSettingsRequest {
/** program to update */
programId: string;
/** fields to change in program settings */
programSettings?: ProgramsSettings;
/** fix or fail on errors */
validation?: ValidationStrategy;
/**
* inferred mask on program_settings fields
* @internal
*/
mask?: string[];
}
interface UpdateProgramSettingsResponse {
/** updated program */
program?: Program;
}
interface ProgramSettingsUpdated {
/** updated program */
program?: Program;
/** settings before update */
previousSettings?: ProgramsSettings;
}
interface BulkUpdateProgramSettingsRequest {
programs?: MaskedProgramSettings[];
/** If true - full entity will be returned. Otherwise - only id. */
returnFullEntity?: boolean;
}
interface MaskedProgramSettings {
/** program to update */
programId?: string;
/** program settings to update */
programSettings?: ProgramsSettings;
/**
* inferred mask on program_settings fields
* @internal
*/
mask?: string[];
}
interface BulkUpdateProgramSettingsResponse {
results?: BulkProgramSettingsResult[];
/** Metadata. */
bulkActionMetadata?: BulkActionMetadata$1;
}
interface ItemMetadata$1 {
/** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
_id?: string | null;
/** Index of the item within the request array. Allows for correlation between request and response items. */
originalIndex?: number;
/** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
success?: boolean;
/** Details about the error in case of failure. */
error?: ApplicationError$1;
}
interface ApplicationError$1 {
/** Error code. */
code?: string;
/** Description of the error. */
description?: string;
/** Data related to the error. */
data?: Record | null;
}
interface BulkProgramSettingsResult {
/** A metadata. */
itemMetadata?: ItemMetadata$1;
/** updated program */
program?: Program;
}
interface BulkActionMetadata$1 {
/** Number of items that were successfully processed. */
totalSuccesses?: number;
/** Number of items that couldn't be processed. */
totalFailures?: number;
/** Number of failures without details because detailed failure threshold was exceeded. */
undetailedFailures?: number;
}
interface ChangeProgramStateRequest {
/** program to change state */
programId: string;
/** state to which change */
state?: StateTransitionState;
}
interface ChangeProgramStateResponse {
/** program with new state */
program?: Program;
}
interface ProgramStateChanged {
/** updated program */
program?: Program;
}
interface AssignCategoriesRequest {
/** program to */
programId: string;
categoryIds?: string[];
}
interface AssignCategoriesResponse {
/** Updated program */
program?: Program;
idsAdded?: string[];
idsRemoved?: string[];
}
interface DeleteProgramRequest {
/** program Id to delete */
programId: string;
}
interface DeleteProgramResponse {
/** deleted program, without PageUrl info */
program?: Program;
}
interface DomainEvent$2 extends DomainEventBodyOneOf$2 {
createdEvent?: EntityCreatedEvent$2;
updatedEvent?: EntityUpdatedEvent$2;
deletedEvent?: EntityDeletedEvent$2;
actionEvent?: ActionEvent$2;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
_id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* Example: created/updated/deleted/started/completed/email_opened
*/
slug?: string;
/** ID of the entity associated with the event. */
entityId?: string;
/** Event timestamp. */
eventTime?: Date;
/**
* Whether the event was triggered as a result of a privacy regulation application
* (for example, GDPR).
*/
triggeredByAnonymizeRequest?: boolean | null;
/** If present, indicates the action that triggered the event. */
originatedFrom?: string | null;
/**
* A sequence number defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
interface DomainEventBodyOneOf$2 {
createdEvent?: EntityCreatedEvent$2;
updatedEvent?: EntityUpdatedEvent$2;
deletedEvent?: EntityDeletedEvent$2;
actionEvent?: ActionEvent$2;
}
interface EntityCreatedEvent$2 {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo$2;
}
interface RestoreInfo$2 {
deletedDate?: Date;
}
interface EntityUpdatedEvent$2 {
/**
* Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
* This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
* We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
*/
currentEntityAsJson?: string;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
}
interface EntityDeletedEvent$2 {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
interface ActionEvent$2 {
bodyAsJson?: string;
}
interface MessageEnvelope$2 {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData$2;
/** Stringify payload. */
data?: string;
}
interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType$2;
}
/** @oneof */
interface IdentificationDataIdOneOf$2 {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
enum WebhookIdentityType$2 {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/**
* List programs with paging
* @internal
* @documentationMaturity preview
*/
function listPrograms(options?: ListProgramsOptions): Promise;
interface ListProgramsOptions {
/** return only programs where current identity is participating. */
participatingOnly?: boolean;
/** sort criterion */
sorting?: SortingCriterion$1;
/** page (offset-based only at the moment) */
paging?: Paging$2;
/** at the moment EXTENDED contains Participation + Stats objects on top of STANDARD. */
fieldSet?: FieldSet;
}
/**
* Find one program
* @param programId - program to get
* @internal
* @documentationMaturity preview
* @requiredField programId
* @returns found program
*/
function getProgram(programId: string, options?: GetProgramOptions): Promise;
interface GetProgramOptions {
/** STANDARD or EXTENDED field set */
fieldSet?: FieldSet;
}
/**
* Find programs by platformized query
* @internal
* @documentationMaturity preview
* @permissionId ONLINE_PROGRAMS.PROGRAM_READ
*/
function queryPrograms(): ProgramsQueryBuilder;
interface QueryCursorResult {
cursors: Cursors$1;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface ProgramsQueryResult extends QueryCursorResult {
items: Program[];
query: ProgramsQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface ProgramsQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
eq: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
ne: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;
/** @documentationMaturity preview */
in: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
ascending: (...propertyNames: Array<'_id'>) => ProgramsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
descending: (...propertyNames: Array<'_id'>) => ProgramsQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object.
* @documentationMaturity preview
*/
limit: (limit: number) => ProgramsQueryBuilder;
/** @param cursor - A pointer to specific record
* @documentationMaturity preview
*/
skipTo: (cursor: string) => ProgramsQueryBuilder;
/** @documentationMaturity preview */
find: () => Promise;
}
/**
* Creates new program in draft state by provided fresh settings, duplicate existing prog, or from template
* @internal
* @documentationMaturity preview
* @adminMethod
*/
function createProgram(options?: CreateProgramOptions): Promise;
interface CreateProgramOptions extends CreateProgramRequestStrategyOneOf {
/** to create new program from scratch */
startFresh?: StartFresh;
/** to clone existing program */
duplicate?: Duplicate;
/** to crate from existing template */
fromTemplate?: FromTemplate;
}
/**
* Partial program settings update
* @param programId - program to update
* @internal
* @documentationMaturity preview
* @requiredField programId
* @adminMethod
*/
function updateProgramSettings(programId: string, options?: UpdateProgramSettingsOptions): Promise;
interface UpdateProgramSettingsOptions {
/** fields to change in program settings */
programSettings?: ProgramsSettings;
/** fix or fail on errors */
validation?: ValidationStrategy;
/**
* inferred mask on program_settings fields
* @internal
*/
mask?: string[];
}
/**
* Bulk partial settings update. Bulk version of UpdateProgramSettings
* @internal
* @documentationMaturity preview
* @adminMethod
*/
function bulkUpdateProgramSettings(options?: BulkUpdateProgramSettingsOptions): Promise;
interface BulkUpdateProgramSettingsOptions {
programs?: MaskedProgramSettings[];
/** If true - full entity will be returned. Otherwise - only id. */
returnFullEntity?: boolean;
}
/**
* Changes program state. New program has state DRAFT.
* It could be PUBLISHED, FINISHED or ARCHIVED.
* PUBLISHED program could be FINISHED or ARCHIVED. FINISHED -> ARCHIVED.
* ARCHIVED program could be only deleted or duplicated (to draft state).
* In case of any other transition, WrongTransition error will be raised.
* @param programId - program to change state
* @internal
* @documentationMaturity preview
* @requiredField programId
* @adminMethod
*/
function changeProgramState(programId: string, options?: ChangeProgramStateOptions): Promise;
interface ChangeProgramStateOptions {
/** state to which change */
state?: StateTransitionState;
}
/**
* Assign list of categories to the program. Provided list will replace existing one.
* @param programId - program to
* @internal
* @documentationMaturity preview
* @requiredField programId
* @adminMethod
*/
function assignCategories(programId: string, options?: AssignCategoriesOptions): Promise;
interface AssignCategoriesOptions {
categoryIds?: string[];
}
/**
* Hard delete of existing program
* @param programId - program Id to delete
* @internal
* @documentationMaturity preview
* @requiredField programId
* @adminMethod
*/
function deleteProgram(programId: string): Promise;
type achievementsProgramsV2Program_universal_d_Program = Program;
type achievementsProgramsV2Program_universal_d_ProgramsSettings = ProgramsSettings;
type achievementsProgramsV2Program_universal_d_Timeline = Timeline;
type achievementsProgramsV2Program_universal_d_TimelineTimelineOptionsOneOf = TimelineTimelineOptionsOneOf;
type achievementsProgramsV2Program_universal_d_Ongoing = Ongoing;
type achievementsProgramsV2Program_universal_d_Flexible = Flexible;
type achievementsProgramsV2Program_universal_d_Specific = Specific;
type achievementsProgramsV2Program_universal_d_SelfPaced = SelfPaced;
type achievementsProgramsV2Program_universal_d_ProgramRestrictions = ProgramRestrictions;
type achievementsProgramsV2Program_universal_d_AccessType = AccessType;
const achievementsProgramsV2Program_universal_d_AccessType: typeof AccessType;
type achievementsProgramsV2Program_universal_d_Money = Money;
type achievementsProgramsV2Program_universal_d_Seo = Seo;
type achievementsProgramsV2Program_universal_d_SeoSchema = SeoSchema;
type achievementsProgramsV2Program_universal_d_Keyword = Keyword;
type achievementsProgramsV2Program_universal_d_Tag = Tag;
type achievementsProgramsV2Program_universal_d_Reward = Reward;
type achievementsProgramsV2Program_universal_d_Trigger = Trigger;
const achievementsProgramsV2Program_universal_d_Trigger: typeof Trigger;
type achievementsProgramsV2Program_universal_d_StateTransitionState = StateTransitionState;
const achievementsProgramsV2Program_universal_d_StateTransitionState: typeof StateTransitionState;
type achievementsProgramsV2Program_universal_d_ContentSummary = ContentSummary;
type achievementsProgramsV2Program_universal_d_ParticipationStats = ParticipationStats;
type achievementsProgramsV2Program_universal_d_Participation = Participation;
type achievementsProgramsV2Program_universal_d_ListProgramsRequest = ListProgramsRequest;
type achievementsProgramsV2Program_universal_d_FieldSet = FieldSet;
const achievementsProgramsV2Program_universal_d_FieldSet: typeof FieldSet;
type achievementsProgramsV2Program_universal_d_ListProgramsResponse = ListProgramsResponse;
type achievementsProgramsV2Program_universal_d_GetProgramRequest = GetProgramRequest;
type achievementsProgramsV2Program_universal_d_GetProgramResponse = GetProgramResponse;
type achievementsProgramsV2Program_universal_d_QueryProgramsRequest = QueryProgramsRequest;
type achievementsProgramsV2Program_universal_d_Query = Query;
type achievementsProgramsV2Program_universal_d_QueryProgramsResponse = QueryProgramsResponse;
type achievementsProgramsV2Program_universal_d_CreateProgramRequest = CreateProgramRequest;
type achievementsProgramsV2Program_universal_d_CreateProgramRequestStrategyOneOf = CreateProgramRequestStrategyOneOf;
type achievementsProgramsV2Program_universal_d_ValidationStrategy = ValidationStrategy;
const achievementsProgramsV2Program_universal_d_ValidationStrategy: typeof ValidationStrategy;
type achievementsProgramsV2Program_universal_d_StartFresh = StartFresh;
type achievementsProgramsV2Program_universal_d_Duplicate = Duplicate;
type achievementsProgramsV2Program_universal_d_FromTemplate = FromTemplate;
type achievementsProgramsV2Program_universal_d_CreateProgramResponse = CreateProgramResponse;
type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsRequest = UpdateProgramSettingsRequest;
type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsResponse = UpdateProgramSettingsResponse;
type achievementsProgramsV2Program_universal_d_ProgramSettingsUpdated = ProgramSettingsUpdated;
type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsRequest = BulkUpdateProgramSettingsRequest;
type achievementsProgramsV2Program_universal_d_MaskedProgramSettings = MaskedProgramSettings;
type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsResponse = BulkUpdateProgramSettingsResponse;
type achievementsProgramsV2Program_universal_d_BulkProgramSettingsResult = BulkProgramSettingsResult;
type achievementsProgramsV2Program_universal_d_ChangeProgramStateRequest = ChangeProgramStateRequest;
type achievementsProgramsV2Program_universal_d_ChangeProgramStateResponse = ChangeProgramStateResponse;
type achievementsProgramsV2Program_universal_d_ProgramStateChanged = ProgramStateChanged;
type achievementsProgramsV2Program_universal_d_AssignCategoriesRequest = AssignCategoriesRequest;
type achievementsProgramsV2Program_universal_d_AssignCategoriesResponse = AssignCategoriesResponse;
type achievementsProgramsV2Program_universal_d_DeleteProgramRequest = DeleteProgramRequest;
type achievementsProgramsV2Program_universal_d_DeleteProgramResponse = DeleteProgramResponse;
const achievementsProgramsV2Program_universal_d_listPrograms: typeof listPrograms;
type achievementsProgramsV2Program_universal_d_ListProgramsOptions = ListProgramsOptions;
const achievementsProgramsV2Program_universal_d_getProgram: typeof getProgram;
type achievementsProgramsV2Program_universal_d_GetProgramOptions = GetProgramOptions;
const achievementsProgramsV2Program_universal_d_queryPrograms: typeof queryPrograms;
type achievementsProgramsV2Program_universal_d_ProgramsQueryResult = ProgramsQueryResult;
type achievementsProgramsV2Program_universal_d_ProgramsQueryBuilder = ProgramsQueryBuilder;
const achievementsProgramsV2Program_universal_d_createProgram: typeof createProgram;
type achievementsProgramsV2Program_universal_d_CreateProgramOptions = CreateProgramOptions;
const achievementsProgramsV2Program_universal_d_updateProgramSettings: typeof updateProgramSettings;
type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsOptions = UpdateProgramSettingsOptions;
const achievementsProgramsV2Program_universal_d_bulkUpdateProgramSettings: typeof bulkUpdateProgramSettings;
type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsOptions = BulkUpdateProgramSettingsOptions;
const achievementsProgramsV2Program_universal_d_changeProgramState: typeof changeProgramState;
type achievementsProgramsV2Program_universal_d_ChangeProgramStateOptions = ChangeProgramStateOptions;
const achievementsProgramsV2Program_universal_d_assignCategories: typeof assignCategories;
type achievementsProgramsV2Program_universal_d_AssignCategoriesOptions = AssignCategoriesOptions;
const achievementsProgramsV2Program_universal_d_deleteProgram: typeof deleteProgram;
namespace achievementsProgramsV2Program_universal_d {
export {
achievementsProgramsV2Program_universal_d_Program as Program,
achievementsProgramsV2Program_universal_d_ProgramsSettings as ProgramsSettings,
achievementsProgramsV2Program_universal_d_Timeline as Timeline,
achievementsProgramsV2Program_universal_d_TimelineTimelineOptionsOneOf as TimelineTimelineOptionsOneOf,
TimeDuration$1 as TimeDuration,
DurationUnit$1 as DurationUnit,
achievementsProgramsV2Program_universal_d_Ongoing as Ongoing,
achievementsProgramsV2Program_universal_d_Flexible as Flexible,
achievementsProgramsV2Program_universal_d_Specific as Specific,
achievementsProgramsV2Program_universal_d_SelfPaced as SelfPaced,
ObjectDescription$1 as ObjectDescription,
MediaItem$1 as MediaItem,
MediaItemMediaOneOf$1 as MediaItemMediaOneOf,
VideoResolution$1 as VideoResolution,
achievementsProgramsV2Program_universal_d_ProgramRestrictions as ProgramRestrictions,
achievementsProgramsV2Program_universal_d_AccessType as AccessType,
achievementsProgramsV2Program_universal_d_Money as Money,
achievementsProgramsV2Program_universal_d_Seo as Seo,
achievementsProgramsV2Program_universal_d_SeoSchema as SeoSchema,
achievementsProgramsV2Program_universal_d_Keyword as Keyword,
achievementsProgramsV2Program_universal_d_Tag as Tag,
Settings$1 as Settings,
achievementsProgramsV2Program_universal_d_Reward as Reward,
achievementsProgramsV2Program_universal_d_Trigger as Trigger,
Certificate$2 as Certificate,
StateTransition$1 as StateTransition,
achievementsProgramsV2Program_universal_d_StateTransitionState as StateTransitionState,
achievementsProgramsV2Program_universal_d_ContentSummary as ContentSummary,
achievementsProgramsV2Program_universal_d_ParticipationStats as ParticipationStats,
PersonIdentity$1 as PersonIdentity,
achievementsProgramsV2Program_universal_d_Participation as Participation,
State$2 as State,
StateStateOptionsOneOf$1 as StateStateOptionsOneOf,
DateInterval$2 as DateInterval,
Invited$1 as Invited,
JoinRequested$1 as JoinRequested,
JoinRejected$1 as JoinRejected,
PaymentRequested$1 as PaymentRequested,
PaymentStarted$1 as PaymentStarted,
PaymentStartedOffline$1 as PaymentStartedOffline,
Joined$1 as Joined,
Left$1 as Left,
Removed$1 as Removed,
Completed$2 as Completed,
Failed$1 as Failed,
Suspended$1 as Suspended,
achievementsProgramsV2Program_universal_d_ListProgramsRequest as ListProgramsRequest,
SortingCriterion$1 as SortingCriterion,
Paging$2 as Paging,
achievementsProgramsV2Program_universal_d_FieldSet as FieldSet,
achievementsProgramsV2Program_universal_d_ListProgramsResponse as ListProgramsResponse,
PagingMetadataV2$1 as PagingMetadataV2,
Cursors$1 as Cursors,
achievementsProgramsV2Program_universal_d_GetProgramRequest as GetProgramRequest,
achievementsProgramsV2Program_universal_d_GetProgramResponse as GetProgramResponse,
achievementsProgramsV2Program_universal_d_QueryProgramsRequest as QueryProgramsRequest,
achievementsProgramsV2Program_universal_d_Query as Query,
Sorting$2 as Sorting,
SortOrder$1 as SortOrder,
achievementsProgramsV2Program_universal_d_QueryProgramsResponse as QueryProgramsResponse,
achievementsProgramsV2Program_universal_d_CreateProgramRequest as CreateProgramRequest,
achievementsProgramsV2Program_universal_d_CreateProgramRequestStrategyOneOf as CreateProgramRequestStrategyOneOf,
achievementsProgramsV2Program_universal_d_ValidationStrategy as ValidationStrategy,
achievementsProgramsV2Program_universal_d_StartFresh as StartFresh,
achievementsProgramsV2Program_universal_d_Duplicate as Duplicate,
achievementsProgramsV2Program_universal_d_FromTemplate as FromTemplate,
achievementsProgramsV2Program_universal_d_CreateProgramResponse as CreateProgramResponse,
achievementsProgramsV2Program_universal_d_UpdateProgramSettingsRequest as UpdateProgramSettingsRequest,
achievementsProgramsV2Program_universal_d_UpdateProgramSettingsResponse as UpdateProgramSettingsResponse,
achievementsProgramsV2Program_universal_d_ProgramSettingsUpdated as ProgramSettingsUpdated,
achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsRequest as BulkUpdateProgramSettingsRequest,
achievementsProgramsV2Program_universal_d_MaskedProgramSettings as MaskedProgramSettings,
achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsResponse as BulkUpdateProgramSettingsResponse,
ItemMetadata$1 as ItemMetadata,
ApplicationError$1 as ApplicationError,
achievementsProgramsV2Program_universal_d_BulkProgramSettingsResult as BulkProgramSettingsResult,
BulkActionMetadata$1 as BulkActionMetadata,
achievementsProgramsV2Program_universal_d_ChangeProgramStateRequest as ChangeProgramStateRequest,
achievementsProgramsV2Program_universal_d_ChangeProgramStateResponse as ChangeProgramStateResponse,
achievementsProgramsV2Program_universal_d_ProgramStateChanged as ProgramStateChanged,
achievementsProgramsV2Program_universal_d_AssignCategoriesRequest as AssignCategoriesRequest,
achievementsProgramsV2Program_universal_d_AssignCategoriesResponse as AssignCategoriesResponse,
achievementsProgramsV2Program_universal_d_DeleteProgramRequest as DeleteProgramRequest,
achievementsProgramsV2Program_universal_d_DeleteProgramResponse as DeleteProgramResponse,
DomainEvent$2 as DomainEvent,
DomainEventBodyOneOf$2 as DomainEventBodyOneOf,
EntityCreatedEvent$2 as EntityCreatedEvent,
RestoreInfo$2 as RestoreInfo,
EntityUpdatedEvent$2 as EntityUpdatedEvent,
EntityDeletedEvent$2 as EntityDeletedEvent,
ActionEvent$2 as ActionEvent,
MessageEnvelope$2 as MessageEnvelope,
IdentificationData$2 as IdentificationData,
IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,
WebhookIdentityType$2 as WebhookIdentityType,
achievementsProgramsV2Program_universal_d_listPrograms as listPrograms,
achievementsProgramsV2Program_universal_d_ListProgramsOptions as ListProgramsOptions,
achievementsProgramsV2Program_universal_d_getProgram as getProgram,
achievementsProgramsV2Program_universal_d_GetProgramOptions as GetProgramOptions,
achievementsProgramsV2Program_universal_d_queryPrograms as queryPrograms,
achievementsProgramsV2Program_universal_d_ProgramsQueryResult as ProgramsQueryResult,
achievementsProgramsV2Program_universal_d_ProgramsQueryBuilder as ProgramsQueryBuilder,
achievementsProgramsV2Program_universal_d_createProgram as createProgram,
achievementsProgramsV2Program_universal_d_CreateProgramOptions as CreateProgramOptions,
achievementsProgramsV2Program_universal_d_updateProgramSettings as updateProgramSettings,
achievementsProgramsV2Program_universal_d_UpdateProgramSettingsOptions as UpdateProgramSettingsOptions,
achievementsProgramsV2Program_universal_d_bulkUpdateProgramSettings as bulkUpdateProgramSettings,
achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsOptions as BulkUpdateProgramSettingsOptions,
achievementsProgramsV2Program_universal_d_changeProgramState as changeProgramState,
achievementsProgramsV2Program_universal_d_ChangeProgramStateOptions as ChangeProgramStateOptions,
achievementsProgramsV2Program_universal_d_assignCategories as assignCategories,
achievementsProgramsV2Program_universal_d_AssignCategoriesOptions as AssignCategoriesOptions,
achievementsProgramsV2Program_universal_d_deleteProgram as deleteProgram,
};
}
interface Participant$1 {
_id?: string;
member?: Member;
challenge?: EntitySummary;
timeFrame?: TimeInterval;
stepsSummary?: StepsSummary$1;
orderIds?: string[];
transitions?: StateTransition[];
timezone?: string;
dateFrame?: DateInterval$1;
socialGroupId?: string | null;
performance?: number;
joinPath?: JoinPath$1;
/** Certificate issued to participant on successful program complete */
certificate?: Certificate$1;
}
interface StepEvent$1 {
stepId?: string;
transition?: ParticipantStepStateTransition;
}
interface ParticipantStepStateTransition {
state?: ParticipantStepState;
occurredAt?: Date;
}
enum ParticipantStepState {
PENDING = "PENDING",
RUNNING = "RUNNING",
COMPLETED = "COMPLETED",
SKIPPED = "SKIPPED",
CONFIRMED = "CONFIRMED",
REJECTED = "REJECTED",
OVERDUE = "OVERDUE",
FAILED = "FAILED"
}
enum State$1 {
JOIN_REQUESTED = "JOIN_REQUESTED",
INVITED = "INVITED",
JOIN_REJECTED = "JOIN_REJECTED",
PAYMENT_REQUESTED = "PAYMENT_REQUESTED",
PAYMENT_STARTED = "PAYMENT_STARTED",
JOINED = "JOINED",
LEFT = "LEFT",
REMOVED = "REMOVED",
RUNNING = "RUNNING",
COMPLETED = "COMPLETED",
FAILED = "FAILED",
PAYMENT_STARTED_OFFLINE = "PAYMENT_STARTED_OFFLINE",
SUSPENDED = "SUSPENDED"
}
interface Free {
}
interface Added {
}
interface SinglePayment {
orderId?: string;
}
interface PaidPlan {
planIds?: string[];
}
interface FreeCoupon {
couponId?: string;
}
interface Member {
_id?: string;
fullName?: string;
imageUrl?: string | null;
contactId?: string | null;
userId?: string | null;
}
interface EntitySummary {
_id?: string;
title?: string | null;
media?: MediaItem;
}
/** Deprecated - Copy this message into your service, do not reference it */
interface MediaItem extends MediaItemMediaOneOf {
/** WixMedia image */
image?: string;
/** WixMedia video */
video?: string;
/** WixMedia document */
document?: string;
}
/** @oneof */
interface MediaItemMediaOneOf {
/** WixMedia image */
image?: string;
/** WixMedia video */
video?: string;
/** WixMedia document */
document?: string;
}
interface TimeInterval {
start?: Date;
finish?: Date;
}
interface StepsSummary$1 {
stepsNumber?: number;
completedStepsNumber?: number;
failedStepsNumber?: number;
postedFeedbacksNumber?: number;
lastEvent?: StepEvent$1;
}
interface StateTransition {
state?: State$1;
occurredAt?: Date;
offlineTrxId?: string | null;
}
interface DateInterval$1 {
start?: string;
finish?: string | null;
}
interface JoinPath$1 extends JoinPathPathOneOf {
free?: Free;
added?: Added;
singlePayment?: SinglePayment;
paidPlan?: PaidPlan;
freeCoupon?: FreeCoupon;
}
/** @oneof */
interface JoinPathPathOneOf {
free?: Free;
added?: Added;
singlePayment?: SinglePayment;
paidPlan?: PaidPlan;
freeCoupon?: FreeCoupon;
}
interface Certificate$1 {
/**
* when certificate was issued, UTC
* @readonly
*/
issuedDate?: Date;
}
interface QueryParticipantsRequest$1 {
paging?: Paging$1;
challengeId: string;
sorting?: QueryParticipantsRequestSorting;
filter?: ParticipantsFilter;
}
interface ParticipantJoinDate {
start?: string | null;
end?: string | null;
}
enum ParticipationState {
NotStarted = "NotStarted",
InProgress = "InProgress",
Finished = "Finished",
Suspended = "Suspended"
}
interface ParticipantPerformance {
start?: number | null;
end?: number | null;
}
enum QueryParticipantsRequestJoinPath {
UNKNOWN_JOIN_PATH = "UNKNOWN_JOIN_PATH",
FREE = "FREE",
ADDED = "ADDED",
SINGLE_PAYMENT = "SINGLE_PAYMENT",
PAID_PLAN = "PAID_PLAN"
}
enum QueryParticipantsRequestSortingCriterion {
DEFAULT = "DEFAULT",
JOIN_DATE = "JOIN_DATE",
NAME = "NAME",
LAST_EVENT = "LAST_EVENT",
PERFORMANCE = "PERFORMANCE"
}
enum QueryParticipantsRequestSortingOrder {
ORDER_DEFAULT = "ORDER_DEFAULT",
ORDER_ASC = "ORDER_ASC",
ORDER_DESC = "ORDER_DESC"
}
interface Paging$1 {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface QueryParticipantsRequestSorting {
criterion?: QueryParticipantsRequestSortingCriterion;
order?: QueryParticipantsRequestSortingOrder;
}
interface ParticipantsFilter {
memberIds?: string[] | null;
memberName?: string | null;
states?: State$1[];
joinedAt?: ParticipantJoinDate;
participationStates?: ParticipationState[];
performance?: ParticipantPerformance[];
joinPath?: QueryParticipantsRequestJoinPath;
}
interface QueryParticipantsResponse$1 {
totalCount?: number;
participants?: Participant$1[];
}
interface ListParticipantsRequest {
paging?: Paging$1;
challengeId: string;
/** @deprecated */
memberId?: string | null;
states?: State$1[];
memberIds?: string[] | null;
/** @deprecated */
sortingCriterion?: SortingCriterion;
memberName?: string | null;
sorting?: Sorting$1;
}
enum SortingCriterion {
DEFAULT = "DEFAULT",
JOIN_DATE = "JOIN_DATE",
NAME = "NAME",
LAST_EVENT = "LAST_EVENT",
PERFORMANCE = "PERFORMANCE"
}
enum SortingOrder {
ORDER_DEFAULT = "ORDER_DEFAULT",
ORDER_ASC = "ORDER_ASC",
ORDER_DESC = "ORDER_DESC"
}
interface Sorting$1 {
criterion?: SortingCriterion;
order?: SortingOrder;
}
interface ListParticipantsResponse {
totalCount?: number;
participants?: Participant$1[];
}
interface JoinParticipantRequest {
challengeId: string;
/**
* ignored, taken from callScope instead
* @deprecated ignored, taken from callScope instead
* @targetRemovalDate 2024-09-01
*/
memberId?: string;
timeZone?: string;
actionId?: string;
startDate?: string | null;
}
interface JoinParticipantResponse {
participantId?: string;
actionId?: string;
participant?: Participant$1;
}
interface ParticipantJoined {
participant?: Participant$1;
/** user id for program owner */
ownerId?: string;
/** owner's contact id */
ownerContactId?: string;
}
/** Add participant */
interface AddParticipantRequest$1 {
challengeId: string;
memberId?: string;
actionId?: string;
}
interface AddParticipantResponse$1 {
participant?: Participant$1;
actionId?: string;
}
/** Add participants */
interface AddParticipantsRequest {
challengeId: string;
memberIds?: string[];
actionId?: string;
}
interface AddParticipantsResponse {
participants?: Participant$1[];
actionId?: string;
}
interface AddAllParticipantRequest {
challengeId: string;
excludeIds?: string[];
}
interface AddAllParticipantResponse {
}
interface CreateJoinRequestRequest {
challengeId: string;
memberId?: string;
timeZone?: string;
actionId?: string;
startDate?: string | null;
}
interface CreateJoinRequestResponse {
participantId?: string;
approvalRequestId?: string;
actionId?: string;
participant?: Participant$1;
}
interface InviteParticipantsRequest {
challengeId: string;
memberIds?: string[];
actionId?: string;
}
interface InviteParticipantsResponse {
invitations?: InvitationDetails[];
actionId?: string;
}
interface InvitationDetails {
participantId?: string;
approvalRequestId?: string;
}
interface InviteAllParticipantsRequest {
challengeId: string;
excludeIds?: string[];
}
interface InviteAllParticipantsResponse {
}
interface GetParticipantRequest$1 {
challengeId: string;
participantId: string;
}
interface GetParticipantResponse$1 {
participant?: Participant$1;
}
interface UpdateParticipantRequest extends UpdateParticipantRequestUpdateOneOf {
startDate?: string;
challengeId: string;
participantId: string;
actionId?: string;
}
/** @oneof */
interface UpdateParticipantRequestUpdateOneOf {
startDate?: string;
}
interface UpdateParticipantResponse {
participant?: Participant$1;
actionId?: string;
}
interface DeleteParticipantRequest {
challengeId: string;
participantId: string;
actionId?: string;
}
interface DeleteParticipantResponse {
actionId?: string;
}
interface ReviveParticipantRequest {
challengeId: string;
participantId: string;
actionId?: string;
}
interface ReviveParticipantResponse {
participant?: Participant$1;
actionId?: string;
}
interface ResetParticipantProgressRequest {
challengeId: string;
participantId: string;
timeZone?: string;
startDate?: string | null;
actionId?: string;
}
interface ResetParticipantProgressResponse {
participant?: Participant$1;
actionId?: string;
}
interface IssueParticipantCertificateRequest$1 {
/** Participant to issue manually certificate */
participantId: string;
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
}
interface IssueParticipantCertificateResponse$1 {
/** Updated participant */
participant?: Participant$1;
}
interface IssueCertificateRequest {
/** Participant to get certificate */
participantId: string;
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
}
interface IssueCertificateResponse {
/** Updated participant */
participant?: Participant$1;
}
interface GetCertificateRequest$1 {
/** Participant to get certificate */
participantId: string;
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
}
interface GetCertificateResponse$1 {
/** URL on media to get certificate */
certificateUrl?: string;
}
interface CreatePaymentOrderRequest {
challengeId: string;
participantId: string;
actionId?: string;
timeZone?: string | null;
startDate?: string | null;
paymentType?: PaymentType;
}
enum PaymentType {
SINGLE_PAYMENT = "SINGLE_PAYMENT",
PAID_PLANS = "PAID_PLANS"
}
interface CreatePaymentOrderResponse {
orderId?: string;
actionId?: string;
participant?: Participant$1;
}
interface ApplyCouponToOrderRequest {
challengeId: string;
participantId: string;
orderId: string;
couponCode: string;
actionId?: string;
}
interface ApplyCouponToOrderResponse {
couponId?: string;
subTotal?: string;
discount?: string;
total?: string;
}
interface RemoveCouponFromOrderRequest {
challengeId: string;
participantId: string;
orderId: string;
couponId: string;
actionId?: string;
}
interface RemoveCouponFromOrderResponse {
total?: string;
}
interface ListParticipantStepsRequest {
challengeId: string;
participantId: string;
parentId?: string;
timeInterval?: TimeInterval;
dateInterval?: DateInterval$1;
descriptionFieldSet?: DescriptionFieldSet;
}
enum DescriptionFieldSet {
/** title and detailed description. */
EXTENDED = "EXTENDED",
/** title only. */
STANDARD = "STANDARD"
}
interface ListParticipantStepsResponse {
steps?: ParticipantStep[];
}
interface ParticipantStep {
_id?: string;
source?: ChallengeStep;
timeFrame?: TimeInterval;
feedback?: Feedback;
transitions?: ParticipantStepStateTransition[];
dateFrame?: DateInterval$1;
quizSubmission?: QuizSubmission;
}
interface FeedbackItem extends FeedbackItemValueOneOf {
number?: number | null;
text?: string | null;
media?: MediaItems;
choice?: FeedbackItemChoice;
quantity?: Quantity;
multiSelect?: Choices;
feedbackItemSettingsId?: string;
}
/** @oneof */
interface FeedbackItemValueOneOf {
number?: number | null;
text?: string | null;
media?: MediaItems;
choice?: FeedbackItemChoice;
quantity?: Quantity;
multiSelect?: Choices;
}
interface MediaItems {
mediaItems?: MediaItem[];
}
interface FeedbackItemChoice {
choiceId?: string;
}
interface Quantity {
unitName?: string;
amount?: number;
}
interface Choices {
choiceIds?: string[];
}
interface ChallengeStep {
_id?: string;
settings?: ChallengeStepSettings;
/** @deprecated */
recurrenceSourceId?: string | null;
createdAt?: Date;
updatedAt?: Date;
/** @readonly */
sectionId?: string | null;
}
interface GeneralSettings extends GeneralSettingsStepTypeOneOf {
individual?: IndividualSettings;
/** @deprecated */
group?: GroupSettings;
quiz?: QuizSettings;
video?: VideoStepSettings;
/** steps description: title, details, image and etc. */
description?: ObjectDescription;
duration?: TimeDuration;
/** @deprecated */
recurrenceSettings?: RecurrenceSettings;
}
/** @oneof */
interface GeneralSettingsStepTypeOneOf {
individual?: IndividualSettings;
/** @deprecated */
group?: GroupSettings;
quiz?: QuizSettings;
video?: VideoStepSettings;
}
interface ObjectDescription {
title?: string | null;
details?: string | null;
media?: MediaItem;
}
interface IndividualSettings {
/** should be renamed, it's a flag whether the questionnaire section is enabled. */
confirmationRequired?: boolean;
/** feedback list settings. */
feedbackSettings?: FeedbackItemSettings[];
/** whether the quiz section in enabled. */
showQuiz?: boolean;
/** quiz list settings. */
quizSettings?: FeedbackItemSettings[];
}
interface FeedbackItemSettings {
_id?: string;
type?: FeedbackItemType;
question?: string;
isRequired?: boolean;
correctAnswerMessage?: string | null;
wrongAnswerMessage?: string | null;
}
interface NumericFeedbackItem {
maxValue?: number;
}
interface TextFeedbackItem {
}
interface MediaFeedbackItem {
}
interface MultipleChoiceFeedbackItem {
choices?: Choice[];
}
enum ChoiceRightness {
NEUTRAL = "NEUTRAL",
RIGHT = "RIGHT",
WRONG = "WRONG"
}
interface Choice {
_id?: string;
description?: ObjectDescription;
rightness?: ChoiceRightness;
}
interface QuantityFeedbackItem {
unitName?: string | null;
amount?: number;
}
interface FeedbackItemType extends FeedbackItemTypeTypeOneOf {
numeric?: NumericFeedbackItem;
text?: TextFeedbackItem;
media?: MediaFeedbackItem;
multipleChoice?: MultipleChoiceFeedbackItem;
quantity?: QuantityFeedbackItem;
multiSelect?: MultipleChoiceFeedbackItem;
}
/** @oneof */
interface FeedbackItemTypeTypeOneOf {
numeric?: NumericFeedbackItem;
text?: TextFeedbackItem;
media?: MediaFeedbackItem;
multipleChoice?: MultipleChoiceFeedbackItem;
quantity?: QuantityFeedbackItem;
multiSelect?: MultipleChoiceFeedbackItem;
}
interface GroupSettings {
completionCriteria?: CompletionCriteria;
}
interface CompletionCriteria {
completedSteps?: QuantityCriterion;
completedMilestones?: QuantityCriterion;
scoredPoints?: MinThreshold;
}
interface QuantityCriterion extends QuantityCriterionCriterionOneOf {
all?: All;
minThreshold?: MinThreshold;
}
/** @oneof */
interface QuantityCriterionCriterionOneOf {
all?: All;
minThreshold?: MinThreshold;
}
interface All {
}
interface MinThreshold {
value?: number;
}
interface QuizSettings {
quizId?: string;
questionCount?: number;
passingGrade?: number | null;
migrationDetails?: QuizMigrationDetails;
}
enum QuizType {
QUIZ = "QUIZ",
QUESTIONNAIRE = "QUESTIONNAIRE"
}
interface QuizMigrationDetails {
sourceStepId?: string;
show?: boolean;
quizType?: QuizType;
}
interface VideoStepSettings extends VideoStepSettingsVideoSourceOneOf {
wixVideo?: WixVideo;
video?: string;
requiredCompletionPercentage?: number;
coverImage?: string;
durationInMilliseconds?: number | null;
deleted?: boolean;
}
/** @oneof */
interface VideoStepSettingsVideoSourceOneOf {
wixVideo?: WixVideo;
video?: string;
}
interface WixVideo {
_id?: string;
paid?: boolean;
}
interface VideoResolution {
/** Video URL. */
url?: string;
/** Video height. */
height?: number;
/** Video width. */
width?: number;
/**
* Deprecated. Use the `posters` property in the parent entity instead.
* @internal
* @deprecated
*/
poster?: string;
/** Video format for example, mp4, hls. */
format?: string;
/**
* Deprecated. Use the `urlExpirationDate` property in the parent entity instead.
* @internal
* @deprecated
*/
urlExpirationDate?: Date;
/**
* Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.
* @internal
* @deprecated
*/
sizeInBytes?: string | null;
/**
* Video quality. For example: 480p, 720p.
* @internal
*/
quality?: string | null;
/**
* Video filename.
* @internal
*/
filename?: string | null;
/**
* Video duration in seconds.
* @internal
* @readonly
* @deprecated Video duration in seconds.
* @replacedBy duration_in_milliseconds
* @targetRemovalDate 2024-08-01
*/
durationInSeconds?: number | null;
/**
* Video duration in milliseconds.
* @internal
* @readonly
*/
durationInMilliseconds?: number | null;
/**
* When true, this is a protected asset, and calling the URL will return a 403 error.
* In order to access private assets, make a request to:
* `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request
* @internal
* @readonly
*/
private?: boolean | null;
/**
* Key to identify the video resolution's relationship to the original media in WixMedia.
* Can be used to request a download for the specific video resolution.
* For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4
* @internal
* @readonly
*/
assetKey?: string | null;
}
interface TimeDuration {
unit?: DurationUnit;
value?: number;
}
enum DurationUnit {
WEEKS = "WEEKS",
DAYS = "DAYS",
HOURS = "HOURS",
MINUTES = "MINUTES"
}
interface RecurrenceSettings {
schedules?: RecurrenceSchedule[];
recurrencesCount?: number | null;
}
interface RecurrenceSchedule {
startDelay?: TimeDuration;
interval?: TimeDuration;
}
interface EmbeddingSettings {
/** step start delay. */
startConditions?: StartCondition[];
/** @deprecated */
isMilestone?: boolean;
/** @deprecated */
points?: number | null;
}
interface StartCondition {
/** whether the step should start on join. */
dependency?: StepDependency;
/** step delay regarding the challenge start. */
delay?: TimeDuration;
}
interface StepDependency extends StepDependencyDependencyTypeOneOf {
container?: Container;
/** @deprecated */
step?: Step;
}
/** @oneof */
interface StepDependencyDependencyTypeOneOf {
container?: Container;
/** @deprecated */
step?: Step;
}
interface Container {
}
interface Step {
stepId?: string;
}
interface ChallengeStepSettings {
general?: GeneralSettings;
embedding?: EmbeddingSettings;
}
interface Feedback {
items?: FeedbackItem[];
createdAt?: Date;
updatedAt?: Date;
quiz?: FeedbackItem[];
}
interface QuizSubmission {
quizSubmissionId?: string;
score?: number | null;
grade?: number | null;
rightAnswers?: number | null;
passingGrade?: number | null;
}
interface GetParticipantStepRequest {
challengeId: string;
participantId: string;
stepId: string;
timeInterval?: TimeInterval;
descriptionFieldSet?: DescriptionFieldSet;
}
interface GetParticipantStepResponse {
step?: ParticipantStep;
subSteps?: ParticipantStep[];
}
interface ResolveParticipantStepRequest {
challengeId: string;
participantId: string;
stepId: string;
status?: ResolutionStatus;
feedback?: Feedback;
actionId?: string;
quizSubmissionId?: string | null;
}
enum ResolutionStatus {
COMPLETED = "COMPLETED",
SKIPPED = "SKIPPED",
UNDO = "UNDO",
QUIZ_SUBMIT = "QUIZ_SUBMIT"
}
interface ResolveParticipantStepResponse {
step?: ParticipantStep;
actionId?: string;
}
interface StepResolved {
challengeId?: string;
participantId?: string;
memberId?: string;
stepTitle?: string;
participantStepId?: string;
challengeStepId?: string;
/** TODO why it is repeated? */
feedback?: Feedback[];
/** Title of the program. Used in Notifications */
programName?: string;
/** user id for program owner */
ownerId?: string;
/** owner's contact id */
ownerContactId?: string;
/** participants contact */
participantContactId?: string;
/** info about quiz submission in that step */
quizSubmissionData?: QuizSubmissionData;
/** info about if participant completed step successfully or not */
status?: Status;
}
interface QuizSubmissionData {
submissionId?: string | null;
earnedScore?: number | null;
passingGrade?: number | null;
}
enum Status {
/** step completed */
COMPLETED = "COMPLETED",
/** participant failed to resolve step */
FAILED = "FAILED"
}
interface UpdateStepFeedbackRequest {
challengeId: string;
participantId: string;
stepId: string;
feedback?: Feedback;
actionId?: string;
}
interface UpdateStepFeedbackResponse {
step?: ParticipantStep;
actionId?: string;
}
interface GetMediaUploadInfoRequest {
challengeId: string;
participantId: string;
fileName?: string;
}
interface GetMediaUploadInfoResponse {
uploadUrl?: string;
uploadToken?: string;
}
interface ListParticipantSectionsRequest {
challengeId: string;
participantId: string;
descriptionFieldSet?: DescriptionFieldSet;
}
interface ListParticipantSectionsResponse {
sections?: ParticipantSection[];
}
interface ParticipantSection {
_id?: string;
source?: ChallengeSection;
steps?: ParticipantStep[];
transitions?: ParticipantSectionStateTransition[];
progress?: Progress;
}
interface WaitingDate {
startDate?: string;
}
interface WaitingDependency {
sectionId?: string;
}
interface Running {
dateInterval?: DateInterval$1;
}
interface Completed$1 {
}
interface Overdue {
}
interface ChallengeSection {
/** challenge section id. */
_id?: string;
/** challenge section settings. */
settings?: Settings;
createdAt?: Date;
updatedAt?: Date;
/** list of challenge steps laying inside the section. */
steps?: ChallengeStep[];
}
interface Settings {
/** section description(title, details, image...) */
description?: ObjectDescription;
/** condition for the section start. */
startCondition?: StartCondition;
}
interface ParticipantSectionStateTransition extends ParticipantSectionStateTransitionStateOneOf {
waitingDate?: WaitingDate;
waitingDependency?: WaitingDependency;
running?: Running;
completed?: Completed$1;
overdue?: Overdue;
occurredAt?: Date;
}
/** @oneof */
interface ParticipantSectionStateTransitionStateOneOf {
waitingDate?: WaitingDate;
waitingDependency?: WaitingDependency;
running?: Running;
completed?: Completed$1;
overdue?: Overdue;
}
interface Progress {
nTotalSteps?: string;
nCompletedSteps?: string;
}
interface GetParticipantSectionRequest {
challengeId: string;
participantId: string;
sectionId: string;
descriptionFieldSet?: DescriptionFieldSet;
}
interface GetParticipantSectionResponse {
section?: ParticipantSection;
}
interface MyProgramRequest {
programId: string;
}
interface MyProgramResponse {
participant?: Participant$1;
}
interface MyProgramStepRequest {
programId: string;
programStepId: string;
descriptionFieldSet?: DescriptionFieldSet;
}
interface MyProgramStepResponse {
participantStep?: ParticipantStep;
}
interface MyProgramSectionRequest {
programId: string;
programSectionId: string;
descriptionFieldSet?: DescriptionFieldSet;
}
interface MyProgramSectionResponse {
participantSection?: ParticipantSection;
}
interface DomainEvent$1 extends DomainEventBodyOneOf$1 {
createdEvent?: EntityCreatedEvent$1;
updatedEvent?: EntityUpdatedEvent$1;
deletedEvent?: EntityDeletedEvent$1;
actionEvent?: ActionEvent$1;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
_id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* Example: created/updated/deleted/started/completed/email_opened
*/
slug?: string;
/** ID of the entity associated with the event. */
entityId?: string;
/** Event timestamp. */
eventTime?: Date;
/**
* Whether the event was triggered as a result of a privacy regulation application
* (for example, GDPR).
*/
triggeredByAnonymizeRequest?: boolean | null;
/** If present, indicates the action that triggered the event. */
originatedFrom?: string | null;
/**
* A sequence number defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
interface DomainEventBodyOneOf$1 {
createdEvent?: EntityCreatedEvent$1;
updatedEvent?: EntityUpdatedEvent$1;
deletedEvent?: EntityDeletedEvent$1;
actionEvent?: ActionEvent$1;
}
interface EntityCreatedEvent$1 {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo$1;
}
interface RestoreInfo$1 {
deletedDate?: Date;
}
interface EntityUpdatedEvent$1 {
/**
* Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
* This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
* We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
*/
currentEntityAsJson?: string;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
}
interface EntityDeletedEvent$1 {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
interface ActionEvent$1 {
bodyAsJson?: string;
}
interface MessageEnvelope$1 {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData$1;
/** Stringify payload. */
data?: string;
}
interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType$1;
}
/** @oneof */
interface IdentificationDataIdOneOf$1 {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
enum WebhookIdentityType$1 {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function queryParticipants$1(challengeId: string, options?: QueryParticipantsOptions): Promise;
interface QueryParticipantsOptions {
paging?: Paging$1;
sorting?: QueryParticipantsRequestSorting;
filter?: ParticipantsFilter;
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
* @deprecated
*/
function listParticipants(challengeId: string, options?: ListParticipantsOptions): Promise;
interface ListParticipantsOptions {
paging?: Paging$1;
/** @deprecated */
memberId?: string | null;
states?: State$1[];
memberIds?: string[] | null;
/** @deprecated */
sortingCriterion?: SortingCriterion;
memberName?: string | null;
sorting?: Sorting$1;
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function joinParticipant(challengeId: string, options?: JoinParticipantOptions): Promise;
interface JoinParticipantOptions {
/**
* ignored, taken from callScope instead
* @deprecated ignored, taken from callScope instead
* @targetRemovalDate 2024-09-01
*/
memberId?: string;
timeZone?: string;
actionId?: string;
startDate?: string | null;
}
/**
* owner adds participant to the challenge
* @public
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function addParticipant$1(challengeId: string, options?: AddParticipantOptions$1): Promise;
interface AddParticipantOptions$1 {
memberId?: string;
actionId?: string;
}
/**
* owner adds participants to the challenge
* @public
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function addParticipants(challengeId: string, options?: AddParticipantsOptions): Promise;
interface AddParticipantsOptions {
memberIds?: string[];
actionId?: string;
}
/** @public
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function addAllParticipant(challengeId: string, options?: AddAllParticipantOptions): Promise;
interface AddAllParticipantOptions {
excludeIds?: string[];
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function createJoinRequest(challengeId: string, options?: CreateJoinRequestOptions): Promise;
interface CreateJoinRequestOptions {
memberId?: string;
timeZone?: string;
actionId?: string;
startDate?: string | null;
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function inviteParticipants(challengeId: string, options?: InviteParticipantsOptions): Promise;
interface InviteParticipantsOptions {
memberIds?: string[];
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField challengeId
* @adminMethod
*/
function inviteAllParticipants(challengeId: string, options?: InviteAllParticipantsOptions): Promise;
interface InviteAllParticipantsOptions {
excludeIds?: string[];
}
/**
* returns participant by id
* @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function getParticipant$1(identifiers: GetParticipantIdentifiers): Promise;
interface GetParticipantIdentifiers {
challengeId: string;
participantId: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function updateParticipant(identifiers: UpdateParticipantIdentifiers, options?: UpdateParticipantOptions): Promise;
interface UpdateParticipantIdentifiers extends UpdateParticipantRequestUpdateOneOf {
challengeId: string;
participantId: string;
}
interface UpdateParticipantOptions extends UpdateParticipantRequestUpdateOneOf {
startDate?: string;
actionId?: string;
}
/**
* by owner - makes participant REMOVED. By participant himself - LEFT.
* @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function deleteParticipant(identifiers: DeleteParticipantIdentifiers, options?: DeleteParticipantOptions): Promise;
interface DeleteParticipantIdentifiers {
challengeId: string;
participantId: string;
}
interface DeleteParticipantOptions {
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function reviveParticipant(identifiers: ReviveParticipantIdentifiers, options?: ReviveParticipantOptions): Promise;
interface ReviveParticipantIdentifiers {
challengeId: string;
participantId: string;
}
interface ReviveParticipantOptions {
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function resetParticipantProgress(identifiers: ResetParticipantProgressIdentifiers, options?: ResetParticipantProgressOptions): Promise;
interface ResetParticipantProgressIdentifiers {
challengeId: string;
participantId: string;
}
interface ResetParticipantProgressOptions {
timeZone?: string;
startDate?: string | null;
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function issueParticipantCertificate$1(identifiers: IssueParticipantCertificateIdentifiers): Promise;
interface IssueParticipantCertificateIdentifiers {
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
/** Participant to issue manually certificate */
participantId: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function issueCertificate(identifiers: IssueCertificateIdentifiers): Promise;
interface IssueCertificateIdentifiers {
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
/** Participant to get certificate */
participantId: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function getCertificate$1(identifiers: GetCertificateIdentifiers): Promise;
interface GetCertificateIdentifiers {
/** Program id. TODO: really bad to have it here, needed for url */
challengeId: string;
/** Participant to get certificate */
participantId: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function createPaymentOrder(identifiers: CreatePaymentOrderIdentifiers, options?: CreatePaymentOrderOptions): Promise;
interface CreatePaymentOrderIdentifiers {
challengeId: string;
participantId: string;
}
interface CreatePaymentOrderOptions {
actionId?: string;
timeZone?: string | null;
startDate?: string | null;
paymentType?: PaymentType;
}
/**
* ---------------------------------------------------- Coupons -----------------------------------------------------
* @internal
* @documentationMaturity preview
* @requiredField couponCode
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.orderId
* @requiredField identifiers.participantId
* @adminMethod
*/
function applyCouponToOrder(identifiers: ApplyCouponToOrderIdentifiers, couponCode: string, options?: ApplyCouponToOrderOptions): Promise;
interface ApplyCouponToOrderIdentifiers {
challengeId: string;
participantId: string;
orderId: string;
}
interface ApplyCouponToOrderOptions {
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.couponId
* @requiredField identifiers.orderId
* @requiredField identifiers.participantId
* @adminMethod
*/
function removeCouponFromOrder(identifiers: RemoveCouponFromOrderIdentifiers, options?: RemoveCouponFromOrderOptions): Promise;
interface RemoveCouponFromOrderIdentifiers {
challengeId: string;
participantId: string;
orderId: string;
couponId: string;
}
interface RemoveCouponFromOrderOptions {
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function listSteps(identifiers: ListStepsIdentifiers, options?: ListStepsOptions): Promise;
interface ListStepsIdentifiers {
challengeId: string;
participantId: string;
}
interface ListStepsOptions {
parentId?: string;
timeInterval?: TimeInterval;
dateInterval?: DateInterval$1;
descriptionFieldSet?: DescriptionFieldSet;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @requiredField identifiers.stepId
* @adminMethod
*/
function getStep(identifiers: GetStepIdentifiers, options?: GetStepOptions): Promise;
interface GetStepIdentifiers {
challengeId: string;
participantId: string;
stepId: string;
}
interface GetStepOptions {
timeInterval?: TimeInterval;
descriptionFieldSet?: DescriptionFieldSet;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @requiredField identifiers.stepId
* @adminMethod
*/
function resolveStep(identifiers: ResolveStepIdentifiers, options?: ResolveStepOptions): Promise;
interface ResolveStepIdentifiers {
challengeId: string;
participantId: string;
stepId: string;
}
interface ResolveStepOptions {
status?: ResolutionStatus;
feedback?: Feedback;
actionId?: string;
quizSubmissionId?: string | null;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @requiredField identifiers.stepId
* @adminMethod
*/
function updateStepFeedback(identifiers: UpdateStepFeedbackIdentifiers, options?: UpdateStepFeedbackOptions): Promise;
interface UpdateStepFeedbackIdentifiers {
challengeId: string;
participantId: string;
stepId: string;
}
interface UpdateStepFeedbackOptions {
feedback?: Feedback;
actionId?: string;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function getMediaUploadInfo(identifiers: GetMediaUploadInfoIdentifiers, options?: GetMediaUploadInfoOptions): Promise;
interface GetMediaUploadInfoIdentifiers {
challengeId: string;
participantId: string;
}
interface GetMediaUploadInfoOptions {
fileName?: string;
}
/**
* ---------------------------------------------------- Sections --------------------------------------------------------
* @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @adminMethod
*/
function listSections(identifiers: ListSectionsIdentifiers, options?: ListSectionsOptions): Promise;
interface ListSectionsIdentifiers {
challengeId: string;
participantId: string;
}
interface ListSectionsOptions {
descriptionFieldSet?: DescriptionFieldSet;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.challengeId
* @requiredField identifiers.participantId
* @requiredField identifiers.sectionId
* @adminMethod
*/
function getSection(identifiers: GetSectionIdentifiers, options?: GetSectionOptions): Promise;
interface GetSectionIdentifiers {
challengeId: string;
participantId: string;
sectionId: string;
}
interface GetSectionOptions {
descriptionFieldSet?: DescriptionFieldSet;
}
/** @internal
* @documentationMaturity preview
* @requiredField programId
* @adminMethod
*/
function myProgram(programId: string): Promise;
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.programId
* @requiredField identifiers.programStepId
* @adminMethod
*/
function myProgramStep(identifiers: MyProgramStepIdentifiers, options?: MyProgramStepOptions): Promise;
interface MyProgramStepIdentifiers {
programId: string;
programStepId: string;
}
interface MyProgramStepOptions {
descriptionFieldSet?: DescriptionFieldSet;
}
/** @internal
* @documentationMaturity preview
* @requiredField identifiers
* @requiredField identifiers.programId
* @requiredField identifiers.programSectionId
* @adminMethod
*/
function myProgramSection(identifiers: MyProgramSectionIdentifiers, options?: MyProgramSectionOptions): Promise;
interface MyProgramSectionIdentifiers {
programId: string;
programSectionId: string;
}
interface MyProgramSectionOptions {
descriptionFieldSet?: DescriptionFieldSet;
}
interface Participant {
/** @readonly */
_id?: string | null;
/** @readonly */
programId?: string;
/**
* current participant state
* @readonly
*/
state?: State;
/** time zone in which to participate */
timeZone?: string;
/** person */
person?: PersonIdentity;
/**
* participant joined time UTC
* @readonly
*/
joinedDate?: Date;
/**
* the way participant joined
* @readonly
*/
joinPath?: JoinPath;
/** current participant status */
status?: ParticipantStatus;
/** @readonly */
performance?: number;
/** participants progress summary */
stepsSummary?: StepsSummary;
/** Certificate issued to participant on successful program complete */
certificate?: Certificate;
}
interface DateInterval {
/** local date start */
start?: string;
/** local date finish, inclusive */
finish?: string | null;
}
interface Invited {
}
interface JoinRequested {
/** Approval request regarding to V1 */
approvalRequestId?: string;
}
interface JoinRejected {
}
interface PaymentRequested {
}
interface PaymentStarted {
}
interface PaymentStartedOffline {
/** Offline transaction id in payments wix.payment.api.pay.v3.Transaction */
transactionId?: string;
}
interface Joined {
/** TODO: change to start/end pair? */
dateFrame?: DateInterval;
}
interface Left {
}
interface Removed {
}
interface Completed {
}
interface Failed {
}
interface Suspended {
}
interface StepEvent {
/** @readonly */
stepId?: string;
/** step's current state */
state?: StepEventState;
/** when it occurred at, UTC */
occurredAt?: Date;
}
enum StepEventState {
/** step is pending to be completed */
PENDING = "PENDING",
/** step is active to be completed */
RUNNING = "RUNNING",
/** step was completed */
COMPLETED = "COMPLETED",
/** step was skipped */
SKIPPED = "SKIPPED",
/** step was confirmed */
CONFIRMED = "CONFIRMED",
/** step was rejected */
REJECTED = "REJECTED",
/** step was overdue */
OVERDUE = "OVERDUE",
/** step was failed */
FAILED = "FAILED"
}
interface State extends StateStateOptionsOneOf {
/** participant invited to program by owner */
invited?: Invited;
/** participant requested to join to private program */
joinRequested?: JoinRequested;
/** owner rejected participant join request */
joinRejected?: JoinRejected;
/** owner requested member to pay for participation */
paymentRequested?: PaymentRequested;
/** member started payment */
paymentStarted?: PaymentStarted;
/** owner waits for manual offline payment */
paymentStartedOffline?: PaymentStartedOffline;
/** member became participant */
joined?: Joined;
/** participant left program */
left?: Left;
/** owner removed participant from program */
removed?: Removed;
/** participant completed program */
completed?: Completed;
/** participant did not finished program in timeline */
failed?: Failed;
/** program was suspended, so is participant */
suspended?: Suspended;
}
/** @oneof */
interface StateStateOptionsOneOf {
/** participant invited to program by owner */
invited?: Invited;
/** participant requested to join to private program */
joinRequested?: JoinRequested;
/** owner rejected participant join request */
joinRejected?: JoinRejected;
/** owner requested member to pay for participation */
paymentRequested?: PaymentRequested;
/** member started payment */
paymentStarted?: PaymentStarted;
/** owner waits for manual offline payment */
paymentStartedOffline?: PaymentStartedOffline;
/** member became participant */
joined?: Joined;
/** participant left program */
left?: Left;
/** owner removed participant from program */
removed?: Removed;
/** participant completed program */
completed?: Completed;
/** participant did not finished program in timeline */
failed?: Failed;
/** program was suspended, so is participant */
suspended?: Suspended;
}
interface PersonIdentity {
/**
* Wix member
* @readonly
*/
memberId?: string;
/**
* Wix contact
* @readonly
*/
contactId?: string;
/**
* Wix user
* @readonly
*/
wixUserId?: string | null;
}
enum JoinPath {
UNKNOWN_JOIN_PATH = "UNKNOWN_JOIN_PATH",
FREE = "FREE",
ADDED = "ADDED",
PAID_PLAN = "PAID_PLAN",
SINGLE_PAYMENT = "SINGLE_PAYMENT"
}
enum ParticipantStatus {
UNKNOWN_PARTICIPANT_STATUS = "UNKNOWN_PARTICIPANT_STATUS",
NOT_STARTED = "NOT_STARTED",
IN_PROGRESS = "IN_PROGRESS",
FINISHED = "FINISHED",
SUSPENDED = "SUSPENDED"
}
interface StepsSummary {
/** total number of steps to complete */
stepsNumber?: number;
/** number of completed steps */
completedStepsNumber?: number;
/** number of failed steps */
failedStepsNumber?: number;
/** number of feedbacks */
postedFeedbacksNumber?: number;
/** last event happened with step */
lastEvent?: StepEvent;
}
interface Certificate {
/**
* when certificate was issued, UTC
* @readonly
*/
issuedDate?: Date;
}
interface GetParticipantRequest {
participantId: string;
}
interface GetParticipantResponse {
/** requested participant */
participant?: Participant;
}
interface QueryParticipantsRequest {
programId: string;
/** WQL expression */
query?: QueryV2;
}
interface QueryV2 extends QueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
/**
* Filter object.
*
* Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).
*/
filter?: Record | null;
/**
* Sort object.
*
* Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).
*/
sort?: Sorting[];
/** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */
fields?: string[];
/** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */
fieldsets?: string[];
}
/** @oneof */
interface QueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
}
interface Sorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder;
/**
* When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
* a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
*
* If multiple filters are provided, they are combined with AND operator.
*
* Example:
* Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
* and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
* { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
* @internal
*/
selectItemsBy?: Record[] | null;
}
enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
interface Paging {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface CursorPaging {
/** Maximum number of items to return in the results. */
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
*
* Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
*/
cursor?: string | null;
}
interface QueryParticipantsResponse {
/** Details on the paged set of results returned. */
metadata?: PagingMetadataV2;
/** participants matching query */
participants?: Participant[];
}
interface PagingMetadataV2 {
/** Number of items returned in the response. */
count?: number | null;
/** Offset that was requested. */
offset?: number | null;
/** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */
total?: number | null;
/** Flag that indicates the server failed to calculate the `total` field. */
tooManyToCount?: boolean | null;
/** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
cursors?: Cursors;
/**
* Indicates if there are more results after the current page.
* If `true`, another page of results can be retrieved.
* If `false`, this is the last page.
* @internal
*/
hasNext?: boolean | null;
}
interface Cursors {
/** Cursor string pointing to the next page in the list of results. */
next?: string | null;
/** Cursor pointing to the previous page in the list of results. */
prev?: string | null;
}
interface AddParticipantRequest {
programId: string;
/** member to become participant */
memberId: string;
}
interface AddParticipantResponse {
/** new participant */
participant?: Participant;
}
interface BulkAddParticipantsRequest {
programId: string;
memberIds: string[];
}
interface BulkAddParticipantsResponse {
/** bulk add results */
results?: BulkAddParticipantsResult[];
/** metadata */
bulkActionMetadata?: BulkActionMetadata;
}
interface ItemMetadata {
/** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
_id?: string | null;
/** Index of the item within the request array. Allows for correlation between request and response items. */
originalIndex?: number;
/** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
success?: boolean;
/** Details about the error in case of failure. */
error?: ApplicationError;
}
interface ApplicationError {
/** Error code. */
code?: string;
/** Description of the error. */
description?: string;
/** Data related to the error. */
data?: Record | null;
}
interface BulkAddParticipantsResult {
/** item metadata */
itemMetadata?: ItemMetadata;
/** added participant */
item?: Participant;
}
interface BulkActionMetadata {
/** Number of items that were successfully processed. */
totalSuccesses?: number;
/** Number of items that couldn't be processed. */
totalFailures?: number;
/** Number of failures without details because detailed failure threshold was exceeded. */
undetailedFailures?: number;
}
interface InviteParticipantRequest {
programId: string;
/** member to become participant */
memberId: string;
}
interface InviteParticipantResponse {
/** invited participant */
participant?: Participant;
}
interface BulkInviteParticipantsRequest {
programId: string;
memberIds: string[];
}
interface BulkInviteParticipantsResponse {
/** bulk invite results */
results?: BulkInviteParticipantsResult[];
/** metadata */
bulkActionMetadata?: BulkActionMetadata;
}
interface BulkInviteParticipantsResult {
/** item metadata */
itemMetadata?: ItemMetadata;
/** invited participant */
item?: Participant;
}
interface JoinProgramRequest {
programId: string;
/** time zone in which to participate. UTC if not specified */
timeZone?: string | null;
/** chosen date to start the program */
startDate?: string | null;
}
interface JoinProgramResponse {
/** created participant */
participant?: Participant;
}
interface LeaveProgramRequest {
programId: string;
}
interface LeaveProgramResponse {
/** left participant */
participant?: Participant;
}
interface ParticipantLeft {
/** participant left */
participantId?: string;
programId?: string;
}
interface RemoveParticipantRequest {
/** participant to delete */
participantId: string;
}
interface RemoveParticipantResponse {
/** removed participant */
participant?: Participant;
}
interface ParticipantRemoved {
/** participant removed */
participantId?: string;
programId?: string;
}
interface IssueParticipantCertificateRequest {
/** Participant to issue manually certificate */
participantId: string;
}
interface IssueParticipantCertificateResponse {
/** Updated participant */
participant?: Participant;
}
interface GetCertificateRequest {
/** Participant to get certificate */
participantId: string;
}
interface GetCertificateResponse {
/** Updated participant */
participant?: Participant;
}
interface DomainEvent extends DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
_id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* Example: created/updated/deleted/started/completed/email_opened
*/
slug?: string;
/** ID of the entity associated with the event. */
entityId?: string;
/** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
eventTime?: Date;
/**
* Whether the event was triggered as a result of a privacy regulation application
* (for example, GDPR).
*/
triggeredByAnonymizeRequest?: boolean | null;
/** If present, indicates the action that triggered the event. */
originatedFrom?: string | null;
/**
* A sequence number defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
interface DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
}
interface EntityCreatedEvent {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo;
}
interface RestoreInfo {
deletedDate?: Date;
}
interface EntityUpdatedEvent {
/**
* Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
* This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
* We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
*/
currentEntityAsJson?: string;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
}
interface EntityDeletedEvent {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
interface ActionEvent {
bodyAsJson?: string;
}
interface MessageEnvelope {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
/** Stringify payload. */
data?: string;
}
interface IdentificationData extends IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType;
}
/** @oneof */
interface IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
enum WebhookIdentityType {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/**
* returns participant by id
* @internal
* @documentationMaturity preview
* @requiredField participantId
* @returns requested participant
*/
function getParticipant(participantId: string): Promise;
/**
* query participants
* @internal
* @documentationMaturity preview
* @requiredField programId
* @permissionId ONLINE_PROGRAMS.PARTICIPANT_READ
*/
function queryParticipants(programId: string): ParticipantsQueryBuilder;
interface QueryOffsetResult {
currentPage: number | undefined;
totalPages: number | undefined;
totalCount: number | undefined;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface ParticipantsQueryResult extends QueryOffsetResult {
items: Participant[];
query: ParticipantsQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface ParticipantsQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
eq: (propertyName: 'person.memberId' | 'joinPath' | 'status', value: any) => ParticipantsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
ge: (propertyName: 'joinedDate' | 'performance', value: any) => ParticipantsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
le: (propertyName: 'joinedDate' | 'performance', value: any) => ParticipantsQueryBuilder;
/** @documentationMaturity preview */
in: (propertyName: 'person.memberId' | 'joinPath' | 'status', value: any) => ParticipantsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
ascending: (...propertyNames: Array<'joinedDate' | 'performance'>) => ParticipantsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
descending: (...propertyNames: Array<'joinedDate' | 'performance'>) => ParticipantsQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object.
* @documentationMaturity preview
*/
limit: (limit: number) => ParticipantsQueryBuilder;
/** @param skip - Number of items to skip in the query results before returning the results.
* @documentationMaturity preview
*/
skip: (skip: number) => ParticipantsQueryBuilder;
/** @documentationMaturity preview */
find: () => Promise;
}
/**
* owner adds participant to the program by his memberId.
* Used as backdoor operation.
* @internal
* @documentationMaturity preview
* @requiredField options
* @requiredField options.memberId
* @requiredField programId
* @adminMethod
*/
function addParticipant(programId: string, options: AddParticipantOptions): Promise;
interface AddParticipantOptions {
/** member to become participant */
memberId: string;
}
/**
* owner adds participants to the program in bulk by their memberIds.
* Bulk version of AddParticipant, used as backdoor operation.
* @internal
* @documentationMaturity preview
* @requiredField options
* @requiredField options.memberIds
* @requiredField programId
* @adminMethod
*/
function bulkAddParticipants(programId: string, options: BulkAddParticipantsOptions): Promise;
interface BulkAddParticipantsOptions {
memberIds: string[];
}
/**
* owner invites member to become program participant
* @internal
* @documentationMaturity preview
* @requiredField options
* @requiredField options.memberId
* @requiredField programId
* @adminMethod
*/
function inviteParticipant(programId: string, options: InviteParticipantOptions): Promise;
interface InviteParticipantOptions {
/** member to become participant */
memberId: string;
}
/**
* owner bulk invites members to become program participants
* Bulk version of InviteParticipant
* @internal
* @documentationMaturity preview
* @requiredField options
* @requiredField options.memberIds
* @requiredField programId
* @adminMethod
*/
function bulkInviteParticipants(programId: string, options: BulkInviteParticipantsOptions): Promise;
interface BulkInviteParticipantsOptions {
memberIds: string[];
}
/**
* member joins the program, becoming participant in Joined state.
* If program was private, user will be in JoinRequested state.
* @internal
* @documentationMaturity preview
* @requiredField programId
*/
function joinProgram(programId: string, options?: JoinProgramOptions): Promise;
interface JoinProgramOptions {
/** time zone in which to participate. UTC if not specified */
timeZone?: string | null;
/** chosen date to start the program */
startDate?: string | null;
}
/**
* member leaves the program. Participant's new status - LEFT
* @internal
* @documentationMaturity preview
* @requiredField programId
*/
function leaveProgram(programId: string): Promise;
/**
* owner removes participant from the program. Participant's new status - REMOVED
* @param participantId - participant to delete
* @internal
* @documentationMaturity preview
* @requiredField participantId
*/
function removeParticipant(participantId: string): Promise;
/**
* manual certificate issuing by program owner
* @param participantId - Participant to issue manually certificate
* @internal
* @documentationMaturity preview
* @requiredField participantId
* @adminMethod
*/
function issueParticipantCertificate(participantId: string): Promise;
/**
* participant get certificate by himself
* @param participantId - Participant to get certificate
* @internal
* @documentationMaturity preview
* @requiredField participantId
* @adminMethod
*/
function getCertificate(participantId: string): Promise;
type achievementsProgramsV2Participant_universal_d_Participant = Participant;
type achievementsProgramsV2Participant_universal_d_DateInterval = DateInterval;
type achievementsProgramsV2Participant_universal_d_Invited = Invited;
type achievementsProgramsV2Participant_universal_d_JoinRequested = JoinRequested;
type achievementsProgramsV2Participant_universal_d_JoinRejected = JoinRejected;
type achievementsProgramsV2Participant_universal_d_PaymentRequested = PaymentRequested;
type achievementsProgramsV2Participant_universal_d_PaymentStarted = PaymentStarted;
type achievementsProgramsV2Participant_universal_d_PaymentStartedOffline = PaymentStartedOffline;
type achievementsProgramsV2Participant_universal_d_Joined = Joined;
type achievementsProgramsV2Participant_universal_d_Left = Left;
type achievementsProgramsV2Participant_universal_d_Removed = Removed;
type achievementsProgramsV2Participant_universal_d_Completed = Completed;
type achievementsProgramsV2Participant_universal_d_Failed = Failed;
type achievementsProgramsV2Participant_universal_d_Suspended = Suspended;
type achievementsProgramsV2Participant_universal_d_StepEvent = StepEvent;
type achievementsProgramsV2Participant_universal_d_StepEventState = StepEventState;
const achievementsProgramsV2Participant_universal_d_StepEventState: typeof StepEventState;
type achievementsProgramsV2Participant_universal_d_State = State;
type achievementsProgramsV2Participant_universal_d_StateStateOptionsOneOf = StateStateOptionsOneOf;
type achievementsProgramsV2Participant_universal_d_PersonIdentity = PersonIdentity;
type achievementsProgramsV2Participant_universal_d_JoinPath = JoinPath;
const achievementsProgramsV2Participant_universal_d_JoinPath: typeof JoinPath;
type achievementsProgramsV2Participant_universal_d_ParticipantStatus = ParticipantStatus;
const achievementsProgramsV2Participant_universal_d_ParticipantStatus: typeof ParticipantStatus;
type achievementsProgramsV2Participant_universal_d_StepsSummary = StepsSummary;
type achievementsProgramsV2Participant_universal_d_Certificate = Certificate;
type achievementsProgramsV2Participant_universal_d_GetParticipantRequest = GetParticipantRequest;
type achievementsProgramsV2Participant_universal_d_GetParticipantResponse = GetParticipantResponse;
type achievementsProgramsV2Participant_universal_d_QueryParticipantsRequest = QueryParticipantsRequest;
type achievementsProgramsV2Participant_universal_d_QueryV2 = QueryV2;
type achievementsProgramsV2Participant_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;
type achievementsProgramsV2Participant_universal_d_Sorting = Sorting;
type achievementsProgramsV2Participant_universal_d_SortOrder = SortOrder;
const achievementsProgramsV2Participant_universal_d_SortOrder: typeof SortOrder;
type achievementsProgramsV2Participant_universal_d_Paging = Paging;
type achievementsProgramsV2Participant_universal_d_CursorPaging = CursorPaging;
type achievementsProgramsV2Participant_universal_d_QueryParticipantsResponse = QueryParticipantsResponse;
type achievementsProgramsV2Participant_universal_d_PagingMetadataV2 = PagingMetadataV2;
type achievementsProgramsV2Participant_universal_d_Cursors = Cursors;
type achievementsProgramsV2Participant_universal_d_AddParticipantRequest = AddParticipantRequest;
type achievementsProgramsV2Participant_universal_d_AddParticipantResponse = AddParticipantResponse;
type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsRequest = BulkAddParticipantsRequest;
type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResponse = BulkAddParticipantsResponse;
type achievementsProgramsV2Participant_universal_d_ItemMetadata = ItemMetadata;
type achievementsProgramsV2Participant_universal_d_ApplicationError = ApplicationError;
type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResult = BulkAddParticipantsResult;
type achievementsProgramsV2Participant_universal_d_BulkActionMetadata = BulkActionMetadata;
type achievementsProgramsV2Participant_universal_d_InviteParticipantRequest = InviteParticipantRequest;
type achievementsProgramsV2Participant_universal_d_InviteParticipantResponse = InviteParticipantResponse;
type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsRequest = BulkInviteParticipantsRequest;
type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResponse = BulkInviteParticipantsResponse;
type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResult = BulkInviteParticipantsResult;
type achievementsProgramsV2Participant_universal_d_JoinProgramRequest = JoinProgramRequest;
type achievementsProgramsV2Participant_universal_d_JoinProgramResponse = JoinProgramResponse;
type achievementsProgramsV2Participant_universal_d_LeaveProgramRequest = LeaveProgramRequest;
type achievementsProgramsV2Participant_universal_d_LeaveProgramResponse = LeaveProgramResponse;
type achievementsProgramsV2Participant_universal_d_ParticipantLeft = ParticipantLeft;
type achievementsProgramsV2Participant_universal_d_RemoveParticipantRequest = RemoveParticipantRequest;
type achievementsProgramsV2Participant_universal_d_RemoveParticipantResponse = RemoveParticipantResponse;
type achievementsProgramsV2Participant_universal_d_ParticipantRemoved = ParticipantRemoved;
type achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateRequest = IssueParticipantCertificateRequest;
type achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateResponse = IssueParticipantCertificateResponse;
type achievementsProgramsV2Participant_universal_d_GetCertificateRequest = GetCertificateRequest;
type achievementsProgramsV2Participant_universal_d_GetCertificateResponse = GetCertificateResponse;
type achievementsProgramsV2Participant_universal_d_DomainEvent = DomainEvent;
type achievementsProgramsV2Participant_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;
type achievementsProgramsV2Participant_universal_d_EntityCreatedEvent = EntityCreatedEvent;
type achievementsProgramsV2Participant_universal_d_RestoreInfo = RestoreInfo;
type achievementsProgramsV2Participant_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;
type achievementsProgramsV2Participant_universal_d_EntityDeletedEvent = EntityDeletedEvent;
type achievementsProgramsV2Participant_universal_d_ActionEvent = ActionEvent;
type achievementsProgramsV2Participant_universal_d_MessageEnvelope = MessageEnvelope;
type achievementsProgramsV2Participant_universal_d_IdentificationData = IdentificationData;
type achievementsProgramsV2Participant_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;
type achievementsProgramsV2Participant_universal_d_WebhookIdentityType = WebhookIdentityType;
const achievementsProgramsV2Participant_universal_d_WebhookIdentityType: typeof WebhookIdentityType;
const achievementsProgramsV2Participant_universal_d_getParticipant: typeof getParticipant;
const achievementsProgramsV2Participant_universal_d_queryParticipants: typeof queryParticipants;
type achievementsProgramsV2Participant_universal_d_ParticipantsQueryResult = ParticipantsQueryResult;
type achievementsProgramsV2Participant_universal_d_ParticipantsQueryBuilder = ParticipantsQueryBuilder;
const achievementsProgramsV2Participant_universal_d_addParticipant: typeof addParticipant;
type achievementsProgramsV2Participant_universal_d_AddParticipantOptions = AddParticipantOptions;
const achievementsProgramsV2Participant_universal_d_bulkAddParticipants: typeof bulkAddParticipants;
type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsOptions = BulkAddParticipantsOptions;
const achievementsProgramsV2Participant_universal_d_inviteParticipant: typeof inviteParticipant;
type achievementsProgramsV2Participant_universal_d_InviteParticipantOptions = InviteParticipantOptions;
const achievementsProgramsV2Participant_universal_d_bulkInviteParticipants: typeof bulkInviteParticipants;
type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsOptions = BulkInviteParticipantsOptions;
const achievementsProgramsV2Participant_universal_d_joinProgram: typeof joinProgram;
type achievementsProgramsV2Participant_universal_d_JoinProgramOptions = JoinProgramOptions;
const achievementsProgramsV2Participant_universal_d_leaveProgram: typeof leaveProgram;
const achievementsProgramsV2Participant_universal_d_removeParticipant: typeof removeParticipant;
const achievementsProgramsV2Participant_universal_d_issueParticipantCertificate: typeof issueParticipantCertificate;
const achievementsProgramsV2Participant_universal_d_getCertificate: typeof getCertificate;
namespace achievementsProgramsV2Participant_universal_d {
export {
achievementsProgramsV2Participant_universal_d_Participant as Participant,
achievementsProgramsV2Participant_universal_d_DateInterval as DateInterval,
achievementsProgramsV2Participant_universal_d_Invited as Invited,
achievementsProgramsV2Participant_universal_d_JoinRequested as JoinRequested,
achievementsProgramsV2Participant_universal_d_JoinRejected as JoinRejected,
achievementsProgramsV2Participant_universal_d_PaymentRequested as PaymentRequested,
achievementsProgramsV2Participant_universal_d_PaymentStarted as PaymentStarted,
achievementsProgramsV2Participant_universal_d_PaymentStartedOffline as PaymentStartedOffline,
achievementsProgramsV2Participant_universal_d_Joined as Joined,
achievementsProgramsV2Participant_universal_d_Left as Left,
achievementsProgramsV2Participant_universal_d_Removed as Removed,
achievementsProgramsV2Participant_universal_d_Completed as Completed,
achievementsProgramsV2Participant_universal_d_Failed as Failed,
achievementsProgramsV2Participant_universal_d_Suspended as Suspended,
achievementsProgramsV2Participant_universal_d_StepEvent as StepEvent,
achievementsProgramsV2Participant_universal_d_StepEventState as StepEventState,
achievementsProgramsV2Participant_universal_d_State as State,
achievementsProgramsV2Participant_universal_d_StateStateOptionsOneOf as StateStateOptionsOneOf,
achievementsProgramsV2Participant_universal_d_PersonIdentity as PersonIdentity,
achievementsProgramsV2Participant_universal_d_JoinPath as JoinPath,
achievementsProgramsV2Participant_universal_d_ParticipantStatus as ParticipantStatus,
achievementsProgramsV2Participant_universal_d_StepsSummary as StepsSummary,
achievementsProgramsV2Participant_universal_d_Certificate as Certificate,
achievementsProgramsV2Participant_universal_d_GetParticipantRequest as GetParticipantRequest,
achievementsProgramsV2Participant_universal_d_GetParticipantResponse as GetParticipantResponse,
achievementsProgramsV2Participant_universal_d_QueryParticipantsRequest as QueryParticipantsRequest,
achievementsProgramsV2Participant_universal_d_QueryV2 as QueryV2,
achievementsProgramsV2Participant_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,
achievementsProgramsV2Participant_universal_d_Sorting as Sorting,
achievementsProgramsV2Participant_universal_d_SortOrder as SortOrder,
achievementsProgramsV2Participant_universal_d_Paging as Paging,
achievementsProgramsV2Participant_universal_d_CursorPaging as CursorPaging,
achievementsProgramsV2Participant_universal_d_QueryParticipantsResponse as QueryParticipantsResponse,
achievementsProgramsV2Participant_universal_d_PagingMetadataV2 as PagingMetadataV2,
achievementsProgramsV2Participant_universal_d_Cursors as Cursors,
achievementsProgramsV2Participant_universal_d_AddParticipantRequest as AddParticipantRequest,
achievementsProgramsV2Participant_universal_d_AddParticipantResponse as AddParticipantResponse,
achievementsProgramsV2Participant_universal_d_BulkAddParticipantsRequest as BulkAddParticipantsRequest,
achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResponse as BulkAddParticipantsResponse,
achievementsProgramsV2Participant_universal_d_ItemMetadata as ItemMetadata,
achievementsProgramsV2Participant_universal_d_ApplicationError as ApplicationError,
achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResult as BulkAddParticipantsResult,
achievementsProgramsV2Participant_universal_d_BulkActionMetadata as BulkActionMetadata,
achievementsProgramsV2Participant_universal_d_InviteParticipantRequest as InviteParticipantRequest,
achievementsProgramsV2Participant_universal_d_InviteParticipantResponse as InviteParticipantResponse,
achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsRequest as BulkInviteParticipantsRequest,
achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResponse as BulkInviteParticipantsResponse,
achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResult as BulkInviteParticipantsResult,
achievementsProgramsV2Participant_universal_d_JoinProgramRequest as JoinProgramRequest,
achievementsProgramsV2Participant_universal_d_JoinProgramResponse as JoinProgramResponse,
achievementsProgramsV2Participant_universal_d_LeaveProgramRequest as LeaveProgramRequest,
achievementsProgramsV2Participant_universal_d_LeaveProgramResponse as LeaveProgramResponse,
achievementsProgramsV2Participant_universal_d_ParticipantLeft as ParticipantLeft,
achievementsProgramsV2Participant_universal_d_RemoveParticipantRequest as RemoveParticipantRequest,
achievementsProgramsV2Participant_universal_d_RemoveParticipantResponse as RemoveParticipantResponse,
achievementsProgramsV2Participant_universal_d_ParticipantRemoved as ParticipantRemoved,
achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateRequest as IssueParticipantCertificateRequest,
achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateResponse as IssueParticipantCertificateResponse,
achievementsProgramsV2Participant_universal_d_GetCertificateRequest as GetCertificateRequest,
achievementsProgramsV2Participant_universal_d_GetCertificateResponse as GetCertificateResponse,
achievementsProgramsV2Participant_universal_d_DomainEvent as DomainEvent,
achievementsProgramsV2Participant_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,
achievementsProgramsV2Participant_universal_d_EntityCreatedEvent as EntityCreatedEvent,
achievementsProgramsV2Participant_universal_d_RestoreInfo as RestoreInfo,
achievementsProgramsV2Participant_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,
achievementsProgramsV2Participant_universal_d_EntityDeletedEvent as EntityDeletedEvent,
achievementsProgramsV2Participant_universal_d_ActionEvent as ActionEvent,
achievementsProgramsV2Participant_universal_d_MessageEnvelope as MessageEnvelope,
achievementsProgramsV2Participant_universal_d_IdentificationData as IdentificationData,
achievementsProgramsV2Participant_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,
achievementsProgramsV2Participant_universal_d_WebhookIdentityType as WebhookIdentityType,
achievementsProgramsV2Participant_universal_d_getParticipant as getParticipant,
achievementsProgramsV2Participant_universal_d_queryParticipants as queryParticipants,
achievementsProgramsV2Participant_universal_d_ParticipantsQueryResult as ParticipantsQueryResult,
achievementsProgramsV2Participant_universal_d_ParticipantsQueryBuilder as ParticipantsQueryBuilder,
achievementsProgramsV2Participant_universal_d_addParticipant as addParticipant,
achievementsProgramsV2Participant_universal_d_AddParticipantOptions as AddParticipantOptions,
achievementsProgramsV2Participant_universal_d_bulkAddParticipants as bulkAddParticipants,
achievementsProgramsV2Participant_universal_d_BulkAddParticipantsOptions as BulkAddParticipantsOptions,
achievementsProgramsV2Participant_universal_d_inviteParticipant as inviteParticipant,
achievementsProgramsV2Participant_universal_d_InviteParticipantOptions as InviteParticipantOptions,
achievementsProgramsV2Participant_universal_d_bulkInviteParticipants as bulkInviteParticipants,
achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsOptions as BulkInviteParticipantsOptions,
achievementsProgramsV2Participant_universal_d_joinProgram as joinProgram,
achievementsProgramsV2Participant_universal_d_JoinProgramOptions as JoinProgramOptions,
achievementsProgramsV2Participant_universal_d_leaveProgram as leaveProgram,
achievementsProgramsV2Participant_universal_d_removeParticipant as removeParticipant,
achievementsProgramsV2Participant_universal_d_issueParticipantCertificate as issueParticipantCertificate,
achievementsProgramsV2Participant_universal_d_getCertificate as getCertificate,
};
}
export { ActionEvent$1 as ActionEvent, AddAllParticipantOptions, AddAllParticipantRequest, AddAllParticipantResponse, AddParticipantOptions$1 as AddParticipantOptions, AddParticipantRequest$1 as AddParticipantRequest, AddParticipantResponse$1 as AddParticipantResponse, AddParticipantsOptions, AddParticipantsRequest, AddParticipantsResponse, Added, All, ApplyCouponToOrderIdentifiers, ApplyCouponToOrderOptions, ApplyCouponToOrderRequest, ApplyCouponToOrderResponse, Certificate$1 as Certificate, ChallengeSection, ChallengeStep, ChallengeStepSettings, Choice, ChoiceRightness, Choices, Completed$1 as Completed, CompletionCriteria, Container, CreateJoinRequestOptions, CreateJoinRequestRequest, CreateJoinRequestResponse, CreatePaymentOrderIdentifiers, CreatePaymentOrderOptions, CreatePaymentOrderRequest, CreatePaymentOrderResponse, DateInterval$1 as DateInterval, DeleteParticipantIdentifiers, DeleteParticipantOptions, DeleteParticipantRequest, DeleteParticipantResponse, DescriptionFieldSet, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, DurationUnit, EmbeddingSettings, EntityCreatedEvent$1 as EntityCreatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, EntitySummary, EntityUpdatedEvent$1 as EntityUpdatedEvent, Feedback, FeedbackItem, FeedbackItemChoice, FeedbackItemSettings, FeedbackItemType, FeedbackItemTypeTypeOneOf, FeedbackItemValueOneOf, Free, FreeCoupon, GeneralSettings, GeneralSettingsStepTypeOneOf, GetCertificateIdentifiers, GetCertificateRequest$1 as GetCertificateRequest, GetCertificateResponse$1 as GetCertificateResponse, GetMediaUploadInfoIdentifiers, GetMediaUploadInfoOptions, GetMediaUploadInfoRequest, GetMediaUploadInfoResponse, GetParticipantIdentifiers, GetParticipantRequest$1 as GetParticipantRequest, GetParticipantResponse$1 as GetParticipantResponse, GetParticipantSectionRequest, GetParticipantSectionResponse, GetParticipantStepRequest, GetParticipantStepResponse, GetSectionIdentifiers, GetSectionOptions, GetStepIdentifiers, GetStepOptions, GroupSettings, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, IndividualSettings, InvitationDetails, InviteAllParticipantsOptions, InviteAllParticipantsRequest, InviteAllParticipantsResponse, InviteParticipantsOptions, InviteParticipantsRequest, InviteParticipantsResponse, IssueCertificateIdentifiers, IssueCertificateRequest, IssueCertificateResponse, IssueParticipantCertificateIdentifiers, IssueParticipantCertificateRequest$1 as IssueParticipantCertificateRequest, IssueParticipantCertificateResponse$1 as IssueParticipantCertificateResponse, JoinParticipantOptions, JoinParticipantRequest, JoinParticipantResponse, JoinPath$1 as JoinPath, JoinPathPathOneOf, ListParticipantSectionsRequest, ListParticipantSectionsResponse, ListParticipantStepsRequest, ListParticipantStepsResponse, ListParticipantsOptions, ListParticipantsRequest, ListParticipantsResponse, ListSectionsIdentifiers, ListSectionsOptions, ListStepsIdentifiers, ListStepsOptions, MediaFeedbackItem, MediaItem, MediaItemMediaOneOf, MediaItems, Member, MessageEnvelope$1 as MessageEnvelope, MinThreshold, MultipleChoiceFeedbackItem, MyProgramRequest, MyProgramResponse, MyProgramSectionIdentifiers, MyProgramSectionOptions, MyProgramSectionRequest, MyProgramSectionResponse, MyProgramStepIdentifiers, MyProgramStepOptions, MyProgramStepRequest, MyProgramStepResponse, NumericFeedbackItem, ObjectDescription, Overdue, Paging$1 as Paging, PaidPlan, Participant$1 as Participant, ParticipantJoinDate, ParticipantJoined, ParticipantPerformance, ParticipantSection, ParticipantSectionStateTransition, ParticipantSectionStateTransitionStateOneOf, ParticipantStep, ParticipantStepState, ParticipantStepStateTransition, ParticipantsFilter, ParticipationState, PaymentType, Progress, Quantity, QuantityCriterion, QuantityCriterionCriterionOneOf, QuantityFeedbackItem, QueryParticipantsOptions, QueryParticipantsRequest$1 as QueryParticipantsRequest, QueryParticipantsRequestJoinPath, QueryParticipantsRequestSorting, QueryParticipantsRequestSortingCriterion, QueryParticipantsRequestSortingOrder, QueryParticipantsResponse$1 as QueryParticipantsResponse, QuizMigrationDetails, QuizSettings, QuizSubmission, QuizSubmissionData, QuizType, RecurrenceSchedule, RecurrenceSettings, RemoveCouponFromOrderIdentifiers, RemoveCouponFromOrderOptions, RemoveCouponFromOrderRequest, RemoveCouponFromOrderResponse, ResetParticipantProgressIdentifiers, ResetParticipantProgressOptions, ResetParticipantProgressRequest, ResetParticipantProgressResponse, ResolutionStatus, ResolveParticipantStepRequest, ResolveParticipantStepResponse, ResolveStepIdentifiers, ResolveStepOptions, RestoreInfo$1 as RestoreInfo, ReviveParticipantIdentifiers, ReviveParticipantOptions, ReviveParticipantRequest, ReviveParticipantResponse, Running, Settings, SinglePayment, Sorting$1 as Sorting, SortingCriterion, SortingOrder, StartCondition, State$1 as State, StateTransition, Status, Step, StepDependency, StepDependencyDependencyTypeOneOf, StepEvent$1 as StepEvent, StepResolved, StepsSummary$1 as StepsSummary, TextFeedbackItem, TimeDuration, TimeInterval, UpdateParticipantIdentifiers, UpdateParticipantOptions, UpdateParticipantRequest, UpdateParticipantRequestUpdateOneOf, UpdateParticipantResponse, UpdateStepFeedbackIdentifiers, UpdateStepFeedbackOptions, UpdateStepFeedbackRequest, UpdateStepFeedbackResponse, VideoResolution, VideoStepSettings, VideoStepSettingsVideoSourceOneOf, WaitingDate, WaitingDependency, WebhookIdentityType$1 as WebhookIdentityType, WixVideo, addAllParticipant, addParticipant$1 as addParticipant, addParticipants, applyCouponToOrder, createJoinRequest, createPaymentOrder, deleteParticipant, getCertificate$1 as getCertificate, getMediaUploadInfo, getParticipant$1 as getParticipant, getSection, getStep, inviteAllParticipants, inviteParticipants, issueCertificate, issueParticipantCertificate$1 as issueParticipantCertificate, joinParticipant, listParticipants, listSections, listSteps, myProgram, myProgramSection, myProgramStep, achievementsProgramsV2Participant_universal_d as onlineProgramParticipants, achievementsProgramsV2Program_universal_d as onlinePrograms, queryParticipants$1 as queryParticipants, removeCouponFromOrder, resetParticipantProgress, resolveStep, reviveParticipant, updateParticipant, updateStepFeedback };
}