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