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
@@ -22,14 +22,10 @@ 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::TemplateCreateParams::Definition)) }
25
+ sig { returns(T.nilable(Sentdm::TemplateDefinition)) }
26
26
  attr_reader :definition
27
27
 
28
- sig do
29
- params(
30
- definition: Sentdm::TemplateCreateParams::Definition::OrHash
31
- ).void
32
- end
28
+ sig { params(definition: Sentdm::TemplateDefinition::OrHash).void }
33
29
  attr_writer :definition
34
30
 
35
31
  # Template language code (e.g., en_US) (optional, auto-detected if not provided)
@@ -67,7 +63,7 @@ module Sentdm
67
63
  params(
68
64
  category: T.nilable(String),
69
65
  creation_source: T.nilable(String),
70
- definition: Sentdm::TemplateCreateParams::Definition::OrHash,
66
+ definition: Sentdm::TemplateDefinition::OrHash,
71
67
  language: T.nilable(String),
72
68
  sandbox: T::Boolean,
73
69
  submit_for_review: T::Boolean,
@@ -103,7 +99,7 @@ module Sentdm
103
99
  {
104
100
  category: T.nilable(String),
105
101
  creation_source: T.nilable(String),
106
- definition: Sentdm::TemplateCreateParams::Definition,
102
+ definition: Sentdm::TemplateDefinition,
107
103
  language: T.nilable(String),
108
104
  sandbox: T::Boolean,
109
105
  submit_for_review: T::Boolean,
@@ -115,1699 +111,6 @@ module Sentdm
115
111
  end
116
112
  def to_hash
117
113
  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
1811
114
  end
1812
115
  end
1813
116
  end