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