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
@@ -0,0 +1,245 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ConversationMessagesList < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute messages
7
+ # The messages on this page.
8
+ #
9
+ # @return [Array<Sentdm::Models::ConversationMessagesList::Message>, nil]
10
+ optional :messages, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message] }
11
+
12
+ # @!attribute pagination
13
+ # Pagination metadata for list responses
14
+ #
15
+ # @return [Sentdm::Models::PaginationMeta, nil]
16
+ optional :pagination, -> { Sentdm::PaginationMeta }
17
+
18
+ # @!method initialize(messages: nil, pagination: nil)
19
+ # A paginated list of messages — used by both conversation read endpoints.
20
+ #
21
+ # @param messages [Array<Sentdm::Models::ConversationMessagesList::Message>] The messages on this page.
22
+ #
23
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
24
+
25
+ class Message < Sentdm::Internal::Type::BaseModel
26
+ # @!attribute id
27
+ #
28
+ # @return [String, nil]
29
+ optional :id, String
30
+
31
+ # @!attribute active_contact_price
32
+ #
33
+ # @return [Float, nil]
34
+ optional :active_contact_price, Float, nil?: true
35
+
36
+ # @!attribute channel
37
+ #
38
+ # @return [String, nil]
39
+ optional :channel, String
40
+
41
+ # @!attribute contact_id
42
+ #
43
+ # @return [String, nil]
44
+ optional :contact_id, String
45
+
46
+ # @!attribute created_at
47
+ #
48
+ # @return [Time, nil]
49
+ optional :created_at, Time
50
+
51
+ # @!attribute customer_id
52
+ #
53
+ # @return [String, nil]
54
+ optional :customer_id, String
55
+
56
+ # @!attribute direction
57
+ #
58
+ # @return [String, nil]
59
+ optional :direction, String
60
+
61
+ # @!attribute events
62
+ #
63
+ # @return [Array<Sentdm::Models::ConversationMessagesList::Message::Event>, nil]
64
+ optional :events,
65
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message::Event] },
66
+ nil?: true
67
+
68
+ # @!attribute message_body
69
+ # Structured message body format for database storage. Preserves channel-specific
70
+ # components (header, body, footer, buttons).
71
+ #
72
+ # @return [Sentdm::Models::ConversationMessagesList::Message::MessageBody, nil]
73
+ optional :message_body, -> { Sentdm::ConversationMessagesList::Message::MessageBody }, nil?: true
74
+
75
+ # @!attribute phone
76
+ #
77
+ # @return [String, nil]
78
+ optional :phone, String
79
+
80
+ # @!attribute phone_international
81
+ #
82
+ # @return [String, nil]
83
+ optional :phone_international, String
84
+
85
+ # @!attribute price
86
+ #
87
+ # @return [Float, nil]
88
+ optional :price, Float, nil?: true
89
+
90
+ # @!attribute region_code
91
+ #
92
+ # @return [String, nil]
93
+ optional :region_code, String
94
+
95
+ # @!attribute status
96
+ #
97
+ # @return [String, nil]
98
+ optional :status, String
99
+
100
+ # @!attribute template_category
101
+ #
102
+ # @return [String, nil]
103
+ optional :template_category, String, nil?: true
104
+
105
+ # @!attribute template_id
106
+ #
107
+ # @return [String, nil]
108
+ optional :template_id, String, nil?: true
109
+
110
+ # @!attribute template_name
111
+ #
112
+ # @return [String, nil]
113
+ optional :template_name, String, nil?: true
114
+
115
+ # @!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)
116
+ # Some parameter documentations has been truncated, see
117
+ # {Sentdm::Models::ConversationMessagesList::Message} for more details.
118
+ #
119
+ # Message response for v3 API — same shape as v2 with snake_case JSON conventions
120
+ #
121
+ # @param id [String]
122
+ #
123
+ # @param active_contact_price [Float, nil]
124
+ #
125
+ # @param channel [String]
126
+ #
127
+ # @param contact_id [String]
128
+ #
129
+ # @param created_at [Time]
130
+ #
131
+ # @param customer_id [String]
132
+ #
133
+ # @param direction [String]
134
+ #
135
+ # @param events [Array<Sentdm::Models::ConversationMessagesList::Message::Event>, nil]
136
+ #
137
+ # @param message_body [Sentdm::Models::ConversationMessagesList::Message::MessageBody, nil] Structured message body format for database storage.
138
+ #
139
+ # @param phone [String]
140
+ #
141
+ # @param phone_international [String]
142
+ #
143
+ # @param price [Float, nil]
144
+ #
145
+ # @param region_code [String]
146
+ #
147
+ # @param status [String]
148
+ #
149
+ # @param template_category [String, nil]
150
+ #
151
+ # @param template_id [String, nil]
152
+ #
153
+ # @param template_name [String, nil]
154
+
155
+ class Event < Sentdm::Internal::Type::BaseModel
156
+ # @!attribute status
157
+ #
158
+ # @return [String]
159
+ required :status, String
160
+
161
+ # @!attribute timestamp
162
+ #
163
+ # @return [Time]
164
+ required :timestamp, Time
165
+
166
+ # @!attribute description
167
+ #
168
+ # @return [String, nil]
169
+ optional :description, String, nil?: true
170
+
171
+ # @!method initialize(status:, timestamp:, description: nil)
172
+ # Represents a status change event in a message's lifecycle (v3)
173
+ #
174
+ # @param status [String]
175
+ # @param timestamp [Time]
176
+ # @param description [String, nil]
177
+ end
178
+
179
+ # @see Sentdm::Models::ConversationMessagesList::Message#message_body
180
+ class MessageBody < Sentdm::Internal::Type::BaseModel
181
+ # @!attribute buttons
182
+ #
183
+ # @return [Array<Sentdm::Models::ConversationMessagesList::Message::MessageBody::Button>, nil]
184
+ optional :buttons,
185
+ -> {
186
+ Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message::MessageBody::Button]
187
+ },
188
+ nil?: true
189
+
190
+ # @!attribute content
191
+ #
192
+ # @return [String, nil]
193
+ optional :content, String
194
+
195
+ # @!attribute footer
196
+ #
197
+ # @return [String, nil]
198
+ optional :footer, String, nil?: true
199
+
200
+ # @!attribute header
201
+ #
202
+ # @return [String, nil]
203
+ optional :header, String, nil?: true
204
+
205
+ # @!method initialize(buttons: nil, content: nil, footer: nil, header: nil)
206
+ # Structured message body format for database storage. Preserves channel-specific
207
+ # components (header, body, footer, buttons).
208
+ #
209
+ # @param buttons [Array<Sentdm::Models::ConversationMessagesList::Message::MessageBody::Button>, nil]
210
+ # @param content [String]
211
+ # @param footer [String, nil]
212
+ # @param header [String, nil]
213
+
214
+ class Button < Sentdm::Internal::Type::BaseModel
215
+ # @!attribute postback_data
216
+ #
217
+ # @return [String, nil]
218
+ optional :postback_data, String, api_name: :postbackData, nil?: true
219
+
220
+ # @!attribute text
221
+ #
222
+ # @return [String, nil]
223
+ optional :text, String, nil?: true
224
+
225
+ # @!attribute type
226
+ #
227
+ # @return [String, nil]
228
+ optional :type, String
229
+
230
+ # @!attribute value
231
+ #
232
+ # @return [String, nil]
233
+ optional :value, String
234
+
235
+ # @!method initialize(postback_data: nil, text: nil, type: nil, value: nil)
236
+ # @param postback_data [String, nil]
237
+ # @param text [String, nil]
238
+ # @param type [String]
239
+ # @param value [String]
240
+ end
241
+ end
242
+ end
243
+ end
244
+ end
245
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ErrorDetail < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute code
7
+ # Machine-readable error code (e.g., "RESOURCE_001")
8
+ #
9
+ # @return [String, nil]
10
+ optional :code, String
11
+
12
+ # @!attribute details
13
+ # Additional validation error details (field-level errors)
14
+ #
15
+ # @return [Hash{Symbol=>Array<String>}, nil]
16
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
17
+
18
+ # @!attribute doc_url
19
+ # URL to documentation about this error
20
+ #
21
+ # @return [String, nil]
22
+ optional :doc_url, String, nil?: true
23
+
24
+ # @!attribute message
25
+ # Human-readable error message
26
+ #
27
+ # @return [String, nil]
28
+ optional :message, String
29
+
30
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
31
+ # Error information
32
+ #
33
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
34
+ #
35
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
36
+ #
37
+ # @param doc_url [String, nil] URL to documentation about this error
38
+ #
39
+ # @param message [String] Human-readable error message
40
+ end
41
+ end
42
+ end
@@ -15,14 +15,14 @@ module Sentdm
15
15
  # @!attribute error
