sentdm 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  15. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  16. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  17. data/lib/sentdm/models/message_event.rb +53 -0
  18. data/lib/sentdm/models/message_event_payload.rb +92 -0
  19. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  21. data/lib/sentdm/models/message_send_response.rb +113 -28
  22. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  23. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  24. data/lib/sentdm/models/profile_create_params.rb +378 -26
  25. data/lib/sentdm/models/profile_create_response.rb +760 -0
  26. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  27. data/lib/sentdm/models/profile_list_response.rb +825 -14
  28. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  29. data/lib/sentdm/models/profile_update_params.rb +391 -24
  30. data/lib/sentdm/models/profile_update_response.rb +760 -0
  31. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  33. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  34. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  35. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  36. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  37. data/lib/sentdm/models/template_create_response.rb +209 -0
  38. data/lib/sentdm/models/template_event.rb +52 -0
  39. data/lib/sentdm/models/template_event_payload.rb +88 -0
  40. data/lib/sentdm/models/template_list_params.rb +9 -2
  41. data/lib/sentdm/models/template_list_response.rb +262 -16
  42. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  43. data/lib/sentdm/models/template_update_response.rb +209 -0
  44. data/lib/sentdm/models/user_invite_response.rb +201 -0
  45. data/lib/sentdm/models/user_list_response.rb +259 -14
  46. data/lib/sentdm/models/user_remove_params.rb +16 -2
  47. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  48. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  49. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  50. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  51. data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
  52. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  53. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  54. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  55. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  56. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  57. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  58. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  59. data/lib/sentdm/models.rb +11 -51
  60. data/lib/sentdm/resources/contacts.rb +30 -13
  61. data/lib/sentdm/resources/conversations.rb +12 -4
  62. data/lib/sentdm/resources/me.rb +6 -1
  63. data/lib/sentdm/resources/messages.rb +17 -5
  64. data/lib/sentdm/resources/numbers.rb +6 -1
  65. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  66. data/lib/sentdm/resources/profiles.rb +137 -61
  67. data/lib/sentdm/resources/templates.rb +14 -8
  68. data/lib/sentdm/resources/users.rb +15 -10
  69. data/lib/sentdm/resources/webhooks.rb +19 -9
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +28 -32
  72. data/rbi/sentdm/client.rbi +71 -8
  73. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  74. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  75. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  76. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  77. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  78. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  79. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  80. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  81. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  82. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  83. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  84. data/rbi/sentdm/models/message_event.rbi +86 -0
  85. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  86. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  87. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  88. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  89. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  90. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  91. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  92. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  94. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  95. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  96. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  97. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  98. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  99. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  100. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  101. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  102. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  103. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  104. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  105. data/rbi/sentdm/models/template_event.rbi +84 -0
  106. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  107. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  108. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  109. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  110. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  111. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  112. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  113. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  114. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  115. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  116. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  117. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  118. data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
  119. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  120. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  121. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  122. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  123. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  124. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  125. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  126. data/rbi/sentdm/models.rbi +11 -53
  127. data/rbi/sentdm/resources/contacts.rbi +24 -9
  128. data/rbi/sentdm/resources/conversations.rbi +10 -2
  129. data/rbi/sentdm/resources/me.rbi +6 -1
  130. data/rbi/sentdm/resources/messages.rbi +17 -5
  131. data/rbi/sentdm/resources/numbers.rbi +6 -1
  132. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  133. data/rbi/sentdm/resources/profiles.rbi +177 -68
  134. data/rbi/sentdm/resources/templates.rbi +15 -5
  135. data/rbi/sentdm/resources/users.rbi +12 -6
  136. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  137. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  138. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  139. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  140. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  141. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  142. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  143. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  144. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  145. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  146. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  147. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  148. data/sig/sentdm/models/message_event.rbs +39 -0
  149. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  150. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  151. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  152. data/sig/sentdm/models/message_send_response.rbs +71 -9
  153. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  154. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  155. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  156. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  157. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  158. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  159. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  160. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  161. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  162. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  163. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  164. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  165. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  166. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  167. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  168. data/sig/sentdm/models/template_create_response.rbs +182 -0
  169. data/sig/sentdm/models/template_event.rbs +39 -0
  170. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  171. data/sig/sentdm/models/template_list_response.rbs +230 -19
  172. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  173. data/sig/sentdm/models/template_update_response.rbs +182 -0
  174. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  175. data/sig/sentdm/models/user_list_response.rbs +233 -15
  176. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  177. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  178. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  179. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  180. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  181. data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
  182. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  183. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  184. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  185. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  186. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  187. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  188. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  189. data/sig/sentdm/models.rbs +11 -51
  190. data/sig/sentdm/resources/contacts.rbs +4 -4
  191. data/sig/sentdm/resources/conversations.rbs +2 -2
  192. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  193. data/sig/sentdm/resources/profiles.rbs +11 -11
  194. data/sig/sentdm/resources/templates.rbs +3 -3
  195. data/sig/sentdm/resources/users.rbs +3 -3
  196. data/sig/sentdm/resources/webhooks.rbs +4 -4
  197. metadata +86 -98
  198. data/lib/sentdm/models/api_meta.rb +0 -34
  199. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  200. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  201. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  202. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  203. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  204. data/lib/sentdm/models/api_response_template.rb +0 -43
  205. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  206. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  207. data/lib/sentdm/models/brand_business_info.rb +0 -114
  208. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  209. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  210. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  211. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  212. data/lib/sentdm/models/contact_response.rb +0 -126
  213. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  214. data/lib/sentdm/models/error_detail.rb +0 -42
  215. data/lib/sentdm/models/mutation_request.rb +0 -20
  216. data/lib/sentdm/models/pagination_meta.rb +0 -80
  217. data/lib/sentdm/models/payment_details.rb +0 -44
  218. data/lib/sentdm/models/profile_detail.rb +0 -597
  219. data/lib/sentdm/models/profile_settings.rb +0 -66
  220. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  221. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  222. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  223. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  224. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  225. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  226. data/lib/sentdm/models/template.rb +0 -90
  227. data/lib/sentdm/models/user_response.rb +0 -82
  228. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  229. data/lib/sentdm/models/webhook_response.rb +0 -95
  230. data/rbi/sentdm/models/api_meta.rbi +0 -55
  231. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  232. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  233. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  234. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  235. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  236. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  237. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  238. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  239. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  240. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  241. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  242. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  243. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  244. data/rbi/sentdm/models/contact_response.rbi +0 -183
  245. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  246. data/rbi/sentdm/models/error_detail.rbi +0 -66
  247. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  248. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  249. data/rbi/sentdm/models/payment_details.rbi +0 -59
  250. data/rbi/sentdm/models/profile_detail.rbi +0 -866
  251. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  252. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  253. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  254. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  255. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  256. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  257. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  258. data/rbi/sentdm/models/template.rbi +0 -129
  259. data/rbi/sentdm/models/user_response.rbi +0 -118
  260. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  261. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  262. data/sig/sentdm/models/api_meta.rbs +0 -27
  263. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  264. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  265. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  268. data/sig/sentdm/models/api_response_template.rbs +0 -39
  269. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  270. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  271. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  272. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  273. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  274. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  275. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  276. data/sig/sentdm/models/contact_response.rbs +0 -111
  277. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  278. data/sig/sentdm/models/error_detail.rbs +0 -39
  279. data/sig/sentdm/models/mutation_request.rbs +0 -15
  280. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  281. data/sig/sentdm/models/payment_details.rbs +0 -30
  282. data/sig/sentdm/models/profile_detail.rbs +0 -469
  283. data/sig/sentdm/models/profile_settings.rbs +0 -50
  284. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  285. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  286. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  287. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  288. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  289. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  290. data/sig/sentdm/models/template.rbs +0 -79
  291. data/sig/sentdm/models/user_response.rbs +0 -72
  292. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  293. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -1,419 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ConversationMessagesList < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::ConversationMessagesList, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # The messages on this page, most recent first.
