sentdm 0.18.0 → 0.19.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 (291) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -31
  4. data/lib/sentdm/internal/transport/base_client.rb +2 -0
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/internal/type/enum.rb +0 -25
  7. data/lib/sentdm/models/contact_create_response.rb +236 -0
  8. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  9. data/lib/sentdm/models/contact_list_response.rb +278 -12
  10. data/lib/sentdm/models/contact_retrieve_response.rb +236 -0
  11. data/lib/sentdm/models/contact_update_params.rb +4 -16
  12. data/lib/sentdm/models/contact_update_response.rb +236 -0
  13. data/lib/sentdm/models/me_retrieve_response.rb +204 -12
  14. data/lib/sentdm/models/message_retrieve_activities_response.rb +74 -6
  15. data/lib/sentdm/models/message_retrieve_status_response.rb +87 -7
  16. data/lib/sentdm/models/message_send_params.rb +2 -2
  17. data/lib/sentdm/models/message_send_response.rb +74 -6
  18. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  19. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  20. data/lib/sentdm/models/profile_create_params.rb +423 -9
  21. data/lib/sentdm/models/profile_create_response.rb +781 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +753 -9
  24. data/lib/sentdm/models/profile_retrieve_response.rb +783 -0
  25. data/lib/sentdm/models/profile_update_params.rb +423 -9
  26. data/lib/sentdm/models/profile_update_response.rb +781 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +165 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +459 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +420 -9
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +165 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +459 -0
  33. data/lib/sentdm/models/template_create_params.rb +889 -3
  34. data/lib/sentdm/models/template_create_response.rb +197 -0
  35. data/lib/sentdm/models/template_list_response.rb +242 -12
  36. data/lib/sentdm/models/template_retrieve_response.rb +197 -0
  37. data/lib/sentdm/models/template_update_params.rb +889 -3
  38. data/lib/sentdm/models/template_update_response.rb +197 -0
  39. data/lib/sentdm/models/user_invite_response.rb +189 -0
  40. data/lib/sentdm/models/user_list_response.rb +154 -9
  41. data/lib/sentdm/models/user_remove_params.rb +16 -2
  42. data/lib/sentdm/models/user_retrieve_response.rb +189 -0
  43. data/lib/sentdm/models/user_update_role_response.rb +189 -0
  44. data/lib/sentdm/models/webhook_create_response.rb +204 -0
  45. data/lib/sentdm/models/webhook_list_event_types_response.rb +118 -9
  46. data/lib/sentdm/models/webhook_list_events_response.rb +153 -9
  47. data/lib/sentdm/models/webhook_list_response.rb +247 -12
  48. data/lib/sentdm/models/webhook_retrieve_response.rb +204 -0
  49. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  50. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  52. data/lib/sentdm/models/webhook_toggle_status_response.rb +204 -0
  53. data/lib/sentdm/models/webhook_update_response.rb +204 -0
  54. data/lib/sentdm/models.rb +0 -77
  55. data/lib/sentdm/resources/contacts.rb +8 -10
  56. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  57. data/lib/sentdm/resources/profiles.rb +12 -12
  58. data/lib/sentdm/resources/templates.rb +8 -8
  59. data/lib/sentdm/resources/users.rb +6 -6
  60. data/lib/sentdm/resources/webhooks.rb +8 -8
  61. data/lib/sentdm/version.rb +1 -1
  62. data/lib/sentdm.rb +18 -40
  63. data/rbi/sentdm/models/contact_create_response.rbi +390 -0
  64. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  65. data/rbi/sentdm/models/contact_list_response.rbi +505 -16
  66. data/rbi/sentdm/models/contact_retrieve_response.rbi +392 -0
  67. data/rbi/sentdm/models/contact_update_params.rbi +4 -20
  68. data/rbi/sentdm/models/contact_update_response.rbi +390 -0
  69. data/rbi/sentdm/models/me_retrieve_response.rbi +335 -16
  70. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +154 -8
  71. data/rbi/sentdm/models/message_retrieve_status_response.rbi +171 -11
  72. data/rbi/sentdm/models/message_send_params.rbi +4 -4
  73. data/rbi/sentdm/models/message_send_response.rbi +135 -8
  74. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  75. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  76. data/rbi/sentdm/models/profile_create_params.rbi +810 -12
  77. data/rbi/sentdm/models/profile_create_response.rbi +1439 -0
  78. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  79. data/rbi/sentdm/models/profile_list_response.rbi +1400 -14
  80. data/rbi/sentdm/models/profile_retrieve_response.rbi +1443 -0
  81. data/rbi/sentdm/models/profile_update_params.rbi +810 -12
  82. data/rbi/sentdm/models/profile_update_response.rbi +1439 -0
  83. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +289 -4
  84. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +814 -0
  85. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  86. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +733 -11
  87. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +289 -4
  88. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +814 -0
  89. data/rbi/sentdm/models/template_create_params.rbi +1701 -4
  90. data/rbi/sentdm/models/template_create_response.rbi +339 -0
  91. data/rbi/sentdm/models/template_list_response.rbi +454 -16
  92. data/rbi/sentdm/models/template_retrieve_response.rbi +345 -0
  93. data/rbi/sentdm/models/template_update_params.rbi +1701 -4
  94. data/rbi/sentdm/models/template_update_response.rbi +339 -0
  95. data/rbi/sentdm/models/user_invite_response.rbi +323 -0
  96. data/rbi/sentdm/models/user_list_response.rbi +271 -14
  97. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  98. data/rbi/sentdm/models/user_retrieve_response.rbi +323 -0
  99. data/rbi/sentdm/models/user_update_role_response.rbi +328 -0
  100. data/rbi/sentdm/models/webhook_create_response.rbi +348 -0
  101. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +247 -12
  102. data/rbi/sentdm/models/webhook_list_events_response.rbi +314 -12
  103. data/rbi/sentdm/models/webhook_list_response.rbi +462 -16
  104. data/rbi/sentdm/models/webhook_retrieve_response.rbi +350 -0
  105. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  106. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  107. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  108. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +366 -0
  109. data/rbi/sentdm/models/webhook_update_response.rbi +348 -0
  110. data/rbi/sentdm/models.rbi +0 -77
  111. data/rbi/sentdm/resources/contacts.rbi +5 -12
  112. data/rbi/sentdm/resources/messages.rbi +2 -2
  113. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -4
  114. data/rbi/sentdm/resources/profiles.rbi +13 -9
  115. data/rbi/sentdm/resources/templates.rbi +6 -5
  116. data/rbi/sentdm/resources/users.rbi +3 -3
  117. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  118. data/sig/sentdm/models/contact_create_response.rbs +209 -0
  119. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  120. data/sig/sentdm/models/contact_list_response.rbs +256 -20
  121. data/sig/sentdm/models/contact_retrieve_response.rbs +209 -0
  122. data/sig/sentdm/models/contact_update_params.rbs +0 -5
  123. data/sig/sentdm/models/contact_update_response.rbs +209 -0
  124. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  125. data/sig/sentdm/models/message_retrieve_activities_response.rbs +71 -9
  126. data/sig/sentdm/models/message_retrieve_status_response.rbs +95 -13
  127. data/sig/sentdm/models/message_send_response.rbs +71 -9
  128. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  129. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  130. data/sig/sentdm/models/profile_create_params.rbs +363 -12
  131. data/sig/sentdm/models/profile_create_response.rbs +662 -0
  132. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  133. data/sig/sentdm/models/profile_list_response.rbs +645 -15
  134. data/sig/sentdm/models/profile_retrieve_response.rbs +662 -0
  135. data/sig/sentdm/models/profile_update_params.rbs +363 -12
  136. data/sig/sentdm/models/profile_update_response.rbs +662 -0
  137. data/sig/sentdm/models/profiles/campaign_create_params.rbs +138 -4
  138. data/sig/sentdm/models/profiles/campaign_create_response.rbs +424 -0
  139. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  140. data/sig/sentdm/models/profiles/campaign_list_response.rbs +396 -13
  141. data/sig/sentdm/models/profiles/campaign_update_params.rbs +138 -4
  142. data/sig/sentdm/models/profiles/campaign_update_response.rbs +424 -0
  143. data/sig/sentdm/models/template_create_params.rbs +853 -6
  144. data/sig/sentdm/models/template_create_response.rbs +177 -0
  145. data/sig/sentdm/models/template_list_response.rbs +225 -19
  146. data/sig/sentdm/models/template_retrieve_response.rbs +177 -0
  147. data/sig/sentdm/models/template_update_params.rbs +851 -4
  148. data/sig/sentdm/models/template_update_response.rbs +177 -0
  149. data/sig/sentdm/models/user_invite_response.rbs +170 -0
  150. data/sig/sentdm/models/user_list_response.rbs +151 -15
  151. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  152. data/sig/sentdm/models/user_retrieve_response.rbs +170 -0
  153. data/sig/sentdm/models/user_update_role_response.rbs +170 -0
  154. data/sig/sentdm/models/webhook_create_response.rbs +201 -0
  155. data/sig/sentdm/models/webhook_list_event_types_response.rbs +130 -15
  156. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  157. data/sig/sentdm/models/webhook_list_response.rbs +248 -20
  158. data/sig/sentdm/models/webhook_retrieve_response.rbs +201 -0
  159. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  160. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  161. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  162. data/sig/sentdm/models/webhook_toggle_status_response.rbs +201 -0
  163. data/sig/sentdm/models/webhook_update_response.rbs +201 -0
  164. data/sig/sentdm/models.rbs +0 -68
  165. data/sig/sentdm/resources/contacts.rbs +3 -4
  166. data/sig/sentdm/resources/profiles/campaigns.rbs +4 -4
  167. data/sig/sentdm/resources/profiles.rbs +9 -9
  168. data/sig/sentdm/resources/templates.rbs +5 -5
  169. data/sig/sentdm/resources/users.rbs +3 -3
  170. data/sig/sentdm/resources/webhooks.rbs +4 -4
  171. metadata +56 -122
  172. data/lib/sentdm/models/api_meta.rb +0 -34
  173. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  174. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  175. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  176. data/lib/sentdm/models/api_response_template.rb +0 -43
  177. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  178. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  179. data/lib/sentdm/models/brands_brand_data.rb +0 -38
  180. data/lib/sentdm/models/contact_response.rb +0 -136
  181. data/lib/sentdm/models/destination_country.rb +0 -21
  182. data/lib/sentdm/models/error_detail.rb +0 -42
  183. data/lib/sentdm/models/mutation_request.rb +0 -20
  184. data/lib/sentdm/models/pagination_meta.rb +0 -80
  185. data/lib/sentdm/models/payment_details.rb +0 -44
  186. data/lib/sentdm/models/profile_detail.rb +0 -605
  187. data/lib/sentdm/models/profile_settings.rb +0 -66
  188. data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +0 -45
  189. data/lib/sentdm/models/profiles/base_dto.rb +0 -32
  190. data/lib/sentdm/models/profiles/campaign_data.rb +0 -123
  191. data/lib/sentdm/models/profiles/messaging_use_case_us.rb +0 -28
  192. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +0 -29
  193. data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +0 -236
  194. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +0 -34
  195. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +0 -40
  196. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +0 -38
  197. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +0 -81
  198. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +0 -34
  199. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +0 -39
  200. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +0 -116
  201. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +0 -75
  202. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +0 -58
  203. data/lib/sentdm/models/tcr_brand_relationship.rb +0 -18
  204. data/lib/sentdm/models/tcr_vertical.rb +0 -36
  205. data/lib/sentdm/models/template.rb +0 -90
  206. data/lib/sentdm/models/template_body_content.rb +0 -27
  207. data/lib/sentdm/models/template_definition.rb +0 -66
  208. data/lib/sentdm/models/template_variable.rb +0 -80
  209. data/lib/sentdm/models/user_response.rb +0 -82
  210. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  211. data/lib/sentdm/models/webhook_response.rb +0 -95
  212. data/rbi/sentdm/models/api_meta.rbi +0 -55
  213. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  214. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  215. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  216. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  218. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  219. data/rbi/sentdm/models/brands_brand_data.rbi +0 -104
  220. data/rbi/sentdm/models/contact_response.rbi +0 -195
  221. data/rbi/sentdm/models/destination_country.rbi +0 -32
  222. data/rbi/sentdm/models/error_detail.rbi +0 -66
  223. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  224. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  225. data/rbi/sentdm/models/payment_details.rbi +0 -59
  226. data/rbi/sentdm/models/profile_detail.rbi +0 -874
  227. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  228. data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +0 -83
  229. data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
  230. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -148
  231. data/rbi/sentdm/models/profiles/messaging_use_case_us.rbi +0 -73
  232. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +0 -51
  233. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -410
  234. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +0 -56
  235. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +0 -76
  236. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +0 -72
  237. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +0 -104
  238. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +0 -57
  239. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +0 -59
  240. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +0 -180
  241. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +0 -95
  242. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +0 -81
  243. data/rbi/sentdm/models/tcr_brand_relationship.rbi +0 -30
  244. data/rbi/sentdm/models/tcr_vertical.rbi +0 -41
  245. data/rbi/sentdm/models/template.rbi +0 -129
  246. data/rbi/sentdm/models/template_body_content.rbi +0 -43
  247. data/rbi/sentdm/models/template_definition.rbi +0 -164
  248. data/rbi/sentdm/models/template_variable.rbi +0 -120
  249. data/rbi/sentdm/models/user_response.rbi +0 -118
  250. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  251. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  252. data/sig/sentdm/models/api_meta.rbs +0 -27
  253. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  254. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  255. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  256. data/sig/sentdm/models/api_response_template.rbs +0 -39
  257. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  258. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  259. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  260. data/sig/sentdm/models/contact_response.rbs +0 -116
  261. data/sig/sentdm/models/destination_country.rbs +0 -19
  262. data/sig/sentdm/models/error_detail.rbs +0 -39
  263. data/sig/sentdm/models/mutation_request.rbs +0 -15
  264. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  265. data/sig/sentdm/models/payment_details.rbs +0 -30
  266. data/sig/sentdm/models/profile_detail.rbs +0 -474
  267. data/sig/sentdm/models/profile_settings.rbs +0 -50
  268. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +0 -41
  269. data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
  270. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -82
  271. data/sig/sentdm/models/profiles/messaging_use_case_us.rbs +0 -40
  272. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +0 -27
  273. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -285
  274. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +0 -24
  275. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +0 -30
  276. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
  277. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +0 -75
  278. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +0 -30
  279. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +0 -30
  280. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +0 -89
  281. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +0 -55
  282. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +0 -45
  283. data/sig/sentdm/models/tcr_brand_relationship.rbs +0 -22
  284. data/sig/sentdm/models/tcr_vertical.rbs +0 -58
  285. data/sig/sentdm/models/template.rbs +0 -79
  286. data/sig/sentdm/models/template_body_content.rbs +0 -30
  287. data/sig/sentdm/models/template_definition.rbs +0 -45
  288. data/sig/sentdm/models/template_variable.rbs +0 -84
  289. data/sig/sentdm/models/user_response.rbs +0 -72
  290. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  291. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -0,0 +1,814 @@
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
+ # The response data (null if error)
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
+ # The response data (null if error)
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
+ # Unique identifier
130
+ sig { returns(T.nilable(String)) }
131
+ attr_reader :id
132
+
133
+ sig { params(id: String).void }
134
+ attr_writer :id
135
+
136
+ sig { returns(T.nilable(Time)) }
137
+ attr_accessor :billed_date
138
+
139
+ sig { returns(T.nilable(String)) }
140
+ attr_accessor :brand_id
141
+
142
+ sig { returns(T.nilable(Float)) }
143
+ attr_accessor :cost
144
+
145
+ sig { returns(T.nilable(Time)) }
146
+ attr_reader :created_at
147
+
148
+ sig { params(created_at: Time).void }
149
+ attr_writer :created_at
150
+
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :csp_id
153
+
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :customer_id
156
+
157
+ sig { params(customer_id: String).void }
158
+ attr_writer :customer_id
159
+
160
+ sig { returns(T.nilable(T::Boolean)) }
161
+ attr_reader :dca_elections_complete
162
+
163
+ sig { params(dca_elections_complete: T::Boolean).void }
164
+ attr_writer :dca_elections_complete
165
+
166
+ sig { returns(T.nilable(Time)) }
167
+ attr_accessor :dca_elections_completed_at
168
+
169
+ sig { returns(T.nilable(String)) }
170
+ attr_reader :description
171
+
172
+ sig { params(description: String).void }
173
+ attr_writer :description
174
+
175
+ sig { returns(T.nilable(String)) }
176
+ attr_accessor :help_keywords
177
+
178
+ sig { returns(T.nilable(String)) }
179
+ attr_accessor :help_message
180
+
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :kyc_submission_form_id
183
+
184
+ sig { returns(T.nilable(String)) }
185
+ attr_accessor :message_flow
186
+
187
+ sig { returns(T.nilable(String)) }
188
+ attr_reader :name
189
+
190
+ sig { params(name: String).void }
191
+ attr_writer :name
192
+
193
+ sig { returns(T.nilable(String)) }
194
+ attr_accessor :optin_keywords
195
+
196
+ sig { returns(T.nilable(String)) }
197
+ attr_accessor :optin_message
198
+
199
+ sig { returns(T.nilable(String)) }
200
+ attr_accessor :optout_keywords
201
+
202
+ sig { returns(T.nilable(String)) }
203
+ attr_accessor :optout_message
204
+
205
+ sig { returns(T.nilable(String)) }
206
+ attr_accessor :privacy_policy_link
207
+
208
+ sig { returns(T.nilable(String)) }
209
+ attr_accessor :reseller_id
210
+
211
+ sig do
212
+ returns(
213
+ T.nilable(
214
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
215
+ )
216
+ )
217
+ end
218
+ attr_accessor :sharing_status
219
+
220
+ sig do
221
+ returns(
222
+ T.nilable(
223
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
224
+ )
225
+ )
226
+ end
227
+ attr_accessor :status
228
+
229
+ sig { returns(T.nilable(Time)) }
230
+ attr_accessor :submitted_at
231
+
232
+ sig { returns(T.nilable(T::Boolean)) }
233
+ attr_reader :submitted_to_tcr
234
+
235
+ sig { params(submitted_to_tcr: T::Boolean).void }
236
+ attr_writer :submitted_to_tcr
237
+
238
+ sig { returns(T.nilable(String)) }
239
+ attr_accessor :tcr_campaign_id
240
+
241
+ sig { returns(T.nilable(String)) }
242
+ attr_accessor :tcr_sync_error
243
+
244
+ sig { returns(T.nilable(String)) }
245
+ attr_accessor :telnyx_campaign_id
246
+
247
+ sig { returns(T.nilable(String)) }
248
+ attr_accessor :terms_and_conditions_link
249
+
250
+ sig { returns(T.nilable(String)) }
251
+ attr_reader :type
252
+
253
+ sig { params(type: String).void }
254
+ attr_writer :type
255
+
256
+ sig { returns(T.nilable(Time)) }
257
+ attr_accessor :updated_at
258
+
259
+ sig { returns(T.nilable(String)) }
260
+ attr_accessor :upstream_cnp_id
261
+
262
+ sig do
263
+ returns(
264
+ T.nilable(
265
+ T::Array[
266
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase
267
+ ]
268
+ )
269
+ )
270
+ end
271
+ attr_reader :use_cases
272
+
273
+ sig do
274
+ params(
275
+ use_cases:
276
+ T::Array[
277
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::OrHash
278
+ ]
279
+ ).void
280
+ end
281
+ attr_writer :use_cases
282
+
283
+ # The response data (null if error)
284
+ sig do
285
+ params(
286
+ id: String,
287
+ billed_date: T.nilable(Time),
288
+ brand_id: T.nilable(String),
289
+ cost: T.nilable(Float),
290
+ created_at: Time,
291
+ csp_id: T.nilable(String),
292
+ customer_id: String,
293
+ dca_elections_complete: T::Boolean,
294
+ dca_elections_completed_at: T.nilable(Time),
295
+ description: String,
296
+ help_keywords: T.nilable(String),
297
+ help_message: T.nilable(String),
298
+ kyc_submission_form_id: T.nilable(String),
299
+ message_flow: T.nilable(String),
300
+ name: String,
301
+ optin_keywords: T.nilable(String),
302
+ optin_message: T.nilable(String),
303
+ optout_keywords: T.nilable(String),
304
+ optout_message: T.nilable(String),
305
+ privacy_policy_link: T.nilable(String),
306
+ reseller_id: T.nilable(String),
307
+ sharing_status:
308
+ T.nilable(
309
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::OrSymbol
310
+ ),
311
+ status:
312
+ T.nilable(
313
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::OrSymbol
314
+ ),
315
+ submitted_at: T.nilable(Time),
316
+ submitted_to_tcr: T::Boolean,
317
+ tcr_campaign_id: T.nilable(String),
318
+ tcr_sync_error: T.nilable(String),
319
+ telnyx_campaign_id: T.nilable(String),
320
+ terms_and_conditions_link: T.nilable(String),
321
+ type: String,
322
+ updated_at: T.nilable(Time),
323
+ upstream_cnp_id: T.nilable(String),
324
+ use_cases:
325
+ T::Array[
326
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::OrHash
327
+ ]
328
+ ).returns(T.attached_class)
329
+ end
330
+ def self.new(
331
+ # Unique identifier
332
+ id: nil,
333
+ billed_date: nil,
334
+ brand_id: nil,
335
+ cost: nil,
336
+ created_at: nil,
337
+ csp_id: nil,
338
+ customer_id: nil,
339
+ dca_elections_complete: nil,
340
+ dca_elections_completed_at: nil,
341
+ description: nil,
342
+ help_keywords: nil,
343
+ help_message: nil,
344
+ kyc_submission_form_id: nil,
345
+ message_flow: nil,
346
+ name: nil,
347
+ optin_keywords: nil,
348
+ optin_message: nil,
349
+ optout_keywords: nil,
350
+ optout_message: nil,
351
+ privacy_policy_link: nil,
352
+ reseller_id: nil,
353
+ sharing_status: nil,
354
+ status: nil,
355
+ submitted_at: nil,
356
+ submitted_to_tcr: nil,
357
+ tcr_campaign_id: nil,
358
+ tcr_sync_error: nil,
359
+ telnyx_campaign_id: nil,
360
+ terms_and_conditions_link: nil,
361
+ type: nil,
362
+ updated_at: nil,
363
+ upstream_cnp_id: nil,
364
+ use_cases: nil
365
+ )
366
+ end
367
+
368
+ sig do
369
+ override.returns(
370
+ {
371
+ id: String,
372
+ billed_date: T.nilable(Time),
373
+ brand_id: T.nilable(String),
374
+ cost: T.nilable(Float),
375
+ created_at: Time,
376
+ csp_id: T.nilable(String),
377
+ customer_id: String,
378
+ dca_elections_complete: T::Boolean,
379
+ dca_elections_completed_at: T.nilable(Time),
380
+ description: String,
381
+ help_keywords: T.nilable(String),
382
+ help_message: T.nilable(String),
383
+ kyc_submission_form_id: T.nilable(String),
384
+ message_flow: T.nilable(String),
385
+ name: String,
386
+ optin_keywords: T.nilable(String),
387
+ optin_message: T.nilable(String),
388
+ optout_keywords: T.nilable(String),
389
+ optout_message: T.nilable(String),
390
+ privacy_policy_link: T.nilable(String),
391
+ reseller_id: T.nilable(String),
392
+ sharing_status:
393
+ T.nilable(
394
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
395
+ ),
396
+ status:
397
+ T.nilable(
398
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
399
+ ),
400
+ submitted_at: T.nilable(Time),
401
+ submitted_to_tcr: T::Boolean,
402
+ tcr_campaign_id: T.nilable(String),
403
+ tcr_sync_error: T.nilable(String),
404
+ telnyx_campaign_id: T.nilable(String),
405
+ terms_and_conditions_link: T.nilable(String),
406
+ type: String,
407
+ updated_at: T.nilable(Time),
408
+ upstream_cnp_id: T.nilable(String),
409
+ use_cases:
410
+ T::Array[
411
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase
412
+ ]
413
+ }
414
+ )
415
+ end
416
+ def to_hash
417
+ end
418
+
419
+ module SharingStatus
420
+ extend Sentdm::Internal::Type::Enum
421
+
422
+ TaggedSymbol =
423
+ T.type_alias do
424
+ T.all(
425
+ Symbol,
426
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus
427
+ )
428
+ end
429
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
430
+
431
+ PENDING =
432
+ T.let(
433
+ :PENDING,
434
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
435
+ )
436
+ ACCEPTED =
437
+ T.let(
438
+ :ACCEPTED,
439
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
440
+ )
441
+ DECLINED =
442
+ T.let(
443
+ :DECLINED,
444
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
445
+ )
446
+
447
+ sig do
448
+ override.returns(
449
+ T::Array[
450
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::SharingStatus::TaggedSymbol
451
+ ]
452
+ )
453
+ end
454
+ def self.values
455
+ end
456
+ end
457
+
458
+ module Status
459
+ extend Sentdm::Internal::Type::Enum
460
+
461
+ TaggedSymbol =
462
+ T.type_alias do
463
+ T.all(
464
+ Symbol,
465
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status
466
+ )
467
+ end
468
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
469
+
470
+ SENT_CREATED =
471
+ T.let(
472
+ :SENT_CREATED,
473
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
474
+ )
475
+ ACTIVE =
476
+ T.let(
477
+ :ACTIVE,
478
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
479
+ )
480
+ EXPIRED =
481
+ T.let(
482
+ :EXPIRED,
483
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
484
+ )
485
+
486
+ sig do
487
+ override.returns(
488
+ T::Array[
489
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status::TaggedSymbol
490
+ ]
491
+ )
492
+ end
493
+ def self.values
494
+ end
495
+ end
496
+
497
+ class UseCase < Sentdm::Internal::Type::BaseModel
498
+ OrHash =
499
+ T.type_alias do
500
+ T.any(
501
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase,
502
+ Sentdm::Internal::AnyHash
503
+ )
504
+ end
505
+
506
+ # Unique identifier
507
+ sig { returns(T.nilable(String)) }
508
+ attr_reader :id
509
+
510
+ sig { params(id: String).void }
511
+ attr_writer :id
512
+
513
+ sig { returns(T.nilable(String)) }
514
+ attr_reader :campaign_id
515
+
516
+ sig { params(campaign_id: String).void }
517
+ attr_writer :campaign_id
518
+
519
+ sig { returns(T.nilable(Time)) }
520
+ attr_reader :created_at
521
+
522
+ sig { params(created_at: Time).void }
523
+ attr_writer :created_at
524
+
525
+ sig { returns(T.nilable(String)) }
526
+ attr_reader :customer_id
527
+
528
+ sig { params(customer_id: String).void }
529
+ attr_writer :customer_id
530
+
531
+ sig do
532
+ returns(
533
+ T.nilable(
534
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
535
+ )
536
+ )
537
+ end
538
+ attr_reader :messaging_use_case_us
539
+
540
+ sig do
541
+ params(
542
+ messaging_use_case_us:
543
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::OrSymbol
544
+ ).void
545
+ end
546
+ attr_writer :messaging_use_case_us
547
+
548
+ sig { returns(T.nilable(T::Array[String])) }
549
+ attr_reader :sample_messages
550
+
551
+ sig { params(sample_messages: T::Array[String]).void }
552
+ attr_writer :sample_messages
553
+
554
+ sig { returns(T.nilable(Time)) }
555
+ attr_accessor :updated_at
556
+
557
+ sig do
558
+ params(
559
+ id: String,
560
+ campaign_id: String,
561
+ created_at: Time,
562
+ customer_id: String,
563
+ messaging_use_case_us:
564
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::OrSymbol,
565
+ sample_messages: T::Array[String],
566
+ updated_at: T.nilable(Time)
567
+ ).returns(T.attached_class)
568
+ end
569
+ def self.new(
570
+ # Unique identifier
571
+ id: nil,
572
+ campaign_id: nil,
573
+ created_at: nil,
574
+ customer_id: nil,
575
+ messaging_use_case_us: nil,
576
+ sample_messages: nil,
577
+ updated_at: nil
578
+ )
579
+ end
580
+
581
+ sig do
582
+ override.returns(
583
+ {
584
+ id: String,
585
+ campaign_id: String,
586
+ created_at: Time,
587
+ customer_id: String,
588
+ messaging_use_case_us:
589
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol,
590
+ sample_messages: T::Array[String],
591
+ updated_at: T.nilable(Time)
592
+ }
593
+ )
594
+ end
595
+ def to_hash
596
+ end
597
+
598
+ module MessagingUseCaseUs
599
+ extend Sentdm::Internal::Type::Enum
600
+
601
+ TaggedSymbol =
602
+ T.type_alias do
603
+ T.all(
604
+ Symbol,
605
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs
606
+ )
607
+ end
608
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
609
+
610
+ MARKETING =
611
+ T.let(
612
+ :MARKETING,
613
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
614
+ )
615
+ ACCOUNT_NOTIFICATION =
616
+ T.let(
617
+ :ACCOUNT_NOTIFICATION,
618
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
619
+ )
620
+ CUSTOMER_CARE =
621
+ T.let(
622
+ :CUSTOMER_CARE,
623
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
624
+ )
625
+ FRAUD_ALERT =
626
+ T.let(
627
+ :FRAUD_ALERT,
628
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
629
+ )
630
+ TWO_FA =
631
+ T.let(
632
+ :TWO_FA,
633
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
634
+ )
635
+ DELIVERY_NOTIFICATION =
636
+ T.let(
637
+ :DELIVERY_NOTIFICATION,
638
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
639
+ )
640
+ SECURITY_ALERT =
641
+ T.let(
642
+ :SECURITY_ALERT,
643
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
644
+ )
645
+ M2_M =
646
+ T.let(
647
+ :M2M,
648
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
649
+ )
650
+ MIXED =
651
+ T.let(
652
+ :MIXED,
653
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
654
+ )
655
+ HIGHER_EDUCATION =
656
+ T.let(
657
+ :HIGHER_EDUCATION,
658
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
659
+ )
660
+ POLLING_VOTING =
661
+ T.let(
662
+ :POLLING_VOTING,
663
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
664
+ )
665
+ PUBLIC_SERVICE_ANNOUNCEMENT =
666
+ T.let(
667
+ :PUBLIC_SERVICE_ANNOUNCEMENT,
668
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
669
+ )
670
+ LOW_VOLUME =
671
+ T.let(
672
+ :LOW_VOLUME,
673
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
674
+ )
675
+
676
+ sig do
677
+ override.returns(
678
+ T::Array[
679
+ Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase::MessagingUseCaseUs::TaggedSymbol
680
+ ]
681
+ )
682
+ end
683
+ def self.values
684
+ end
685
+ end
686
+ end
687
+ end
688
+
689
+ class Error < Sentdm::Internal::Type::BaseModel
690
+ OrHash =
691
+ T.type_alias do
692
+ T.any(
693
+ Sentdm::Models::Profiles::CampaignCreateResponse::Error,
694
+ Sentdm::Internal::AnyHash
695
+ )
696
+ end
697
+
698
+ # Machine-readable error code (e.g., "RESOURCE_001")
699
+ sig { returns(T.nilable(String)) }
700
+ attr_reader :code
701
+
702
+ sig { params(code: String).void }
703
+ attr_writer :code
704
+
705
+ # Additional validation error details (field-level errors)
706
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
707
+ attr_accessor :details
708
+
709
+ # URL to documentation about this error
710
+ sig { returns(T.nilable(String)) }
711
+ attr_accessor :doc_url
712
+
713
+ # Human-readable error message
714
+ sig { returns(T.nilable(String)) }
715
+ attr_reader :message
716
+
717
+ sig { params(message: String).void }
718
+ attr_writer :message
719
+
720
+ # Error information
721
+ sig do
722
+ params(
723
+ code: String,
724
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
725
+ doc_url: T.nilable(String),
726
+ message: String
727
+ ).returns(T.attached_class)
728
+ end
729
+ def self.new(
730
+ # Machine-readable error code (e.g., "RESOURCE_001")
731
+ code: nil,
732
+ # Additional validation error details (field-level errors)
733
+ details: nil,
734
+ # URL to documentation about this error
735
+ doc_url: nil,
736
+ # Human-readable error message
737
+ message: nil
738
+ )
739
+ end
740
+
741
+ sig do
742
+ override.returns(
743
+ {
744
+ code: String,
745
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
746
+ doc_url: T.nilable(String),
747
+ message: String
748
+ }
749
+ )
750
+ end
751
+ def to_hash
752
+ end
753
+ end
754
+
755
+ class Meta < Sentdm::Internal::Type::BaseModel
756
+ OrHash =
757
+ T.type_alias do
758
+ T.any(
759
+ Sentdm::Models::Profiles::CampaignCreateResponse::Meta,
760
+ Sentdm::Internal::AnyHash
761
+ )
762
+ end
763
+
764
+ # Unique identifier for this request (for tracing and support)
765
+ sig { returns(T.nilable(String)) }
766
+ attr_reader :request_id
767
+
768
+ sig { params(request_id: String).void }
769
+ attr_writer :request_id
770
+
771
+ # Server timestamp when the response was generated
772
+ sig { returns(T.nilable(Time)) }
773
+ attr_reader :timestamp
774
+
775
+ sig { params(timestamp: Time).void }
776
+ attr_writer :timestamp
777
+
778
+ # API version used for this request
779
+ sig { returns(T.nilable(String)) }
780
+ attr_reader :version
781
+
782
+ sig { params(version: String).void }
783
+ attr_writer :version
784
+
785
+ # Request and response metadata
786
+ sig do
787
+ params(
788
+ request_id: String,
789
+ timestamp: Time,
790
+ version: String
791
+ ).returns(T.attached_class)
792
+ end
793
+ def self.new(
794
+ # Unique identifier for this request (for tracing and support)
795
+ request_id: nil,
796
+ # Server timestamp when the response was generated
797
+ timestamp: nil,
798
+ # API version used for this request
799
+ version: nil
800
+ )
801
+ end
802
+
803
+ sig do
804
+ override.returns(
805
+ { request_id: String, timestamp: Time, version: String }
806
+ )
807
+ end
808
+ def to_hash
809
+ end
810
+ end
811
+ end
812
+ end
813
+ end
814
+ end