16
16
  # Error information
17
17
  #
18
- # @return [Sentdm::Models::MeRetrieveResponse::Error, nil]
19
- optional :error, -> { Sentdm::Models::MeRetrieveResponse::Error }, nil?: true
18
+ # @return [Sentdm::Models::ErrorDetail, nil]
19
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
20
20
 
21
21
  # @!attribute meta
22
22
  # Request and response metadata
23
23
  #
24
- # @return [Sentdm::Models::MeRetrieveResponse::Meta, nil]
25
- optional :meta, -> { Sentdm::Models::MeRetrieveResponse::Meta }
24
+ # @return [Sentdm::Models::APIMeta, nil]
25
+ optional :meta, -> { Sentdm::APIMeta }
26
26
 
27
27
  # @!attribute success
28
28
  # Indicates whether the request was successful
@@ -38,9 +38,9 @@ module Sentdm
38
38
  #
39
39
  # @param data [Sentdm::Models::MeRetrieveResponse::Data, nil] Account response for GET /v3/me endpoint.
40
40
  #
41
- # @param error [Sentdm::Models::MeRetrieveResponse::Error, nil] Error information
41
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
42
42
  #
43
- # @param meta [Sentdm::Models::MeRetrieveResponse::Meta] Request and response metadata
43
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
44
44
  #
