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,436 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Conversations#list_messages
6
+ class ConversationListMessagesResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # A paginated list of messages — used by both conversation read endpoints.
9
+ #
10
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ConversationListMessagesResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ConversationListMessagesResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ConversationListMessagesResponse::Meta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ConversationListMessagesResponse::Data, nil] A paginated list of messages — used by both conversation read endpoints.
35
+ #
36
+ # @param error [Sentdm::Models::ConversationListMessagesResponse::Error, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::ConversationListMessagesResponse::Meta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+
42
+ # @see Sentdm::Models::ConversationListMessagesResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute messages
45
+ # The messages on this page.
46
+ #
47
+ # @return [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message>, nil]
48
+ optional :messages,
49
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ConversationListMessagesResponse::Data::Message] }
50
+
51
+ # @!attribute pagination
52
+ # Pagination metadata for list responses
53
+ #
54
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Data::Pagination, nil]
55
+ optional :pagination, -> { Sentdm::Models::ConversationListMessagesResponse::Data::Pagination }
56
+
57
+ # @!method initialize(messages: nil, pagination: nil)
58
+ # A paginated list of messages — used by both conversation read endpoints.
59
+ #
60
+ # @param messages [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message>] The messages on this page.
61
+ #
62
+ # @param pagination [Sentdm::Models::ConversationListMessagesResponse::Data::Pagination] Pagination metadata for list responses
63
+
64
+ class Message < Sentdm::Internal::Type::BaseModel
65
+ # @!attribute id
66
+ #
67
+ # @return [String, nil]
68
+ optional :id, String
69
+
70
+ # @!attribute active_contact_price
71
+ #
72
+ # @return [Float, nil]
73
+ optional :active_contact_price, Float, nil?: true
74
+
75
+ # @!attribute channel
76
+ #
77
+ # @return [String, nil]
78
+ optional :channel, String
79
+
80
+ # @!attribute contact_id
81
+ #
82
+ # @return [String, nil]
83
+ optional :contact_id, String
84
+
85
+ # @!attribute created_at
86
+ #
87
+ # @return [Time, nil]
88
+ optional :created_at, Time
89
+
90
+ # @!attribute customer_id
91
+ #
92
+ # @return [String, nil]
93
+ optional :customer_id, String
94
+
95
+ # @!attribute direction
96
+ #
97
+ # @return [String, nil]
98
+ optional :direction, String
99
+
100
+ # @!attribute events
101
+ #
102
+ # @return [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message::Event>, nil]
103
+ optional :events,
104
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ConversationListMessagesResponse::Data::Message::Event] },
105
+ nil?: true
106
+
107
+ # @!attribute message_body
108
+ # Structured message body format for database storage. Preserves channel-specific
109
+ # components (header, body, footer, buttons).
110
+ #
111
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody, nil]
112
+ optional :message_body,
113
+ -> { Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody },
114
+ nil?: true
115
+
116
+ # @!attribute phone
117
+ #
118
+ # @return [String, nil]
119
+ optional :phone, String
120
+
121
+ # @!attribute phone_international
122
+ #
123
+ # @return [String, nil]
124
+ optional :phone_international, String
125
+
126
+ # @!attribute price
127
+ #
128
+ # @return [Float, nil]
129
+ optional :price, Float, nil?: true
130
+
131
+ # @!attribute region_code
132
+ #
133
+ # @return [String, nil]
134
+ optional :region_code, String
135
+
136
+ # @!attribute status
137
+ #
138
+ # @return [String, nil]
139
+ optional :status, String
140
+
141
+ # @!attribute template_category
142
+ #
143
+ # @return [String, nil]
144
+ optional :template_category, String, nil?: true
145
+
146
+ # @!attribute template_id
147
+ #
148
+ # @return [String, nil]
149
+ optional :template_id, String, nil?: true
150
+
151
+ # @!attribute template_name
152
+ #
153
+ # @return [String, nil]
154
+ optional :template_name, String, nil?: true
155
+
156
+ # @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
157
+ # Some parameter documentations has been truncated, see
158
+ # {Sentdm::Models::ConversationListMessagesResponse::Data::Message} for more
159
+ # details.
160
+ #
161
+ # Message response for v3 API — same shape as v2 with snake_case JSON conventions
162
+ #
163
+ # @param id [String]
164
+ #
165
+ # @param active_contact_price [Float, nil]
166
+ #
167
+ # @param channel [String]
168
+ #
169
+ # @param contact_id [String]
170
+ #
171
+ # @param created_at [Time]
172
+ #
173
+ # @param customer_id [String]
174
+ #
175
+ # @param direction [String]
176
+ #
177
+ # @param events [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message::Event>, nil]
178
+ #
179
+ # @param message_body [Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody, nil] Structured message body format for database storage.
180
+ #
181
+ # @param phone [String]
182
+ #
183
+ # @param phone_international [String]
184
+ #
185
+ # @param price [Float, nil]
186
+ #
187
+ # @param region_code [String]
188
+ #
189
+ # @param status [String]
190
+ #
191
+ # @param template_category [String, nil]
192
+ #
193
+ # @param template_id [String, nil]
194
+ #
195
+ # @param template_name [String, nil]
196
+
197
+ class Event < Sentdm::Internal::Type::BaseModel
198
+ # @!attribute status
199
+ #
200
+ # @return [String]
201
+ required :status, String
202
+
203
+ # @!attribute timestamp
204
+ #
205
+ # @return [Time]
206
+ required :timestamp, Time
207
+
208
+ # @!attribute description
209
+ #
210
+ # @return [String, nil]
211
+ optional :description, String, nil?: true
212
+
213
+ # @!method initialize(status:, timestamp:, description: nil)
214
+ # Represents a status change event in a message's lifecycle (v3)
215
+ #
216
+ # @param status [String]
217
+ # @param timestamp [Time]
218
+ # @param description [String, nil]
219
+ end
220
+
221
+ # @see Sentdm::Models::ConversationListMessagesResponse::Data::Message#message_body
222
+ class MessageBody < Sentdm::Internal::Type::BaseModel
223
+ # @!attribute buttons
224
+ #
225
+ # @return [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody::Button>, nil]
226
+ optional :buttons,
227
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody::Button] },
228
+ nil?: true
229
+
230
+ # @!attribute content
231
+ #
232
+ # @return [String, nil]
233
+ optional :content, String
234
+
235
+ # @!attribute footer
236
+ #
237
+ # @return [String, nil]
238
+ optional :footer, String, nil?: true
239
+
240
+ # @!attribute header
241
+ #
242
+ # @return [String, nil]
243
+ optional :header, String, nil?: true
244
+
245
+ # @!method initialize(buttons: nil, content: nil, footer: nil, header: nil)
246
+ # Structured message body format for database storage. Preserves channel-specific
247
+ # components (header, body, footer, buttons).
248
+ #
249
+ # @param buttons [Array<Sentdm::Models::ConversationListMessagesResponse::Data::Message::MessageBody::Button>, nil]
250
+ # @param content [String]
251
+ # @param footer [String, nil]
252
+ # @param header [String, nil]
253
+
254
+ class Button < Sentdm::Internal::Type::BaseModel
255
+ # @!attribute postback_data
256
+ #
257
+ # @return [String, nil]
258
+ optional :postback_data, String, api_name: :postbackData, nil?: true
259
+
260
+ # @!attribute text
261
+ #
262
+ # @return [String, nil]
263
+ optional :text, String, nil?: true
264
+
265
+ # @!attribute type
266
+ #
267
+ # @return [String, nil]
268
+ optional :type, String
269
+
270
+ # @!attribute value
271
+ #
272
+ # @return [String, nil]
273
+ optional :value, String
274
+
275
+ # @!method initialize(postback_data: nil, text: nil, type: nil, value: nil)
276
+ # @param postback_data [String, nil]
277
+ # @param text [String, nil]
278
+ # @param type [String]
279
+ # @param value [String]
280
+ end
281
+ end
282
+ end
283
+
284
+ # @see Sentdm::Models::ConversationListMessagesResponse::Data#pagination
285
+ class Pagination < Sentdm::Internal::Type::BaseModel
286
+ # @!attribute cursors
287
+ # @deprecated
288
+ #
289
+ # Cursor-based pagination. Never populated — see Cursors.
290
+ #
291
+ # @return [Sentdm::Models::ConversationListMessagesResponse::Data::Pagination::Cursors, nil]
292
+ optional :cursors,
293
+ -> { Sentdm::Models::ConversationListMessagesResponse::Data::Pagination::Cursors },
294
+ nil?: true
295
+
296
+ # @!attribute has_more
297
+ # Whether there are more pages after this one
298
+ #
299
+ # @return [Boolean, nil]
300
+ optional :has_more, Sentdm::Internal::Type::Boolean
301
+
302
+ # @!attribute page
303
+ # Current page number (1-indexed)
304
+ #
305
+ # @return [Integer, nil]
306
+ optional :page, Integer
307
+
308
+ # @!attribute page_size
309
+ # Number of items per page
310
+ #
311
+ # @return [Integer, nil]
312
+ optional :page_size, Integer
313
+
314
+ # @!attribute total_count
315
+ # Total number of items across all pages
316
+ #
317
+ # @return [Integer, nil]
318
+ optional :total_count, Integer
319
+
320
+ # @!attribute total_pages
321
+ # Total number of pages
322
+ #
323
+ # @return [Integer, nil]
324
+ optional :total_pages, Integer
325
+
326
+ # @!method initialize(cursors: nil, has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
327
+ # Pagination metadata for list responses
328
+ #
329
+ # @param cursors [Sentdm::Models::ConversationListMessagesResponse::Data::Pagination::Cursors, nil] Cursor-based pagination. Never populated — see Cursors.
330
+ #
331
+ # @param has_more [Boolean] Whether there are more pages after this one
332
+ #
333
+ # @param page [Integer] Current page number (1-indexed)
334
+ #
335
+ # @param page_size [Integer] Number of items per page
336
+ #
337
+ # @param total_count [Integer] Total number of items across all pages
338
+ #
339
+ # @param total_pages [Integer] Total number of pages
340
+
341
+ # @deprecated
342
+ #
343
+ # @see Sentdm::Models::ConversationListMessagesResponse::Data::Pagination#cursors
344
+ class Cursors < Sentdm::Internal::Type::BaseModel
345
+ # @!attribute after
346
+ # Cursor to fetch the next page.
347
+ #
348
+ # @return [String, nil]
349
+ optional :after, String, nil?: true
350
+
351
+ # @!attribute before
352
+ # Cursor to fetch the previous page.
353
+ #
354
+ # @return [String, nil]
355
+ optional :before, String, nil?: true
356
+
357
+ # @!method initialize(after: nil, before: nil)
358
+ # Cursor-based pagination. Never populated — see Cursors.
359
+ #
360
+ # @param after [String, nil] Cursor to fetch the next page.
361
+ #
362
+ # @param before [String, nil] Cursor to fetch the previous page.
363
+ end
364
+ end
365
+ end
366
+
367
+ # @see Sentdm::Models::ConversationListMessagesResponse#error
368
+ class Error < Sentdm::Internal::Type::BaseModel
369
+ # @!attribute code
370
+ # Machine-readable error code (e.g., "RESOURCE_001")
371
+ #
372
+ # @return [String, nil]
373
+ optional :code, String
374
+
375
+ # @!attribute details
376
+ # Additional validation error details (field-level errors)
377
+ #
378
+ # @return [Hash{Symbol=>Array<String>}, nil]
379
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
380
+
381
+ # @!attribute doc_url
382
+ # URL to documentation about this error
383
+ #
384
+ # @return [String, nil]
385
+ optional :doc_url, String, nil?: true
386
+
387
+ # @!attribute message
388
+ # Human-readable error message
389
+ #
390
+ # @return [String, nil]
391
+ optional :message, String
392
+
393
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
394
+ # Error information
395
+ #
396
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
397
+ #
398
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
399
+ #
400
+ # @param doc_url [String, nil] URL to documentation about this error
401
+ #
402
+ # @param message [String] Human-readable error message
403
+ end
404
+
405
+ # @see Sentdm::Models::ConversationListMessagesResponse#meta
406
+ class Meta < Sentdm::Internal::Type::BaseModel
407
+ # @!attribute request_id
408
+ # Unique identifier for this request (for tracing and support)
409
+ #
410
+ # @return [String, nil]
411
+ optional :request_id, String
412
+
413
+ # @!attribute timestamp
414
+ # Server timestamp when the response was generated
415
+ #
416
+ # @return [Time, nil]
417
+ optional :timestamp, Time
418
+
419
+ # @!attribute version
420
+ # API version used for this request
421
+ #
422
+ # @return [String, nil]
423
+ optional :version, String
424
+
425
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
426
+ # Request and response metadata
427
+ #
428
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
429
+ #
430
+ # @param timestamp [Time] Server timestamp when the response was generated
431
+ #
432
+ # @param version [String] API version used for this request
433
+ end
434
+ end
435
+ end
436
+ end