sentdm 0.3.1 → 0.4.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +9 -9
  4. data/lib/sentdm/client.rb +0 -1
  5. data/lib/sentdm/models/api_meta.rb +1 -9
  6. data/lib/sentdm/models/brand_data.rb +235 -198
  7. data/lib/sentdm/models/brand_with_kyc.rb +249 -214
  8. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
  9. data/lib/sentdm/models/contact_create_params.rb +13 -6
  10. data/lib/sentdm/models/contact_delete_params.rb +8 -1
  11. data/lib/sentdm/models/contact_list_params.rb +10 -2
  12. data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
  13. data/lib/sentdm/models/contact_update_params.rb +13 -6
  14. data/lib/sentdm/models/me_retrieve_params.rb +7 -1
  15. data/lib/sentdm/models/me_retrieve_response.rb +152 -7
  16. data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
  17. data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
  18. data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
  19. data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
  20. data/lib/sentdm/models/message_send_params.rb +17 -10
  21. data/lib/sentdm/models/mutation_request.rb +6 -6
  22. data/lib/sentdm/models/profile_complete_params.rb +13 -6
  23. data/lib/sentdm/models/profile_create_params.rb +192 -10
  24. data/lib/sentdm/models/profile_delete_params.rb +18 -18
  25. data/lib/sentdm/models/profile_detail.rb +144 -95
  26. data/lib/sentdm/models/profile_list_params.rb +7 -1
  27. data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
  28. data/lib/sentdm/models/profile_update_params.rb +142 -22
  29. data/lib/sentdm/models/template_create_params.rb +17 -10
  30. data/lib/sentdm/models/template_delete_params.rb +13 -6
  31. data/lib/sentdm/models/template_list_params.rb +18 -2
  32. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  33. data/lib/sentdm/models/template_update_params.rb +17 -10
  34. data/lib/sentdm/models/template_variable.rb +7 -1
  35. data/lib/sentdm/models/user_invite_params.rb +13 -6
  36. data/lib/sentdm/models/user_list_params.rb +7 -1
  37. data/lib/sentdm/models/user_remove_params.rb +17 -17
  38. data/lib/sentdm/models/user_retrieve_params.rb +7 -1
  39. data/lib/sentdm/models/user_update_role_params.rb +15 -16
  40. data/lib/sentdm/models/webhook_create_params.rb +13 -6
  41. data/lib/sentdm/models/webhook_delete_params.rb +7 -1
  42. data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
  43. data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
  44. data/lib/sentdm/models/webhook_list_params.rb +7 -1
  45. data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
  46. data/lib/sentdm/models/webhook_rotate_secret_params.rb +7 -1
  47. data/lib/sentdm/models/webhook_test_params.rb +13 -6
  48. data/lib/sentdm/models/webhook_toggle_status_params.rb +13 -6
  49. data/lib/sentdm/models/webhook_update_params.rb +13 -6
  50. data/lib/sentdm/models.rb +0 -12
  51. data/lib/sentdm/resources/brands/campaigns.rb +0 -129
  52. data/lib/sentdm/resources/brands.rb +0 -112
  53. data/lib/sentdm/resources/contacts.rb +43 -20
  54. data/lib/sentdm/resources/lookup.rb +0 -21
  55. data/lib/sentdm/resources/me.rb +24 -5
  56. data/lib/sentdm/resources/messages.rb +24 -8
  57. data/lib/sentdm/resources/profiles.rb +116 -32
  58. data/lib/sentdm/resources/templates.rb +47 -24
  59. data/lib/sentdm/resources/users.rb +40 -23
  60. data/lib/sentdm/resources/webhooks.rb +92 -34
  61. data/lib/sentdm/version.rb +1 -1
  62. data/lib/sentdm.rb +1 -14
  63. data/rbi/sentdm/client.rbi +0 -1
  64. data/rbi/sentdm/models/api_meta.rbi +4 -18
  65. data/rbi/sentdm/models/brand_data.rbi +326 -203
  66. data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
  67. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
  68. data/rbi/sentdm/models/contact_create_params.rbi +19 -10
  69. data/rbi/sentdm/models/contact_delete_params.rbi +9 -0
  70. data/rbi/sentdm/models/contact_list_params.rbi +11 -0
  71. data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -2
  72. data/rbi/sentdm/models/contact_update_params.rbi +19 -10
  73. data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
  74. data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
  75. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -2
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
  77. data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -2
  78. data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
  79. data/rbi/sentdm/models/message_send_params.rbi +22 -13
  80. data/rbi/sentdm/models/mutation_request.rbi +10 -10
  81. data/rbi/sentdm/models/profile_complete_params.rbi +19 -10
  82. data/rbi/sentdm/models/profile_create_params.rbi +323 -15
  83. data/rbi/sentdm/models/profile_delete_params.rbi +36 -24
  84. data/rbi/sentdm/models/profile_detail.rbi +184 -128
  85. data/rbi/sentdm/models/profile_list_params.rbi +16 -5
  86. data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -2
  87. data/rbi/sentdm/models/profile_update_params.rbi +231 -30
  88. data/rbi/sentdm/models/template_create_params.rbi +22 -13
  89. data/rbi/sentdm/models/template_delete_params.rbi +19 -10
  90. data/rbi/sentdm/models/template_list_params.rbi +19 -0
  91. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -2
  92. data/rbi/sentdm/models/template_update_params.rbi +22 -13
  93. data/rbi/sentdm/models/template_variable.rbi +6 -0
  94. data/rbi/sentdm/models/user_invite_params.rbi +19 -10
  95. data/rbi/sentdm/models/user_list_params.rbi +16 -5
  96. data/rbi/sentdm/models/user_remove_params.rbi +35 -23
  97. data/rbi/sentdm/models/user_retrieve_params.rbi +13 -2
  98. data/rbi/sentdm/models/user_update_role_params.rbi +23 -25
  99. data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
  100. data/rbi/sentdm/models/webhook_delete_params.rbi +13 -2
  101. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
  102. data/rbi/sentdm/models/webhook_list_events_params.rbi +16 -1
  103. data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
  104. data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -2
  105. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +15 -1
  106. data/rbi/sentdm/models/webhook_test_params.rbi +19 -10
  107. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +19 -10
  108. data/rbi/sentdm/models/webhook_update_params.rbi +19 -10
  109. data/rbi/sentdm/models.rbi +0 -12
  110. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -95
  111. data/rbi/sentdm/resources/brands.rbi +0 -80
  112. data/rbi/sentdm/resources/contacts.rbi +37 -12
  113. data/rbi/sentdm/resources/lookup.rbi +0 -12
  114. data/rbi/sentdm/resources/me.rbi +25 -7
  115. data/rbi/sentdm/resources/messages.rbi +17 -4
  116. data/rbi/sentdm/resources/profiles.rbi +178 -38
  117. data/rbi/sentdm/resources/templates.rbi +47 -19
  118. data/rbi/sentdm/resources/users.rbi +47 -25
  119. data/rbi/sentdm/resources/webhooks.rbi +92 -20
  120. data/sig/sentdm/models/api_meta.rbs +2 -16
  121. data/sig/sentdm/models/brand_data.rbs +188 -142
  122. data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
  123. data/sig/sentdm/models/contact_create_params.rbs +16 -5
  124. data/sig/sentdm/models/contact_delete_params.rbs +11 -1
  125. data/sig/sentdm/models/contact_list_params.rbs +8 -1
  126. data/sig/sentdm/models/contact_retrieve_params.rbs +12 -2
  127. data/sig/sentdm/models/contact_update_params.rbs +13 -6
  128. data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
  129. data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
  130. data/sig/sentdm/models/message_retrieve_activities_params.rbs +12 -2
  131. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
  132. data/sig/sentdm/models/message_retrieve_status_params.rbs +12 -2
  133. data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
  134. data/sig/sentdm/models/message_send_params.rbs +15 -8
  135. data/sig/sentdm/models/mutation_request.rbs +5 -5
  136. data/sig/sentdm/models/profile_complete_params.rbs +13 -6
  137. data/sig/sentdm/models/profile_create_params.rbs +111 -7
  138. data/sig/sentdm/models/profile_delete_params.rbs +23 -13
  139. data/sig/sentdm/models/profile_detail.rbs +105 -84
  140. data/sig/sentdm/models/profile_list_params.rbs +14 -3
  141. data/sig/sentdm/models/profile_retrieve_params.rbs +8 -1
  142. data/sig/sentdm/models/profile_update_params.rbs +86 -17
  143. data/sig/sentdm/models/template_create_params.rbs +15 -8
  144. data/sig/sentdm/models/template_delete_params.rbs +16 -5
  145. data/sig/sentdm/models/template_list_params.rbs +13 -1
  146. data/sig/sentdm/models/template_retrieve_params.rbs +12 -2
  147. data/sig/sentdm/models/template_update_params.rbs +15 -8
  148. data/sig/sentdm/models/template_variable.rbs +5 -0
  149. data/sig/sentdm/models/user_invite_params.rbs +13 -6
  150. data/sig/sentdm/models/user_list_params.rbs +14 -3
  151. data/sig/sentdm/models/user_remove_params.rbs +23 -13
  152. data/sig/sentdm/models/user_retrieve_params.rbs +8 -1
  153. data/sig/sentdm/models/user_update_role_params.rbs +17 -17
  154. data/sig/sentdm/models/webhook_create_params.rbs +13 -6
  155. data/sig/sentdm/models/webhook_delete_params.rbs +12 -2
  156. data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
  157. data/sig/sentdm/models/webhook_list_events_params.rbs +13 -1
  158. data/sig/sentdm/models/webhook_list_params.rbs +13 -1
  159. data/sig/sentdm/models/webhook_retrieve_params.rbs +12 -2
  160. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -1
  161. data/sig/sentdm/models/webhook_test_params.rbs +13 -6
  162. data/sig/sentdm/models/webhook_toggle_status_params.rbs +17 -5
  163. data/sig/sentdm/models/webhook_update_params.rbs +13 -6
  164. data/sig/sentdm/models.rbs +0 -12
  165. data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
  166. data/sig/sentdm/resources/brands.rbs +0 -25
  167. data/sig/sentdm/resources/contacts.rbs +7 -2
  168. data/sig/sentdm/resources/lookup.rbs +0 -5
  169. data/sig/sentdm/resources/me.rbs +1 -0
  170. data/sig/sentdm/resources/messages.rbs +4 -1
  171. data/sig/sentdm/resources/profiles.rbs +19 -8
  172. data/sig/sentdm/resources/templates.rbs +9 -3
  173. data/sig/sentdm/resources/users.rbs +10 -7
  174. data/sig/sentdm/resources/webhooks.rbs +18 -5
  175. metadata +1 -40
  176. data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
  177. data/lib/sentdm/models/brand_create_params.rb +0 -41
  178. data/lib/sentdm/models/brand_delete_params.rb +0 -34
  179. data/lib/sentdm/models/brand_list_params.rb +0 -14
  180. data/lib/sentdm/models/brand_list_response.rb +0 -43
  181. data/lib/sentdm/models/brand_update_params.rb +0 -48
  182. data/lib/sentdm/models/brands/campaign_create_params.rb +0 -50
  183. data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -43
  184. data/lib/sentdm/models/brands/campaign_list_params.rb +0 -22
  185. data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
  186. data/lib/sentdm/models/brands/campaign_update_params.rb +0 -57
  187. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -20
  188. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
  189. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
  190. data/rbi/sentdm/models/brand_create_params.rbi +0 -68
  191. data/rbi/sentdm/models/brand_delete_params.rbi +0 -68
  192. data/rbi/sentdm/models/brand_list_params.rbi +0 -27
  193. data/rbi/sentdm/models/brand_list_response.rbi +0 -71
  194. data/rbi/sentdm/models/brand_update_params.rbi +0 -74
  195. data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -79
  196. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -84
  197. data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -37
  198. data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
  199. data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -85
  200. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -38
  201. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
  202. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
  203. data/sig/sentdm/models/brand_create_params.rbs +0 -36
  204. data/sig/sentdm/models/brand_delete_params.rbs +0 -36
  205. data/sig/sentdm/models/brand_list_params.rbs +0 -14
  206. data/sig/sentdm/models/brand_list_response.rbs +0 -39
  207. data/sig/sentdm/models/brand_update_params.rbs +0 -45
  208. data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -47
  209. data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -46
  210. data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -25
  211. data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
  212. data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -52
  213. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -23
  214. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55daa4cbbfa67e7eab52f43a902db3dfa1e12804f514a6fed126a2adb84e9cb5