45
45
  # @param success [Boolean] Indicates whether the request was successful
46
46
 
@@ -132,8 +132,8 @@ module Sentdm
132
132
  # @!attribute settings
133
133
  # Profile configuration settings
134
134
  #
135
- # @return [Sentdm::Models::MeRetrieveResponse::Data::Settings, nil]
136
- optional :settings, -> { Sentdm::Models::MeRetrieveResponse::Data::Settings }, nil?: true
135
+ # @return [Sentdm::Models::ProfileSettings, nil]
136
+ optional :settings, -> { Sentdm::ProfileSettings }, nil?: true
137
137
 
138
138
  # @!attribute short_name
139
139
  # Short name / abbreviation (only for profile type)
@@ -185,7 +185,7 @@ module Sentdm
185
185
  #
186
186
  # @param sending_phone_number_profile_id [String, nil] The account that holds sending_phone_number in number inventory: normally this a
187
187
  #
188
- # @param settings [Sentdm::Models::MeRetrieveResponse::Data::Settings, nil] Profile configuration settings
188
+ # @param settings [Sentdm::Models::ProfileSettings, nil] Profile configuration settings
189
189
  #
190
190
  # @param short_name [String, nil] Short name / abbreviation (only for profile type)
191
191
  #
@@ -344,8 +344,8 @@ module Sentdm
344
344
  # @!attribute settings
345
345
  # Profile configuration settings
346
346
  #
347
- # @return [Sentdm::Models::MeRetrieveResponse::Data::Profile::Settings, nil]
348
- optional :settings, -> { Sentdm::Models::MeRetrieveResponse::Data::Profile::Settings }
347
+ # @return [Sentdm::Models::ProfileSettings, nil]
348
+ optional :settings, -> { Sentdm::ProfileSettings }
349
349
 
350
350
  # @!attribute short_name
351
351
  # Profile short name (abbreviation)
@@ -377,242 +377,12 @@ module Sentdm
377
377
  #
378
378
  # @param role [String, nil] User's role in this profile: admin, billing, developer (inherited from organizat
379
379
  #
380
- # @param settings [Sentdm::Models::MeRetrieveResponse::Data::Profile::Settings] Profile configuration settings
380
+ # @param settings [Sentdm::Models::ProfileSettings] Profile configuration settings
381
381
  #
382
382
  # @param short_name [String, nil] Profile short name (abbreviation)
383
383
  #
384
384
  # @param status [String, nil] Profile setup status: incomplete, pending_review, approved, rejected
