sentdm 0.19.0 → 0.20.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +31 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/internal/type/enum.rb +25 -0
  6. data/lib/sentdm/models/api_meta.rb +34 -0
  7. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  8. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  10. data/lib/sentdm/models/api_response_template.rb +43 -0
  11. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  12. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  13. data/lib/sentdm/models/brands_brand_data.rb +38 -0
  14. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  15. data/lib/sentdm/models/contact_list_response.rb +12 -278
  16. data/lib/sentdm/models/contact_response.rb +126 -0
  17. data/lib/sentdm/models/destination_country.rb +21 -0
  18. data/lib/sentdm/models/error_detail.rb +42 -0
  19. data/lib/sentdm/models/me_retrieve_response.rb +12 -204
  20. data/lib/sentdm/models/message_retrieve_activities_response.rb +6 -74
  21. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  22. data/lib/sentdm/models/message_send_response.rb +6 -74
  23. data/lib/sentdm/models/mutation_request.rb +20 -0
  24. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  25. data/lib/sentdm/models/pagination_meta.rb +80 -0
  26. data/lib/sentdm/models/payment_details.rb +44 -0
  27. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  28. data/lib/sentdm/models/profile_create_params.rb +9 -423
  29. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  30. data/lib/sentdm/models/profile_detail.rb +605 -0
  31. data/lib/sentdm/models/profile_list_response.rb +9 -753
  32. data/lib/sentdm/models/profile_settings.rb +66 -0
  33. data/lib/sentdm/models/profile_update_params.rb +9 -423
  34. data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +45 -0
  35. data/lib/sentdm/models/profiles/base_dto.rb +32 -0
  36. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -165
  37. data/lib/sentdm/models/profiles/campaign_data.rb +123 -0
  38. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  39. data/lib/sentdm/models/profiles/campaign_list_response.rb +9 -420
  40. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -165
  41. data/lib/sentdm/models/profiles/messaging_use_case_us.rb +28 -0
  42. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +29 -0
  43. data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +248 -0
  44. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  45. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +48 -0
  46. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  47. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  48. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  49. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  50. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +116 -0
  51. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +75 -0
  52. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  53. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  54. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  55. data/lib/sentdm/models/template.rb +90 -0
  56. data/lib/sentdm/models/template_body_content.rb +27 -0
  57. data/lib/sentdm/models/template_create_params.rb +3 -889
  58. data/lib/sentdm/models/template_definition.rb +66 -0
  59. data/lib/sentdm/models/template_list_response.rb +12 -242
  60. data/lib/sentdm/models/template_update_params.rb +3 -889
  61. data/lib/sentdm/models/template_variable.rb +80 -0
  62. data/lib/sentdm/models/user_list_response.rb +9 -154
  63. data/lib/sentdm/models/user_remove_params.rb +2 -16
  64. data/lib/sentdm/models/user_response.rb +82 -0
  65. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  66. data/lib/sentdm/models/webhook_list_event_types_response.rb +9 -118
  67. data/lib/sentdm/models/webhook_list_events_response.rb +9 -153
  68. data/lib/sentdm/models/webhook_list_response.rb +12 -247
  69. data/lib/sentdm/models/webhook_response.rb +95 -0
  70. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  71. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  72. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  73. data/lib/sentdm/models.rb +77 -0
  74. data/lib/sentdm/resources/contacts.rb +6 -6
  75. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  76. data/lib/sentdm/resources/profiles.rb +12 -12
  77. data/lib/sentdm/resources/templates.rb +8 -8
  78. data/lib/sentdm/resources/users.rb +6 -6
  79. data/lib/sentdm/resources/webhooks.rb +8 -8
  80. data/lib/sentdm/version.rb +1 -1
  81. data/lib/sentdm.rb +40 -18
  82. data/rbi/sentdm/models/api_meta.rbi +55 -0
  83. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  84. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  85. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  87. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  88. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  89. data/rbi/sentdm/models/brands_brand_data.rbi +104 -0
  90. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  91. data/rbi/sentdm/models/contact_list_response.rbi +16 -505
  92. data/rbi/sentdm/models/contact_response.rbi +183 -0
  93. data/rbi/sentdm/models/destination_country.rbi +32 -0
  94. data/rbi/sentdm/models/error_detail.rbi +66 -0
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -335
  96. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +8 -154
  97. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  98. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  99. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  100. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  101. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  102. data/rbi/sentdm/models/payment_details.rbi +59 -0
  103. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  104. data/rbi/sentdm/models/profile_create_params.rbi +12 -810
  105. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  106. data/rbi/sentdm/models/profile_detail.rbi +874 -0
  107. data/rbi/sentdm/models/profile_list_response.rbi +14 -1400
  108. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  109. data/rbi/sentdm/models/profile_update_params.rbi +12 -810
  110. data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +83 -0
  111. data/rbi/sentdm/models/profiles/base_dto.rbi +53 -0
  112. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -289
  113. data/rbi/sentdm/models/profiles/campaign_data.rbi +148 -0
  114. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  115. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +11 -733
  116. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -289
  117. data/rbi/sentdm/models/profiles/messaging_use_case_us.rbi +73 -0
  118. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +51 -0
  119. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +425 -0
  120. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  121. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +87 -0
  122. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +72 -0
  123. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  124. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +57 -0
  125. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +59 -0
  126. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +180 -0
  127. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +95 -0
  128. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  129. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  130. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  131. data/rbi/sentdm/models/template.rbi +129 -0
  132. data/rbi/sentdm/models/template_body_content.rbi +43 -0
  133. data/rbi/sentdm/models/template_create_params.rbi +4 -1701
  134. data/rbi/sentdm/models/template_definition.rbi +164 -0
  135. data/rbi/sentdm/models/template_list_response.rbi +16 -454
  136. data/rbi/sentdm/models/template_update_params.rbi +4 -1701
  137. data/rbi/sentdm/models/template_variable.rbi +120 -0
  138. data/rbi/sentdm/models/user_list_response.rbi +14 -271
  139. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  140. data/rbi/sentdm/models/user_response.rbi +118 -0
  141. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  142. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +12 -247
  143. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  144. data/rbi/sentdm/models/webhook_list_response.rbi +16 -462
  145. data/rbi/sentdm/models/webhook_response.rbi +140 -0
  146. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  147. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  148. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  149. data/rbi/sentdm/models.rbi +77 -0
  150. data/rbi/sentdm/resources/contacts.rbi +3 -3
  151. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -4
  152. data/rbi/sentdm/resources/profiles.rbi +9 -13
  153. data/rbi/sentdm/resources/templates.rbi +5 -6
  154. data/rbi/sentdm/resources/users.rbi +3 -3
  155. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  160. data/sig/sentdm/models/api_response_template.rbs +39 -0
  161. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  162. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  163. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  164. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  165. data/sig/sentdm/models/contact_list_response.rbs +20 -256
  166. data/sig/sentdm/models/contact_response.rbs +111 -0
  167. data/sig/sentdm/models/destination_country.rbs +19 -0
  168. data/sig/sentdm/models/error_detail.rbs +39 -0
  169. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  170. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -71
  171. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  172. data/sig/sentdm/models/message_send_response.rbs +9 -71
  173. data/sig/sentdm/models/mutation_request.rbs +15 -0
  174. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  175. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  176. data/sig/sentdm/models/payment_details.rbs +30 -0
  177. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  178. data/sig/sentdm/models/profile_create_params.rbs +12 -363
  179. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  180. data/sig/sentdm/models/profile_detail.rbs +474 -0
  181. data/sig/sentdm/models/profile_list_response.rbs +15 -645
  182. data/sig/sentdm/models/profile_settings.rbs +50 -0
  183. data/sig/sentdm/models/profile_update_params.rbs +12 -363
  184. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  185. data/sig/sentdm/models/profiles/base_dto.rbs +27 -0
  186. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -138
  187. data/sig/sentdm/models/profiles/campaign_data.rbs +82 -0
  188. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  189. data/sig/sentdm/models/profiles/campaign_list_response.rbs +13 -396
  190. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -138
  191. data/sig/sentdm/models/profiles/messaging_use_case_us.rbs +40 -0
  192. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  193. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +299 -0
  194. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  195. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +35 -0
  196. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +32 -0
  197. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  198. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +30 -0
  199. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +30 -0
  200. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  201. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  202. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  203. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  204. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  205. data/sig/sentdm/models/template.rbs +79 -0
  206. data/sig/sentdm/models/template_body_content.rbs +30 -0
  207. data/sig/sentdm/models/template_create_params.rbs +6 -853
  208. data/sig/sentdm/models/template_definition.rbs +45 -0
  209. data/sig/sentdm/models/template_list_response.rbs +19 -225
  210. data/sig/sentdm/models/template_update_params.rbs +4 -851
  211. data/sig/sentdm/models/template_variable.rbs +84 -0
  212. data/sig/sentdm/models/user_list_response.rbs +15 -151
  213. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  214. data/sig/sentdm/models/user_response.rbs +72 -0
  215. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  216. data/sig/sentdm/models/webhook_list_event_types_response.rbs +15 -130
  217. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  218. data/sig/sentdm/models/webhook_list_response.rbs +20 -248
  219. data/sig/sentdm/models/webhook_response.rbs +103 -0
  220. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  221. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  222. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  223. data/sig/sentdm/models.rbs +68 -0
  224. data/sig/sentdm/resources/contacts.rbs +3 -3
  225. data/sig/sentdm/resources/profiles/campaigns.rbs +4 -4
  226. data/sig/sentdm/resources/profiles.rbs +9 -9
  227. data/sig/sentdm/resources/templates.rbs +5 -5
  228. data/sig/sentdm/resources/users.rbs +3 -3
  229. data/sig/sentdm/resources/webhooks.rbs +4 -4
  230. metadata +121 -55
  231. data/lib/sentdm/models/contact_create_response.rb +0 -236
  232. data/lib/sentdm/models/contact_retrieve_response.rb +0 -236
  233. data/lib/sentdm/models/contact_update_response.rb +0 -236
  234. data/lib/sentdm/models/profile_create_response.rb +0 -781
  235. data/lib/sentdm/models/profile_retrieve_response.rb +0 -783
  236. data/lib/sentdm/models/profile_update_response.rb +0 -781
  237. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -459
  238. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -459
  239. data/lib/sentdm/models/template_create_response.rb +0 -197
  240. data/lib/sentdm/models/template_retrieve_response.rb +0 -197
  241. data/lib/sentdm/models/template_update_response.rb +0 -197
  242. data/lib/sentdm/models/user_invite_response.rb +0 -189
  243. data/lib/sentdm/models/user_retrieve_response.rb +0 -189
  244. data/lib/sentdm/models/user_update_role_response.rb +0 -189
  245. data/lib/sentdm/models/webhook_create_response.rb +0 -204
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -204
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -204
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -204
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -390
  250. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -392
  251. data/rbi/sentdm/models/contact_update_response.rbi +0 -390
  252. data/rbi/sentdm/models/profile_create_response.rbi +0 -1439
  253. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1443
  254. data/rbi/sentdm/models/profile_update_response.rbi +0 -1439
  255. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -814
  256. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -814
  257. data/rbi/sentdm/models/template_create_response.rbi +0 -339
  258. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -345
  259. data/rbi/sentdm/models/template_update_response.rbi +0 -339
  260. data/rbi/sentdm/models/user_invite_response.rbi +0 -323
  261. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -323
  262. data/rbi/sentdm/models/user_update_role_response.rbi +0 -328
  263. data/rbi/sentdm/models/webhook_create_response.rbi +0 -348
  264. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -350
  265. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -366
  266. data/rbi/sentdm/models/webhook_update_response.rbi +0 -348
  267. data/sig/sentdm/models/contact_create_response.rbs +0 -209
  268. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -209
  269. data/sig/sentdm/models/contact_update_response.rbs +0 -209
  270. data/sig/sentdm/models/profile_create_response.rbs +0 -662
  271. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -662
  272. data/sig/sentdm/models/profile_update_response.rbs +0 -662
  273. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -424
  274. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -424
  275. data/sig/sentdm/models/template_create_response.rbs +0 -177
  276. data/sig/sentdm/models/template_retrieve_response.rbs +0 -177
  277. data/sig/sentdm/models/template_update_response.rbs +0 -177
  278. data/sig/sentdm/models/user_invite_response.rbs +0 -170
  279. data/sig/sentdm/models/user_retrieve_response.rbs +0 -170
  280. data/sig/sentdm/models/user_update_role_response.rbs +0 -170
  281. data/sig/sentdm/models/webhook_create_response.rbs +0 -201
  282. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -201
  283. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -201
  284. data/sig/sentdm/models/webhook_update_response.rbs +0 -201
