sentdm 0.26.0 → 0.28.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  15. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  16. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  17. data/lib/sentdm/models/message_event.rb +53 -0
  18. data/lib/sentdm/models/message_event_payload.rb +92 -0
  19. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  21. data/lib/sentdm/models/message_send_response.rb +113 -28
  22. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  23. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  24. data/lib/sentdm/models/profile_create_params.rb +378 -26
  25. data/lib/sentdm/models/profile_create_response.rb +760 -0
  26. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  27. data/lib/sentdm/models/profile_list_response.rb +825 -14
  28. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  29. data/lib/sentdm/models/profile_update_params.rb +391 -24
  30. data/lib/sentdm/models/profile_update_response.rb +760 -0
  31. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  33. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  34. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  35. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  36. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  37. data/lib/sentdm/models/template_create_response.rb +209 -0
  38. data/lib/sentdm/models/template_event.rb +52 -0
  39. data/lib/sentdm/models/template_event_payload.rb +88 -0
  40. data/lib/sentdm/models/template_list_params.rb +9 -2
  41. data/lib/sentdm/models/template_list_response.rb +262 -16
  42. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  43. data/lib/sentdm/models/template_update_response.rb +209 -0
  44. data/lib/sentdm/models/user_invite_response.rb +201 -0
  45. data/lib/sentdm/models/user_list_response.rb +259 -14
  46. data/lib/sentdm/models/user_remove_params.rb +16 -2
  47. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  48. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  49. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  50. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  51. data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
  52. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  53. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  54. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  55. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  56. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  57. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  58. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  59. data/lib/sentdm/models.rb +11 -51
  60. data/lib/sentdm/resources/contacts.rb +30 -13
  61. data/lib/sentdm/resources/conversations.rb +12 -4
  62. data/lib/sentdm/resources/me.rb +6 -1
  63. data/lib/sentdm/resources/messages.rb +17 -5
  64. data/lib/sentdm/resources/numbers.rb +6 -1
  65. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  66. data/lib/sentdm/resources/profiles.rb +137 -61
  67. data/lib/sentdm/resources/templates.rb +14 -8
  68. data/lib/sentdm/resources/users.rb +15 -10
  69. data/lib/sentdm/resources/webhooks.rb +19 -9
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +28 -32
  72. data/rbi/sentdm/client.rbi +71 -8
  73. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  74. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  75. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  76. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  77. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  78. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  79. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  80. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  81. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  82. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  83. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  84. data/rbi/sentdm/models/message_event.rbi +86 -0
  85. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  86. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  87. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  88. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  89. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  90. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  91. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  92. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  94. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  95. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  96. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  97. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  98. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  99. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  100. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  101. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  102. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  103. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  104. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  105. data/rbi/sentdm/models/template_event.rbi +84 -0
  106. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  107. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  108. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  109. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  110. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  111. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  112. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  113. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  114. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  115. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  116. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  117. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  118. data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
  119. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  120. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  121. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  122. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  123. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  124. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  125. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  126. data/rbi/sentdm/models.rbi +11 -53
  127. data/rbi/sentdm/resources/contacts.rbi +24 -9
  128. data/rbi/sentdm/resources/conversations.rbi +10 -2
  129. data/rbi/sentdm/resources/me.rbi +6 -1
  130. data/rbi/sentdm/resources/messages.rbi +17 -5
  131. data/rbi/sentdm/resources/numbers.rbi +6 -1
  132. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  133. data/rbi/sentdm/resources/profiles.rbi +177 -68
  134. data/rbi/sentdm/resources/templates.rbi +15 -5
  135. data/rbi/sentdm/resources/users.rbi +12 -6
  136. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  137. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  138. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  139. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  140. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  141. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  142. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  143. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  144. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  145. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  146. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  147. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  148. data/sig/sentdm/models/message_event.rbs +39 -0
  149. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  150. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  151. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  152. data/sig/sentdm/models/message_send_response.rbs +71 -9
  153. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  154. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  155. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  156. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  157. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  158. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  159. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  160. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  161. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  162. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  163. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  164. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  165. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  166. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  167. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  168. data/sig/sentdm/models/template_create_response.rbs +182 -0
  169. data/sig/sentdm/models/template_event.rbs +39 -0
  170. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  171. data/sig/sentdm/models/template_list_response.rbs +230 -19
  172. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  173. data/sig/sentdm/models/template_update_response.rbs +182 -0
  174. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  175. data/sig/sentdm/models/user_list_response.rbs +233 -15
  176. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  177. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  178. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  179. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  180. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  181. data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
  182. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  183. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  184. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  185. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  186. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  187. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  188. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  189. data/sig/sentdm/models.rbs +11 -51
  190. data/sig/sentdm/resources/contacts.rbs +4 -4
  191. data/sig/sentdm/resources/conversations.rbs +2 -2
  192. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  193. data/sig/sentdm/resources/profiles.rbs +11 -11
  194. data/sig/sentdm/resources/templates.rbs +3 -3
  195. data/sig/sentdm/resources/users.rbs +3 -3
  196. data/sig/sentdm/resources/webhooks.rbs +4 -4
  197. metadata +86 -98
  198. data/lib/sentdm/models/api_meta.rb +0 -34
  199. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  200. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  201. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  202. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  203. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  204. data/lib/sentdm/models/api_response_template.rb +0 -43
  205. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  206. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  207. data/lib/sentdm/models/brand_business_info.rb +0 -114
  208. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  209. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  210. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  211. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  212. data/lib/sentdm/models/contact_response.rb +0 -126
  213. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  214. data/lib/sentdm/models/error_detail.rb +0 -42
  215. data/lib/sentdm/models/mutation_request.rb +0 -20
  216. data/lib/sentdm/models/pagination_meta.rb +0 -80
  217. data/lib/sentdm/models/payment_details.rb +0 -44
  218. data/lib/sentdm/models/profile_detail.rb +0 -597
  219. data/lib/sentdm/models/profile_settings.rb +0 -66
  220. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  221. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  222. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  223. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  224. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  225. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  226. data/lib/sentdm/models/template.rb +0 -90
  227. data/lib/sentdm/models/user_response.rb +0 -82
  228. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  229. data/lib/sentdm/models/webhook_response.rb +0 -95
  230. data/rbi/sentdm/models/api_meta.rbi +0 -55
  231. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  232. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  233. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  234. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  235. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  236. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  237. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  238. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  239. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  240. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  241. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  242. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  243. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  244. data/rbi/sentdm/models/contact_response.rbi +0 -183
  245. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  246. data/rbi/sentdm/models/error_detail.rbi +0 -66
  247. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  248. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  249. data/rbi/sentdm/models/payment_details.rbi +0 -59
  250. data/rbi/sentdm/models/profile_detail.rbi +0 -866
  251. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  252. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  253. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  254. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  255. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  256. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  257. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  258. data/rbi/sentdm/models/template.rbi +0 -129
  259. data/rbi/sentdm/models/user_response.rbi +0 -118
  260. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  261. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  262. data/sig/sentdm/models/api_meta.rbs +0 -27
  263. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  264. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  265. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  268. data/sig/sentdm/models/api_response_template.rbs +0 -39
  269. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  270. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  271. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  272. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  273. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  274. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  275. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  276. data/sig/sentdm/models/contact_response.rbs +0 -111
  277. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  278. data/sig/sentdm/models/error_detail.rbs +0 -39
  279. data/sig/sentdm/models/mutation_request.rbs +0 -15
  280. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  281. data/sig/sentdm/models/payment_details.rbs +0 -30
  282. data/sig/sentdm/models/profile_detail.rbs +0 -469
  283. data/sig/sentdm/models/profile_settings.rbs +0 -50
  284. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  285. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  286. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  287. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  288. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  289. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  290. data/sig/sentdm/models/template.rbs +0 -79
  291. data/sig/sentdm/models/user_response.rbs +0 -72
  292. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  293. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -8,7 +8,7 @@ module Sentdm
