Class: Sentdm::Models::Profiles::CampaignUpdateParams::Campaign

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/sentdm/models/profiles/campaign_update_params.rb

Defined Under Namespace

Classes: UseCase

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(profile_id:, campaign_id:, campaign:, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {}) ⇒ Object

Some parameter documentations has been truncated, see Sentdm::Models::Profiles::CampaignUpdateParams for more details.

Parameters:

  • profile_id (String)
  • campaign_id (String)
  • campaign (Sentdm::Models::Profiles::CampaignUpdateParams::Campaign)

    Campaign data for create or update operation

  • sandbox (Boolean) (defaults to: nil)

    Sandbox flag - when true, the operation is simulated without side effects

  • idempotency_key (String) (defaults to: nil)
  • x_profile_id (String) (defaults to: nil)
  • request_options (Sentdm::RequestOptions, Hash{Symbol=>Object}) (defaults to: {})


62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 62

class Campaign < Sentdm::Internal::Type::BaseModel
  # @!attribute description
  #   Campaign description
  #
  #   @return [String]
  required :description, String

  # @!attribute name
  #   Campaign name
  #
  #   @return [String]
  required :name, String

  # @!attribute type
  #   Campaign type (e.g., "KYC", "App")
  #
  #   @return [String]
  required :type, String

  # @!attribute use_cases
  #   List of use cases with sample messages
  #
  #   @return [Array<Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase>]
  required :use_cases,
           -> {
             Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase]
           },
           api_name: :useCases

  # @!attribute help_keywords
  #   Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
  #
  #   @return [String, nil]
  optional :help_keywords, String, api_name: :helpKeywords, nil?: true

  # @!attribute help_message
  #   Message sent when user requests help
  #
  #   @return [String, nil]
  optional :help_message, String, api_name: :helpMessage, nil?: true

  # @!attribute message_flow
  #   Description of how messages flow in the campaign
  #
  #   @return [String, nil]
  optional :message_flow, String, api_name: :messageFlow, nil?: true

  # @!attribute optin_keywords
  #   Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
  #
  #   @return [String, nil]
  optional :optin_keywords, String, api_name: :optinKeywords, nil?: true

  # @!attribute optin_message
  #   Message sent when user opts in
  #
  #   @return [String, nil]
  optional :optin_message, String, api_name: :optinMessage, nil?: true

  # @!attribute optout_keywords
  #   Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
  #
  #   @return [String, nil]
  optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true

  # @!attribute optout_message
  #   Message sent when user opts out
  #
  #   @return [String, nil]
  optional :optout_message, String, api_name: :optoutMessage, nil?: true

  # @!attribute privacy_policy_link
  #   URL to privacy policy
  #
  #   @return [String, nil]
  optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true

  # @!attribute terms_and_conditions_link
  #   URL to terms and conditions
  #
  #   @return [String, nil]
  optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true

  # @!method initialize(description:, name:, type:, use_cases:, help_keywords: nil, help_message: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil)
  #   Some parameter documentations has been truncated, see
  #   {Sentdm::Models::Profiles::CampaignUpdateParams::Campaign} for more details.
  #
  #   Campaign data for create or update operation
  #
  #   @param description [String] Campaign description
  #
  #   @param name [String] Campaign name
  #
  #   @param type [String] Campaign type (e.g., "KYC", "App")
  #
  #   @param use_cases [Array<Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase>] List of use cases with sample messages
  #
  #   @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
  #
  #   @param help_message [String, nil] Message sent when user requests help
  #
  #   @param message_flow [String, nil] Description of how messages flow in the campaign
  #
  #   @param optin_keywords [String, nil] Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
  #
  #   @param optin_message [String, nil] Message sent when user opts in
  #
  #   @param optout_keywords [String, nil] Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
  #
  #   @param optout_message [String, nil] Message sent when user opts out
  #
  #   @param privacy_policy_link [String, nil] URL to privacy policy
  #
  #   @param terms_and_conditions_link [String, nil] URL to terms and conditions

  class UseCase < Sentdm::Internal::Type::BaseModel
    # @!attribute messaging_use_case_us
    #
    #   @return [Symbol, Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase::MessagingUseCaseUs]
    required :messaging_use_case_us,
             enum: -> {
               Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase::MessagingUseCaseUs
             },
             api_name: :messagingUseCaseUs

    # @!attribute sample_messages
    #   Sample messages for this use case (1-5 messages, max 1024 characters each)
    #
    #   @return [Array<String>]
    required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages

    # @!method initialize(messaging_use_case_us:, sample_messages:)
    #   Campaign use case with sample messages
    #
    #   @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase::MessagingUseCaseUs]
    #
    #   @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)

    # @see Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase#messaging_use_case_us
    module MessagingUseCaseUs
      extend Sentdm::Internal::Type::Enum

      MARKETING = :MARKETING
      ACCOUNT_NOTIFICATION = :ACCOUNT_NOTIFICATION
      CUSTOMER_CARE = :CUSTOMER_CARE
      FRAUD_ALERT = :FRAUD_ALERT
      TWO_FA = :TWO_FA
      DELIVERY_NOTIFICATION = :DELIVERY_NOTIFICATION
      SECURITY_ALERT = :SECURITY_ALERT
      M2_M = :M2M
      MIXED = :MIXED
      HIGHER_EDUCATION = :HIGHER_EDUCATION
      POLLING_VOTING = :POLLING_VOTING
      PUBLIC_SERVICE_ANNOUNCEMENT = :PUBLIC_SERVICE_ANNOUNCEMENT
      LOW_VOLUME = :LOW_VOLUME

      # @!method self.values
      #   @return [Array<Symbol>]
    end
  end