4
- data.tar.gz: 20bca2938be488c2018679a9c26a4799c0e82c16dbc7c9fa69cf6adb4bcf59df
3
+ metadata.gz: 05c854c79f1208c28d3ecacb5111648f56c2d850f1b2a353462a19ef9559f70f
4
+ data.tar.gz: 07d88b86954305d084b1dcd5a54785349979e08d66dc68b292be60845f44e05a
5
5
  SHA512:
6
- metadata.gz: 95fe7e54513a8dfd92833d88a4a954933caeeb5d9ec3af775f851fb718713c4d1450728c048782fb86aa7337a26703934c54d0cf229242df69f2cf12ac15272c
7
- data.tar.gz: 7f0972a458476b6482b7158dd7c5ab721191761943df7081e1226af7d10523ac27eb36b7257d1906e18d8fcf84e3af345c3b6134de0e0da9ec8987856c036186
6
+ metadata.gz: d464e1edb179e1b3ef4b76c017417016ff67f4d16d02345985c1177493cdb286285cf00eb4a6a9347a1361aa03a3783f8b2646d889d1fc16ef7b0a6782cde06a
7
+ data.tar.gz: 8bc5abf3c6429faa22188eef6711467142b6b9623fbd208ae5b6171d65f7f44beb7b9b13fad99ab9ba6c29f9d652234e1776bce5b61397f09dd24e4ba1ba89e1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.3.1...v0.4.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.1...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([bd1c867](https://github.com/sentdm/sent-dm-ruby/commit/bd1c86786ab541d177d0dab68b56a584becadafd))
10
+
3
11
  ## 0.3.1 (2026-03-11)
4
12
 
5
13
  Full Changelog: [v0.3.0...v0.3.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.0...v0.3.1)
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.3.1"
29
+ gem "sentdm", "~> 0.4.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -270,23 +270,23 @@ sent_dm.messages.send_(**params)
270
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
271
 
272
272
  ```ruby
273
- # :BASIC_ACCOUNT
274
- puts(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
273
+ # :SELF_DECLARED
274
+ puts(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
275
275
 
276
- # Revealed type: `T.all(Sentdm::TcrBrandRelationship, Symbol)`
277
- T.reveal_type(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
276
+ # Revealed type: `T.all(Sentdm::BrandWithKYC::IdentityStatus, Symbol)`
277
+ T.reveal_type(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
278
278
  ```
279
279
 
280
280
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
281
281
 
282
282
  ```ruby
283
- Sentdm::BrandData.new(
284
- brand_relationship: Sentdm::TcrBrandRelationship::BASIC_ACCOUNT,
283
+ Sentdm::BrandWithKYC.new(
284
+ identity_status: Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED,
285
285
  # …
286
286
  )
287
287
 
288
- Sentdm::BrandData.new(
289
- brand_relationship: :BASIC_ACCOUNT,
288
+ Sentdm::BrandWithKYC.new(
289
+ identity_status: :SELF_DECLARED,
290
290
  # …
291
291
  )
292
292
  ```
data/lib/sentdm/client.rb CHANGED
@@ -47,7 +47,6 @@ module Sentdm
47
47
  # @return [Sentdm::Resources::Contacts]
48
48
  attr_reader :contacts
49
49
 
50
- # Register and manage 10DLC brands for SMS compliance
51
50
  # @return [Sentdm::Resources::Brands]
52
51
  attr_reader :brands
53
52
 
@@ -9,12 +9,6 @@ module Sentdm
9
9
  # @return [String, nil]
10
10
  optional :request_id, String
11
11
 
12
- # @!attribute response_time_ms
13
- # Response time in milliseconds (optional)
14
- #
15
- # @return [Integer, nil]
16
- optional :response_time_ms, Integer, nil?: true
17
-
18
12
  # @!attribute timestamp
19
13
  # Server timestamp when the response was generated
20
14
  #
@@ -27,13 +21,11 @@ module Sentdm
27
21
  # @return [String, nil]
28
22
  optional :version, String
29
23
 
30
- # @!method initialize(request_id: nil, response_time_ms: nil, timestamp: nil, version: nil)
24
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
31
25
  # Request and response metadata
32
26
  #
33
27
  # @param request_id [String] Unique identifier for this request (for tracing and support)
34
28
  #
35
- # @param response_time_ms [Integer, nil] Response time in milliseconds (optional)
36
- #
37
29
  # @param timestamp [Time] Server timestamp when the response was generated
38
30
  #
39
31
  # @param version [String] API version used for this request
@@ -3,234 +3,271 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  class BrandData < Sentdm::Internal::Type::BaseModel
6
- # @!attribute brand_relationship
7
- # Brand relationship level with TCR (required for TCR)
6
+ # @!attribute compliance
7
+ # Compliance and TCR-related information
8
8
  #
9
- # @return [Symbol, Sentdm::Models::TcrBrandRelationship]
10
- required :brand_relationship, enum: -> { Sentdm::TcrBrandRelationship }, api_name: :brandRelationship
9
+ # @return [Sentdm::Models::BrandData::Compliance]
10
+ required :compliance, -> { Sentdm::BrandData::Compliance }
11
11
 
12
- # @!attribute contact_name
13
- # Primary contact name (required)
12
+ # @!attribute contact
13
+ # Contact information for the brand
14
14
  #
15
- # @return [String]
16
- required :contact_name, String, api_name: :contactName
15
+ # @return [Sentdm::Models::BrandData::Contact]
16
+ required :contact, -> { Sentdm::BrandData::Contact }
17
17
 
18
- # @!attribute vertical
19
- # Business vertical/industry category (required for TCR)
18
+ # @!attribute business
19
+ # Business details and address information
20
20
  #
21
- # @return [Symbol, Sentdm::Models::TcrVertical]
22
- required :vertical, enum: -> { Sentdm::TcrVertical }
21
+ # @return [Sentdm::Models::BrandData::Business, nil]
22
+ optional :business, -> { Sentdm::BrandData::Business }, nil?: true
23
23
 
24
- # @!attribute brand_name
25
- # Brand name for KYC submission
24
+ # @!method initialize(compliance:, contact:, business: nil)
25
+ # Brand and KYC data grouped into contact, business, and compliance sections
26
26
  #
27
- # @return [String, nil]
28
- optional :brand_name, String, api_name: :brandName, nil?: true
29
-
30
- # @!attribute business_legal_name
31
- # Legal business name
27
+ # @param compliance [Sentdm::Models::BrandData::Compliance] Compliance and TCR-related information
32
28
  #
33
- # @return [String, nil]
34
- optional :business_legal_name, String, api_name: :businessLegalName, nil?: true
35
-
36
- # @!attribute business_name
37
- # Business/brand name
29
+ # @param contact [Sentdm::Models::BrandData::Contact] Contact information for the brand
38
30
  #
39
- # @return [String, nil]
40
- optional :business_name, String, api_name: :businessName, nil?: true
31
+ # @param business [Sentdm::Models::BrandData::Business, nil] Business details and address information
41
32
 
42
- # @!attribute business_role
43
- # Contact's role in the business
44
- #
45
- # @return [String, nil]
46
- optional :business_role, String, api_name: :businessRole, nil?: true
33
+ # @see Sentdm::Models::BrandData#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
47
40
 
48
- # @!attribute business_url
49
- # Business website URL
50
- #
51
- # @return [String, nil]
52
- optional :business_url, String, api_name: :businessUrl, nil?: true
41
+ # @!attribute vertical
42
+ # Business vertical/industry category (required for TCR)
43
+ #
44
+ # @return [Symbol, Sentdm::Models::TcrVertical]
45
+ required :vertical, enum: -> { Sentdm::TcrVertical }
53
46
 
54
- # @!attribute city
55
- # City
56
- #
57
- # @return [String, nil]
58
- optional :city, String, nil?: true
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
59
55
 
60
- # @!attribute contact_email
61
- # Contact email address
62
- #
63
- # @return [String, nil]
64
- optional :contact_email, String, api_name: :contactEmail, nil?: true
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
65
61
 
66
- # @!attribute contact_phone
67
- # Contact phone number in E.164 format
68
- #
69
- # @return [String, nil]
70
- optional :contact_phone, String, api_name: :contactPhone, nil?: true
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
71
67
 
72
- # @!attribute contact_phone_country_code
73
- # Contact phone country code (e.g., "1" for US)
74
- #
75
- # @return [String, nil]
76
- optional :contact_phone_country_code, String, api_name: :contactPhoneCountryCode, nil?: true
68
+ # @!attribute notes
69
+ # Additional notes about the business or use case
70
+ #
71
+ # @return [String, nil]
72
+ optional :notes, String, nil?: true
77
73
 
78
- # @!attribute country
79
- # Country code (e.g., US, CA)
80
- #
81
- # @return [String, nil]
82
- optional :country, String, nil?: true
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
83
79
 
84
- # @!attribute country_of_registration
85
- # Country where the business is registered
86
- #
87
- # @return [String, nil]
88
- optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
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
89
85
 
90
- # @!attribute destination_countries
91
- # List of destination countries for messaging
92
- #
93
- # @return [Array<Sentdm::Models::DestinationCountry>, nil]
94
- optional :destination_countries,
95
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] },
96
- api_name: :destinationCountries,
97
- nil?: true
98
-
99
- # @!attribute entity_type
100
- # Business entity type
101
- #
102
- # @return [Symbol, Sentdm::Models::BrandData::EntityType, nil]
103
- optional :entity_type, enum: -> { Sentdm::BrandData::EntityType }, api_name: :entityType, nil?: true
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
104
105
 