385
-
386
- # @see Sentdm::Models::MeRetrieveResponse::Data::Profile#settings
387
- class Settings < Sentdm::Internal::Type::BaseModel
388
- # @!attribute allow_contact_sharing
389
- # @deprecated
390
- #
391
- # Always false. A profile no longer shares contacts with sibling profiles — it
392
- # sees only what it owns. Retained so existing v3 clients reading
393
- # allow_contact_sharing keep deserializing; it carries no information.
394
- #
395
- # @return [Boolean, nil]
396
- optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
397
-
398
- # @!attribute allow_template_sharing
399
- # @deprecated
400
- #
401
- # Always false. A profile no longer shares templates with sibling profiles.
402
- # Retained so existing v3 clients reading allow_template_sharing keep
403
- # deserializing; it carries no information.
404
- #
405
- # @return [Boolean, nil]
406
- optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
407
-
408
- # @!attribute billing_model
409
- # Billing model: profile, organization, or profile_and_organization
410
- #
411
- # @return [String, nil]
412
- optional :billing_model, String, nil?: true
413
-
414
- # @!attribute inherit_contacts
415
- # @deprecated
416
- #
417
- # Always false. A profile no longer inherits its organization's contacts. Retained
418
- # so existing v3 clients reading inherit_contacts keep deserializing; it carries
419
- # no information.
420
- #
421
- # @return [Boolean, nil]
422
- optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
423
-
424
- # @!attribute inherit_tcr_brand
425
- # Whether this profile inherits TCR brand from the organization
426
- #
427
- # @return [Boolean, nil]
428
- optional :inherit_tcr_brand, Sentdm::Internal::Type::Boolean, nil?: true
429
-
430
- # @!attribute inherit_tcr_campaign
431
- # Whether this profile inherits TCR campaign from the organization
432
- #
433
- # @return [Boolean, nil]
434
- optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean, nil?: true
435
-
436
- # @!attribute inherit_templates
437
- # @deprecated
438
- #
439
- # Always false. A profile no longer inherits its organization's templates.
440
- # Retained so existing v3 clients reading inherit_templates keep deserializing; it
441
- # carries no information.
442
- #
443
- # @return [Boolean, nil]
444
- optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
445
-
446
- # @!method initialize(allow_contact_sharing: nil, allow_template_sharing: nil, billing_model: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil)
447
- # Some parameter documentations has been truncated, see
448
- # {Sentdm::Models::MeRetrieveResponse::Data::Profile::Settings} for more details.
449
- #
450
- # Profile configuration settings
451
- #
452
- # @param allow_contact_sharing [Boolean, nil] Always false. A profile no longer shares contacts with sibling profiles — it see
453
- #
454
- # @param allow_template_sharing [Boolean, nil] Always false. A profile no longer shares templates with sibling profiles. Retain
455
- #
456
- # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization
457
- #
458
- # @param inherit_contacts [Boolean, nil] Always false. A profile no longer inherits its organization's contacts. Retained
459
- #
460
- # @param inherit_tcr_brand [Boolean, nil] Whether this profile inherits TCR brand from the organization
461
- #
462
- # @param inherit_tcr_campaign [Boolean, nil] Whether this profile inherits TCR campaign from the organization
463
- #
464
- # @param inherit_templates [Boolean, nil] Always false. A profile no longer inherits its organization's templates. Retaine
465
- end
466
385
  end
