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
@@ -0,0 +1,129 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class Template < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::Template, Sentdm::Internal::AnyHash) }
8
+
9
+ # Unique template identifier
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :id
12
+
13
+ sig { params(id: String).void }
14
+ attr_writer :id
15
+
16
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :category
19
+
20
+ sig { params(category: String).void }
21
+ attr_writer :category
22
+
23
+ # Supported channels: sms, whatsapp
24
+ sig { returns(T.nilable(T::Array[String])) }
25
+ attr_accessor :channels
26
+
27
+ # When the template was created
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_reader :created_at
30
+
31
+ sig { params(created_at: Time).void }
32
+ attr_writer :created_at
33
+
34
+ # Whether the template is published and active
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :is_published
37
+
38
+ sig { params(is_published: T::Boolean).void }
39
+ attr_writer :is_published
40
+
41
+ # Template language code (e.g., en_US)
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :language
44
+
45
+ sig { params(language: String).void }
46
+ attr_writer :language
47
+
48
+ # Template display name
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :name
51
+
52
+ sig { params(name: String).void }
53
+ attr_writer :name
54
+
55
+ # Template status: APPROVED, PENDING, REJECTED
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :status
58
+
59
+ sig { params(status: String).void }
60
+ attr_writer :status
61
+
62
+ # When the template was last updated
63
+ sig { returns(T.nilable(Time)) }
64
+ attr_accessor :updated_at
65
+
66
+ # Template variables for personalization
67
+ sig { returns(T.nilable(T::Array[String])) }
68
+ attr_accessor :variables
69
+
70
+ # Template response for v3 API
71
+ sig do
72
+ params(
73
+ id: String,
74
+ category: String,
75
+ channels: T.nilable(T::Array[String]),
76
+ created_at: Time,
77
+ is_published: T::Boolean,
78
+ language: String,
79
+ name: String,
80
+ status: String,
81
+ updated_at: T.nilable(Time),
82
+ variables: T.nilable(T::Array[String])
83
+ ).returns(T.attached_class)
84
+ end
85
+ def self.new(
86
+ # Unique template identifier
87
+ id: nil,
88
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
89
+ category: nil,
90
+ # Supported channels: sms, whatsapp
91
+ channels: nil,
92
+ # When the template was created
93
+ created_at: nil,
94
+ # Whether the template is published and active
95
+ is_published: nil,
96
+ # Template language code (e.g., en_US)
97
+ language: nil,
98
+ # Template display name
99
+ name: nil,
100
+ # Template status: APPROVED, PENDING, REJECTED
101
+ status: nil,
102
+ # When the template was last updated
103
+ updated_at: nil,
104
+ # Template variables for personalization
105
+ variables: nil
106
+ )
107
+ end
108
+
109
+ sig do
110
+ override.returns(
111
+ {
112
+ id: String,
113
+ category: String,
114
+ channels: T.nilable(T::Array[String]),
115
+ created_at: Time,
116
+ is_published: T::Boolean,
117
+ language: String,
118
+ name: String,
119
+ status: String,
120
+ updated_at: T.nilable(Time),
121
+ variables: T.nilable(T::Array[String])
122
+ }
123
+ )
124
+ end
125
+ def to_hash
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateBodyContent < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateBodyContent, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :template
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :type
16
+
17
+ sig { returns(T.nilable(T::Array[Sentdm::TemplateVariable])) }
18
+ attr_accessor :variables
19
+
20
+ sig do
21
+ params(
22
+ template: String,
23
+ type: T.nilable(String),
24
+ variables: T.nilable(T::Array[Sentdm::TemplateVariable::OrHash])
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(template:, type: nil, variables: nil)
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ {
33
+ template: String,
34
+ type: T.nilable(String),
35
+ variables: T.nilable(T::Array[Sentdm::TemplateVariable])
36
+ }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+ end
42
+ end
43
+ end