105
- # @!attribute expected_messaging_volume
106
- # Expected daily messaging volume
107
- #
108
- # @return [String, nil]
109
- optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
106
+ # @see Sentdm::Models::BrandData#contact
107
+ class Contact < Sentdm::Internal::Type::BaseModel
108
+ # @!attribute name
109
+ # Primary contact name (required)
110
+ #
111
+ # @return [String]
112
+ required :name, String
110
113
 
111
- # @!attribute is_tcr_application
112
- # Whether this is a TCR (Campaign Registry) application
113
- #
114
- # @return [Boolean, nil]
115
- optional :is_tcr_application, Sentdm::Internal::Type::Boolean, api_name: :isTcrApplication, nil?: true
114
+ # @!attribute business_name
115
+ # Business/brand name
116
+ #
117
+ # @return [String, nil]
118
+ optional :business_name, String, api_name: :businessName, nil?: true
116
119
 
117
- # @!attribute notes
118
- # Additional notes about the business or use case
119
- #
120
- # @return [String, nil]
121
- optional :notes, String, nil?: true
120
+ # @!attribute email
121
+ # Contact email address
122
+ #
123
+ # @return [String, nil]
124
+ optional :email, String, nil?: true
122
125
 
123
- # @!attribute phone_number_prefix
124
- # Phone number prefix for messaging (e.g., "+1")
125
- #
126
- # @return [String, nil]
127
- optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
126
+ # @!attribute phone
127
+ # Contact phone number in E.164 format
128
+ #
129
+ # @return [String, nil]
130
+ optional :phone, String, nil?: true
128
131
 
