sentdm 0.29.0 → 0.31.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +55 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/type/base_model.rb +5 -5
  8. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  9. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  10. data/lib/sentdm/models/api_meta.rb +34 -0
  11. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  12. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -0
  14. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  16. data/lib/sentdm/models/api_response_template.rb +43 -0
  17. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  18. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  19. data/lib/sentdm/models/brand_business_info.rb +114 -0
  20. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  21. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  22. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  23. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  24. data/lib/sentdm/models/contact_list_params.rb +13 -13
  25. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  26. data/lib/sentdm/models/contact_response.rb +140 -0
  27. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  28. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  29. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  30. data/lib/sentdm/models/error_detail.rb +42 -0
  31. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  32. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  33. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  34. data/lib/sentdm/models/message_send_response.rb +6 -74
  35. data/lib/sentdm/models/mutation_request.rb +20 -0
  36. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  37. data/lib/sentdm/models/pagination_meta.rb +84 -0
  38. data/lib/sentdm/models/payment_details.rb +40 -0
  39. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  40. data/lib/sentdm/models/profile_create_params.rb +9 -345
  41. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  42. data/lib/sentdm/models/profile_detail.rb +650 -0
  43. data/lib/sentdm/models/profile_list_response.rb +12 -815
  44. data/lib/sentdm/models/profile_settings.rb +85 -0
  45. data/lib/sentdm/models/profile_update_params.rb +9 -345
  46. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  47. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  48. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  49. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  50. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  51. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  52. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  53. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  54. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  55. data/lib/sentdm/models/template.rb +103 -0
  56. data/lib/sentdm/models/template_list_params.rb +17 -17
  57. data/lib/sentdm/models/user_list_response.rb +12 -249
  58. data/lib/sentdm/models/user_remove_params.rb +2 -16
  59. data/lib/sentdm/models/user_response.rb +94 -0
  60. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  61. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  62. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  63. data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
  64. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  65. data/lib/sentdm/models/webhook_response.rb +121 -0
  66. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  67. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  68. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  69. data/lib/sentdm/models.rb +52 -0
  70. data/lib/sentdm/resources/contacts.rb +16 -15
  71. data/lib/sentdm/resources/conversations.rb +10 -8
  72. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  73. data/lib/sentdm/resources/profiles.rb +12 -12
  74. data/lib/sentdm/resources/templates.rb +16 -15
  75. data/lib/sentdm/resources/users.rb +6 -6
  76. data/lib/sentdm/resources/webhooks.rb +20 -18
  77. data/lib/sentdm/version.rb +1 -1
  78. data/lib/sentdm.rb +37 -25
  79. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  80. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  81. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  82. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  83. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  84. data/rbi/sentdm/models/api_meta.rbi +55 -0
  85. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  87. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  88. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  89. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  90. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  91. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  92. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  93. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  94. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  95. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  96. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  97. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  98. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  99. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  100. data/rbi/sentdm/models/contact_response.rbi +200 -0
  101. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  102. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  103. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  104. data/rbi/sentdm/models/error_detail.rbi +66 -0
  105. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  106. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  107. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  108. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  109. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  110. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  111. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  112. data/rbi/sentdm/models/payment_details.rbi +56 -0
  113. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  114. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  115. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  116. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  117. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  118. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  119. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  120. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  121. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  122. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  123. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  124. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  125. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  126. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  127. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  128. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  129. data/rbi/sentdm/models/template.rbi +139 -0
  130. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  131. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  132. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  133. data/rbi/sentdm/models/user_response.rbi +131 -0
  134. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  135. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  137. data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
  138. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  139. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  140. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  141. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  142. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  143. data/rbi/sentdm/models.rbi +54 -0
  144. data/rbi/sentdm/resources/contacts.rbi +10 -10
  145. data/rbi/sentdm/resources/conversations.rbi +14 -6
  146. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  147. data/rbi/sentdm/resources/profiles.rbi +9 -13
  148. data/rbi/sentdm/resources/templates.rbi +10 -10
  149. data/rbi/sentdm/resources/users.rbi +3 -3
  150. data/rbi/sentdm/resources/webhooks.rbi +16 -12
  151. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  152. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  153. data/sig/sentdm/internal/templates_page.rbs +44 -0
  154. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  155. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  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_contact_message_summary.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  160. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  161. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  162. data/sig/sentdm/models/api_response_template.rbs +39 -0
  163. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  164. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  165. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  166. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  167. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  168. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  169. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  170. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  171. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  172. data/sig/sentdm/models/contact_response.rbs +118 -0
  173. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  174. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  175. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  176. data/sig/sentdm/models/error_detail.rbs +39 -0
  177. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  178. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  179. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  180. data/sig/sentdm/models/message_send_response.rbs +9 -71
  181. data/sig/sentdm/models/mutation_request.rbs +15 -0
  182. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  183. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  184. data/sig/sentdm/models/payment_details.rbs +30 -0
  185. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  186. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  187. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  188. data/sig/sentdm/models/profile_detail.rbs +461 -0
  189. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  190. data/sig/sentdm/models/profile_settings.rbs +50 -0
  191. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  192. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  193. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  194. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  195. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  196. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  197. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  198. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  199. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  200. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  201. data/sig/sentdm/models/template.rbs +84 -0
  202. data/sig/sentdm/models/template_list_params.rbs +14 -10
  203. data/sig/sentdm/models/user_list_response.rbs +20 -224
  204. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  205. data/sig/sentdm/models/user_response.rbs +79 -0
  206. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  207. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  208. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  209. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
  210. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  211. data/sig/sentdm/models/webhook_response.rbs +110 -0
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  213. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  214. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  215. data/sig/sentdm/models.rbs +52 -0
  216. data/sig/sentdm/resources/contacts.rbs +7 -7
  217. data/sig/sentdm/resources/conversations.rbs +6 -6
  218. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  219. data/sig/sentdm/resources/profiles.rbs +9 -9
  220. data/sig/sentdm/resources/templates.rbs +6 -6
  221. data/sig/sentdm/resources/users.rbs +3 -3
  222. data/sig/sentdm/resources/webhooks.rbs +10 -10
  223. metadata +113 -77
  224. data/lib/sentdm/models/contact_create_response.rb +0 -249
  225. data/lib/sentdm/models/contact_list_response.rb +0 -348
  226. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  227. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  228. data/lib/sentdm/models/contact_update_response.rb +0 -249
  229. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  230. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  231. data/lib/sentdm/models/profile_create_response.rb +0 -760
  232. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  233. data/lib/sentdm/models/profile_update_response.rb +0 -760
  234. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  235. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  236. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  237. data/lib/sentdm/models/template_create_response.rb +0 -209
  238. data/lib/sentdm/models/template_list_response.rb +0 -311
  239. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  240. data/lib/sentdm/models/template_update_response.rb +0 -209
  241. data/lib/sentdm/models/user_invite_response.rb +0 -201
  242. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  243. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  244. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  245. data/lib/sentdm/models/webhook_list_response.rb +0 -329
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  250. data/rbi/sentdm/models/contact_list_response.rbi +0 -634
  251. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  252. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  253. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  254. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  255. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  256. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  257. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  258. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  259. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  260. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  261. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  262. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  263. data/rbi/sentdm/models/template_list_response.rbi +0 -576
  264. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  265. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  266. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  267. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  268. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  269. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  270. data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
  271. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  272. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  273. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  274. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  275. data/sig/sentdm/models/contact_list_response.rbs +0 -310
  276. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  277. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  278. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  279. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  280. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  281. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  282. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  283. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  284. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  285. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  286. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  287. data/sig/sentdm/models/template_create_response.rbs +0 -182
  288. data/sig/sentdm/models/template_list_response.rbs +0 -276
  289. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  290. data/sig/sentdm/models/template_update_response.rbs +0 -182
  291. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  292. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  293. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  294. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  295. data/sig/sentdm/models/webhook_list_response.rbs +0 -302
  296. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  297. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  298. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -1,819 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ConversationListResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::ConversationListResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- # A paginated list of messages — used by both conversation read endpoints.
