# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel


class RcsCampaignOptInKeywords(UniversalBaseModel):
    message: typing.Optional[str] = pydantic.Field(default=None)
    """
    Message sent when a user opt-in. Must include brand name, confirmation of subscription, and disclosures (STOP and HELP instructions, message and data rates).<br>
    
    Recommended Format:<br>
    [Greetings]<br>
    You are now subscribed to [Agent Name] and will receive [type of messages that the agent will send]. Feel free to contact us any time for help. <br>
    Reply STOP to opt out and HELP for support. Message & rates may apply.
    """

    keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
    """
    Keywords that trigger opt-in response (START, SUBSCRIBE, JOIN, etc).
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