129
- # @!attribute postal_code
130
- # Postal/ZIP code
131
- #
132
- # @return [String, nil]
133
- optional :postal_code, String, api_name: :postalCode, nil?: true
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
134
137
 
135
- # @!attribute primary_use_case
136
- # Primary messaging use case description
137
- #
138
- # @return [String, nil]
139
- optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
138
+ # @!attribute role
139
+ # Contact's role in the business
140
+ #
141
+ # @return [String, nil]
142
+ optional :role, String, nil?: true
140
143
 
141
- # @!attribute state
142
- # State/province code
143
- #
144
- # @return [String, nil]
145
- optional :state, String, nil?: true
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
146
159
 
147
- # @!attribute street
148
- # Street address
149
- #
150
- # @return [String, nil]
151
- optional :street, String, nil?: true
160
+ # @see Sentdm::Models::BrandData#business
161
+ class Business < Sentdm::Internal::Type::BaseModel
162
+ # @!attribute city
163
+ # City
164
+ #
165
+ # @return [String, nil]
166
+ optional :city, String, nil?: true
152
167
 
153
- # @!attribute tax_id
154
- # Tax ID/EIN number
155
- #
156
- # @return [String, nil]
157
- optional :tax_id, String, api_name: :taxId, nil?: true
168
+ # @!attribute country
169
+ # Country code (e.g., US, CA)
170
+ #
171
+ # @return [String, nil]
172
+ optional :country, String, nil?: true
158
173
 
