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