end

Instance Attribute Details

#descriptionString

Campaign description

Returns:

  • (String)


67
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 67

required :description, String

#help_keywordsString?

Comma-separated keywords that trigger help message (e.g., “HELP, INFO, SUPPORT”)

Returns:

  • (String, nil)


95
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 95

optional :help_keywords, String, api_name: :helpKeywords, nil?: true

#help_messageString?

Message sent when user requests help

Returns:

  • (String, nil)


101
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 101

optional :help_message, String, api_name: :helpMessage, nil?: true

#message_flowString?

Description of how messages flow in the campaign

Returns:

  • (String, nil)


107
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 107

optional :message_flow, String, api_name: :messageFlow, nil?: true

#nameString

Campaign name

Returns:

  • (String)


73
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 73

required :name, String

#optin_keywordsString?

Comma-separated keywords that trigger opt-in (e.g., “YES, START, SUBSCRIBE”)

Returns:

  • (String, nil)


113
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 113

optional :optin_keywords, String, api_name: :optinKeywords, nil?: true

#optin_messageString?

Message sent when user opts in

Returns:

  • (String, nil)


119
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 119

optional :optin_message, String, api_name: :optinMessage, nil?: true

#optout_keywordsString?

Comma-separated keywords that trigger opt-out (e.g., “STOP, UNSUBSCRIBE, END”)

Returns:

  • (String, nil)


125
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 125

optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true

#optout_messageString?

Message sent when user opts out

Returns:

  • (String, nil)


131
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 131

optional :optout_message, String, api_name: :optoutMessage, nil?: true

URL to privacy policy

Returns:

  • (String, nil)


137
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 137

optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true

URL to terms and conditions

Returns:

  • (String, nil)


143
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 143

optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true

#typeString

Campaign type (e.g., “KYC”, “App”)

Returns:

  • (String)


79
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 79

required :type, String

#use_casesArray<Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase>

List of use cases with sample messages



85
86
87
88
89
# File 'lib/sentdm/models/profiles/campaign_update_params.rb', line 85

required :use_cases,
-> {
  Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase]
},
api_name: :useCases