159
- # @!attribute tax_id_type
160
- # Type of tax ID (e.g., us_ein, ca_bn)
161
- #
162
- # @return [String, nil]
163
- optional :tax_id_type, String, api_name: :taxIdType, nil?: true
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
164
179
 
165
- # @!method initialize(brand_relationship:, contact_name:, vertical:, brand_name: nil, business_legal_name: nil, business_name: nil, business_role: nil, business_url: nil, city: nil, contact_email: nil, contact_phone: nil, contact_phone_country_code: nil, country: nil, country_of_registration: nil, destination_countries: nil, entity_type: nil, expected_messaging_volume: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, postal_code: nil, primary_use_case: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil)
166
- # Brand and KYC data
167
- #
168
- # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship] Brand relationship level with TCR (required for TCR)
169
- #
170
- # @param contact_name [String] Primary contact name (required)
171
- #
172
- # @param vertical [Symbol, Sentdm::Models::TcrVertical] Business vertical/industry category (required for TCR)
173
- #
174
- # @param brand_name [String, nil] Brand name for KYC submission
175
- #
176
- # @param business_legal_name [String, nil] Legal business name
177
- #
178
- # @param business_name [String, nil] Business/brand name
179
- #
180
- # @param business_role [String, nil] Contact's role in the business
181
- #
182
- # @param business_url [String, nil] Business website URL
183
- #
184
- # @param city [String, nil] City
185
- #
186
- # @param contact_email [String, nil] Contact email address
187
- #
188
- # @param contact_phone [String, nil] Contact phone number in E.164 format
189
- #
190
- # @param contact_phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
191
- #
192
- # @param country [String, nil] Country code (e.g., US, CA)
193
- #
194
- # @param country_of_registration [String, nil] Country where the business is registered
195
- #
196
- # @param destination_countries [Array<Sentdm::Models::DestinationCountry>, nil] List of destination countries for messaging
197
- #
198
- # @param entity_type [Symbol, Sentdm::Models::BrandData::EntityType, nil] Business entity type
199
- #
200
- # @param expected_messaging_volume [String, nil] Expected daily messaging volume
201
- #
202
- # @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
203
- #
204
- # @param notes [String, nil] Additional notes about the business or use case
205
- #
206
- # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
207
- #
208
- # @param postal_code [String, nil] Postal/ZIP code
209
- #
210
- # @param primary_use_case [String, nil] Primary messaging use case description
211
- #
212
- # @param state [String, nil] State/province code
213
- #
214
- # @param street [String, nil] Street address
215
- #
216
- # @param tax_id [String, nil] Tax ID/EIN number
217
- #
218
- # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
180
+ # @!attribute entity_type
181
+ # Business entity type
182
+ #
183
+ # @return [Symbol, Sentdm::Models::BrandData::Business::EntityType, nil]
184
+ optional :entity_type,
185
+ enum: -> { Sentdm::BrandData::Business::EntityType },
186
+ api_name: :entityType,
187
+ nil?: true
219
188
 
220
- # Business entity type
221
- #
222
- # @see Sentdm::Models::BrandData#entity_type
223
- module EntityType
224
- extend Sentdm::Internal::Type::Enum
225
-
226
- PRIVATE_PROFIT = :PRIVATE_PROFIT
227
- PUBLIC_PROFIT = :PUBLIC_PROFIT
228
- NON_PROFIT = :NON_PROFIT
229
- SOLE_PROPRIETOR = :SOLE_PROPRIETOR
230
- GOVERNMENT = :GOVERNMENT
231
-
232
- # @!method self.values
233
- # @return [Array<Symbol>]
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::BrandData::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::BrandData::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
234
271
  end
235
272
  end
236
273
  end