sentdm 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +31 -1
  4. data/lib/sentdm/models/brands_brand_data.rb +13 -249
  5. data/lib/sentdm/models/profiles/campaign_data.rb +5 -26
  6. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
  7. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  8. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
  9. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  10. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  11. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  12. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  13. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +119 -0
  14. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +77 -0
  15. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  16. data/lib/sentdm/models/template_definition.rb +15 -255
  17. data/lib/sentdm/models.rb +27 -0
  18. data/lib/sentdm/version.rb +1 -1
  19. data/lib/sentdm.rb +10 -0
  20. data/rbi/sentdm/models/brands_brand_data.rbi +47 -349
  21. data/rbi/sentdm/models/profiles/campaign_data.rbi +14 -49
  22. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +53 -0
  23. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  24. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
  25. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
  26. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  27. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
  28. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
  29. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +183 -0
  30. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +99 -0
  31. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  32. data/rbi/sentdm/models/template_definition.rbi +74 -405
  33. data/rbi/sentdm/models.rbi +27 -0
  34. data/sig/sentdm/models/brands_brand_data.rbs +12 -192
  35. data/sig/sentdm/models/profiles/campaign_data.rbs +4 -26
  36. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  37. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  38. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
  39. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
  40. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  41. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
  42. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
  43. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  44. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  45. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  46. data/sig/sentdm/models/template_definition.rbs +20 -233
  47. data/sig/sentdm/models.rbs +18 -0
  48. metadata +31 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b04e02de625816b5c8b0b5a02ecedc198dc33f346277ebaebca6e26e8df61844
4
- data.tar.gz: cb8626c2a126335a92cea456679fdb2d5865fbecbb391e6634d00b932cde65d4
3
+ metadata.gz: bff2c5b4e518eeec2d0ab709016c3f835ae425bd86e3c1552e238f1d64419da3
4
+ data.tar.gz: b5360b4e37cc156800a6f8a90d051ade3078fa10c89c453999a9fdb2a70a8813
5
5
  SHA512:
