/*** * * SaaSquatch Type Definitions * * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. * * Generated on 2026-03-20T21:11:42.771Z * ***/ /*** * IntegrationConfig.schema.json * Generated on 2026-03-20T21:11:42.931Z * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. ***/ /** * The webhook destination */ export type EndpointUrl = string /** * The name of the webhook (e.g. Stripe Integration Entry Point) */ export type Name = string /** * Webhook types accepted by this webhook endpoint */ export type WebhookTypes = ("coupon.created" | "reward.created" | "email.referral.started" | "email.referred.reward.earned" | "email.referral.paid" | "user.created" | "theme.publish.finished" | "email.referral.rewardLimitReached" | "export.created" | "export.completed" | "referral.started" | "referral.converted" | "referral.ended" | "referral.automoderation.complete" | "user.reward.balance.changed")[] /** * A list of webhooks managed by this integration */ export type ManagedWebhooks = ManagedWebhook[] /** * The link interceptor POST endpoint URL */ export type EndpointUrl1 = string /** * The name of the link interceptor */ export type Name1 = string /** * The order of this link interceptor among other link interceptors */ export type Order = number /** * A list of link interceptors managed by this integration */ export type ManagedLinkInterceptors = ManagedLinkInterceptor[] /** * The form handler POST endpoint URL */ export type EndpointUrl2 = string /** * The name of the form handler */ export type Name2 = string /** * The custom field key */ export type Key = string /** * The human readable name of the custom field */ export type Name3 = string /** * A list of custom fields managed by this integration */ export type ManagedCustomFields = ManagedCustomField[] /** * The user event key */ export type Key1 = string /** * The human readable name of the user event key */ export type Name4 = string /** * A list of user events managed by this integration */ export type ManagedUserEvents = ManagedUserEventMeta[] export type RewardUnit = string /** * A list of reward units fulfilled by this integration */ export type FulfilledRewardUnits = RewardUnit[] /** * The schema used to generate integration configuration in Contentful */ export interface IntegrationConfiguration { webhooks?: ManagedWebhooks linkInterceptors?: ManagedLinkInterceptors formHandler?: ManagedFormHandler customFields?: ManagedCustomFields userEvents?: ManagedUserEvents fulfilledRewardUnits?: FulfilledRewardUnits } /** * Configuration for setting up a webhook * * This interface was referenced by `IntegrationConfiguration`'s JSON-Schema * via the `definition` "webhook". */ export interface ManagedWebhook { endpointUrl: EndpointUrl name: Name webhookTypes?: WebhookTypes } /** * Configuration for a link interceptor * * This interface was referenced by `IntegrationConfiguration`'s JSON-Schema * via the `definition` "linkInterceptor". */ export interface ManagedLinkInterceptor { endpointUrl: EndpointUrl1 name: Name1 order: Order } /** * Configuration for a form handler * * This interface was referenced by `IntegrationConfiguration`'s JSON-Schema * via the `definition` "formHandler". */ export interface ManagedFormHandler { endpointUrl: EndpointUrl2 name: Name2 } /** * Configuration for a custom field * * This interface was referenced by `IntegrationConfiguration`'s JSON-Schema * via the `definition` "customField". */ export interface ManagedCustomField { key: Key name?: Name3 schema?: Schema } /** * The JSON Schema for the values of this custom field */ export interface Schema { [k: string]: unknown } /** * This interface was referenced by `IntegrationConfiguration`'s JSON-Schema * via the `definition` "userEventMeta". */ export interface ManagedUserEventMeta { key: Key1 name?: Name4 fieldsSchema?: Schema1 } /** * The JSON Schema for the user event fields */ export interface Schema1 { [k: string]: unknown }