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