12
- sig do
13
- returns(T.nilable(T::Array[Sentdm::ConversationMessagesList::Message]))
14
- end
15
- attr_reader :messages
16
-
17
- sig do
18
- params(
19
- messages: T::Array[Sentdm::ConversationMessagesList::Message::OrHash]
20
- ).void
21
- end
22
- attr_writer :messages
23
-
24
- # Pagination metadata for list responses
25
- sig { returns(T.nilable(Sentdm::PaginationMeta)) }
26
- attr_reader :pagination
27
-
28
- sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
29
- attr_writer :pagination
30
-
31
- # A paginated list of messages — used by both conversation read endpoints.
32
- sig do
33
- params(
34
- messages: T::Array[Sentdm::ConversationMessagesList::Message::OrHash],
35
- pagination: Sentdm::PaginationMeta::OrHash
36
- ).returns(T.attached_class)
37
- end
38
- def self.new(
39
- # The messages on this page, most recent first.
40
- messages: nil,
41
- # Pagination metadata for list responses
42
- pagination: nil
43
- )
44
- end
45
-
46
- sig do
47
- override.returns(
48
- {
49
- messages: T::Array[Sentdm::ConversationMessagesList::Message],
50
- pagination: Sentdm::PaginationMeta
51
- }
52
- )
53
- end
54
- def to_hash
55
- end
56
-
57
- class Message < Sentdm::Internal::Type::BaseModel
58
- OrHash =
59
- T.type_alias do
60
- T.any(
61
- Sentdm::ConversationMessagesList::Message,
62
- Sentdm::Internal::AnyHash
63
- )
64
- end
65
-
66
- sig { returns(T.nilable(String)) }
67
- attr_reader :id
68
-
69
- sig { params(id: String).void }
70
- attr_writer :id
71
-
72
- sig { returns(T.nilable(Float)) }
73
- attr_accessor :active_contact_price
74
-
75
- sig { returns(T.nilable(String)) }
76
- attr_reader :channel
77
-
78
- sig { params(channel: String).void }
79
- attr_writer :channel
80
-
81
- sig { returns(T.nilable(String)) }
82
- attr_reader :contact_id
83
-
84
- sig { params(contact_id: String).void }
85
- attr_writer :contact_id
86
-
87
- sig { returns(T.nilable(Time)) }
88
- attr_reader :created_at
89
-
90
- sig { params(created_at: Time).void }
91
- attr_writer :created_at
92
-
93
- sig { returns(T.nilable(String)) }
94
- attr_reader :customer_id
95
-
96
- sig { params(customer_id: String).void }
97
- attr_writer :customer_id
98
-
99
- sig { returns(T.nilable(String)) }
100
- attr_reader :direction
101
-
102
- sig { params(direction: String).void }
103
- attr_writer :direction
104
-
105
- sig do
106
- returns(
107
- T.nilable(
108
- T::Array[Sentdm::ConversationMessagesList::Message::Event]
109
- )
110
- )
111
- end
112
- attr_accessor :events
113
-
114
- # Structured message body format for database storage. Preserves channel-specific
115
- # components (header, body, footer, buttons).
116
- sig do
117
- returns(
118
- T.nilable(Sentdm::ConversationMessagesList::Message::MessageBody)
119
- )
120
- end
121
- attr_reader :message_body
122
-
123
- sig do
124
- params(
125
- message_body:
126
- T.nilable(
127
- Sentdm::ConversationMessagesList::Message::MessageBody::OrHash
128
- )
129
- ).void
130
- end
131
- attr_writer :message_body
132
-
133
- sig { returns(T.nilable(String)) }
134
- attr_reader :phone
135
-
136
- sig { params(phone: String).void }
137
- attr_writer :phone
138
-
139
- sig { returns(T.nilable(String)) }
140
- attr_reader :phone_international
141
-
142
- sig { params(phone_international: String).void }
143
- attr_writer :phone_international
144
-
145
- sig { returns(T.nilable(Float)) }
146
- attr_accessor :price
147
-
148
- sig { returns(T.nilable(String)) }
149
- attr_reader :region_code
150
-
151
- sig { params(region_code: String).void }
152
- attr_writer :region_code
153
-
154
- sig { returns(T.nilable(String)) }
155
- attr_reader :status
156
-
157
- sig { params(status: String).void }
158
- attr_writer :status
159
-
160
- sig { returns(T.nilable(String)) }
161
- attr_accessor :template_category
162
-
163
- sig { returns(T.nilable(String)) }
164
- attr_accessor :template_id
165
-
166
- sig { returns(T.nilable(String)) }
167
- attr_accessor :template_name
168
-
169
- # Message response for v3 API — same shape as v2 with snake_case JSON conventions
170
- sig do
171
- params(
172
- id: String,
173
- active_contact_price: T.nilable(Float),
174
- channel: String,
175
- contact_id: String,
176
- created_at: Time,
177
- customer_id: String,
178
- direction: String,
179
- events:
180
- T.nilable(
181
- T::Array[
182
- Sentdm::ConversationMessagesList::Message::Event::OrHash
183
- ]
184
- ),
185
- message_body:
186
- T.nilable(
187
- Sentdm::ConversationMessagesList::Message::MessageBody::OrHash
188
- ),
189
- phone: String,
190
- phone_international: String,
191
- price: T.nilable(Float),
192
- region_code: String,
193
- status: String,
194
- template_category: T.nilable(String),
195
- template_id: T.nilable(String),
196
- template_name: T.nilable(String)
197
- ).returns(T.attached_class)
198
- end
199
- def self.new(
200
- id: nil,
201
- active_contact_price: nil,
202
- channel: nil,
203
- contact_id: nil,
204
- created_at: nil,
205
- customer_id: nil,
206
- direction: nil,
207
- events: nil,
208
- # Structured message body format for database storage. Preserves channel-specific
209
- # components (header, body, footer, buttons).
210
- message_body: nil,
211
- phone: nil,
212
- phone_international: nil,
213
- price: nil,
214
- region_code: nil,
215
- status: nil,
216
- template_category: nil,
217
- template_id: nil,
218
- template_name: nil
219
- )
220
- end
221
-
222
- sig do
223
- override.returns(
224
- {
225
- id: String,
226
- active_contact_price: T.nilable(Float),
227
- channel: String,
228
- contact_id: String,
229
- created_at: Time,
230
- customer_id: String,
231
- direction: String,
232
- events:
233
- T.nilable(
234
- T::Array[Sentdm::ConversationMessagesList::Message::Event]
235
- ),
236
- message_body:
237
- T.nilable(
238
- Sentdm::ConversationMessagesList::Message::MessageBody
239
- ),
240
- phone: String,
241
- phone_international: String,
242
- price: T.nilable(Float),
243
- region_code: String,
244
- status: String,
245
- template_category: T.nilable(String),
246
- template_id: T.nilable(String),
247
- template_name: T.nilable(String)
248
- }
249
- )
250
- end
251
- def to_hash
252
- end
253
-
254
- class Event < Sentdm::Internal::Type::BaseModel
255
- OrHash =
256
- T.type_alias do
257
- T.any(
258
- Sentdm::ConversationMessagesList::Message::Event,
259
- Sentdm::Internal::AnyHash
260
- )
261
- end
262
-
263
- sig { returns(String) }
264
- attr_accessor :status
265
-
266
- sig { returns(Time) }
267
- attr_accessor :timestamp
268
-
269
- sig { returns(T.nilable(String)) }
270
- attr_accessor :description
271
-
272
- # Represents a status change event in a message's lifecycle (v3)
273
- sig do
274
- params(
275
- status: String,
276
- timestamp: Time,
277
- description: T.nilable(String)
278
- ).returns(T.attached_class)
279
- end
280
- def self.new(status:, timestamp:, description: nil)
281
- end
282
-
283
- sig do
284
- override.returns(
285
- {
286
- status: String,
287
- timestamp: Time,
288
- description: T.nilable(String)
289
- }
290
- )
291
- end
292
- def to_hash
293
- end
294
- end
295
-
296
- class MessageBody < Sentdm::Internal::Type::BaseModel
297
- OrHash =
298
- T.type_alias do
299
- T.any(
300
- Sentdm::ConversationMessagesList::Message::MessageBody,
301
- Sentdm::Internal::AnyHash
302
- )
303
- end
304
-
305
- sig do
306
- returns(
307
- T.nilable(
308
- T::Array[
309
- Sentdm::ConversationMessagesList::Message::MessageBody::Button
310
- ]
311
- )
312
- )
313
- end
314
- attr_accessor :buttons
315
-
316
- sig { returns(T.nilable(String)) }
317
- attr_reader :content
318
-
319
- sig { params(content: String).void }
320
- attr_writer :content
321
-
322
- sig { returns(T.nilable(String)) }
323
- attr_accessor :footer
324
-
325
- sig { returns(T.nilable(String)) }
326
- attr_accessor :header
327
-
328
- # Structured message body format for database storage. Preserves channel-specific
329
- # components (header, body, footer, buttons).
330
- sig do
331
- params(
332
- buttons:
333
- T.nilable(
334
- T::Array[
335
- Sentdm::ConversationMessagesList::Message::MessageBody::Button::OrHash
336
- ]
337
- ),
338
- content: String,
339
- footer: T.nilable(String),
340
- header: T.nilable(String)
341
- ).returns(T.attached_class)
342
- end
343
- def self.new(buttons: nil, content: nil, footer: nil, header: nil)
344
- end
345
-
346
- sig do
347
- override.returns(
348
- {
349
- buttons:
350
- T.nilable(
351
- T::Array[
352
- Sentdm::ConversationMessagesList::Message::MessageBody::Button
353
- ]
354
- ),
355
- content: String,
356
- footer: T.nilable(String),
357
- header: T.nilable(String)
358
- }
359
- )
360
- end
361
- def to_hash
362
- end
363
-
364
- class Button < Sentdm::Internal::Type::BaseModel
365
- OrHash =
366
- T.type_alias do
367
- T.any(
368
- Sentdm::ConversationMessagesList::Message::MessageBody::Button,
369
- Sentdm::Internal::AnyHash
370
- )
371
- end
372
-
373
- sig { returns(T.nilable(String)) }
374
- attr_accessor :postback_data
375
-
376
- sig { returns(T.nilable(String)) }
377
- attr_accessor :text
378
-
379
- sig { returns(T.nilable(String)) }
380
- attr_reader :type
381
-
382
- sig { params(type: String).void }
383
- attr_writer :type
384
-
385
- sig { returns(T.nilable(String)) }
386
- attr_reader :value
387
-
388
- sig { params(value: String).void }
389
- attr_writer :value
390
-
391
- sig do
392
- params(
393
- postback_data: T.nilable(String),
394
- text: T.nilable(String),
395
- type: String,
396
- value: String
397
- ).returns(T.attached_class)
398
- end
399
- def self.new(postback_data: nil, text: nil, type: nil, value: nil)
400
- end
401
-
402
- sig do
403
- override.returns(
404
- {
405
- postback_data: T.nilable(String),
406
- text: T.nilable(String),
407
- type: String,
408
- value: String
409
- }
410
- )
411
- end
412
- def to_hash
413
- end
414
- end
415
- end
416
- end
417
- end
418
- end
419
- end
@@ -1,66 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ErrorDetail < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias { T.any(Sentdm::ErrorDetail, Sentdm::Internal::AnyHash) }
8
-
9
- # Machine-readable error code (e.g., "RESOURCE_001")
10
- sig { returns(T.nilable(String)) }
11
- attr_reader :code
12
-
13
- sig { params(code: String).void }
14
- attr_writer :code
15
-
16
- # Additional validation error details (field-level errors)
17
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
18
- attr_accessor :details
19
-
20
- # URL to documentation about this error
21
- sig { returns(T.nilable(String)) }
22
- attr_accessor :doc_url
23
-
24
- # Human-readable error message
25
- sig { returns(T.nilable(String)) }
26
- attr_reader :message
27
-
28
- sig { params(message: String).void }
29
- attr_writer :message
30
-
31
- # Error information
32
- sig do
33
- params(
34
- code: String,
35
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
36
- doc_url: T.nilable(String),
37
- message: String
38
- ).returns(T.attached_class)
39
- end
40
- def self.new(
41
- # Machine-readable error code (e.g., "RESOURCE_001")
42
- code: nil,
43
- # Additional validation error details (field-level errors)
44
- details: nil,
45
- # URL to documentation about this error
46
- doc_url: nil,
47
- # Human-readable error message
48
- message: nil
49
- )
50
- end
51
-
52
- sig do
53
- override.returns(
54
- {
55
- code: String,
56
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
57
- doc_url: T.nilable(String),
58
- message: String
59
- }
60
- )
61
- end
62
- def to_hash
63
- end
64
- end
65
- end
66
- end
@@ -1,32 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class MutationRequest < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::MutationRequest, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # Sandbox flag - when true, the operation is simulated without side effects Useful
12
- # for testing integrations without actual execution
13
- sig { returns(T.nilable(T::Boolean)) }
14
- attr_reader :sandbox
15
-
16
- sig { params(sandbox: T::Boolean).void }
17
- attr_writer :sandbox
18
-
19
- sig { params(sandbox: T::Boolean).returns(T.attached_class) }
20
- def self.new(
21
- # Sandbox flag - when true, the operation is simulated without side effects Useful
22
- # for testing integrations without actual execution
23
- sandbox: nil
24
- )
25
- end
26
-
27
- sig { override.returns({ sandbox: T::Boolean }) }
28
- def to_hash
29
- end
30
- end
31
- end
32
- end
@@ -1,135 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class PaginationMeta < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::PaginationMeta, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # Cursor-based pagination pointers
12
- sig { returns(T.nilable(Sentdm::PaginationMeta::Cursors)) }
13
- attr_reader :cursors
14
-
15
- sig do
16
- params(cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash)).void
17
- end
18
- attr_writer :cursors
19
-
20
- # Whether there are more pages after this one
21
- sig { returns(T.nilable(T::Boolean)) }
22
- attr_reader :has_more
23
-
24
- sig { params(has_more: T::Boolean).void }
25
- attr_writer :has_more
26
-
27
- # Current page number (1-indexed)
28
- sig { returns(T.nilable(Integer)) }
29
- attr_reader :page
30
-
31
- sig { params(page: Integer).void }
32
- attr_writer :page
33
-
34
- # Number of items per page
35
- sig { returns(T.nilable(Integer)) }
36
- attr_reader :page_size
37
-
38
- sig { params(page_size: Integer).void }
39
- attr_writer :page_size
40
-
41
- # Total number of items across all pages
42
- sig { returns(T.nilable(Integer)) }
43
- attr_reader :total_count
44
-
45
- sig { params(total_count: Integer).void }
46
- attr_writer :total_count
47
-
48
- # Total number of pages
49
- sig { returns(T.nilable(Integer)) }
50
- attr_reader :total_pages
51
-
52
- sig { params(total_pages: Integer).void }
53
- attr_writer :total_pages
54
-
55
- # Pagination metadata for list responses
56
- sig do
57
- params(
58
- cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash),
59
- has_more: T::Boolean,
60
- page: Integer,
61
- page_size: Integer,
62
- total_count: Integer,
63
- total_pages: Integer
64
- ).returns(T.attached_class)
65
- end
66
- def self.new(
67
- # Cursor-based pagination pointers
68
- cursors: nil,
69
- # Whether there are more pages after this one
70
- has_more: nil,
71
- # Current page number (1-indexed)
72
- page: nil,
73
- # Number of items per page
74
- page_size: nil,
75
- # Total number of items across all pages
76
- total_count: nil,
77
- # Total number of pages
78
- total_pages: nil
79
- )
80
- end
81
-
82
- sig do
83
- override.returns(
84
- {
85
- cursors: T.nilable(Sentdm::PaginationMeta::Cursors),
86
- has_more: T::Boolean,
87
- page: Integer,
88
- page_size: Integer,
89
- total_count: Integer,
90
- total_pages: Integer
91
- }
92
- )
93
- end
94
- def to_hash
95
- end
96
-
97
- class Cursors < Sentdm::Internal::Type::BaseModel
98
- OrHash =
99
- T.type_alias do
100
- T.any(Sentdm::PaginationMeta::Cursors, Sentdm::Internal::AnyHash)
101
- end
102
-
103
- # Cursor to fetch the next page
104
- sig { returns(T.nilable(String)) }
105
- attr_accessor :after
106
-
107
- # Cursor to fetch the previous page
108
- sig { returns(T.nilable(String)) }
109
- attr_accessor :before
110
-
111
- # Cursor-based pagination pointers
112
- sig do
113
- params(after: T.nilable(String), before: T.nilable(String)).returns(
114
- T.attached_class
115
- )
116
- end
117
- def self.new(
118
- # Cursor to fetch the next page
119
- after: nil,
120
- # Cursor to fetch the previous page
121
- before: nil
122
- )
123
- end
124
-
125
- sig do
126
- override.returns(
127
- { after: T.nilable(String), before: T.nilable(String) }
128
- )
129
- end
130
- def to_hash
131
- end
132
- end
133
- end
134
- end
135
- end
@@ -1,59 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class PaymentDetails < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::PaymentDetails, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # Card number (digits only, 13–19 characters)
12
- sig { returns(String) }
13
- attr_accessor :card_number
14
-
15
- # Card security code (3–4 digits)
16
- sig { returns(String) }
17
- attr_accessor :cvc
18
-
19
- # Card expiry date in MM/YY format (e.g. "09/27")
20
- sig { returns(String) }
21
- attr_accessor :expiry
22
-
23
- # Billing ZIP / postal code associated with the card
24
- sig { returns(String) }
25
- attr_accessor :zip_code
26
-
27
- # Payment card details for a profile. Accepted when billing_model is "profile" or
28
- # "profile_and_organization". These details are not stored on our servers and will
29
- # be forwarded to the payment processor.
30
- sig do
31
- params(
32
- card_number: String,
33
- cvc: String,
34
- expiry: String,
35
- zip_code: String
36
- ).returns(T.attached_class)
37
- end
38
- def self.new(
39
- # Card number (digits only, 13–19 characters)
40
- card_number:,
41
- # Card security code (3–4 digits)
42
- cvc:,
43
- # Card expiry date in MM/YY format (e.g. "09/27")
44
- expiry:,
45
- # Billing ZIP / postal code associated with the card
46
- zip_code:
47
- )
48
- end
49
-
50
- sig do
51
- override.returns(
52
- { card_number: String, cvc: String, expiry: String, zip_code: String }
53
- )
54
- end
55
- def to_hash
56
- end
57
- end
58
- end
59
- end