import type * as Pinnacle from "../index.js"; export interface TollFreeCampaign { /** Unique identifier for the campaign. Must begin with the prefix `tf_`. */ campaignId?: string; /** Keyword response configuration. */ keywords?: TollFreeCampaign.Keywords; /** Legal documentation links. */ links?: TollFreeCampaign.Links; monthlyVolume?: Pinnacle.MessageVolumeEnum; /** Display name of the campaign. This is not sent to carriers for approval and is only used for your reference on the Pinnacle dashboard. */ name?: string; /** Opt-in method and workflow. */ optIn?: TollFreeCampaign.OptIn; /** Campaign configuration options. */ options?: TollFreeCampaign.Options; /** Example message(s) that would be sent in production. Should reflect the actual content users will receive. See the [Production Message Content](/guides/campaigns/opt-in-compliance#production-message-content) section for requirements. */ productionMessageContent?: string; /** Use case classification for the campaign. */ useCase?: TollFreeCampaign.UseCase; } export declare namespace TollFreeCampaign { /** * Keyword response configuration. */ interface Keywords { /** Help keyword settings. */ HELP?: Keywords.Help; /** Opt-in keyword settings. */ OPT_IN?: Keywords.OptIn; } namespace Keywords { /** * Help keyword settings. */ interface Help { /** Message sent when a user sends HELP. Must include at least one support contact method (phone, email, or website). See the [Help keyword requirements](/guides/campaigns/opt-in-compliance#keyword-response-messages). */ message?: string; } /** * Opt-in keyword settings. */ interface OptIn { /** Message sent when a user opts in. Must include brand name, confirmation of subscription, and disclosures (STOP and HELP instructions, message and data rates). See the [Opt-In keyword requirements](/guides/campaigns/opt-in-compliance#keyword-response-messages). */ message?: string; /** Keywords that trigger opt-in response. */ keywords?: string[]; } } /** * Legal documentation links. */ interface Links { /** Privacy policy URL. */ privacyPolicy?: string; /** Terms of service URL. */ termsOfService?: string; } /** * Opt-in method and workflow. */ interface OptIn { method?: Pinnacle.OptInMethodEnum; /** URL where the opt-in form or documentation can be found. */ url?: string; /** Describe your opt-in workflow. See the [Opt-In Methods and Workflow](/guides/campaigns/opt-in-compliance#opt-in-methods-and-workflow) section for requirements and examples. */ workflowDescription?: string; } /** * Campaign configuration options. */ interface Options { /** Whether the campaign is age-gated. */ ageGated?: boolean; } /** * Use case classification for the campaign. */ interface UseCase { /** Detailed summary of the use case explaining what messages will be sent and how users interact with the campaign. See the [Use Case Summary](/guides/campaigns/opt-in-compliance#use-case-summary) section for requirements. */ summary?: string; value?: Pinnacle.TollFreeCampaignUseCaseEnum; } }