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
@@ -20,11 +20,14 @@ module Sentdm
20
20
 
21
21
  # Complete definition of a message template including header, body, footer, and
22
22
  # buttons
23
- sig { returns(T.nilable(Sentdm::TemplateDefinition)) }
23
+ sig { returns(T.nilable(Sentdm::TemplateUpdateParams::Definition)) }
24
24
  attr_reader :definition
25
25
 
26
26
  sig do
27
- params(definition: T.nilable(Sentdm::TemplateDefinition::OrHash)).void
27
+ params(
28
+ definition:
29
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::OrHash)
30
+ ).void
28
31
  end
29
32
  attr_writer :definition
30
33
 
@@ -67,7 +70,8 @@ module Sentdm
67
70
  params(
68
71
  id: String,
69
72
  category: T.nilable(String),
70
- definition: T.nilable(Sentdm::TemplateDefinition::OrHash),
73
+ definition:
74
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::OrHash),
71
75
  language: T.nilable(String),
72
76
  name: T.nilable(String),
73
77
  sandbox: T::Boolean,
@@ -104,7 +108,7 @@ module Sentdm
104
108
  {
105
109
  id: String,
106
110
  category: T.nilable(String),
107
- definition: T.nilable(Sentdm::TemplateDefinition),
111
+ definition: T.nilable(Sentdm::TemplateUpdateParams::Definition),
108
112
  language: T.nilable(String),
109
113
  name: T.nilable(String),
110
114
  sandbox: T::Boolean,
@@ -117,6 +121,1699 @@ module Sentdm
117
121
  end
118
122
  def to_hash
119
123
  end
124
+
125
+ class Definition < Sentdm::Internal::Type::BaseModel
126
+ OrHash =
127
+ T.type_alias do
128
+ T.any(
129
+ Sentdm::TemplateUpdateParams::Definition,
130
+ Sentdm::Internal::AnyHash
131
+ )
132
+ end
133
+
134
+ # Body section of a message template with channel-specific content
135
+ sig { returns(Sentdm::TemplateUpdateParams::Definition::Body) }
136
+ attr_reader :body
137
+
138
+ sig do
139
+ params(
140
+ body: Sentdm::TemplateUpdateParams::Definition::Body::OrHash
141
+ ).void
142
+ end
143
+ attr_writer :body
144
+
145
+ # Configuration for AUTHENTICATION category templates
146
+ sig do
147
+ returns(
148
+ T.nilable(
149
+ Sentdm::TemplateUpdateParams::Definition::AuthenticationConfig
150
+ )
151
+ )
152
+ end
153
+ attr_reader :authentication_config
154
+
155
+ sig do
156
+ params(
157
+ authentication_config:
158
+ T.nilable(
159
+ Sentdm::TemplateUpdateParams::Definition::AuthenticationConfig::OrHash
160
+ )
161
+ ).void
162
+ end
163
+ attr_writer :authentication_config
164
+
165
+ # Optional list of interactive buttons (e.g., quick replies, URLs, phone numbers)
166
+ sig do
167
+ returns(
168
+ T.nilable(
169
+ T::Array[Sentdm::TemplateUpdateParams::Definition::Button]
170
+ )
171
+ )
172
+ end
173
+ attr_accessor :buttons
174
+
175
+ # The version of the template definition format
176
+ sig { returns(T.nilable(String)) }
177
+ attr_accessor :definition_version
178
+
179
+ # Footer section of a message template
180
+ sig do
181
+ returns(T.nilable(Sentdm::TemplateUpdateParams::Definition::Footer))
182
+ end
183
+ attr_reader :footer
184
+
185
+ sig do
186
+ params(
187
+ footer:
188
+ T.nilable(
189
+ Sentdm::TemplateUpdateParams::Definition::Footer::OrHash
190
+ )
191
+ ).void
192
+ end
193
+ attr_writer :footer
194
+
195
+ # Header section of a message template
196
+ sig do
197
+ returns(T.nilable(Sentdm::TemplateUpdateParams::Definition::Header))
198
+ end
199
+ attr_reader :header
200
+
201
+ sig do
202
+ params(
203
+ header:
204
+ T.nilable(
205
+ Sentdm::TemplateUpdateParams::Definition::Header::OrHash
206
+ )
207
+ ).void
208
+ end
209
+ attr_writer :header
210
+
211
+ # Complete definition of a message template including header, body, footer, and
212
+ # buttons
213
+ sig do
214
+ params(
215
+ body: Sentdm::TemplateUpdateParams::Definition::Body::OrHash,
216
+ authentication_config:
217
+ T.nilable(
218
+ Sentdm::TemplateUpdateParams::Definition::AuthenticationConfig::OrHash
219
+ ),
220
+ buttons:
221
+ T.nilable(
222
+ T::Array[
223
+ Sentdm::TemplateUpdateParams::Definition::Button::OrHash
224
+ ]
225
+ ),
226
+ definition_version: T.nilable(String),
227
+ footer:
228
+ T.nilable(
229
+ Sentdm::TemplateUpdateParams::Definition::Footer::OrHash
230
+ ),
231
+ header:
232
+ T.nilable(
233
+ Sentdm::TemplateUpdateParams::Definition::Header::OrHash
234
+ )
235
+ ).returns(T.attached_class)
236
+ end
237
+ def self.new(
238
+ # Body section of a message template with channel-specific content
239
+ body:,
240
+ # Configuration for AUTHENTICATION category templates
241
+ authentication_config: nil,
242
+ # Optional list of interactive buttons (e.g., quick replies, URLs, phone numbers)
243
+ buttons: nil,
244
+ # The version of the template definition format
245
+ definition_version: nil,
246
+ # Footer section of a message template
247
+ footer: nil,
248
+ # Header section of a message template
249
+ header: nil
250
+ )
251
+ end
252
+
253
+ sig do
254
+ override.returns(
255
+ {
256
+ body: Sentdm::TemplateUpdateParams::Definition::Body,
257
+ authentication_config:
258
+ T.nilable(
259
+ Sentdm::TemplateUpdateParams::Definition::AuthenticationConfig
260
+ ),
261
+ buttons:
262
+ T.nilable(
263
+ T::Array[Sentdm::TemplateUpdateParams::Definition::Button]
264
+ ),
265
+ definition_version: T.nilable(String),
266
+ footer:
267
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::Footer),
268
+ header:
269
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::Header)
270
+ }
271
+ )
272
+ end
273
+ def to_hash
274
+ end
275
+
276
+ class Body < Sentdm::Internal::Type::BaseModel
277
+ OrHash =
278
+ T.type_alias do
279
+ T.any(
280
+ Sentdm::TemplateUpdateParams::Definition::Body,
281
+ Sentdm::Internal::AnyHash
282
+ )
283
+ end
284
+
285
+ # Content that will be used for all channels (SMS and WhatsApp) unless
286
+ # channel-specific content is provided
287
+ sig do
288
+ returns(
289
+ T.nilable(
290
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel
291
+ )
292
+ )
293
+ end
294
+ attr_reader :multi_channel
295
+
296
+ sig do
297
+ params(
298
+ multi_channel:
299
+ T.nilable(
300
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::OrHash
301
+ )
302
+ ).void
303
+ end
304
+ attr_writer :multi_channel
305
+
306
+ # RCS-specific content that overrides multi-channel content for RCS messages
307
+ sig do
308
+ returns(
309
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::Body::Rcs)
310
+ )
311
+ end
312
+ attr_reader :rcs
313
+
314
+ sig do
315
+ params(
316
+ rcs:
317
+ T.nilable(
318
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::OrHash
319
+ )
320
+ ).void
321
+ end
322
+ attr_writer :rcs
323
+
324
+ # SMS-specific content that overrides multi-channel content for SMS messages
325
+ sig do
326
+ returns(
327
+ T.nilable(Sentdm::TemplateUpdateParams::Definition::Body::SMS)
328
+ )
329
+ end
330
+ attr_reader :sms
331
+
332
+ sig do
333
+ params(
334
+ sms:
335
+ T.nilable(
336
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::OrHash
337
+ )
338
+ ).void
339
+ end
340
+ attr_writer :sms
341
+
342
+ # WhatsApp-specific content that overrides multi-channel content for WhatsApp
343
+ # messages
344
+ sig do
345
+ returns(
346
+ T.nilable(
347
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp
348
+ )
349
+ )
350
+ end
351
+ attr_reader :whatsapp
352
+
353
+ sig do
354
+ params(
355
+ whatsapp:
356
+ T.nilable(
357
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::OrHash
358
+ )
359
+ ).void
360
+ end
361
+ attr_writer :whatsapp
362
+
363
+ # Body section of a message template with channel-specific content
364
+ sig do
365
+ params(
366
+ multi_channel:
367
+ T.nilable(
368
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::OrHash
369
+ ),
370
+ rcs:
371
+ T.nilable(
372
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::OrHash
373
+ ),
374
+ sms:
375
+ T.nilable(
376
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::OrHash
377
+ ),
378
+ whatsapp:
379
+ T.nilable(
380
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::OrHash
381
+ )
382
+ ).returns(T.attached_class)
383
+ end
384
+ def self.new(
385
+ # Content that will be used for all channels (SMS and WhatsApp) unless
386
+ # channel-specific content is provided
387
+ multi_channel: nil,
388
+ # RCS-specific content that overrides multi-channel content for RCS messages
389
+ rcs: nil,
390
+ # SMS-specific content that overrides multi-channel content for SMS messages
391
+ sms: nil,
392
+ # WhatsApp-specific content that overrides multi-channel content for WhatsApp
393
+ # messages
394
+ whatsapp: nil
395
+ )
396
+ end
397
+
398
+ sig do
399
+ override.returns(
400
+ {
401
+ multi_channel:
402
+ T.nilable(
403
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel
404
+ ),
405
+ rcs:
406
+ T.nilable(
407
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs
408
+ ),
409
+ sms:
410
+ T.nilable(
411
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS
412
+ ),
413
+ whatsapp:
414
+ T.nilable(
415
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp
416
+ )
417
+ }
418
+ )
419
+ end
420
+ def to_hash
421
+ end
422
+
423
+ class MultiChannel < Sentdm::Internal::Type::BaseModel
424
+ OrHash =
425
+ T.type_alias do
426
+ T.any(
427
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel,
428
+ Sentdm::Internal::AnyHash
429
+ )
430
+ end
431
+
432
+ sig { returns(String) }
433
+ attr_accessor :template
434
+
435
+ sig { returns(T.nilable(String)) }
436
+ attr_accessor :type
437
+
438
+ sig do
439
+ returns(
440
+ T.nilable(
441
+ T::Array[
442
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable
443
+ ]
444
+ )
445
+ )
446
+ end
447
+ attr_accessor :variables
448
+
449
+ # Content that will be used for all channels (SMS and WhatsApp) unless
450
+ # channel-specific content is provided
451
+ sig do
452
+ params(
453
+ template: String,
454
+ type: T.nilable(String),
455
+ variables:
456
+ T.nilable(
457
+ T::Array[
458
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::OrHash
459
+ ]
460
+ )
461
+ ).returns(T.attached_class)
462
+ end
463
+ def self.new(template:, type: nil, variables: nil)
464
+ end
465
+
466
+ sig do
467
+ override.returns(
468
+ {
469
+ template: String,
470
+ type: T.nilable(String),
471
+ variables:
472
+ T.nilable(
473
+ T::Array[
474
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable
475
+ ]
476
+ )
477
+ }
478
+ )
479
+ end
480
+ def to_hash
481
+ end
482
+
483
+ class Variable < Sentdm::Internal::Type::BaseModel
484
+ OrHash =
485
+ T.type_alias do
486
+ T.any(
487
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable,
488
+ Sentdm::Internal::AnyHash
489
+ )
490
+ end
491
+
492
+ sig { returns(String) }
493
+ attr_accessor :name
494
+
495
+ sig do
496
+ returns(
497
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::Props
498
+ )
499
+ end
500
+ attr_reader :props
501
+
502
+ sig do
503
+ params(
504
+ props:
505
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::Props::OrHash
506
+ ).void
507
+ end
508
+ attr_writer :props
509
+
510
+ sig { returns(String) }
511
+ attr_accessor :type
512
+
513
+ sig { returns(T.nilable(Integer)) }
514
+ attr_reader :id
515
+
516
+ sig { params(id: Integer).void }
517
+ attr_writer :id
518
+
519
+ sig do
520
+ params(
521
+ name: String,
522
+ props:
523
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::Props::OrHash,
524
+ type: String,
525
+ id: Integer
526
+ ).returns(T.attached_class)
527
+ end
528
+ def self.new(name:, props:, type:, id: nil)
529
+ end
530
+
531
+ sig do
532
+ override.returns(
533
+ {
534
+ name: String,
535
+ props:
536
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::Props,
537
+ type: String,
538
+ id: Integer
539
+ }
540
+ )
541
+ end
542
+ def to_hash
543
+ end
544
+
545
+ class Props < Sentdm::Internal::Type::BaseModel
546
+ OrHash =
547
+ T.type_alias do
548
+ T.any(
549
+ Sentdm::TemplateUpdateParams::Definition::Body::MultiChannel::Variable::Props,
550
+ Sentdm::Internal::AnyHash
551
+ )
552
+ end
553
+
554
+ sig { returns(String) }
555
+ attr_accessor :media_type
556
+
557
+ sig { returns(String) }
558
+ attr_accessor :sample
559
+
560
+ sig { returns(String) }
561
+ attr_accessor :url
562
+
563
+ sig { returns(String) }
564
+ attr_accessor :variable_type
565
+
566
+ sig { returns(T.nilable(String)) }
567
+ attr_accessor :alt
568
+
569
+ sig { returns(T.nilable(String)) }
570
+ attr_accessor :regex
571
+
572
+ sig { returns(T.nilable(String)) }
573
+ attr_accessor :short_url
574
+
575
+ sig do
576
+ params(
577
+ media_type: String,
578
+ sample: String,
579
+ url: String,
580
+ variable_type: String,
581
+ alt: T.nilable(String),
582
+ regex: T.nilable(String),
583
+ short_url: T.nilable(String)
584
+ ).returns(T.attached_class)
585
+ end
586
+ def self.new(
587
+ media_type:,
588
+ sample:,
589
+ url:,
590
+ variable_type:,
591
+ alt: nil,
592
+ regex: nil,
593
+ short_url: nil
594
+ )
595
+ end
596
+
597
+ sig do
598
+ override.returns(
599
+ {
600
+ media_type: String,
601
+ sample: String,
602
+ url: String,
603
+ variable_type: String,
604
+ alt: T.nilable(String),
605
+ regex: T.nilable(String),
606
+ short_url: T.nilable(String)
607
+ }
608
+ )
609
+ end
610
+ def to_hash
611
+ end
612
+ end
613
+ end
614
+ end
615
+
616
+ class Rcs < Sentdm::Internal::Type::BaseModel
617
+ OrHash =
618
+ T.type_alias do
619
+ T.any(
620
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs,
621
+ Sentdm::Internal::AnyHash
622
+ )
623
+ end
624
+
625
+ sig { returns(String) }
626
+ attr_accessor :template
627
+
628
+ sig { returns(T.nilable(String)) }
629
+ attr_accessor :type
630
+
631
+ sig do
632
+ returns(
633
+ T.nilable(
634
+ T::Array[
635
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable
636
+ ]
637
+ )
638
+ )
639
+ end
640
+ attr_accessor :variables
641
+
642
+ # RCS-specific content that overrides multi-channel content for RCS messages
643
+ sig do
644
+ params(
645
+ template: String,
646
+ type: T.nilable(String),
647
+ variables:
648
+ T.nilable(
649
+ T::Array[
650
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::OrHash
651
+ ]
652
+ )
653
+ ).returns(T.attached_class)
654
+ end
655
+ def self.new(template:, type: nil, variables: nil)
656
+ end
657
+
658
+ sig do
659
+ override.returns(
660
+ {
661
+ template: String,
662
+ type: T.nilable(String),
663
+ variables:
664
+ T.nilable(
665
+ T::Array[
666
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable
667
+ ]
668
+ )
669
+ }
670
+ )
671
+ end
672
+ def to_hash
673
+ end
674
+
675
+ class Variable < Sentdm::Internal::Type::BaseModel
676
+ OrHash =
677
+ T.type_alias do
678
+ T.any(
679
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable,
680
+ Sentdm::Internal::AnyHash
681
+ )
682
+ end
683
+
684
+ sig { returns(String) }
685
+ attr_accessor :name
686
+
687
+ sig do
688
+ returns(
689
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::Props
690
+ )
691
+ end
692
+ attr_reader :props
693
+
694
+ sig do
695
+ params(
696
+ props:
697
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::Props::OrHash
698
+ ).void
699
+ end
700
+ attr_writer :props
701
+
702
+ sig { returns(String) }
703
+ attr_accessor :type
704
+
705
+ sig { returns(T.nilable(Integer)) }
706
+ attr_reader :id
707
+
708
+ sig { params(id: Integer).void }
709
+ attr_writer :id
710
+
711
+ sig do
712
+ params(
713
+ name: String,
714
+ props:
715
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::Props::OrHash,
716
+ type: String,
717
+ id: Integer
718
+ ).returns(T.attached_class)
719
+ end
720
+ def self.new(name:, props:, type:, id: nil)
721
+ end
722
+
723
+ sig do
724
+ override.returns(
725
+ {
726
+ name: String,
727
+ props:
728
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::Props,
729
+ type: String,
730
+ id: Integer
731
+ }
732
+ )
733
+ end
734
+ def to_hash
735
+ end
736
+
737
+ class Props < Sentdm::Internal::Type::BaseModel
738
+ OrHash =
739
+ T.type_alias do
740
+ T.any(
741
+ Sentdm::TemplateUpdateParams::Definition::Body::Rcs::Variable::Props,
742
+ Sentdm::Internal::AnyHash
743
+ )
744
+ end
745
+
746
+ sig { returns(String) }
747
+ attr_accessor :media_type
748
+
749
+ sig { returns(String) }
750
+ attr_accessor :sample
751
+
752
+ sig { returns(String) }
753
+ attr_accessor :url
754
+
755
+ sig { returns(String) }
756
+ attr_accessor :variable_type
757
+
758
+ sig { returns(T.nilable(String)) }
759
+ attr_accessor :alt
760
+
761
+ sig { returns(T.nilable(String)) }
762
+ attr_accessor :regex
763
+
764
+ sig { returns(T.nilable(String)) }
765
+ attr_accessor :short_url
766
+
767
+ sig do
768
+ params(
769
+ media_type: String,
770
+ sample: String,
771
+ url: String,
772
+ variable_type: String,
773
+ alt: T.nilable(String),
774
+ regex: T.nilable(String),
775
+ short_url: T.nilable(String)
776
+ ).returns(T.attached_class)
777
+ end
778
+ def self.new(
779
+ media_type:,
780
+ sample:,
781
+ url:,
782
+ variable_type:,
783
+ alt: nil,
784
+ regex: nil,
785
+ short_url: nil
786
+ )
787
+ end
788
+
789
+ sig do
790
+ override.returns(
791
+ {
792
+ media_type: String,
793
+ sample: String,
794
+ url: String,
795
+ variable_type: String,
796
+ alt: T.nilable(String),
797
+ regex: T.nilable(String),
798
+ short_url: T.nilable(String)
799
+ }
800
+ )
801
+ end
802
+ def to_hash
803
+ end
804
+ end
805
+ end
806
+ end
807
+
808
+ class SMS < Sentdm::Internal::Type::BaseModel
809
+ OrHash =
810
+ T.type_alias do
811
+ T.any(
812
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS,
813
+ Sentdm::Internal::AnyHash
814
+ )
815
+ end
816
+
817
+ sig { returns(String) }
818
+ attr_accessor :template
819
+
820
+ sig { returns(T.nilable(String)) }
821
+ attr_accessor :type
822
+
823
+ sig do
824
+ returns(
825
+ T.nilable(
826
+ T::Array[
827
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable
828
+ ]
829
+ )
830
+ )
831
+ end
832
+ attr_accessor :variables
833
+
834
+ # SMS-specific content that overrides multi-channel content for SMS messages
835
+ sig do
836
+ params(
837
+ template: String,
838
+ type: T.nilable(String),
839
+ variables:
840
+ T.nilable(
841
+ T::Array[
842
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::OrHash
843
+ ]
844
+ )
845
+ ).returns(T.attached_class)
846
+ end
847
+ def self.new(template:, type: nil, variables: nil)
848
+ end
849
+
850
+ sig do
851
+ override.returns(
852
+ {
853
+ template: String,
854
+ type: T.nilable(String),
855
+ variables:
856
+ T.nilable(
857
+ T::Array[
858
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable
859
+ ]
860
+ )
861
+ }
862
+ )
863
+ end
864
+ def to_hash
865
+ end
866
+
867
+ class Variable < Sentdm::Internal::Type::BaseModel
868
+ OrHash =
869
+ T.type_alias do
870
+ T.any(
871
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable,
872
+ Sentdm::Internal::AnyHash
873
+ )
874
+ end
875
+
876
+ sig { returns(String) }
877
+ attr_accessor :name
878
+
879
+ sig do
880
+ returns(
881
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::Props
882
+ )
883
+ end
884
+ attr_reader :props
885
+
886
+ sig do
887
+ params(
888
+ props:
889
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::Props::OrHash
890
+ ).void
891
+ end
892
+ attr_writer :props
893
+
894
+ sig { returns(String) }
895
+ attr_accessor :type
896
+
897
+ sig { returns(T.nilable(Integer)) }
898
+ attr_reader :id
899
+
900
+ sig { params(id: Integer).void }
901
+ attr_writer :id
902
+
903
+ sig do
904
+ params(
905
+ name: String,
906
+ props:
907
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::Props::OrHash,
908
+ type: String,
909
+ id: Integer
910
+ ).returns(T.attached_class)
911
+ end
912
+ def self.new(name:, props:, type:, id: nil)
913
+ end
914
+
915
+ sig do
916
+ override.returns(
917
+ {
918
+ name: String,
919
+ props:
920
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::Props,
921
+ type: String,
922
+ id: Integer
923
+ }
924
+ )
925
+ end
926
+ def to_hash
927
+ end
928
+
929
+ class Props < Sentdm::Internal::Type::BaseModel
930
+ OrHash =
931
+ T.type_alias do
932
+ T.any(
933
+ Sentdm::TemplateUpdateParams::Definition::Body::SMS::Variable::Props,
934
+ Sentdm::Internal::AnyHash
935
+ )
936
+ end
937
+
938
+ sig { returns(String) }
939
+ attr_accessor :media_type
940
+
941
+ sig { returns(String) }
942
+ attr_accessor :sample
943
+
944
+ sig { returns(String) }
945
+ attr_accessor :url
946
+
947
+ sig { returns(String) }
948
+ attr_accessor :variable_type
949
+
950
+ sig { returns(T.nilable(String)) }
951
+ attr_accessor :alt
952
+
953
+ sig { returns(T.nilable(String)) }
954
+ attr_accessor :regex
955
+
956
+ sig { returns(T.nilable(String)) }
957
+ attr_accessor :short_url
958
+
959
+ sig do
960
+ params(
961
+ media_type: String,
962
+ sample: String,
963
+ url: String,
964
+ variable_type: String,
965
+ alt: T.nilable(String),
966
+ regex: T.nilable(String),
967
+ short_url: T.nilable(String)
968
+ ).returns(T.attached_class)
969
+ end
970
+ def self.new(
971
+ media_type:,
972
+ sample:,
973
+ url:,
974
+ variable_type:,
975
+ alt: nil,
976
+ regex: nil,
977
+ short_url: nil
978
+ )
979
+ end
980
+
981
+ sig do
982
+ override.returns(
983
+ {
984
+ media_type: String,
985
+ sample: String,
986
+ url: String,
987
+ variable_type: String,
988
+ alt: T.nilable(String),
989
+ regex: T.nilable(String),
990
+ short_url: T.nilable(String)
991
+ }
992
+ )
993
+ end
994
+ def to_hash
995
+ end
996
+ end
997
+ end
998
+ end
999
+
1000
+ class Whatsapp < Sentdm::Internal::Type::BaseModel
1001
+ OrHash =
1002
+ T.type_alias do
1003
+ T.any(
1004
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp,
1005
+ Sentdm::Internal::AnyHash
1006
+ )
1007
+ end
1008
+
1009
+ sig { returns(String) }
1010
+ attr_accessor :template
1011
+
1012
+ sig { returns(T.nilable(String)) }
1013
+ attr_accessor :type
1014
+
1015
+ sig do
1016
+ returns(
1017
+ T.nilable(
1018
+ T::Array[
1019
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable
1020
+ ]
1021
+ )
1022
+ )
1023
+ end
1024
+ attr_accessor :variables
1025
+
1026
+ # WhatsApp-specific content that overrides multi-channel content for WhatsApp
1027
+ # messages
1028
+ sig do
1029
+ params(
1030
+ template: String,
1031
+ type: T.nilable(String),
1032
+ variables:
1033
+ T.nilable(
1034
+ T::Array[
1035
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::OrHash
1036
+ ]
1037
+ )
1038
+ ).returns(T.attached_class)
1039
+ end
1040
+ def self.new(template:, type: nil, variables: nil)
1041
+ end
1042
+
1043
+ sig do
1044
+ override.returns(
1045
+ {
1046
+ template: String,
1047
+ type: T.nilable(String),
1048
+ variables:
1049
+ T.nilable(
1050
+ T::Array[
1051
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable
1052
+ ]
1053
+ )
1054
+ }
1055
+ )
1056
+ end
1057
+ def to_hash
1058
+ end
1059
+
1060
+ class Variable < Sentdm::Internal::Type::BaseModel
1061
+ OrHash =
1062
+ T.type_alias do
1063
+ T.any(
1064
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable,
1065
+ Sentdm::Internal::AnyHash
1066
+ )
1067
+ end
1068
+
1069
+ sig { returns(String) }
1070
+ attr_accessor :name
1071
+
1072
+ sig do
1073
+ returns(
1074
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::Props
1075
+ )
1076
+ end
1077
+ attr_reader :props
1078
+
1079
+ sig do
1080
+ params(
1081
+ props:
1082
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::Props::OrHash
1083
+ ).void
1084
+ end
1085
+ attr_writer :props
1086
+
1087
+ sig { returns(String) }
1088
+ attr_accessor :type
1089
+
1090
+ sig { returns(T.nilable(Integer)) }
1091
+ attr_reader :id
1092
+
1093
+ sig { params(id: Integer).void }
1094
+ attr_writer :id
1095
+
1096
+ sig do
1097
+ params(
1098
+ name: String,
1099
+ props:
1100
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::Props::OrHash,
1101
+ type: String,
1102
+ id: Integer
1103
+ ).returns(T.attached_class)
1104
+ end
1105
+ def self.new(name:, props:, type:, id: nil)
1106
+ end
1107
+
1108
+ sig do
1109
+ override.returns(
1110
+ {
1111
+ name: String,
1112
+ props:
1113
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::Props,
1114
+ type: String,
1115
+ id: Integer
1116
+ }
1117
+ )
1118
+ end
1119
+ def to_hash
1120
+ end
1121
+
1122
+ class Props < Sentdm::Internal::Type::BaseModel
1123
+ OrHash =
1124
+ T.type_alias do
1125
+ T.any(
1126
+ Sentdm::TemplateUpdateParams::Definition::Body::Whatsapp::Variable::Props,
1127
+ Sentdm::Internal::AnyHash
1128
+ )
1129
+ end
1130
+
1131
+ sig { returns(String) }
1132
+ attr_accessor :media_type
1133
+
1134
+ sig { returns(String) }
1135
+ attr_accessor :sample
1136
+
1137
+ sig { returns(String) }
1138
+ attr_accessor :url
1139
+
1140
+ sig { returns(String) }
1141
+ attr_accessor :variable_type
1142
+
1143
+ sig { returns(T.nilable(String)) }
1144
+ attr_accessor :alt
1145
+
1146
+ sig { returns(T.nilable(String)) }
1147
+ attr_accessor :regex
1148
+
1149
+ sig { returns(T.nilable(String)) }
1150
+ attr_accessor :short_url
1151
+
1152
+ sig do
1153
+ params(
1154
+ media_type: String,
1155
+ sample: String,
1156
+ url: String,
1157
+ variable_type: String,
1158
+ alt: T.nilable(String),
1159
+ regex: T.nilable(String),
1160
+ short_url: T.nilable(String)
1161
+ ).returns(T.attached_class)
1162
+ end
1163
+ def self.new(
1164
+ media_type:,
1165
+ sample:,
1166
+ url:,
1167
+ variable_type:,
1168
+ alt: nil,
1169
+ regex: nil,
1170
+ short_url: nil
1171
+ )
1172
+ end
1173
+
1174
+ sig do
1175
+ override.returns(
1176
+ {
1177
+ media_type: String,
1178
+ sample: String,
1179
+ url: String,
1180
+ variable_type: String,
1181
+ alt: T.nilable(String),
1182
+ regex: T.nilable(String),
1183
+ short_url: T.nilable(String)
1184
+ }
1185
+ )
1186
+ end
1187
+ def to_hash
1188
+ end
1189
+ end
1190
+ end
1191
+ end
1192
+ end
1193
+
1194
+ class AuthenticationConfig < Sentdm::Internal::Type::BaseModel
1195
+ OrHash =
1196
+ T.type_alias do
1197
+ T.any(
1198
+ Sentdm::TemplateUpdateParams::Definition::AuthenticationConfig,
1199
+ Sentdm::Internal::AnyHash
1200
+ )
1201
+ end
1202
+
1203
+ # Whether to add the security recommendation text: "For your security, do not
1204
+ # share this code."
1205
+ sig { returns(T.nilable(T::Boolean)) }
1206
+ attr_reader :add_security_recommendation
1207
+
1208
+ sig { params(add_security_recommendation: T::Boolean).void }
1209
+ attr_writer :add_security_recommendation
1210
+
1211
+ # Code expiration time in minutes (1-90). If set, adds footer: "This code expires
1212
+ # in X minutes."
1213
+ sig { returns(T.nilable(Integer)) }
1214
+ attr_accessor :code_expiration_minutes
1215
+
1216
+ # Configuration for AUTHENTICATION category templates
1217
+ sig do
1218
+ params(
1219
+ add_security_recommendation: T::Boolean,
1220
+ code_expiration_minutes: T.nilable(Integer)
1221
+ ).returns(T.attached_class)
1222
+ end
1223
+ def self.new(
1224
+ # Whether to add the security recommendation text: "For your security, do not
1225
+ # share this code."
1226
+ add_security_recommendation: nil,
1227
+ # Code expiration time in minutes (1-90). If set, adds footer: "This code expires
1228
+ # in X minutes."
1229
+ code_expiration_minutes: nil
1230
+ )
1231
+ end
1232
+
1233
+ sig do
1234
+ override.returns(
1235
+ {
1236
+ add_security_recommendation: T::Boolean,
1237
+ code_expiration_minutes: T.nilable(Integer)
1238
+ }
1239
+ )
1240
+ end
1241
+ def to_hash
1242
+ end
1243
+ end
1244
+
1245
+ class Button < Sentdm::Internal::Type::BaseModel
1246
+ OrHash =
1247
+ T.type_alias do
1248
+ T.any(
1249
+ Sentdm::TemplateUpdateParams::Definition::Button,
1250
+ Sentdm::Internal::AnyHash
1251
+ )
1252
+ end
1253
+
1254
+ # Properties specific to the button type
1255
+ sig do
1256
+ returns(Sentdm::TemplateUpdateParams::Definition::Button::Props)
1257
+ end
1258
+ attr_reader :props
1259
+
1260
+ sig do
1261
+ params(
1262
+ props:
1263
+ Sentdm::TemplateUpdateParams::Definition::Button::Props::OrHash
1264
+ ).void
1265
+ end
1266
+ attr_writer :props
1267
+
1268
+ # The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
1269
+ sig { returns(String) }
1270
+ attr_accessor :type
1271
+
1272
+ # The unique identifier of the button (1-based index)
1273
+ sig { returns(T.nilable(Integer)) }
1274
+ attr_reader :id
1275
+
1276
+ sig { params(id: Integer).void }
1277
+ attr_writer :id
1278
+
1279
+ # Interactive button in a message template
1280
+ sig do
1281
+ params(
1282
+ props:
1283
+ Sentdm::TemplateUpdateParams::Definition::Button::Props::OrHash,
1284
+ type: String,
1285
+ id: Integer
1286
+ ).returns(T.attached_class)
1287
+ end
1288
+ def self.new(
1289
+ # Properties specific to the button type
1290
+ props:,
1291
+ # The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
1292
+ type:,
1293
+ # The unique identifier of the button (1-based index)
1294
+ id: nil
1295
+ )
1296
+ end
1297
+
1298
+ sig do
1299
+ override.returns(
1300
+ {
1301
+ props: Sentdm::TemplateUpdateParams::Definition::Button::Props,
1302
+ type: String,
1303
+ id: Integer
1304
+ }
1305
+ )
1306
+ end
1307
+ def to_hash
1308
+ end
1309
+
1310
+ class Props < Sentdm::Internal::Type::BaseModel
1311
+ OrHash =
1312
+ T.type_alias do
1313
+ T.any(
1314
+ Sentdm::TemplateUpdateParams::Definition::Button::Props,
1315
+ Sentdm::Internal::AnyHash
1316
+ )
1317
+ end
1318
+
1319
+ sig { returns(Integer) }
1320
+ attr_accessor :active_for
1321
+
1322
+ sig { returns(String) }
1323
+ attr_accessor :country_code
1324
+
1325
+ sig { returns(String) }
1326
+ attr_accessor :offer_code
1327
+
1328
+ sig { returns(String) }
1329
+ attr_accessor :phone_number
1330
+
1331
+ sig { returns(String) }
1332
+ attr_accessor :quick_reply_type
1333
+
1334
+ sig { returns(String) }
1335
+ attr_accessor :text
1336
+
1337
+ sig { returns(String) }
1338
+ attr_accessor :url
1339
+
1340
+ sig { returns(String) }
1341
+ attr_accessor :url_type
1342
+
1343
+ sig { returns(T.nilable(String)) }
1344
+ attr_accessor :autofill_text
1345
+
1346
+ sig { returns(T.nilable(String)) }
1347
+ attr_accessor :otp_type
1348
+
1349
+ sig { returns(T.nilable(String)) }
1350
+ attr_accessor :package_name
1351
+
1352
+ sig { returns(T.nilable(String)) }
1353
+ attr_accessor :signature_hash
1354
+
1355
+ # Properties specific to the button type
1356
+ sig do
1357
+ params(
1358
+ active_for: Integer,
1359
+ country_code: String,
1360
+ offer_code: String,
1361
+ phone_number: String,
1362
+ quick_reply_type: String,
1363
+ text: String,
1364
+ url: String,
1365
+ url_type: String,
1366
+ autofill_text: T.nilable(String),
1367
+ otp_type: T.nilable(String),
1368
+ package_name: T.nilable(String),
1369
+ signature_hash: T.nilable(String)
1370
+ ).returns(T.attached_class)
1371
+ end
1372
+ def self.new(
1373
+ active_for:,
1374
+ country_code:,
1375
+ offer_code:,
1376
+ phone_number:,
1377
+ quick_reply_type:,
1378
+ text:,
1379
+ url:,
1380
+ url_type:,
1381
+ autofill_text: nil,
1382
+ otp_type: nil,
1383
+ package_name: nil,
1384
+ signature_hash: nil
1385
+ )
1386
+ end
1387
+
1388
+ sig do
1389
+ override.returns(
1390
+ {
1391
+ active_for: Integer,
1392
+ country_code: String,
1393
+ offer_code: String,
1394
+ phone_number: String,
1395
+ quick_reply_type: String,
1396
+ text: String,
1397
+ url: String,
1398
+ url_type: String,
1399
+ autofill_text: T.nilable(String),
1400
+ otp_type: T.nilable(String),
1401
+ package_name: T.nilable(String),
1402
+ signature_hash: T.nilable(String)
1403
+ }
1404
+ )
1405
+ end
1406
+ def to_hash
1407
+ end
1408
+ end
1409
+ end
1410
+
1411
+ class Footer < Sentdm::Internal::Type::BaseModel
1412
+ OrHash =
1413
+ T.type_alias do
1414
+ T.any(
1415
+ Sentdm::TemplateUpdateParams::Definition::Footer,
1416
+ Sentdm::Internal::AnyHash
1417
+ )
1418
+ end
1419
+
1420
+ # The footer template text with optional variable placeholders
1421
+ sig { returns(String) }
1422
+ attr_accessor :template
1423
+
1424
+ # The type of footer (typically "text")
1425
+ sig { returns(T.nilable(String)) }
1426
+ attr_accessor :type
1427
+
1428
+ # List of variables used in the footer template
1429
+ sig do
1430
+ returns(
1431
+ T.nilable(
1432
+ T::Array[
1433
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable
1434
+ ]
1435
+ )
1436
+ )
1437
+ end
1438
+ attr_accessor :variables
1439
+
1440
+ # Footer section of a message template
1441
+ sig do
1442
+ params(
1443
+ template: String,
1444
+ type: T.nilable(String),
1445
+ variables:
1446
+ T.nilable(
1447
+ T::Array[
1448
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::OrHash
1449
+ ]
1450
+ )
1451
+ ).returns(T.attached_class)
1452
+ end
1453
+ def self.new(
1454
+ # The footer template text with optional variable placeholders
1455
+ template:,
1456
+ # The type of footer (typically "text")
1457
+ type: nil,
1458
+ # List of variables used in the footer template
1459
+ variables: nil
1460
+ )
1461
+ end
1462
+
1463
+ sig do
1464
+ override.returns(
1465
+ {
1466
+ template: String,
1467
+ type: T.nilable(String),
1468
+ variables:
1469
+ T.nilable(
1470
+ T::Array[
1471
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable
1472
+ ]
1473
+ )
1474
+ }
1475
+ )
1476
+ end
1477
+ def to_hash
1478
+ end
1479
+
1480
+ class Variable < Sentdm::Internal::Type::BaseModel
1481
+ OrHash =
1482
+ T.type_alias do
1483
+ T.any(
1484
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable,
1485
+ Sentdm::Internal::AnyHash
1486
+ )
1487
+ end
1488
+
1489
+ sig { returns(String) }
1490
+ attr_accessor :name
1491
+
1492
+ sig do
1493
+ returns(
1494
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::Props
1495
+ )
1496
+ end
1497
+ attr_reader :props
1498
+
1499
+ sig do
1500
+ params(
1501
+ props:
1502
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::Props::OrHash
1503
+ ).void
1504
+ end
1505
+ attr_writer :props
1506
+
1507
+ sig { returns(String) }
1508
+ attr_accessor :type
1509
+
1510
+ sig { returns(T.nilable(Integer)) }
1511
+ attr_reader :id
1512
+
1513
+ sig { params(id: Integer).void }
1514
+ attr_writer :id
1515
+
1516
+ sig do
1517
+ params(
1518
+ name: String,
1519
+ props:
1520
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::Props::OrHash,
1521
+ type: String,
1522
+ id: Integer
1523
+ ).returns(T.attached_class)
1524
+ end
1525
+ def self.new(name:, props:, type:, id: nil)
1526
+ end
1527
+
1528
+ sig do
1529
+ override.returns(
1530
+ {
1531
+ name: String,
1532
+ props:
1533
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::Props,
1534
+ type: String,
1535
+ id: Integer
1536
+ }
1537
+ )
1538
+ end
1539
+ def to_hash
1540
+ end
1541
+
1542
+ class Props < Sentdm::Internal::Type::BaseModel
1543
+ OrHash =
1544
+ T.type_alias do
1545
+ T.any(
1546
+ Sentdm::TemplateUpdateParams::Definition::Footer::Variable::Props,
1547
+ Sentdm::Internal::AnyHash
1548
+ )
1549
+ end
1550
+
1551
+ sig { returns(String) }
1552
+ attr_accessor :media_type
1553
+
1554
+ sig { returns(String) }
1555
+ attr_accessor :sample
1556
+
1557
+ sig { returns(String) }
1558
+ attr_accessor :url
1559
+
1560
+ sig { returns(String) }
1561
+ attr_accessor :variable_type
1562
+
1563
+ sig { returns(T.nilable(String)) }
1564
+ attr_accessor :alt
1565
+
1566
+ sig { returns(T.nilable(String)) }
1567
+ attr_accessor :regex
1568
+
1569
+ sig { returns(T.nilable(String)) }
1570
+ attr_accessor :short_url
1571
+
1572
+ sig do
1573
+ params(
1574
+ media_type: String,
1575
+ sample: String,
1576
+ url: String,
1577
+ variable_type: String,
1578
+ alt: T.nilable(String),
1579
+ regex: T.nilable(String),
1580
+ short_url: T.nilable(String)
1581
+ ).returns(T.attached_class)
1582
+ end
1583
+ def self.new(
1584
+ media_type:,
1585
+ sample:,
1586
+ url:,
1587
+ variable_type:,
1588
+ alt: nil,
1589
+ regex: nil,
1590
+ short_url: nil
1591
+ )
1592
+ end
1593
+
1594
+ sig do
1595
+ override.returns(
1596
+ {
1597
+ media_type: String,
1598
+ sample: String,
1599
+ url: String,
1600
+ variable_type: String,
1601
+ alt: T.nilable(String),
1602
+ regex: T.nilable(String),
1603
+ short_url: T.nilable(String)
1604
+ }
1605
+ )
1606
+ end
1607
+ def to_hash
1608
+ end
1609
+ end
1610
+ end
1611
+ end
1612
+
1613
+ class Header < Sentdm::Internal::Type::BaseModel
1614
+ OrHash =
1615
+ T.type_alias do
1616
+ T.any(
1617
+ Sentdm::TemplateUpdateParams::Definition::Header,
1618
+ Sentdm::Internal::AnyHash
1619
+ )
1620
+ end
1621
+
1622
+ # The header template text with optional variable placeholders (e.g., "Welcome to
1623
+ # {{0:variable}}")
1624
+ sig { returns(String) }
1625
+ attr_accessor :template
1626
+
1627
+ # The type of header (e.g., "text", "image", "video", "document")
1628
+ sig { returns(T.nilable(String)) }
1629
+ attr_accessor :type
1630
+
1631
+ # List of variables used in the header template
1632
+ sig do
1633
+ returns(
1634
+ T.nilable(
1635
+ T::Array[
1636
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable
1637
+ ]
1638
+ )
1639
+ )
1640
+ end
1641
+ attr_accessor :variables
1642
+
1643
+ # Header section of a message template
1644
+ sig do
1645
+ params(
1646
+ template: String,
1647
+ type: T.nilable(String),
1648
+ variables:
1649
+ T.nilable(
1650
+ T::Array[
1651
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::OrHash
1652
+ ]
1653
+ )
1654
+ ).returns(T.attached_class)
1655
+ end
1656
+ def self.new(
1657
+ # The header template text with optional variable placeholders (e.g., "Welcome to
1658
+ # {{0:variable}}")
1659
+ template:,
1660
+ # The type of header (e.g., "text", "image", "video", "document")
1661
+ type: nil,
1662
+ # List of variables used in the header template
1663
+ variables: nil
1664
+ )
1665
+ end
1666
+
1667
+ sig do
1668
+ override.returns(
1669
+ {
1670
+ template: String,
1671
+ type: T.nilable(String),
1672
+ variables:
1673
+ T.nilable(
1674
+ T::Array[
1675
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable
1676
+ ]
1677
+ )
1678
+ }
1679
+ )
1680
+ end
1681
+ def to_hash
1682
+ end
1683
+
1684
+ class Variable < Sentdm::Internal::Type::BaseModel
1685
+ OrHash =
1686
+ T.type_alias do
1687
+ T.any(
1688
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable,
1689
+ Sentdm::Internal::AnyHash
1690
+ )
1691
+ end
1692
+
1693
+ sig { returns(String) }
1694
+ attr_accessor :name
1695
+
1696
+ sig do
1697
+ returns(
1698
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::Props
1699
+ )
1700
+ end
1701
+ attr_reader :props
1702
+
1703
+ sig do
1704
+ params(
1705
+ props:
1706
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::Props::OrHash
1707
+ ).void
1708
+ end
1709
+ attr_writer :props
1710
+
1711
+ sig { returns(String) }
1712
+ attr_accessor :type
1713
+
1714
+ sig { returns(T.nilable(Integer)) }
1715
+ attr_reader :id
1716
+
1717
+ sig { params(id: Integer).void }
1718
+ attr_writer :id
1719
+
1720
+ sig do
1721
+ params(
1722
+ name: String,
1723
+ props:
1724
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::Props::OrHash,
1725
+ type: String,
1726
+ id: Integer
1727
+ ).returns(T.attached_class)
1728
+ end
1729
+ def self.new(name:, props:, type:, id: nil)
1730
+ end
1731
+
1732
+ sig do
1733
+ override.returns(
1734
+ {
1735
+ name: String,
1736
+ props:
1737
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::Props,
1738
+ type: String,
1739
+ id: Integer
1740
+ }
1741
+ )
1742
+ end
1743
+ def to_hash
1744
+ end
1745
+
1746
+ class Props < Sentdm::Internal::Type::BaseModel
1747
+ OrHash =
1748
+ T.type_alias do
1749
+ T.any(
1750
+ Sentdm::TemplateUpdateParams::Definition::Header::Variable::Props,
1751
+ Sentdm::Internal::AnyHash
1752
+ )
1753
+ end
1754
+
1755
+ sig { returns(String) }
1756
+ attr_accessor :media_type
1757
+
1758
+ sig { returns(String) }
1759
+ attr_accessor :sample
1760
+
1761
+ sig { returns(String) }
1762
+ attr_accessor :url
1763
+
1764
+ sig { returns(String) }
1765
+ attr_accessor :variable_type
1766
+
1767
+ sig { returns(T.nilable(String)) }
1768
+ attr_accessor :alt
1769
+
1770
+ sig { returns(T.nilable(String)) }
1771
+ attr_accessor :regex
1772
+
1773
+ sig { returns(T.nilable(String)) }
1774
+ attr_accessor :short_url
1775
+
1776
+ sig do
1777
+ params(
1778
+ media_type: String,
1779
+ sample: String,
1780
+ url: String,
1781
+ variable_type: String,
1782
+ alt: T.nilable(String),
1783
+ regex: T.nilable(String),
1784
+ short_url: T.nilable(String)
1785
+ ).returns(T.attached_class)
1786
+ end
1787
+ def self.new(
1788
+ media_type:,
1789
+ sample:,
1790
+ url:,
1791
+ variable_type:,
1792
+ alt: nil,
1793
+ regex: nil,
1794
+ short_url: nil
1795
+ )
1796
+ end
1797
+
1798
+ sig do
1799
+ override.returns(
1800
+ {
1801
+ media_type: String,
1802
+ sample: String,
1803
+ url: String,
1804
+ variable_type: String,
1805
+ alt: T.nilable(String),
1806
+ regex: T.nilable(String),
1807
+ short_url: T.nilable(String)
1808
+ }
1809
+ )
1810
+ end
1811
+ def to_hash
1812
+ end
1813
+ end
1814
+ end
1815
+ end
1816
+ end
120
1817
  end
121
1818
  end
122
1819
  end