sentdm 0.28.0 → 0.30.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -1,667 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- module Profiles
6
- class CampaignListResponse < Sentdm::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- Sentdm::Models::Profiles::CampaignListResponse,
11
- Sentdm::Internal::AnyHash
12
- )
13
- end
14
-
15
- # The response data (null if error)
16
- sig do
17
- returns(
18
- T.nilable(
19
- T::Array[Sentdm::Models::Profiles::CampaignListResponse::Data]
20
- )
21
- )
22
- end
23
- attr_accessor :data
24
-
25
- # Error information
26
- sig do
27
- returns(
28
- T.nilable(Sentdm::Models::Profiles::CampaignListResponse::Error)
29
- )
30
- end
31
- attr_reader :error
32
-
33
- sig do
34
- params(
35
- error:
36
- T.nilable(
37
- Sentdm::Models::Profiles::CampaignListResponse::Error::OrHash
38
- )
39
- ).void
40
- end
41
- attr_writer :error
42
-
43
- # Request and response metadata
44
- sig do
45
- returns(
46
- T.nilable(Sentdm::Models::Profiles::CampaignListResponse::Meta)
47
- )
48
- end
49
- attr_reader :meta
50
-
51
- sig do
52
- params(
53
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta::OrHash
54
- ).void
55
- end
56
- attr_writer :meta
57
-
58
- # Indicates whether the request was successful
59
- sig { returns(T.nilable(T::Boolean)) }
60
- attr_reader :success
61
-
62
- sig { params(success: T::Boolean).void }
63
- attr_writer :success
64
-
65
- # Standard API response envelope for all v3 endpoints
66
- sig do
67
- params(
68
- data:
69
- T.nilable(
70
- T::Array[
71
- Sentdm::Models::Profiles::CampaignListResponse::Data::OrHash
72
- ]
73
- ),
74
- error:
75
- T.nilable(
76
- Sentdm::Models::Profiles::CampaignListResponse::Error::OrHash
77
- ),
78
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta::OrHash,
79
- success: T::Boolean
80
- ).returns(T.attached_class)
81
- end
82
- def self.new(
83
- # The response data (null if error)
84
- data: nil,
85
- # Error information
86
- error: nil,
87
- # Request and response metadata
88
- meta: nil,
89
- # Indicates whether the request was successful
90
- success: nil
91
- )
92
- end
93
-
94
- sig do
95
- override.returns(
96
- {
97
- data:
98
- T.nilable(
99
- T::Array[Sentdm::Models::Profiles::CampaignListResponse::Data]
100
- ),
101
- error:
102
- T.nilable(
103
- Sentdm::Models::Profiles::CampaignListResponse::Error
104
- ),
105
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta,
106
- success: T::Boolean
107
- }
108
- )
109
- end
110
- def to_hash
111
- end
112
-
113
- class Data < Sentdm::Internal::Type::BaseModel
114
- OrHash =
115
- T.type_alias do
116
- T.any(
117
- Sentdm::Models::Profiles::CampaignListResponse::Data,
118
- Sentdm::Internal::AnyHash
119
- )
120
- end
121
-
122
- sig { returns(T.nilable(String)) }
123
- attr_reader :id
124
-
125
- sig { params(id: String).void }
126
- attr_writer :id
127
-
128
- sig { returns(T.nilable(Time)) }
129
- attr_accessor :billed_date
130
-
131
- sig { returns(T.nilable(String)) }
132
- attr_accessor :brand_id
133
-
134
- sig { returns(T.nilable(Float)) }
135
- attr_accessor :cost
136
-
137
- sig { returns(T.nilable(Time)) }
138
- attr_reader :created_at
139
-
140
- sig { params(created_at: Time).void }
141
- attr_writer :created_at
142
-
143
- sig { returns(T.nilable(String)) }
144
- attr_reader :customer_id
145
-
146
- sig { params(customer_id: String).void }
147
- attr_writer :customer_id
148
-
149
- # True once every carrier has completed its DCA election and the campaign is
150
- # operationally ready for traffic.
151
- sig { returns(T.nilable(T::Boolean)) }
152
- attr_accessor :dca_elections_complete
153
-
154
- sig { returns(T.nilable(Time)) }
155
- attr_accessor :dca_elections_completed_at
156
-
157
- sig { returns(T.nilable(String)) }
158
- attr_reader :description
159
-
160
- sig { params(description: String).void }
161
- attr_writer :description
162
-
163
- # True when the one-time campaign submission fee has already been charged.
164
- sig { returns(T.nilable(T::Boolean)) }
165
- attr_reader :has_submission_transaction
166
-
167
- sig { params(has_submission_transaction: T::Boolean).void }
168
- attr_writer :has_submission_transaction
169
-
170
- sig { returns(T.nilable(String)) }
171
- attr_accessor :help_keywords
172
-
173
- sig { returns(T.nilable(String)) }
174
- attr_accessor :help_message
175
-
176
- sig { returns(T.nilable(String)) }
177
- attr_accessor :message_flow
178
-
179
- sig { returns(T.nilable(String)) }
180
- attr_reader :name
181
-
182
- sig { params(name: String).void }
183
- attr_writer :name
184
-
185
- sig { returns(T.nilable(String)) }
186
- attr_accessor :optin_keywords
187
-
188
- sig { returns(T.nilable(String)) }
189
- attr_accessor :optin_message
190
-
191
- sig { returns(T.nilable(String)) }
192
- attr_accessor :optout_keywords
193
-
194
- sig { returns(T.nilable(String)) }
195
- attr_accessor :optout_message
196
-
197
- sig { returns(T.nilable(String)) }
198
- attr_accessor :privacy_policy_link
199
-
200
- sig do
201
- returns(
202
- T.nilable(
203
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
204
- )
205
- )
206
- end
207
- attr_accessor :status
208
-
209
- sig { returns(T.nilable(Time)) }
210
- attr_accessor :submitted_at
211
-
212
- sig { returns(T.nilable(T::Boolean)) }
213
- attr_reader :submitted_to_tcr
214
-
215
- sig { params(submitted_to_tcr: T::Boolean).void }
216
- attr_writer :submitted_to_tcr
217
-
218
- # The Campaign Registry identifier, once the campaign has been accepted.
219
- sig { returns(T.nilable(String)) }
220
- attr_accessor :tcr_campaign_id
221
-
222
- # Surfaced so customers can see why a submission did not reach the registry.
223
- sig { returns(T.nilable(String)) }
224
- attr_accessor :tcr_sync_error
225
-
226
- sig { returns(T.nilable(String)) }
227
- attr_accessor :terms_and_conditions_link
228
-
229
- # Campaign type (for example KYC or App).
230
- sig { returns(T.nilable(String)) }
231
- attr_reader :type
232
-
233
- sig { params(type: String).void }
234
- attr_writer :type
235
-
236
- sig { returns(T.nilable(Time)) }
237
- attr_accessor :updated_at
238
-
239
- sig do
240
- returns(
241
- T.nilable(
242
- T::Array[
243
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase
244
- ]
245
- )
246
- )
247
- end
248
- attr_reader :use_cases
249
-
250
- sig do
251
- params(
252
- use_cases:
253
- T::Array[
254
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase::OrHash
255
- ]
256
- ).void
257
- end
258
- attr_writer :use_cases
259
-
260
- # Expected messaging volume for this campaign — customer-supplied on
261
- # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
262
- # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
263
- # back the value they set.
264
- sig { returns(T.nilable(String)) }
265
- attr_accessor :volume
266
-
267
- # A 10DLC campaign registered for a brand.
268
- sig do
269
- params(
270
- id: String,
271
- billed_date: T.nilable(Time),
272
- brand_id: T.nilable(String),
273
- cost: T.nilable(Float),
274
- created_at: Time,
275
- customer_id: String,
276
- dca_elections_complete: T.nilable(T::Boolean),
277
- dca_elections_completed_at: T.nilable(Time),
278
- description: String,
279
- has_submission_transaction: T::Boolean,
280
- help_keywords: T.nilable(String),
281
- help_message: T.nilable(String),
282
- message_flow: T.nilable(String),
283
- name: String,
284
- optin_keywords: T.nilable(String),
285
- optin_message: T.nilable(String),
286
- optout_keywords: T.nilable(String),
287
- optout_message: T.nilable(String),
288
- privacy_policy_link: T.nilable(String),
289
- status:
290
- T.nilable(
291
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::OrSymbol
292
- ),
293
- submitted_at: T.nilable(Time),
294
- submitted_to_tcr: T::Boolean,
295
- tcr_campaign_id: T.nilable(String),
296
- tcr_sync_error: T.nilable(String),
297
- terms_and_conditions_link: T.nilable(String),
298
- type: String,
299
- updated_at: T.nilable(Time),
300
- use_cases:
301
- T::Array[
302
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase::OrHash
303
- ],
304
- volume: T.nilable(String)
305
- ).returns(T.attached_class)
306
- end
307
- def self.new(
308
- id: nil,
309
- billed_date: nil,
310
- brand_id: nil,
311
- cost: nil,
312
- created_at: nil,
313
- customer_id: nil,
314
- # True once every carrier has completed its DCA election and the campaign is
315
- # operationally ready for traffic.
316
- dca_elections_complete: nil,
317
- dca_elections_completed_at: nil,
318
- description: nil,
319
- # True when the one-time campaign submission fee has already been charged.
320
- has_submission_transaction: nil,
321
- help_keywords: nil,
322
- help_message: nil,
323
- message_flow: nil,
324
- name: nil,
325
- optin_keywords: nil,
326
- optin_message: nil,
327
- optout_keywords: nil,
328
- optout_message: nil,
329
- privacy_policy_link: nil,
330
- status: nil,
331
- submitted_at: nil,
332
- submitted_to_tcr: nil,
333
- # The Campaign Registry identifier, once the campaign has been accepted.
334
- tcr_campaign_id: nil,
335
- # Surfaced so customers can see why a submission did not reach the registry.
336
- tcr_sync_error: nil,
337
- terms_and_conditions_link: nil,
338
- # Campaign type (for example KYC or App).
339
- type: nil,
340
- updated_at: nil,
341
- use_cases: nil,
342
- # Expected messaging volume for this campaign — customer-supplied on
343
- # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
344
- # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
345
- # back the value they set.
346
- volume: nil
347
- )
348
- end
349
-
350
- sig do
351
- override.returns(
352
- {
353
- id: String,
354
- billed_date: T.nilable(Time),
355
- brand_id: T.nilable(String),
356
- cost: T.nilable(Float),
357
- created_at: Time,
358
- customer_id: String,
359
- dca_elections_complete: T.nilable(T::Boolean),
360
- dca_elections_completed_at: T.nilable(Time),
361
- description: String,
362
- has_submission_transaction: T::Boolean,
363
- help_keywords: T.nilable(String),
364
- help_message: T.nilable(String),
365
- message_flow: T.nilable(String),
366
- name: String,
367
- optin_keywords: T.nilable(String),
368
- optin_message: T.nilable(String),
369
- optout_keywords: T.nilable(String),
370
- optout_message: T.nilable(String),
371
- privacy_policy_link: T.nilable(String),
372
- status:
373
- T.nilable(
374
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
375
- ),
376
- submitted_at: T.nilable(Time),
377
- submitted_to_tcr: T::Boolean,
378
- tcr_campaign_id: T.nilable(String),
379
- tcr_sync_error: T.nilable(String),
380
- terms_and_conditions_link: T.nilable(String),
381
- type: String,
382
- updated_at: T.nilable(Time),
383
- use_cases:
384
- T::Array[
385
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase
386
- ],
387
- volume: T.nilable(String)
388
- }
389
- )
390
- end
391
- def to_hash
392
- end
393
-
394
- module Status
395
- extend Sentdm::Internal::Type::Enum
396
-
397
- TaggedSymbol =
398
- T.type_alias do
399
- T.all(
400
- Symbol,
401
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status
402
- )
403
- end
404
- OrSymbol = T.type_alias { T.any(Symbol, String) }
405
-
406
- SENT_CREATED =
407
- T.let(
408
- :SENT_CREATED,
409
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
410
- )
411
- ACTIVE =
412
- T.let(
413
- :ACTIVE,
414
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
415
- )
416
- EXPIRED =
417
- T.let(
418
- :EXPIRED,
419
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
420
- )
421
-
422
- sig do
423
- override.returns(
424
- T::Array[
425
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
426
- ]
427
- )
428
- end
429
- def self.values
430
- end
431
- end
432
-
433
- class UseCase < Sentdm::Internal::Type::BaseModel
434
- OrHash =
435
- T.type_alias do
436
- T.any(
437
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase,
438
- Sentdm::Internal::AnyHash
439
- )
440
- end
441
-
442
- sig { returns(T.nilable(String)) }
443
- attr_reader :id
444
-
445
- sig { params(id: String).void }
446
- attr_writer :id
447
-
448
- sig { returns(T.nilable(String)) }
449
- attr_reader :campaign_id
450
-
451
- sig { params(campaign_id: String).void }
452
- attr_writer :campaign_id
453
-
454
- sig { returns(T.nilable(Time)) }
455
- attr_reader :created_at
456
-
457
- sig { params(created_at: Time).void }
458
- attr_writer :created_at
459
-
460
- sig { returns(T.nilable(String)) }
461
- attr_reader :customer_id
462
-
463
- sig { params(customer_id: String).void }
464
- attr_writer :customer_id
465
-
466
- sig do
467
- returns(
468
- T.nilable(Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol)
469
- )
470
- end
471
- attr_reader :messaging_use_case_us
472
-
473
- sig do
474
- params(
475
- messaging_use_case_us:
476
- Sentdm::Profiles::MessagingUseCaseUs::OrSymbol
477
- ).void
478
- end
479
- attr_writer :messaging_use_case_us
480
-
481
- # Sample messages submitted to the registry for this use case.
482
- sig { returns(T.nilable(T::Array[String])) }
483
- attr_reader :sample_messages
484
-
485
- sig { params(sample_messages: T::Array[String]).void }
486
- attr_writer :sample_messages
487
-
488
- sig { returns(T.nilable(Time)) }
489
- attr_accessor :updated_at
490
-
491
- # Customer-facing use-case representation for the public v3 campaign contract.
492
- # Exists for the same reason as BrandCampaignV3Response: nesting the
493
- # TcrCampaignUseCase database entity in a public response means any column added
494
- # to that table silently becomes part of the customer-facing contract. This DTO is
495
- # an explicit allowlist, so a new column stays invisible until it is added here on
496
- # purpose. This mirrors exactly the fields the entity already serialized, so it
497
- # removes nothing from the current response shape. It only closes the future-leak
498
- # path.
499
- sig do
500
- params(
501
- id: String,
502
- campaign_id: String,
503
- created_at: Time,
504
- customer_id: String,
505
- messaging_use_case_us:
506
- Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
507
- sample_messages: T::Array[String],
508
- updated_at: T.nilable(Time)
509
- ).returns(T.attached_class)
510
- end
511
- def self.new(
512
- id: nil,
513
- campaign_id: nil,
514
- created_at: nil,
515
- customer_id: nil,
516
- messaging_use_case_us: nil,
517
- # Sample messages submitted to the registry for this use case.
518
- sample_messages: nil,
519
- updated_at: nil
520
- )
521
- end
522
-
523
- sig do
524
- override.returns(
525
- {
526
- id: String,
527
- campaign_id: String,
528
- created_at: Time,
529
- customer_id: String,
530
- messaging_use_case_us:
531
- Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol,
532
- sample_messages: T::Array[String],
533
- updated_at: T.nilable(Time)
534
- }
535
- )
536
- end
537
- def to_hash
538
- end
539
- end
540
- end
541
-
542
- class Error < Sentdm::Internal::Type::BaseModel
543
- OrHash =
544
- T.type_alias do
545
- T.any(
546
- Sentdm::Models::Profiles::CampaignListResponse::Error,
547
- Sentdm::Internal::AnyHash
548
- )
549
- end
550
-
551
- # Machine-readable error code (e.g., "RESOURCE_001")
552
- sig { returns(T.nilable(String)) }
553
- attr_reader :code
554
-
555
- sig { params(code: String).void }
556
- attr_writer :code
557
-
558
- # Additional validation error details (field-level errors)
559
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
560
- attr_accessor :details
561
-
562
- # URL to documentation about this error
563
- sig { returns(T.nilable(String)) }
564
- attr_accessor :doc_url
565
-
566
- # Human-readable error message
567
- sig { returns(T.nilable(String)) }
568
- attr_reader :message
569
-
570
- sig { params(message: String).void }
571
- attr_writer :message
572
-
573
- # Error information
574
- sig do
575
- params(
576
- code: String,
577
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
578
- doc_url: T.nilable(String),
579
- message: String
580
- ).returns(T.attached_class)
581
- end
582
- def self.new(
583
- # Machine-readable error code (e.g., "RESOURCE_001")
584
- code: nil,
585
- # Additional validation error details (field-level errors)
586
- details: nil,
587
- # URL to documentation about this error
588
- doc_url: nil,
589
- # Human-readable error message
590
- message: nil
591
- )
592
- end
593
-
594
- sig do
595
- override.returns(
596
- {
597
- code: String,
598
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
599
- doc_url: T.nilable(String),
600
- message: String
601
- }
602
- )
603
- end
604
- def to_hash
605
- end
606
- end
607
-
608
- class Meta < Sentdm::Internal::Type::BaseModel
609
- OrHash =
610
- T.type_alias do
611
- T.any(
612
- Sentdm::Models::Profiles::CampaignListResponse::Meta,
613
- Sentdm::Internal::AnyHash
614
- )
615
- end
616
-
617
- # Unique identifier for this request (for tracing and support)
618
- sig { returns(T.nilable(String)) }
619
- attr_reader :request_id
620
-
621
- sig { params(request_id: String).void }
622
- attr_writer :request_id
623
-
624
- # Server timestamp when the response was generated
625
- sig { returns(T.nilable(Time)) }
626
- attr_reader :timestamp
627
-
628
- sig { params(timestamp: Time).void }
629
- attr_writer :timestamp
630
-
631
- # API version used for this request
632
- sig { returns(T.nilable(String)) }
633
- attr_reader :version
634
-
635
- sig { params(version: String).void }
636
- attr_writer :version
637
-
638
- # Request and response metadata
639
- sig do
640
- params(
641
- request_id: String,
642
- timestamp: Time,
643
- version: String
644
- ).returns(T.attached_class)
645
- end
646
- def self.new(
647
- # Unique identifier for this request (for tracing and support)
648
- request_id: nil,
649
- # Server timestamp when the response was generated
650
- timestamp: nil,
651
- # API version used for this request
652
- version: nil
653
- )
654
- end
655
-
656
- sig do
657
- override.returns(
658
- { request_id: String, timestamp: Time, version: String }
659
- )
660
- end
661
- def to_hash
662
- end
663
- end
664
- end
665
- end
666
- end
667
- end