6
- metadata.gz: 7a1eec1d9dfd462eefddb941989e06e7af9ed1e2a3fd9a84fca256af193711b0443c7dbbca66db20963722c630e34854207489842f21d8ab4fd4f174118a6178
7
- data.tar.gz: d291e1ace6701e0ef970dc044aa629847472273a9ec1b422456eba805db7f4b45358ea0b71fba71f166392f20c0e4b37a20d4c23b5339ed9d55c29980defd60a
6
+ metadata.gz: bb49d13d9d4c5d4f3eed14a8e2caeb8fe3c2a70214b551408c1cf60b2ae3c2f3497031a77e44a7e558362d7e38fe6076fc774a62946fdb1ae45f88a2215186ff
7
+ data.tar.gz: 606ca84dfc65bb1b02f08bbf8d2cdad31db141e5e9354c595f95e6127190a0c9a01df1c78f3221804dbe680b0ac09bdb31f313384852ebe11dd0774ec62bf598
data/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.6.0...v0.7.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.6.0...v0.7.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([ca96b29](https://github.com/sentdm/sent-dm-ruby/commit/ca96b2943f08c60dcbe3c7d9b2f4afe8af9b14d6))
10
+ * **api:** manual updates ([df62aff](https://github.com/sentdm/sent-dm-ruby/commit/df62affd4c31572d0fb8a4bc6b2787cfaabea4f2))
11
+ * **api:** manual updates ([843dfa8](https://github.com/sentdm/sent-dm-ruby/commit/843dfa8613623db67382955ee3ba5f116f945f21))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * properly mock time in ruby ci tests ([4c4ebe0](https://github.com/sentdm/sent-dm-ruby/commit/4c4ebe03e980346d3ecc508e2740ad2ded666a8e))
17
+
18
+
19
+ ### Chores
20
+
21
+ * **ci:** add build step ([e67706a](https://github.com/sentdm/sent-dm-ruby/commit/e67706ab8895b76ca683a3e2e47244650be6aca0))
22
+ * **ci:** skip uploading artifacts on stainless-internal branches ([1d6bb94](https://github.com/sentdm/sent-dm-ruby/commit/1d6bb94d3b4eb5b4383827200ead9f557c39c72f))
23
+ * **internal:** codegen related update ([0dd8713](https://github.com/sentdm/sent-dm-ruby/commit/0dd871352c089d8e40788912ba5c1eec907f4640))
24
+ * **internal:** codegen related update ([7b3ead8](https://github.com/sentdm/sent-dm-ruby/commit/7b3ead8de1ffc36ea448af5eed97ac1fc4f462bb))
25
+
26
+ ## 0.6.0 (2026-03-11)
27
+
28
+ Full Changelog: [v0.5.0...v0.6.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.5.0...v0.6.0)
29
+
30
+ ### Features
31
+
32
+ * **api:** manual updates ([df62aff](https://github.com/sentdm/sent-dm-ruby/commit/df62affd4c31572d0fb8a4bc6b2787cfaabea4f2))
33
+
3
34
  ## 0.5.0 (2026-03-11)
4
35
 
5
36
  Full Changelog: [v0.4.0...v0.5.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.4.0...v0.5.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "sentdm", "~> 0.5.0"
29
+ gem "sentdm", "~> 0.7.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -265,6 +265,36 @@ params = Sentdm::MessageSendParams.new(
265
265
  sent_dm.messages.send_(**params)
266
266
  ```
267
267
 
268
+ ### Enums
269
+
270
+ Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
271
+
272
+ ```ruby
273
+ # :PRIVATE_PROFIT
274
+ puts(
275
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
276
+ )
277
+
278
+ # Revealed type: `T.all(Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, Symbol)`
279
+ T.reveal_type(
280
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
281
+ )
282
+ ```
283
+
284
+ Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
285
+
286
+ ```ruby
287
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
288
+ entity_type: Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT,
289
+ # …
290
+ )
291
+
292
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
293
+ entity_type: :PRIVATE_PROFIT,
294
+ # …
295
+ )
296
+ ```
297
+
268
298
  ## Versioning
269
299
 
270
300
  This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
@@ -6,269 +6,33 @@ module Sentdm
6
6
  # @!attribute compliance
7
7
  # Compliance and TCR-related information
8
8
  #
9
- # @return [Sentdm::Models::BrandsBrandData::Compliance]
10
- required :compliance, -> { Sentdm::BrandsBrandData::Compliance }
9
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo]
10
+ required :compliance,
11
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo }
11
12
 
12
13
  # @!attribute contact
13
14
  # Contact information for the brand
14
15
  #
15
- # @return [Sentdm::Models::BrandsBrandData::Contact]
16
- required :contact, -> { Sentdm::BrandsBrandData::Contact }
16
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo]
17
+ required :contact,
18
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo }
17
19
 
18
20
  # @!attribute business
19
21
  # Business details and address information
20
22
  #
21
- # @return [Sentdm::Models::BrandsBrandData::Business, nil]
22
- optional :business, -> { Sentdm::BrandsBrandData::Business }, nil?: true
23
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil]
24
+ optional :business,
25
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo },
26
+ nil?: true
23
27
 
24
28
  # @!method initialize(compliance:, contact:, business: nil)
25
29
  # Brand and KYC data grouped into contact, business, and compliance sections
26
30
  #
27
- # @param compliance [Sentdm::Models::BrandsBrandData::Compliance] Compliance and TCR-related information
31
+ # @param compliance [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo] Compliance and TCR-related information
28
32
  #
29
- # @param contact [Sentdm::Models::BrandsBrandData::Contact] Contact information for the brand
33
+ # @param contact [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo] Contact information for the brand
30
34
  #
31
- # @param business [Sentdm::Models::BrandsBrandData::Business, nil] Business details and address information
32
-
33
- # @see Sentdm::Models::BrandsBrandData#compliance
34
- class Compliance < Sentdm::Internal::Type::BaseModel
35
- # @!attribute brand_relationship
36
- # Brand relationship level with TCR (required for TCR)
37
- #
38
- # @return [Symbol, Sentdm::Models::TcrBrandRelationship]
39
- required :brand_relationship, enum: -> { Sentdm::TcrBrandRelationship }, api_name: :brandRelationship
40
-
41
- # @!attribute vertical
42
- # Business vertical/industry category (required for TCR)
43
- #
44
- # @return [Symbol, Sentdm::Models::TcrVertical]
45
- required :vertical, enum: -> { Sentdm::TcrVertical }
46
-
47
- # @!attribute destination_countries
48
- # List of destination countries for messaging
49
- #
50
- # @return [Array<Sentdm::Models::DestinationCountry>, nil]
51
- optional :destination_countries,
52
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] },
53
- api_name: :destinationCountries,
54
- nil?: true
55
-
56
- # @!attribute expected_messaging_volume
57
- # Expected daily messaging volume
58
- #
59
- # @return [String, nil]
60
- optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
61
-
62
- # @!attribute is_tcr_application
63
- # Whether this is a TCR (Campaign Registry) application
64
- #
65
- # @return [Boolean, nil]
66
- optional :is_tcr_application, Sentdm::Internal::Type::Boolean, api_name: :isTcrApplication, nil?: true
67
-
68
- # @!attribute notes
69
- # Additional notes about the business or use case
70
- #
71
- # @return [String, nil]
72
- optional :notes, String, nil?: true
73
-
74
- # @!attribute phone_number_prefix
75
- # Phone number prefix for messaging (e.g., "+1")
76
- #
77
- # @return [String, nil]
78
- optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
79
-
80
- # @!attribute primary_use_case
81
- # Primary messaging use case description
82
- #
83
- # @return [String, nil]
84
- optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
85
-
86
- # @!method initialize(brand_relationship:, vertical:, destination_countries: nil, expected_messaging_volume: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil)
87
- # Compliance and TCR-related information
88
- #
89
- # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship] Brand relationship level with TCR (required for TCR)
90
- #
91
- # @param vertical [Symbol, Sentdm::Models::TcrVertical] Business vertical/industry category (required for TCR)
92
- #
93
- # @param destination_countries [Array<Sentdm::Models::DestinationCountry>, nil] List of destination countries for messaging
94
- #
95
- # @param expected_messaging_volume [String, nil] Expected daily messaging volume
96
- #
97
- # @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
98
- #
99
- # @param notes [String, nil] Additional notes about the business or use case
100
- #
101
- # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
102
- #
103
- # @param primary_use_case [String, nil] Primary messaging use case description
104
- end
105
-
106
- # @see Sentdm::Models::BrandsBrandData#contact
107
- class Contact < Sentdm::Internal::Type::BaseModel
108
- # @!attribute name
109
- # Primary contact name (required)
110
- #
111
- # @return [String]
112
- required :name, String
113
-
114
- # @!attribute business_name
115
- # Business/brand name
116
- #
117
- # @return [String, nil]
118
- optional :business_name, String, api_name: :businessName, nil?: true
119
-
120
- # @!attribute email
121
- # Contact email address
122
- #
123
- # @return [String, nil]
124
- optional :email, String, nil?: true
125
-
126
- # @!attribute phone
127
- # Contact phone number in E.164 format
128
- #
129
- # @return [String, nil]
130
- optional :phone, String, nil?: true
131
-
132
- # @!attribute phone_country_code
133
- # Contact phone country code (e.g., "1" for US)
134
- #
135
- # @return [String, nil]
136
- optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
137
-
138
- # @!attribute role
139
- # Contact's role in the business
140
- #
141
- # @return [String, nil]
142
- optional :role, String, nil?: true
143
-
144
- # @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
145
- # Contact information for the brand
146
- #
147
- # @param name [String] Primary contact name (required)
148
- #
149
- # @param business_name [String, nil] Business/brand name
150
- #
151
- # @param email [String, nil] Contact email address
152
- #
153
- # @param phone [String, nil] Contact phone number in E.164 format
154
- #
155
- # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
156
- #
157
- # @param role [String, nil] Contact's role in the business
158
- end
159
-
160
- # @see Sentdm::Models::BrandsBrandData#business
161
- class Business < Sentdm::Internal::Type::BaseModel
162
- # @!attribute city
163
- # City
164
- #
165
- # @return [String, nil]
166
- optional :city, String, nil?: true
167
-
168
- # @!attribute country
169
- # Country code (e.g., US, CA)
170
- #
171
- # @return [String, nil]
172
- optional :country, String, nil?: true
173
-
174
- # @!attribute country_of_registration
175
- # Country where the business is registered
176
- #
177
- # @return [String, nil]
178
- optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
179
-
180
- # @!attribute entity_type
181
- # Business entity type
182
- #
183
- # @return [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil]
184
- optional :entity_type,
185
- enum: -> { Sentdm::BrandsBrandData::Business::EntityType },
186
- api_name: :entityType,
187
- nil?: true
188
-
189
- # @!attribute legal_name
190
- # Legal business name
191
- #
192
- # @return [String, nil]
193
- optional :legal_name, String, api_name: :legalName, nil?: true
194
-
195
- # @!attribute postal_code
196
- # Postal/ZIP code
197
- #
198
- # @return [String, nil]
199
- optional :postal_code, String, api_name: :postalCode, nil?: true
200
-
201
- # @!attribute state
202
- # State/province code
203
- #
204
- # @return [String, nil]
205
- optional :state, String, nil?: true
206
-
207
- # @!attribute street
208
- # Street address
209
- #
210
- # @return [String, nil]
211
- optional :street, String, nil?: true
212
-
213
- # @!attribute tax_id
214
- # Tax ID/EIN number
215
- #
216
- # @return [String, nil]
217
- optional :tax_id, String, api_name: :taxId, nil?: true
218
-
219
- # @!attribute tax_id_type
220
- # Type of tax ID (e.g., us_ein, ca_bn)
221
- #
222
- # @return [String, nil]
223
- optional :tax_id_type, String, api_name: :taxIdType, nil?: true
224
-
225
- # @!attribute url
226
- # Business website URL
227
- #
228
- # @return [String, nil]
229
- optional :url, String, nil?: true
230
-
231
- # @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
232
- # Business details and address information
233
- #
234
- # @param city [String, nil] City
235
- #
236
- # @param country [String, nil] Country code (e.g., US, CA)
237
- #
238
- # @param country_of_registration [String, nil] Country where the business is registered
239
- #
240
- # @param entity_type [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil] Business entity type
241
- #
242
- # @param legal_name [String, nil] Legal business name
243
- #
244
- # @param postal_code [String, nil] Postal/ZIP code
245
- #
246
- # @param state [String, nil] State/province code
247
- #
248
- # @param street [String, nil] Street address
249
- #
250
- # @param tax_id [String, nil] Tax ID/EIN number
251
- #
252
- # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
253
- #
254
- # @param url [String, nil] Business website URL
255
-
256
- # Business entity type
257
- #
258
- # @see Sentdm::Models::BrandsBrandData::Business#entity_type
259
- module EntityType
260
- extend Sentdm::Internal::Type::Enum
261
-
262
- PRIVATE_PROFIT = :PRIVATE_PROFIT
263
- PUBLIC_PROFIT = :PUBLIC_PROFIT
264
- NON_PROFIT = :NON_PROFIT
265
- SOLE_PROPRIETOR = :SOLE_PROPRIETOR
266
- GOVERNMENT = :GOVERNMENT
267
-
268
- # @!method self.values
269
- # @return [Array<Symbol>]
270
- end
271
- end
35
+ # @param business [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil] Business details and address information
272
36
  end
273
37
  end
274
38
  end
@@ -25,9 +25,11 @@ module Sentdm
25
25
  # @!attribute use_cases
26
26
  # List of use cases with sample messages
27
27
  #
28
- # @return [Array<Sentdm::Models::Profiles::CampaignData::UseCase>]
28
+ # @return [Array<Sentdm::Models::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData>]
29
29
  required :use_cases,
30
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignData::UseCase] },
30
+ -> {
31
+ Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData]
32
+ },
31
33
  api_name: :useCases
32
34
 
33
35
  # @!attribute help_keywords
@@ -96,7 +98,7 @@ module Sentdm
96
98
  #
97
99
  # @param type [String] Campaign type (e.g., "KYC", "App")
98
100
  #
99
- # @param use_cases [Array<Sentdm::Models::Profiles::CampaignData::UseCase>] List of use cases with sample messages
101
+ # @param use_cases [Array<Sentdm::Models::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData>] List of use cases with sample messages
100
102
  #
101
103
  # @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
102
104
  #
@@ -115,29 +117,6 @@ module Sentdm
115
117
  # @param privacy_policy_link [String, nil] URL to privacy policy
116
118
  #
117
119
  # @param terms_and_conditions_link [String, nil] URL to terms and conditions
118
-
119
- class UseCase < Sentdm::Internal::Type::BaseModel
120
- # @!attribute messaging_use_case_us
121
- # US messaging use case category
122
- #
123
- # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
124
- required :messaging_use_case_us,
125
- enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
126
- api_name: :messagingUseCaseUs
127
-
128
- # @!attribute sample_messages
129
- # Sample messages for this use case (1-5 messages, max 1024 characters each)
130
- #
131
- # @return [Array<String>]
132
- required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
133
-
134
- # @!method initialize(messaging_use_case_us:, sample_messages:)
135
- # Campaign use case with sample messages
136
- #
137
- # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs] US messaging use case category
138
- #
139
- # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
140
- end
141
120
  end
142
121
  end
143
122
  end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute messaging_use_case_us
8
+ # US messaging use case category
9
+ #
10
+ # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
11
+ required :messaging_use_case_us,
12
+ enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
13
+ api_name: :messagingUseCaseUs
14
+
15
+ # @!attribute sample_messages
16
+ # Sample messages for this use case (1-5 messages, max 1024 characters each)
17
+ #
18
+ # @return [Array<String>]
19
+ required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
20
+
21
+ # @!method initialize(messaging_use_case_us:, sample_messages:)
22
+ # Campaign use case with sample messages
23
+ #
24
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs] US messaging use case category
25
+ #
26
+ # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SentDmServicesCommonContractsPocOsAuthenticationConfig < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute add_security_recommendation
7
+ # Whether to add the security recommendation text: "For your security, do not
8
+ # share this code."
9
+ #
10
+ # @return [Boolean, nil]
11
+ optional :add_security_recommendation,
12
+ Sentdm::Internal::Type::Boolean,
13
+ api_name: :addSecurityRecommendation
14
+
15
+ # @!attribute code_expiration_minutes
16
+ # Code expiration time in minutes (1-90). If set, adds footer: "This code expires
17
+ # in X minutes."
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :code_expiration_minutes, Integer, api_name: :codeExpirationMinutes, nil?: true
21
+
22
+ # @!method initialize(add_security_recommendation: nil, code_expiration_minutes: nil)
23
+ # Some parameter documentations has been truncated, see
24
+ # {Sentdm::Models::SentDmServicesCommonContractsPocOsAuthenticationConfig} for
25
+ # more details.
26
+ #
27
+ # Configuration for AUTHENTICATION category templates
28
+ #
29
+ # @param add_security_recommendation [Boolean] Whether to add the security recommendation text: "For your security, do not shar
30
+ #
31
+ # @param code_expiration_minutes [Integer, nil] Code expiration time in minutes (1-90). If set, adds footer: "This code expires
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SentDmServicesCommonContractsPocOsTemplateBody < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute multi_channel
7
+ # Content that will be used for all channels (SMS and WhatsApp) unless
8
+ # channel-specific content is provided
9
+ #
10
+ # @return [Sentdm::Models::TemplateBodyContent, nil]
11
+ optional :multi_channel, -> { Sentdm::TemplateBodyContent }, api_name: :multiChannel, nil?: true
12
+
13
+ # @!attribute sms
14
+ # SMS-specific content that overrides multi-channel content for SMS messages
15
+ #
16
+ # @return [Sentdm::Models::TemplateBodyContent, nil]
17
+ optional :sms, -> { Sentdm::TemplateBodyContent }, nil?: true
18
+
19
+ # @!attribute whatsapp
20
+ # WhatsApp-specific content that overrides multi-channel content for WhatsApp
21
+ # messages
22
+ #
23
+ # @return [Sentdm::Models::TemplateBodyContent, nil]
24
+ optional :whatsapp, -> { Sentdm::TemplateBodyContent }, nil?: true
25
+
26
+ # @!method initialize(multi_channel: nil, sms: nil, whatsapp: nil)
27
+ # Some parameter documentations has been truncated, see
28
+ # {Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateBody} for more
29
+ # details.
30
+ #
31
+ # Body section of a message template with channel-specific content
32
+ #
33
+ # @param multi_channel [Sentdm::Models::TemplateBodyContent, nil] Content that will be used for all channels (SMS and WhatsApp) unless channel-spe
34
+ #
35
+ # @param sms [Sentdm::Models::TemplateBodyContent, nil] SMS-specific content that overrides multi-channel content for SMS messages
36
+ #
37
+ # @param whatsapp [Sentdm::Models::TemplateBodyContent, nil] WhatsApp-specific content that overrides multi-channel content for WhatsApp mess
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SentDmServicesCommonContractsPocOsTemplateButton < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # The unique identifier of the button (1-based index)
8
+ #
9
+ # @return [Integer, nil]
10
+ optional :id, Integer
11
+
12
+ # @!attribute props
13
+ # Properties specific to the button type
14
+ #
15
+ # @return [Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateButtonProps, nil]
16
+ optional :props, -> { Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps }
17
+
18
+ # @!attribute type
19
+ # The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
20
+ #
21
+ # @return [String, nil]
22
+ optional :type, String
23
+
24
+ # @!method initialize(id: nil, props: nil, type: nil)
25
+ # Some parameter documentations has been truncated, see
26
+ # {Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateButton} for more
27
+ # details.
28
+ #
29
+ # Interactive button in a message template
30
+ #
31
+ # @param id [Integer] The unique identifier of the button (1-based index)
32
+ #
33
+ # @param props [Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateButtonProps] Properties specific to the button type
34
+ #
35
+ # @param type [String] The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SentDmServicesCommonContractsPocOsTemplateButtonProps < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute active_for
7
+ #
8
+ # @return [Integer, nil]
9
+ optional :active_for, Integer, api_name: :activeFor, nil?: true
10
+
11
+ # @!attribute autofill_text
12
+ #
13
+ # @return [String, nil]
14
+ optional :autofill_text, String, api_name: :autofillText, nil?: true
15
+
16
+ # @!attribute country_code
17
+ #
18
+ # @return [String, nil]
19
+ optional :country_code, String, api_name: :countryCode, nil?: true
20
+
21
+ # @!attribute offer_code
22
+ #
23
+ # @return [String, nil]
24
+ optional :offer_code, String, api_name: :offerCode, nil?: true
25
+
26
+ # @!attribute otp_type
27
+ #
28
+ # @return [String, nil]
29
+ optional :otp_type, String, api_name: :otpType, nil?: true
30
+
31
+ # @!attribute package_name
32
+ #
33
+ # @return [String, nil]
34
+ optional :package_name, String, api_name: :packageName, nil?: true
35
+
36
+ # @!attribute phone_number
37
+ #
38
+ # @return [String, nil]
39
+ optional :phone_number, String, api_name: :phoneNumber, nil?: true
40
+
41
+ # @!attribute quick_reply_type
42
+ #
43
+ # @return [String, nil]
44
+ optional :quick_reply_type, String, api_name: :quickReplyType, nil?: true
45
+
46
+ # @!attribute signature_hash
47
+ #
48
+ # @return [String, nil]
49
+ optional :signature_hash, String, api_name: :signatureHash, nil?: true
50
+
51
+ # @!attribute text
52
+ #
53
+ # @return [String, nil]
54
+ optional :text, String, nil?: true
55
+
56
+ # @!attribute url
57
+ #
58
+ # @return [String, nil]
59
+ optional :url, String, nil?: true
60
+
61
+ # @!attribute url_type
62
+ #
63
+ # @return [String, nil]
64
+ optional :url_type, String, api_name: :urlType, nil?: true
65
+
66
+ # @!method initialize(active_for: nil, autofill_text: nil, country_code: nil, offer_code: nil, otp_type: nil, package_name: nil, phone_number: nil, quick_reply_type: nil, signature_hash: nil, text: nil, url: nil, url_type: nil)
67
+ # @param active_for [Integer, nil]
68
+ # @param autofill_text [String, nil]
69
+ # @param country_code [String, nil]
70
+ # @param offer_code [String, nil]
71
+ # @param otp_type [String, nil]
72
+ # @param package_name [String, nil]
73
+ # @param phone_number [String, nil]
74
+ # @param quick_reply_type [String, nil]
75
+ # @param signature_hash [String, nil]
76
+ # @param text [String, nil]
77
+ # @param url [String, nil]
78
+ # @param url_type [String, nil]
79
+ end
80
+ end
81
+ end