@@ -20,14 +20,11 @@ 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::TemplateUpdateParams::Definition)) }
23
+ sig { returns(T.nilable(Sentdm::TemplateDefinition)) }
24
24
  attr_reader :definition
25
25
 
26
26
  sig do
27
- params(
28
- definition:
29
- T.nilable(Sentdm::TemplateUpdateParams::Definition::OrHash)
30
- ).void
27
+ params(definition: T.nilable(Sentdm::TemplateDefinition::OrHash)).void
31
28
  end
32
29
  attr_writer :definition
33
30
 
@@ -70,8 +67,7 @@ module Sentdm
70
67
  params(
71
68
  id: String,
72
69
  category: T.nilable(String),
73
- definition:
74
- T.nilable(Sentdm::TemplateUpdateParams::Definition::OrHash),
70
+ definition: T.nilable(Sentdm::TemplateDefinition::OrHash),
75
71
  language: T.nilable(String),
76
72
  name: T.nilable(String),
77
73
  sandbox: T::Boolean,
@@ -108,7 +104,7 @@ module Sentdm
108
104
  {
109
105
  id: String,
110
106
  category: T.nilable(String),
111
- definition: T.nilable(Sentdm::TemplateUpdateParams::Definition),
107
+ definition: T.nilable(Sentdm::TemplateDefinition),
112
108
  language: T.nilable(String),
113
109
  name: T.nilable(String),
114
110
  sandbox: T::Boolean,
@@ -121,1699 +117,6 @@ module Sentdm
121
117
  end
122
118
  def to_hash
123
119
  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
1817
120
  end
1818
121
  end
1819
122
  end