sentdm 0.28.0 → 0.30.0

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