15
- sig { returns(T.nilable(Sentdm::Models::ConversationListResponse::Data)) }
16
- attr_reader :data
17
-
18
- sig do
19
- params(
20
- data:
21
- T.nilable(Sentdm::Models::ConversationListResponse::Data::OrHash)
22
- ).void
23
- end
24
- attr_writer :data
25
-
26
- # Error information
27
- sig do
28
- returns(T.nilable(Sentdm::Models::ConversationListResponse::Error))
29
- end
30
- attr_reader :error
31
-
32
- sig do
33
- params(
34
- error:
35
- T.nilable(Sentdm::Models::ConversationListResponse::Error::OrHash)
36
- ).void
37
- end
38
- attr_writer :error
39
-
40
- # Request and response metadata
41
- sig { returns(T.nilable(Sentdm::Models::ConversationListResponse::Meta)) }
42
- attr_reader :meta
43
-
44
- sig do
45
- params(
46
- meta: Sentdm::Models::ConversationListResponse::Meta::OrHash
47
- ).void
48
- end
49
- attr_writer :meta
50
-
51
- # Indicates whether the request was successful
52
- sig { returns(T.nilable(T::Boolean)) }
53
- attr_reader :success
54
-
55
- sig { params(success: T::Boolean).void }
56
- attr_writer :success
57
-
58
- # Standard API response envelope for all v3 endpoints
59
- sig do
60
- params(
61
- data:
62
- T.nilable(Sentdm::Models::ConversationListResponse::Data::OrHash),
63
- error:
64
- T.nilable(Sentdm::Models::ConversationListResponse::Error::OrHash),
65
- meta: Sentdm::Models::ConversationListResponse::Meta::OrHash,
66
- success: T::Boolean
67
- ).returns(T.attached_class)
68
- end
69
- def self.new(
70
- # A paginated list of messages — used by both conversation read endpoints.
71
- data: nil,
72
- # Error information
73
- error: nil,
74
- # Request and response metadata
75
- meta: nil,
76
- # Indicates whether the request was successful
77
- success: nil
78
- )
79
- end
80
-
81
- sig do
82
- override.returns(
83
- {
84
- data: T.nilable(Sentdm::Models::ConversationListResponse::Data),
85
- error: T.nilable(Sentdm::Models::ConversationListResponse::Error),
86
- meta: Sentdm::Models::ConversationListResponse::Meta,
87
- success: T::Boolean
88
- }
89
- )
90
- end
91
- def to_hash
92
- end
93
-
94
- class Data < Sentdm::Internal::Type::BaseModel
95
- OrHash =
96
- T.type_alias do
97
- T.any(
98
- Sentdm::Models::ConversationListResponse::Data,
99
- Sentdm::Internal::AnyHash
100
- )
101
- end
102
-
103
- # The messages on this page.
104
- sig do
105
- returns(
106
- T.nilable(
107
- T::Array[Sentdm::Models::ConversationListResponse::Data::Message]
108
- )
109
- )
110
- end
111
- attr_reader :messages
112
-
113
- sig do
114
- params(
115
- messages:
116
- T::Array[
117
- Sentdm::Models::ConversationListResponse::Data::Message::OrHash
118
- ]
119
- ).void
120
- end
121
- attr_writer :messages
122
-
123
- # Pagination metadata for list responses
124
- sig do
125
- returns(
126
- T.nilable(
127
- Sentdm::Models::ConversationListResponse::Data::Pagination
128
- )
129
- )
130
- end
131
- attr_reader :pagination
132
-
133
- sig do
134
- params(
135
- pagination:
136
- Sentdm::Models::ConversationListResponse::Data::Pagination::OrHash
137
- ).void
138
- end
139
- attr_writer :pagination
140
-
141
- # A paginated list of messages — used by both conversation read endpoints.
142
- sig do
143
- params(
144
- messages:
145
- T::Array[
146
- Sentdm::Models::ConversationListResponse::Data::Message::OrHash
147
- ],
148
- pagination:
149
- Sentdm::Models::ConversationListResponse::Data::Pagination::OrHash
150
- ).returns(T.attached_class)
151
- end
152
- def self.new(
153
- # The messages on this page.
154
- messages: nil,
155
- # Pagination metadata for list responses
156
- pagination: nil
157
- )
158
- end
159
-
160
- sig do
161
- override.returns(
162
- {
163
- messages:
164
- T::Array[
165
- Sentdm::Models::ConversationListResponse::Data::Message
166
- ],
167
- pagination:
168
- Sentdm::Models::ConversationListResponse::Data::Pagination
169
- }
170
- )
171
- end
172
- def to_hash
173
- end
174
-
175
- class Message < Sentdm::Internal::Type::BaseModel
176
- OrHash =
177
- T.type_alias do
178
- T.any(
179
- Sentdm::Models::ConversationListResponse::Data::Message,
180
- Sentdm::Internal::AnyHash
181
- )
182
- end
183
-
184
- sig { returns(T.nilable(String)) }
185
- attr_reader :id
186
-
187
- sig { params(id: String).void }
188
- attr_writer :id
189
-
190
- sig { returns(T.nilable(Float)) }
191
- attr_accessor :active_contact_price
192
-
193
- sig { returns(T.nilable(String)) }
194
- attr_reader :channel
195
-
196
- sig { params(channel: String).void }
197
- attr_writer :channel
198
-
199
- sig { returns(T.nilable(String)) }
200
- attr_reader :contact_id
201
-
202
- sig { params(contact_id: String).void }
203
- attr_writer :contact_id
204
-
205
- sig { returns(T.nilable(Time)) }
206
- attr_reader :created_at
207
-
208
- sig { params(created_at: Time).void }
209
- attr_writer :created_at
210
-
211
- sig { returns(T.nilable(String)) }
212
- attr_reader :customer_id
213
-
214
- sig { params(customer_id: String).void }
215
- attr_writer :customer_id
216
-
217
- sig { returns(T.nilable(String)) }
218
- attr_reader :direction
219
-
220
- sig { params(direction: String).void }
221
- attr_writer :direction
222
-
223
- sig do
224
- returns(
225
- T.nilable(
226
- T::Array[
227
- Sentdm::Models::ConversationListResponse::Data::Message::Event
228
- ]
229
- )
230
- )
231
- end
232
- attr_accessor :events
233
-
234
- # Structured message body format for database storage. Preserves channel-specific
235
- # components (header, body, footer, buttons).
236
- sig do
237
- returns(
238
- T.nilable(
239
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody
240
- )
241
- )
242
- end
243
- attr_reader :message_body
244
-
245
- sig do
246
- params(
247
- message_body:
248
- T.nilable(
249
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::OrHash
250
- )
251
- ).void
252
- end
253
- attr_writer :message_body
254
-
255
- sig { returns(T.nilable(String)) }
256
- attr_reader :phone
257
-
258
- sig { params(phone: String).void }
259
- attr_writer :phone
260
-
261
- sig { returns(T.nilable(String)) }
262
- attr_reader :phone_international
263
-
264
- sig { params(phone_international: String).void }
265
- attr_writer :phone_international
266
-
267
- sig { returns(T.nilable(Float)) }
268
- attr_accessor :price
269
-
270
- sig { returns(T.nilable(String)) }
271
- attr_reader :region_code
272
-
273
- sig { params(region_code: String).void }
274
- attr_writer :region_code
275
-
276
- sig { returns(T.nilable(String)) }
277
- attr_reader :status
278
-
279
- sig { params(status: String).void }
280
- attr_writer :status
281
-
282
- sig { returns(T.nilable(String)) }
283
- attr_accessor :template_category
284
-
285
- sig { returns(T.nilable(String)) }
286
- attr_accessor :template_id
287
-
288
- sig { returns(T.nilable(String)) }
289
- attr_accessor :template_name
290
-
291
- # Message response for v3 API — same shape as v2 with snake_case JSON conventions
292
- sig do
293
- params(
294
- id: String,
295
- active_contact_price: T.nilable(Float),
296
- channel: String,
297
- contact_id: String,
298
- created_at: Time,
299
- customer_id: String,
300
- direction: String,
301
- events:
302
- T.nilable(
303
- T::Array[
304
- Sentdm::Models::ConversationListResponse::Data::Message::Event::OrHash
305
- ]
306
- ),
307
- message_body:
308
- T.nilable(
309
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::OrHash
310
- ),
311
- phone: String,
312
- phone_international: String,
313
- price: T.nilable(Float),
314
- region_code: String,
315
- status: String,
316
- template_category: T.nilable(String),
317
- template_id: T.nilable(String),
318
- template_name: T.nilable(String)
319
- ).returns(T.attached_class)
320
- end
321
- def self.new(
322
- id: nil,
323
- active_contact_price: nil,
324
- channel: nil,
325
- contact_id: nil,
326
- created_at: nil,
327
- customer_id: nil,
328
- direction: nil,
329
- events: nil,
330
- # Structured message body format for database storage. Preserves channel-specific
331
- # components (header, body, footer, buttons).
332
- message_body: nil,
333
- phone: nil,
334
- phone_international: nil,
335
- price: nil,
336
- region_code: nil,
337
- status: nil,
338
- template_category: nil,
339
- template_id: nil,
340
- template_name: nil
341
- )
342
- end
343
-
344
- sig do
345
- override.returns(
346
- {
347
- id: String,
348
- active_contact_price: T.nilable(Float),
349
- channel: String,
350
- contact_id: String,
351
- created_at: Time,
352
- customer_id: String,
353
- direction: String,
354
- events:
355
- T.nilable(
356
- T::Array[
357
- Sentdm::Models::ConversationListResponse::Data::Message::Event
358
- ]
359
- ),
360
- message_body:
361
- T.nilable(
362
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody
363
- ),
364
- phone: String,
365
- phone_international: String,
366
- price: T.nilable(Float),
367
- region_code: String,
368
- status: String,
369
- template_category: T.nilable(String),
370
- template_id: T.nilable(String),
371
- template_name: T.nilable(String)
372
- }
373
- )
374
- end
375
- def to_hash
376
- end
377
-
378
- class Event < Sentdm::Internal::Type::BaseModel
379
- OrHash =
380
- T.type_alias do
381
- T.any(
382
- Sentdm::Models::ConversationListResponse::Data::Message::Event,
383
- Sentdm::Internal::AnyHash
384
- )
385
- end
386
-
387
- sig { returns(String) }
388
- attr_accessor :status
389
-
390
- sig { returns(Time) }
391
- attr_accessor :timestamp
392
-
393
- sig { returns(T.nilable(String)) }
394
- attr_accessor :description
395
-
396
- # Represents a status change event in a message's lifecycle (v3)
397
- sig do
398
- params(
399
- status: String,
400
- timestamp: Time,
401
- description: T.nilable(String)
402
- ).returns(T.attached_class)
403
- end
404
- def self.new(status:, timestamp:, description: nil)
405
- end
406
-
407
- sig do
408
- override.returns(
409
- {
410
- status: String,
411
- timestamp: Time,
412
- description: T.nilable(String)
413
- }
414
- )
415
- end
416
- def to_hash
417
- end
418
- end
419
-
420
- class MessageBody < Sentdm::Internal::Type::BaseModel
421
- OrHash =
422
- T.type_alias do
423
- T.any(
424
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody,
425
- Sentdm::Internal::AnyHash
426
- )
427
- end
428
-
429
- sig do
430
- returns(
431
- T.nilable(
432
- T::Array[
433
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::Button
434
- ]
435
- )
436
- )
437
- end
438
- attr_accessor :buttons
439
-
440
- sig { returns(T.nilable(String)) }
441
- attr_reader :content
442
-
443
- sig { params(content: String).void }
444
- attr_writer :content
445
-
446
- sig { returns(T.nilable(String)) }
447
- attr_accessor :footer
448
-
449
- sig { returns(T.nilable(String)) }
450
- attr_accessor :header
451
-
452
- # Structured message body format for database storage. Preserves channel-specific
453
- # components (header, body, footer, buttons).
454
- sig do
455
- params(
456
- buttons:
457
- T.nilable(
458
- T::Array[
459
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::Button::OrHash
460
- ]
461
- ),
462
- content: String,
463
- footer: T.nilable(String),
464
- header: T.nilable(String)
465
- ).returns(T.attached_class)
466
- end
467
- def self.new(buttons: nil, content: nil, footer: nil, header: nil)
468
- end
469
-
470
- sig do
471
- override.returns(
472
- {
473
- buttons:
474
- T.nilable(
475
- T::Array[
476
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::Button
477
- ]
478
- ),
479
- content: String,
480
- footer: T.nilable(String),
481
- header: T.nilable(String)
482
- }
483
- )
484
- end
485
- def to_hash
486
- end
487
-
488
- class Button < Sentdm::Internal::Type::BaseModel
489
- OrHash =
490
- T.type_alias do
491
- T.any(
492
- Sentdm::Models::ConversationListResponse::Data::Message::MessageBody::Button,
493
- Sentdm::Internal::AnyHash
494
- )
495
- end
496
-
497
- sig { returns(T.nilable(String)) }
498
- attr_accessor :postback_data
499
-
500
- sig { returns(T.nilable(String)) }
501
- attr_accessor :text
502
-
503
- sig { returns(T.nilable(String)) }
504
- attr_reader :type
505
-
506
- sig { params(type: String).void }
507
- attr_writer :type
508
-
509
- sig { returns(T.nilable(String)) }
510
- attr_reader :value
511
-
512
- sig { params(value: String).void }
513
- attr_writer :value
514
-
515
- sig do
516
- params(
517
- postback_data: T.nilable(String),
518
- text: T.nilable(String),
519
- type: String,
520
- value: String
521
- ).returns(T.attached_class)
522
- end
523
- def self.new(postback_data: nil, text: nil, type: nil, value: nil)
524
- end
525
-
526
- sig do
527
- override.returns(
528
- {
529
- postback_data: T.nilable(String),
530
- text: T.nilable(String),
531
- type: String,
532
- value: String
533
- }
534
- )
535
- end
536
- def to_hash
537
- end
538
- end
539
- end
540
- end
541
-
542
- class Pagination < Sentdm::Internal::Type::BaseModel
543
- OrHash =
544
- T.type_alias do
545
- T.any(
546
- Sentdm::Models::ConversationListResponse::Data::Pagination,
547
- Sentdm::Internal::AnyHash
548
- )
549
- end
550
-
551
- # Cursor-based pagination. Never populated — see Cursors.
552
- sig do
553
- returns(
554
- T.nilable(
555
- Sentdm::Models::ConversationListResponse::Data::Pagination::Cursors
556
- )
557
- )
558
- end
559
- attr_reader :cursors
560
-
561
- sig do
562
- params(
563
- cursors:
564
- T.nilable(
565
- Sentdm::Models::ConversationListResponse::Data::Pagination::Cursors::OrHash
566
- )
567
- ).void
568
- end
569
- attr_writer :cursors
570
-
571
- # Whether there are more pages after this one
572
- sig { returns(T.nilable(T::Boolean)) }
573
- attr_reader :has_more
574
-
575
- sig { params(has_more: T::Boolean).void }
576
- attr_writer :has_more
577
-
578
- # Current page number (1-indexed)
579
- sig { returns(T.nilable(Integer)) }
580
- attr_reader :page
581
-
582
- sig { params(page: Integer).void }
583
- attr_writer :page
584
-
585
- # Number of items per page
586
- sig { returns(T.nilable(Integer)) }
587
- attr_reader :page_size
588
-
589
- sig { params(page_size: Integer).void }
590
- attr_writer :page_size
591
-
592
- # Total number of items across all pages
593
- sig { returns(T.nilable(Integer)) }
594
- attr_reader :total_count
595
-
596
- sig { params(total_count: Integer).void }
597
- attr_writer :total_count
598
-
599
- # Total number of pages
600
- sig { returns(T.nilable(Integer)) }
601
- attr_reader :total_pages
602
-
603
- sig { params(total_pages: Integer).void }
604
- attr_writer :total_pages
605
-
606
- # Pagination metadata for list responses
607
- sig do
608
- params(
609
- cursors:
610
- T.nilable(
611
- Sentdm::Models::ConversationListResponse::Data::Pagination::Cursors::OrHash
612
- ),
613
- has_more: T::Boolean,
614
- page: Integer,
615
- page_size: Integer,
616
- total_count: Integer,
617
- total_pages: Integer
618
- ).returns(T.attached_class)
619
- end
620
- def self.new(
621
- # Cursor-based pagination. Never populated — see Cursors.
622
- cursors: nil,
623
- # Whether there are more pages after this one
624
- has_more: nil,
625
- # Current page number (1-indexed)
626
- page: nil,
627
- # Number of items per page
628
- page_size: nil,
629
- # Total number of items across all pages
630
- total_count: nil,
631
- # Total number of pages
632
- total_pages: nil
633
- )
634
- end
635
-
636
- sig do
637
- override.returns(
638
- {
639
- cursors:
640
- T.nilable(
641
- Sentdm::Models::ConversationListResponse::Data::Pagination::Cursors
642
- ),
643
- has_more: T::Boolean,
644
- page: Integer,
645
- page_size: Integer,
646
- total_count: Integer,
647
- total_pages: Integer
648
- }
649
- )
650
- end
651
- def to_hash
652
- end
653
-
654
- class Cursors < Sentdm::Internal::Type::BaseModel
655
- OrHash =
656
- T.type_alias do
657
- T.any(
658
- Sentdm::Models::ConversationListResponse::Data::Pagination::Cursors,
659
- Sentdm::Internal::AnyHash
660
- )
661
- end
662
-
663
- # Cursor to fetch the next page.
664
- sig { returns(T.nilable(String)) }
665
- attr_accessor :after
666
-
667
- # Cursor to fetch the previous page.
668
- sig { returns(T.nilable(String)) }
669
- attr_accessor :before
670
-
671
- # Cursor-based pagination. Never populated — see Cursors.
672
- sig do
673
- params(
674
- after: T.nilable(String),
675
- before: T.nilable(String)
676
- ).returns(T.attached_class)
677
- end
678
- def self.new(
679
- # Cursor to fetch the next page.
680
- after: nil,
681
- # Cursor to fetch the previous page.
682
- before: nil
683
- )
684
- end
685
-
686
- sig do
687
- override.returns(
688
- { after: T.nilable(String), before: T.nilable(String) }
689
- )
690
- end
691
- def to_hash
692
- end
693
- end
694
- end
695
- end
696
-
697
- class Error < Sentdm::Internal::Type::BaseModel
698
- OrHash =
699
- T.type_alias do
700
- T.any(
701
- Sentdm::Models::ConversationListResponse::Error,
702
- Sentdm::Internal::AnyHash
703
- )
704
- end
705
-
706
- # Machine-readable error code (e.g., "RESOURCE_001")
707
- sig { returns(T.nilable(String)) }
708
- attr_reader :code
709
-
710
- sig { params(code: String).void }
711
- attr_writer :code
712
-
713
- # Additional validation error details (field-level errors)
714
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
715
- attr_accessor :details
716
-
717
- # URL to documentation about this error
718
- sig { returns(T.nilable(String)) }
719
- attr_accessor :doc_url
720
-
721
- # Human-readable error message
722
- sig { returns(T.nilable(String)) }
723
- attr_reader :message
724
-
725
- sig { params(message: String).void }
726
- attr_writer :message
727
-
728
- # Error information
729
- sig do
730
- params(
731
- code: String,
732
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
733
- doc_url: T.nilable(String),
734
- message: String
735
- ).returns(T.attached_class)
736
- end
737
- def self.new(
738
- # Machine-readable error code (e.g., "RESOURCE_001")
739
- code: nil,
740
- # Additional validation error details (field-level errors)
741
- details: nil,
742
- # URL to documentation about this error
743
- doc_url: nil,
744
- # Human-readable error message
745
- message: nil
746
- )
747
- end
748
-
749
- sig do
750
- override.returns(
751
- {
752
- code: String,
753
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
754
- doc_url: T.nilable(String),
755
- message: String
756
- }
757
- )
758
- end
759
- def to_hash
760
- end
761
- end
762
-
763
- class Meta < Sentdm::Internal::Type::BaseModel
764
- OrHash =
765
- T.type_alias do
766
- T.any(
767
- Sentdm::Models::ConversationListResponse::Meta,
768
- Sentdm::Internal::AnyHash
769
- )
770
- end
771
-
772
- # Unique identifier for this request (for tracing and support)
773
- sig { returns(T.nilable(String)) }
774
- attr_reader :request_id
775
-
776
- sig { params(request_id: String).void }
777
- attr_writer :request_id
778
-
779
- # Server timestamp when the response was generated
780
- sig { returns(T.nilable(Time)) }
781
- attr_reader :timestamp
782
-
783
- sig { params(timestamp: Time).void }
784
- attr_writer :timestamp
785
-
786
- # API version used for this request
787
- sig { returns(T.nilable(String)) }
788
- attr_reader :version
789
-
790
- sig { params(version: String).void }
791
- attr_writer :version
792
-
793
- # Request and response metadata
794
- sig do
795
- params(request_id: String, timestamp: Time, version: String).returns(
796
- T.attached_class
797
- )
798
- end
799
- def self.new(
800
- # Unique identifier for this request (for tracing and support)
801
- request_id: nil,
802
- # Server timestamp when the response was generated
803
- timestamp: nil,
804
- # API version used for this request
805
- version: nil
806
- )
807
- end
808
-
809
- sig do
810
- override.returns(
811
- { request_id: String, timestamp: Time, version: String }
812
- )
813
- end
814
- def to_hash
815
- end
816
- end
817
- end
818
- end
819
- end