sentdm 0.28.0 → 0.30.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -20,23 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::TemplateListResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::TemplateListResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::TemplateListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig do
38
- params(meta: Sentdm::Models::TemplateListResponse::Meta::OrHash).void
39
- end
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
34
  attr_writer :meta
41
35
 
42
36
  # Indicates whether the request was successful
@@ -50,8 +44,8 @@ module Sentdm
50
44
  sig do
51
45
  params(
52
46
  data: T.nilable(Sentdm::Models::TemplateListResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::TemplateListResponse::Error::OrHash),
54
- meta: Sentdm::Models::TemplateListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
55
49
  success: T::Boolean
56
50
  ).returns(T.attached_class)
57
51
  end
@@ -71,8 +65,8 @@ module Sentdm
71
65
  override.returns(
72
66
  {
73
67
  data: T.nilable(Sentdm::Models::TemplateListResponse::Data),
74
- error: T.nilable(Sentdm::Models::TemplateListResponse::Error),
75
- meta: Sentdm::Models::TemplateListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
76
70
  success: T::Boolean
77
71
  }
78
72
  )
@@ -90,50 +84,24 @@ module Sentdm
90
84
  end
91
85
 
92
86
  # Pagination metadata for list responses
93
- sig do
94
- returns(
95
- T.nilable(Sentdm::Models::TemplateListResponse::Data::Pagination)
96
- )
97
- end
87
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
98
88
  attr_reader :pagination
99
89
 
100
- sig do
101
- params(
102
- pagination:
103
- Sentdm::Models::TemplateListResponse::Data::Pagination::OrHash
104
- ).void
105
- end
90
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
106
91
  attr_writer :pagination
107
92
 
108
93
  # 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
94
+ sig { returns(T.nilable(T::Array[Sentdm::Template])) }
116
95
  attr_reader :templates
117
96
 
118
- sig do
119
- params(
120
- templates:
121
- T::Array[
122
- Sentdm::Models::TemplateListResponse::Data::Template::OrHash
123
- ]
124
- ).void
125
- end
97
+ sig { params(templates: T::Array[Sentdm::Template::OrHash]).void }
126
98
  attr_writer :templates
127
99
 
128
100
  # A paginated list of templates.
129
101
  sig do
130
102
  params(
131
- pagination:
132
- Sentdm::Models::TemplateListResponse::Data::Pagination::OrHash,
133
- templates:
134
- T::Array[
135
- Sentdm::Models::TemplateListResponse::Data::Template::OrHash
136
- ]
103
+ pagination: Sentdm::PaginationMeta::OrHash,
104
+ templates: T::Array[Sentdm::Template::OrHash]
137
105
  ).returns(T.attached_class)
138
106
  end
139
107
  def self.new(
@@ -147,429 +115,13 @@ module Sentdm
147
115
  sig do
148
116
  override.returns(
149
117
  {
150
- pagination:
151
- Sentdm::Models::TemplateListResponse::Data::Pagination,
152
- templates:
153
- T::Array[Sentdm::Models::TemplateListResponse::Data::Template]
118
+ pagination: Sentdm::PaginationMeta,
119
+ templates: T::Array[Sentdm::Template]
154
120
  }
155
121
  )
156
122
  end
157
123
  def to_hash
158
124
  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
573
125
  end
574
126
  end
575
127
  end