467
-
468
- # @see Sentdm::Models::MeRetrieveResponse::Data#settings
469
- class Settings < Sentdm::Internal::Type::BaseModel
470
- # @!attribute allow_contact_sharing
471
- # @deprecated
472
- #
473
- # Always false. A profile no longer shares contacts with sibling profiles — it
474
- # sees only what it owns. Retained so existing v3 clients reading
475
- # allow_contact_sharing keep deserializing; it carries no information.
476
- #
477
- # @return [Boolean, nil]
478
- optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
479
-
480
- # @!attribute allow_template_sharing
481
- # @deprecated
482
- #
483
- # Always false. A profile no longer shares templates with sibling profiles.
484
- # Retained so existing v3 clients reading allow_template_sharing keep
485
- # deserializing; it carries no information.
486
- #
487
- # @return [Boolean, nil]
488
- optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
489
-
490
- # @!attribute billing_model
491
- # Billing model: profile, organization, or profile_and_organization
492
- #
493
- # @return [String, nil]
494
- optional :billing_model, String, nil?: true
495
-
496
- # @!attribute inherit_contacts
497
- # @deprecated
498
- #
499
- # Always false. A profile no longer inherits its organization's contacts. Retained
500
- # so existing v3 clients reading inherit_contacts keep deserializing; it carries
501
- # no information.
502
- #
503
- # @return [Boolean, nil]
504
- optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
505
-
506
- # @!attribute inherit_tcr_brand
507
- # Whether this profile inherits TCR brand from the organization
508
- #
509
- # @return [Boolean, nil]
510
- optional :inherit_tcr_brand, Sentdm::Internal::Type::Boolean, nil?: true
511
-
512
- # @!attribute inherit_tcr_campaign
513
- # Whether this profile inherits TCR campaign from the organization
514
- #
515
- # @return [Boolean, nil]
516
- optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean, nil?: true
517
-
518
- # @!attribute inherit_templates
519
- # @deprecated
520
- #
521
- # Always false. A profile no longer inherits its organization's templates.
522
- # Retained so existing v3 clients reading inherit_templates keep deserializing; it
523
- # carries no information.
524
- #
525
- # @return [Boolean, nil]
526
- optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
527
-
528
- # @!method initialize(allow_contact_sharing: nil, allow_template_sharing: nil, billing_model: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil)
529
- # Some parameter documentations has been truncated, see
530
- # {Sentdm::Models::MeRetrieveResponse::Data::Settings} for more details.
531
- #
532
- # Profile configuration settings
533
- #
534
- # @param allow_contact_sharing [Boolean, nil] Always false. A profile no longer shares contacts with sibling profiles — it see
535
- #
536
- # @param allow_template_sharing [Boolean, nil] Always false. A profile no longer shares templates with sibling profiles. Retain
537
- #
538
- # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization
539
- #
540
- # @param inherit_contacts [Boolean, nil] Always false. A profile no longer inherits its organization's contacts. Retained
541
- #
542
- # @param inherit_tcr_brand [Boolean, nil] Whether this profile inherits TCR brand from the organization
543
- #
544
- # @param inherit_tcr_campaign [Boolean, nil] Whether this profile inherits TCR campaign from the organization
545
- #
546
- # @param inherit_templates [Boolean, nil] Always false. A profile no longer inherits its organization's templates. Retaine
547
- end
548
- end
549
-
550
- # @see Sentdm::Models::MeRetrieveResponse#error
551
- class Error < Sentdm::Internal::Type::BaseModel
552
- # @!attribute code
553
- # Machine-readable error code (e.g., "RESOURCE_001")
554
- #
555
- # @return [String, nil]
556
- optional :code, String
557
-
558
- # @!attribute details
559
- # Additional validation error details (field-level errors)
560
- #
561
- # @return [Hash{Symbol=>Array<String>}, nil]
562
- optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
563
-
564
- # @!attribute doc_url
565
- # URL to documentation about this error
566
- #
567
- # @return [String, nil]
568
- optional :doc_url, String, nil?: true
569
-
570
- # @!attribute message
571
- # Human-readable error message
572
- #
573
- # @return [String, nil]
574
- optional :message, String
575
-
576
- # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
577
- # Error information
578
- #
579
- # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
580
- #
581
- # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
582
- #
583
- # @param doc_url [String, nil] URL to documentation about this error
584
- #
585
- # @param message [String] Human-readable error message
586
- end
587
-
588
- # @see Sentdm::Models::MeRetrieveResponse#meta
589
- class Meta < Sentdm::Internal::Type::BaseModel
590
- # @!attribute request_id
591
- # Unique identifier for this request (for tracing and support)
592
- #
593
- # @return [String, nil]
594
- optional :request_id, String
595
-
596
- # @!attribute timestamp
597
- # Server timestamp when the response was generated
598
- #
599
- # @return [Time, nil]
600
- optional :timestamp, Time
601
-
602
- # @!attribute version
603
- # API version used for this request
604
- #
605
- # @return [String, nil]
606
- optional :version, String
607
-
608
- # @!method initialize(request_id: nil, timestamp: nil, version: nil)
609
- # Request and response metadata
610
- #
611
- # @param request_id [String] Unique identifier for this request (for tracing and support)
612
- #
613
- # @param timestamp [Time] Server timestamp when the response was generated
614
- #
615
- # @param version [String] API version used for this request
616
386
  end
617
387
  end
618
388
  end