8
8
  T.any(Sentdm::Models::TemplateListResponse, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
- # Paginated list of templates
11
+ # A paginated list of templates.
12
12
  sig { returns(T.nilable(Sentdm::Models::TemplateListResponse::Data)) }
13
13
  attr_reader :data
14
14
 
@@ -20,17 +20,23 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
23
+ sig { returns(T.nilable(Sentdm::Models::TemplateListResponse::Error)) }
24
24
  attr_reader :error
25
25
 
26
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
26
+ sig do
27
+ params(
28
+ error: T.nilable(Sentdm::Models::TemplateListResponse::Error::OrHash)
29
+ ).void
30
+ end
27
31
  attr_writer :error
28
32
 
29
33
  # Request and response metadata
30
- sig { returns(T.nilable(Sentdm::APIMeta)) }
34
+ sig { returns(T.nilable(Sentdm::Models::TemplateListResponse::Meta)) }
31
35
  attr_reader :meta
32
36
 
33
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
37
+ sig do
38
+ params(meta: Sentdm::Models::TemplateListResponse::Meta::OrHash).void
39
+ end
34
40
  attr_writer :meta
35
41
 
36
42
  # Indicates whether the request was successful
@@ -44,13 +50,13 @@ module Sentdm
44
50
  sig do
45
51
  params(
46
52
  data: T.nilable(Sentdm::Models::TemplateListResponse::Data::OrHash),
47
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
- meta: Sentdm::APIMeta::OrHash,
53
+ error: T.nilable(Sentdm::Models::TemplateListResponse::Error::OrHash),
54
+ meta: Sentdm::Models::TemplateListResponse::Meta::OrHash,
49
55
  success: T::Boolean
50
56
  ).returns(T.attached_class)
51
57
  end
52
58
  def self.new(
53
- # Paginated list of templates
59
+ # A paginated list of templates.
54
60
  data: nil,
55
61
  # Error information
56
62
  error: nil,
@@ -65,8 +71,8 @@ module Sentdm
65
71
  override.returns(
66
72
  {
67
73
  data: T.nilable(Sentdm::Models::TemplateListResponse::Data),
68
- error: T.nilable(Sentdm::ErrorDetail),
69
- meta: Sentdm::APIMeta,
74
+ error: T.nilable(Sentdm::Models::TemplateListResponse::Error),
75
+ meta: Sentdm::Models::TemplateListResponse::Meta,
70
76
  success: T::Boolean
71
77
  }
72
78
  )
@@ -84,30 +90,56 @@ module Sentdm
84
90
  end
85
91
 
86
92
  # Pagination metadata for list responses
87
- sig { returns(T.nilable(Sentdm::PaginationMeta)) }
93
+ sig do
94
+ returns(
95
+ T.nilable(Sentdm::Models::TemplateListResponse::Data::Pagination)
96
+ )
97
+ end
88
98
  attr_reader :pagination
89
99
 
90
- sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
100
+ sig do
101
+ params(
102
+ pagination:
103
+ Sentdm::Models::TemplateListResponse::Data::Pagination::OrHash
104
+ ).void
105
+ end
91
106
  attr_writer :pagination
92
107
 
93
- # List of templates
94
- sig { returns(T.nilable(T::Array[Sentdm::Template])) }
108
+ # The templates on this page.
109
+ sig do
110
+ returns(
111
+ T.nilable(
112
+ T::Array[Sentdm::Models::TemplateListResponse::Data::Template]
113
+ )
114
+ )
115
+ end
95
116
  attr_reader :templates
96
117
 
97
- sig { params(templates: T::Array[Sentdm::Template::OrHash]).void }
118
+ sig do
119
+ params(
120
+ templates:
121
+ T::Array[
122
+ Sentdm::Models::TemplateListResponse::Data::Template::OrHash
123
+ ]
124
+ ).void
125
+ end
98
126
  attr_writer :templates
99
127
 
100
- # Paginated list of templates
128
+ # A paginated list of templates.
101
129
  sig do
102
130
  params(
103
- pagination: Sentdm::PaginationMeta::OrHash,
104
- templates: T::Array[Sentdm::Template::OrHash]
131
+ pagination:
132
+ Sentdm::Models::TemplateListResponse::Data::Pagination::OrHash,
133
+ templates:
134
+ T::Array[
135
+ Sentdm::Models::TemplateListResponse::Data::Template::OrHash
136
+ ]
105
137
  ).returns(T.attached_class)
106
138
  end
107
139
  def self.new(
108
140
  # Pagination metadata for list responses
109
141
  pagination: nil,
110
- # List of templates
142
+ # The templates on this page.
111
143
  templates: nil
112
144
  )
113
145
  end
@@ -115,13 +147,429 @@ module Sentdm
115
147
  sig do
116
148
  override.returns(
117
149
  {
118
- pagination: Sentdm::PaginationMeta,
119
- templates: T::Array[Sentdm::Template]
150
+ pagination:
151
+ Sentdm::Models::TemplateListResponse::Data::Pagination,
152
+ templates:
153
+ T::Array[Sentdm::Models::TemplateListResponse::Data::Template]
120
154
  }
121
155
  )
122
156
  end
123
157
  def to_hash
124
158
  end
159
+
160
+ class Pagination < Sentdm::Internal::Type::BaseModel
161
+ OrHash =
162
+ T.type_alias do
163
+ T.any(
164
+ Sentdm::Models::TemplateListResponse::Data::Pagination,
165
+ Sentdm::Internal::AnyHash
166
+ )
167
+ end
168
+
169
+ # Cursor-based pagination. Never populated — see Cursors.
170
+ sig do
171
+ returns(
172
+ T.nilable(
173
+ Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors
174
+ )
175
+ )
176
+ end
177
+ attr_reader :cursors
178
+
179
+ sig do
180
+ params(
181
+ cursors:
182
+ T.nilable(
183
+ Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors::OrHash
184
+ )
185
+ ).void
186
+ end
187
+ attr_writer :cursors
188
+
189
+ # Whether there are more pages after this one
190
+ sig { returns(T.nilable(T::Boolean)) }
191
+ attr_reader :has_more
192
+
193
+ sig { params(has_more: T::Boolean).void }
194
+ attr_writer :has_more
195
+
196
+ # Current page number (1-indexed)
197
+ sig { returns(T.nilable(Integer)) }
198
+ attr_reader :page
199
+
200
+ sig { params(page: Integer).void }
201
+ attr_writer :page
202
+
203
+ # Number of items per page
204
+ sig { returns(T.nilable(Integer)) }
205
+ attr_reader :page_size
206
+
207
+ sig { params(page_size: Integer).void }
208
+ attr_writer :page_size
209
+
210
+ # Total number of items across all pages
211
+ sig { returns(T.nilable(Integer)) }
212
+ attr_reader :total_count
213
+
214
+ sig { params(total_count: Integer).void }
215
+ attr_writer :total_count
216
+
217
+ # Total number of pages
218
+ sig { returns(T.nilable(Integer)) }
219
+ attr_reader :total_pages
220
+
221
+ sig { params(total_pages: Integer).void }
222
+ attr_writer :total_pages
223
+
224
+ # Pagination metadata for list responses
225
+ sig do
226
+ params(
227
+ cursors:
228
+ T.nilable(
229
+ Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors::OrHash
230
+ ),
231
+ has_more: T::Boolean,
232
+ page: Integer,
233
+ page_size: Integer,
234
+ total_count: Integer,
235
+ total_pages: Integer
236
+ ).returns(T.attached_class)
237
+ end
238
+ def self.new(
239
+ # Cursor-based pagination. Never populated — see Cursors.
240
+ cursors: nil,
241
+ # Whether there are more pages after this one
242
+ has_more: nil,
243
+ # Current page number (1-indexed)
244
+ page: nil,
245
+ # Number of items per page
246
+ page_size: nil,
247
+ # Total number of items across all pages
248
+ total_count: nil,
249
+ # Total number of pages
250
+ total_pages: nil
251
+ )
252
+ end
253
+
254
+ sig do
255
+ override.returns(
256
+ {
257
+ cursors:
258
+ T.nilable(
259
+ Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors
260
+ ),
261
+ has_more: T::Boolean,
262
+ page: Integer,
263
+ page_size: Integer,
264
+ total_count: Integer,
265
+ total_pages: Integer
266
+ }
267
+ )
268
+ end
269
+ def to_hash
270
+ end
271
+
272
+ class Cursors < Sentdm::Internal::Type::BaseModel
273
+ OrHash =
274
+ T.type_alias do
275
+ T.any(
276
+ Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors,
277
+ Sentdm::Internal::AnyHash
278
+ )
279
+ end
280
+
281
+ # Cursor to fetch the next page.
282
+ sig { returns(T.nilable(String)) }
283
+ attr_accessor :after
284
+
285
+ # Cursor to fetch the previous page.
286
+ sig { returns(T.nilable(String)) }
287
+ attr_accessor :before
288
+
289
+ # Cursor-based pagination. Never populated — see Cursors.
290
+ sig do
291
+ params(
292
+ after: T.nilable(String),
293
+ before: T.nilable(String)
294
+ ).returns(T.attached_class)
295
+ end
296
+ def self.new(
297
+ # Cursor to fetch the next page.
298
+ after: nil,
299
+ # Cursor to fetch the previous page.
300
+ before: nil
301
+ )
302
+ end
303
+
304
+ sig do
305
+ override.returns(
306
+ { after: T.nilable(String), before: T.nilable(String) }
307
+ )
308
+ end
309
+ def to_hash
310
+ end
311
+ end
312
+ end
313
+
314
+ class Template < Sentdm::Internal::Type::BaseModel
315
+ OrHash =
316
+ T.type_alias do
317
+ T.any(
318
+ Sentdm::Models::TemplateListResponse::Data::Template,
319
+ Sentdm::Internal::AnyHash
320
+ )
321
+ end
322
+
323
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
324
+ # Says whose resource this is, which the resource's own id does not.
325
+ sig { returns(String) }
326
+ attr_accessor :customer_id
327
+
328
+ # Unique template identifier
329
+ sig { returns(T.nilable(String)) }
330
+ attr_reader :id
331
+
332
+ sig { params(id: String).void }
333
+ attr_writer :id
334
+
335
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
336
+ sig { returns(T.nilable(String)) }
337
+ attr_reader :category
338
+
339
+ sig { params(category: String).void }
340
+ attr_writer :category
341
+
342
+ # Supported channels: sms, whatsapp
343
+ sig { returns(T.nilable(T::Array[String])) }
344
+ attr_accessor :channels
345
+
346
+ # When the template was created
347
+ sig { returns(T.nilable(Time)) }
348
+ attr_reader :created_at
349
+
350
+ sig { params(created_at: Time).void }
351
+ attr_writer :created_at
352
+
353
+ # Whether the template is published and active
354
+ sig { returns(T.nilable(T::Boolean)) }
355
+ attr_reader :is_published
356
+
357
+ sig { params(is_published: T::Boolean).void }
358
+ attr_writer :is_published
359
+
360
+ # Template language code (e.g., en_US)
361
+ sig { returns(T.nilable(String)) }
362
+ attr_reader :language
363
+
364
+ sig { params(language: String).void }
365
+ attr_writer :language
366
+
367
+ # Template display name
368
+ sig { returns(T.nilable(String)) }
369
+ attr_reader :name
370
+
371
+ sig { params(name: String).void }
372
+ attr_writer :name
373
+
374
+ # Template status: APPROVED, PENDING, REJECTED
375
+ sig { returns(T.nilable(String)) }
376
+ attr_reader :status
377
+
378
+ sig { params(status: String).void }
379
+ attr_writer :status
380
+
381
+ # When the template was last updated
382
+ sig { returns(T.nilable(Time)) }
383
+ attr_accessor :updated_at
384
+
385
+ # Template variables for personalization
386
+ sig { returns(T.nilable(T::Array[String])) }
387
+ attr_accessor :variables
388
+
389
+ # Template response for v3 API
390
+ sig do
391
+ params(
392
+ customer_id: String,
393
+ id: String,
394
+ category: String,
395
+ channels: T.nilable(T::Array[String]),
396
+ created_at: Time,
397
+ is_published: T::Boolean,
398
+ language: String,
399
+ name: String,
400
+ status: String,
401
+ updated_at: T.nilable(Time),
402
+ variables: T.nilable(T::Array[String])
403
+ ).returns(T.attached_class)
404
+ end
405
+ def self.new(
406
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
407
+ # Says whose resource this is, which the resource's own id does not.
408
+ customer_id:,
409
+ # Unique template identifier
410
+ id: nil,
411
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
412
+ category: nil,
413
+ # Supported channels: sms, whatsapp
414
+ channels: nil,
415
+ # When the template was created
416
+ created_at: nil,
417
+ # Whether the template is published and active
418
+ is_published: nil,
419
+ # Template language code (e.g., en_US)
420
+ language: nil,
421
+ # Template display name
422
+ name: nil,
423
+ # Template status: APPROVED, PENDING, REJECTED
424
+ status: nil,
425
+ # When the template was last updated
426
+ updated_at: nil,
427
+ # Template variables for personalization
428
+ variables: nil
429
+ )
430
+ end
431
+
432
+ sig do
433
+ override.returns(
434
+ {
435
+ customer_id: String,
436
+ id: String,
437
+ category: String,
438
+ channels: T.nilable(T::Array[String]),
439
+ created_at: Time,
440
+ is_published: T::Boolean,
441
+ language: String,
442
+ name: String,
443
+ status: String,
444
+ updated_at: T.nilable(Time),
445
+ variables: T.nilable(T::Array[String])
446
+ }
447
+ )
448
+ end
449
+ def to_hash
450
+ end
451
+ end
452
+ end
453
+
454
+ class Error < Sentdm::Internal::Type::BaseModel
455
+ OrHash =
456
+ T.type_alias do
457
+ T.any(
458
+ Sentdm::Models::TemplateListResponse::Error,
459
+ Sentdm::Internal::AnyHash
460
+ )
461
+ end
462
+
463
+ # Machine-readable error code (e.g., "RESOURCE_001")
464
+ sig { returns(T.nilable(String)) }
465
+ attr_reader :code
466
+
467
+ sig { params(code: String).void }
468
+ attr_writer :code
469
+
470
+ # Additional validation error details (field-level errors)
471
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
472
+ attr_accessor :details
473
+
474
+ # URL to documentation about this error
475
+ sig { returns(T.nilable(String)) }
476
+ attr_accessor :doc_url
477
+
478
+ # Human-readable error message
479
+ sig { returns(T.nilable(String)) }
480
+ attr_reader :message
481
+
482
+ sig { params(message: String).void }
483
+ attr_writer :message
484
+
485
+ # Error information
486
+ sig do
487
+ params(
488
+ code: String,
489
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
490
+ doc_url: T.nilable(String),
491
+ message: String
492
+ ).returns(T.attached_class)
493
+ end
494
+ def self.new(
495
+ # Machine-readable error code (e.g., "RESOURCE_001")
496
+ code: nil,
497
+ # Additional validation error details (field-level errors)
498
+ details: nil,
499
+ # URL to documentation about this error
500
+ doc_url: nil,
501
+ # Human-readable error message
502
+ message: nil
503
+ )
504
+ end
505
+
506
+ sig do
507
+ override.returns(
508
+ {
509
+ code: String,
510
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
511
+ doc_url: T.nilable(String),
512
+ message: String
513
+ }
514
+ )
515
+ end
516
+ def to_hash
517
+ end
518
+ end
519
+
520
+ class Meta < Sentdm::Internal::Type::BaseModel
521
+ OrHash =
522
+ T.type_alias do
523
+ T.any(
524
+ Sentdm::Models::TemplateListResponse::Meta,
525
+ Sentdm::Internal::AnyHash
526
+ )
527
+ end
528
+
529
+ # Unique identifier for this request (for tracing and support)
530
+ sig { returns(T.nilable(String)) }
531
+ attr_reader :request_id
532
+
533
+ sig { params(request_id: String).void }
534
+ attr_writer :request_id
535
+
536
+ # Server timestamp when the response was generated
537
+ sig { returns(T.nilable(Time)) }
538
+ attr_reader :timestamp
539
+
540
+ sig { params(timestamp: Time).void }
541
+ attr_writer :timestamp
542
+
543
+ # API version used for this request
544
+ sig { returns(T.nilable(String)) }
545
+ attr_reader :version
546
+
547
+ sig { params(version: String).void }
548
+ attr_writer :version
549
+
550
+ # Request and response metadata
551
+ sig do
552
+ params(request_id: String, timestamp: Time, version: String).returns(
553
+ T.attached_class
554
+ )
555
+ end
556
+ def self.new(
557
+ # Unique identifier for this request (for tracing and support)
558
+ request_id: nil,
559
+ # Server timestamp when the response was generated
560
+ timestamp: nil,
561
+ # API version used for this request
562
+ version: nil
563
+ )
564
+ end
565
+
566
+ sig do
567
+ override.returns(
568
+ { request_id: String, timestamp: Time, version: String }
569
+ )
570
+ end
571
+ def to_hash
572
+ end
125
573
  end
126
574
  end
127
575
  end