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
@@ -5,7 +5,7 @@ module Sentdm
5
5
  # @see Sentdm::Resources::Contacts#list
6
6
  class ContactListResponse < Sentdm::Internal::Type::BaseModel
7
7
  # @!attribute data
8
- # Paginated list of contacts response
8
+ # A paginated list of contacts.
9
9
  #
10
10
  # @return [Sentdm::Models::ContactListResponse::Data, nil]
11
11
  optional :data, -> { Sentdm::Models::ContactListResponse::Data }, nil?: true
@@ -13,14 +13,14 @@ module Sentdm
13
13
  # @!attribute error
14
14
  # Error information
15
15
  #
16
- # @return [Sentdm::Models::ErrorDetail, nil]
17
- optional :error, -> { Sentdm::ErrorDetail }, nil?: true
16
+ # @return [Sentdm::Models::ContactListResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ContactListResponse::Error }, nil?: true
18
18
 
19
19
  # @!attribute meta
20
20
  # Request and response metadata
21
21
  #
22
- # @return [Sentdm::Models::APIMeta, nil]
23
- optional :meta, -> { Sentdm::APIMeta }
22
+ # @return [Sentdm::Models::ContactListResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ContactListResponse::Meta }
24
24
 
25
25
  # @!attribute success
26
26
  # Indicates whether the request was successful
@@ -31,34 +31,317 @@ module Sentdm
31
31
  # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
32
  # Standard API response envelope for all v3 endpoints
33
33
  #
34
- # @param data [Sentdm::Models::ContactListResponse::Data, nil] Paginated list of contacts response
34
+ # @param data [Sentdm::Models::ContactListResponse::Data, nil] A paginated list of contacts.
35
35
  #
36
- # @param error [Sentdm::Models::ErrorDetail, nil] Error information
36
+ # @param error [Sentdm::Models::ContactListResponse::Error, nil] Error information
37
37
  #
38
- # @param meta [Sentdm::Models::APIMeta] Request and response metadata
38
+ # @param meta [Sentdm::Models::ContactListResponse::Meta] Request and response metadata
39
39
  #
40
40
  # @param success [Boolean] Indicates whether the request was successful
41
41
 
42
42
  # @see Sentdm::Models::ContactListResponse#data
43
43
  class Data < Sentdm::Internal::Type::BaseModel
44
44
  # @!attribute contacts
45
- # List of contacts
45
+ # The contacts on this page.
46
46
  #
47
- # @return [Array<Sentdm::Models::ContactResponse>, nil]
48
- optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactResponse] }
47
+ # @return [Array<Sentdm::Models::ContactListResponse::Data::Contact>, nil]
48
+ optional :contacts,
49
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ContactListResponse::Data::Contact] }
49
50
 
50
51
  # @!attribute pagination
51
52
  # Pagination metadata for list responses
52
53
  #
53
- # @return [Sentdm::Models::PaginationMeta, nil]
54
- optional :pagination, -> { Sentdm::PaginationMeta }
54
+ # @return [Sentdm::Models::ContactListResponse::Data::Pagination, nil]
55
+ optional :pagination, -> { Sentdm::Models::ContactListResponse::Data::Pagination }
55
56
 
56
57
  # @!method initialize(contacts: nil, pagination: nil)
57
- # Paginated list of contacts response
58
+ # A paginated list of contacts.
58
59
  #
59
- # @param contacts [Array<Sentdm::Models::ContactResponse>] List of contacts
60
+ # @param contacts [Array<Sentdm::Models::ContactListResponse::Data::Contact>] The contacts on this page.
60
61
  #
61
- # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
62
+ # @param pagination [Sentdm::Models::ContactListResponse::Data::Pagination] Pagination metadata for list responses
63
+
64
+ class Contact < Sentdm::Internal::Type::BaseModel
65
+ # @!attribute id
66
+ # Unique identifier for the contact
67
+ #
68
+ # @return [String, nil]
69
+ optional :id, String
70
+
71
+ # @!attribute available_channels
72
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
73
+ #
74
+ # @return [String, nil]
75
+ optional :available_channels, String
76
+
77
+ # @!attribute country_code
78
+ # Country calling code (e.g., 1 for US/Canada)
79
+ #
80
+ # @return [String, nil]
81
+ optional :country_code, String
82
+
83
+ # @!attribute created_at
84
+ # When the contact was created
85
+ #
86
+ # @return [Time, nil]
87
+ optional :created_at, Time
88
+
89
+ # @!attribute customer_id
90
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
91
+ # Says whose resource this is, which the resource's own id does not.
92
+ #
93
+ # @return [String, nil]
94
+ optional :customer_id, String
95
+
96
+ # @!attribute default_channel
97
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
98
+ #
99
+ # @return [String, nil]
100
+ optional :default_channel, String
101
+
102
+ # @!attribute format_e164
103
+ # Phone number in E.164 format (e.g., +1234567890)
104
+ #
105
+ # @return [String, nil]
106
+ optional :format_e164, String
107
+
108
+ # @!attribute format_international
109
+ # Phone number in international format (e.g., +1 234-567-890)
110
+ #
111
+ # @return [String, nil]
112
+ optional :format_international, String
113
+
114
+ # @!attribute format_national
115
+ # Phone number in national format (e.g., (234) 567-890)
116
+ #
117
+ # @return [String, nil]
118
+ optional :format_national, String
119
+
120
+ # @!attribute format_rfc
121
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
122
+ #
123
+ # @return [String, nil]
124
+ optional :format_rfc, String
125
+
126
+ # @!attribute is_inherited
127
+ # @deprecated
128
+ #
129
+ # Always false. Contacts are no longer shared or inherited between sender profiles
130
+ # — a profile sees only the contacts it owns. Retained so existing v3 clients
131
+ # reading is_inherited keep deserializing; it carries no information.
132
+ #
133
+ # @return [Boolean, nil]
134
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
135
+
136
+ # @!attribute opt_out
137
+ # Whether the contact has opted out of messaging. Single source of truth — opt-out
138
+ # is per-contact, not per-channel.
139
+ #
140
+ # @return [Boolean, nil]
141
+ optional :opt_out, Sentdm::Internal::Type::Boolean
142
+
143
+ # @!attribute phone_number
144
+ # Phone number in original format
145
+ #
146
+ # @return [String, nil]
147
+ optional :phone_number, String
148
+
149
+ # @!attribute region_code
150
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
151
+ #
152
+ # @return [String, nil]
153
+ optional :region_code, String
154
+
155
+ # @!attribute updated_at
156
+ # When the contact was last updated
157
+ #
158
+ # @return [Time, nil]
159
+ optional :updated_at, Time, nil?: true
160
+
161
+ # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
162
+ # Some parameter documentations has been truncated, see
163
+ # {Sentdm::Models::ContactListResponse::Data::Contact} for more details.
164
+ #
165
+ # Contact response for v3 API Uses snake_case for JSON property names
166
+ #
167
+ # @param id [String] Unique identifier for the contact
168
+ #
169
+ # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
170
+ #
171
+ # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
172
+ #
173
+ # @param created_at [Time] When the contact was created
174
+ #
175
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
176
+ #
177
+ # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
178
+ #
179
+ # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
180
+ #
181
+ # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
182
+ #
183
+ # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
184
+ #
185
+ # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
186
+ #
187
+ # @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
188
+ #
189
+ # @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
190
+ #
191
+ # @param phone_number [String] Phone number in original format
192
+ #
193
+ # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
194
+ #
195
+ # @param updated_at [Time, nil] When the contact was last updated
196
+ end
197
+
198
+ # @see Sentdm::Models::ContactListResponse::Data#pagination
199
+ class Pagination < Sentdm::Internal::Type::BaseModel
200
+ # @!attribute cursors
201
+ # @deprecated
202
+ #
203
+ # Cursor-based pagination. Never populated — see Cursors.
204
+ #
205
+ # @return [Sentdm::Models::ContactListResponse::Data::Pagination::Cursors, nil]
206
+ optional :cursors, -> { Sentdm::Models::ContactListResponse::Data::Pagination::Cursors }, nil?: true
207
+
208
+ # @!attribute has_more
209
+ # Whether there are more pages after this one
210
+ #
211
+ # @return [Boolean, nil]
212
+ optional :has_more, Sentdm::Internal::Type::Boolean
213
+
214
+ # @!attribute page
215
+ # Current page number (1-indexed)
216
+ #
217
+ # @return [Integer, nil]
218
+ optional :page, Integer
219
+
220
+ # @!attribute page_size
221
+ # Number of items per page
222
+ #
223
+ # @return [Integer, nil]
224
+ optional :page_size, Integer
225
+
226
+ # @!attribute total_count
227
+ # Total number of items across all pages
228
+ #
229
+ # @return [Integer, nil]
230
+ optional :total_count, Integer
231
+
232
+ # @!attribute total_pages
233
+ # Total number of pages
234
+ #
235
+ # @return [Integer, nil]
236
+ optional :total_pages, Integer
237
+
238
+ # @!method initialize(cursors: nil, has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
239
+ # Pagination metadata for list responses
240
+ #
241
+ # @param cursors [Sentdm::Models::ContactListResponse::Data::Pagination::Cursors, nil] Cursor-based pagination. Never populated — see Cursors.
242
+ #
243
+ # @param has_more [Boolean] Whether there are more pages after this one
244
+ #
245
+ # @param page [Integer] Current page number (1-indexed)
246
+ #
247
+ # @param page_size [Integer] Number of items per page
248
+ #
249
+ # @param total_count [Integer] Total number of items across all pages
250
+ #
251
+ # @param total_pages [Integer] Total number of pages
252
+
253
+ # @deprecated
254
+ #
255
+ # @see Sentdm::Models::ContactListResponse::Data::Pagination#cursors
256
+ class Cursors < Sentdm::Internal::Type::BaseModel
257
+ # @!attribute after
258
+ # Cursor to fetch the next page.
259
+ #
260
+ # @return [String, nil]
261
+ optional :after, String, nil?: true
262
+
263
+ # @!attribute before
264
+ # Cursor to fetch the previous page.
265
+ #
266
+ # @return [String, nil]
267
+ optional :before, String, nil?: true
268
+
269
+ # @!method initialize(after: nil, before: nil)
270
+ # Cursor-based pagination. Never populated — see Cursors.
271
+ #
272
+ # @param after [String, nil] Cursor to fetch the next page.
273
+ #
274
+ # @param before [String, nil] Cursor to fetch the previous page.
275
+ end
276
+ end
277
+ end
278
+
279
+ # @see Sentdm::Models::ContactListResponse#error
280
+ class Error < Sentdm::Internal::Type::BaseModel
281
+ # @!attribute code
282
+ # Machine-readable error code (e.g., "RESOURCE_001")
283
+ #
284
+ # @return [String, nil]
285
+ optional :code, String
286
+
287
+ # @!attribute details
288
+ # Additional validation error details (field-level errors)
289
+ #
290
+ # @return [Hash{Symbol=>Array<String>}, nil]
291
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
292
+
293
+ # @!attribute doc_url
294
+ # URL to documentation about this error
295
+ #
296
+ # @return [String, nil]
297
+ optional :doc_url, String, nil?: true
298
+
299
+ # @!attribute message
300
+ # Human-readable error message
301
+ #
302
+ # @return [String, nil]
303
+ optional :message, String
304
+
305
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
306
+ # Error information
307
+ #
308
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
309
+ #
310
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
311
+ #
312
+ # @param doc_url [String, nil] URL to documentation about this error
313
+ #
314
+ # @param message [String] Human-readable error message
315
+ end
316
+
317
+ # @see Sentdm::Models::ContactListResponse#meta
318
+ class Meta < Sentdm::Internal::Type::BaseModel
319
+ # @!attribute request_id
320
+ # Unique identifier for this request (for tracing and support)
321
+ #
322
+ # @return [String, nil]
323
+ optional :request_id, String
324
+
325
+ # @!attribute timestamp
326
+ # Server timestamp when the response was generated
327
+ #
328
+ # @return [Time, nil]
329
+ optional :timestamp, Time
330
+
331
+ # @!attribute version
332
+ # API version used for this request
333
+ #
334
+ # @return [String, nil]
335
+ optional :version, String
336
+
337
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
338
+ # Request and response metadata
339
+ #
340
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
341
+ #
342
+ # @param timestamp [Time] Server timestamp when the response was generated
343
+ #
344
+ # @param version [String] API version used for this request
62
345
  end
63
346
  end
64
347
  end
@@ -0,0 +1,186 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#retrieve_message_summary
6
+ class ContactRetrieveMessageSummaryResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ContactRetrieveMessageSummaryResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ContactRetrieveMessageSummaryResponse::Meta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Error, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::ContactRetrieveMessageSummaryResponse::Meta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+
42
+ # @see Sentdm::Models::ContactRetrieveMessageSummaryResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute channel_scores
45
+ #
46
+ # @return [Array<Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data::ChannelScore>, nil]
47
+ optional :channel_scores,
48
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data::ChannelScore] }
49
+
50
+ # @!attribute channels_used
51
+ #
52
+ # @return [Array<String>, nil]
53
+ optional :channels_used, Sentdm::Internal::Type::ArrayOf[String]
54
+
55
+ # @!attribute contact_id
56
+ #
57
+ # @return [String, nil]
58
+ optional :contact_id, String
59
+
60
+ # @!attribute first_message_at
61
+ #
62
+ # @return [Time, nil]
63
+ optional :first_message_at, Time, nil?: true
64
+
65
+ # @!attribute last_message_at
66
+ #
67
+ # @return [Time, nil]
68
+ optional :last_message_at, Time, nil?: true
69
+
70
+ # @!attribute message_count
71
+ #
72
+ # @return [Integer, nil]
73
+ optional :message_count, Integer
74
+
75
+ # @!method initialize(channel_scores: nil, channels_used: nil, contact_id: nil, first_message_at: nil, last_message_at: nil, message_count: nil)
76
+ # The response data (null if error)
77
+ #
78
+ # @param channel_scores [Array<Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data::ChannelScore>]
79
+ # @param channels_used [Array<String>]
80
+ # @param contact_id [String]
81
+ # @param first_message_at [Time, nil]
82
+ # @param last_message_at [Time, nil]
83
+ # @param message_count [Integer]
84
+
85
+ class ChannelScore < Sentdm::Internal::Type::BaseModel
86
+ # @!attribute channel
87
+ #
88
+ # @return [String, nil]
89
+ optional :channel, String
90
+
91
+ # @!attribute fail_score
92
+ # Percentage (0-100) of messages on this channel that ended in FAILED.
93
+ #
94
+ # @return [Integer, nil]
95
+ optional :fail_score, Integer
96
+
97
+ # @!attribute success_score
98
+ # Percentage (0-100) of messages on this channel that reached a successful
99
+ # terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
100
+ #
101
+ # @return [Integer, nil]
102
+ optional :success_score, Integer
103
+
104
+ # @!method initialize(channel: nil, fail_score: nil, success_score: nil)
105
+ # Some parameter documentations has been truncated, see
106
+ # {Sentdm::Models::ContactRetrieveMessageSummaryResponse::Data::ChannelScore} for
107
+ # more details.
108
+ #
109
+ # @param channel [String]
110
+ #
111
+ # @param fail_score [Integer] Percentage (0-100) of messages on this channel that ended in FAILED.
112
+ #
113
+ # @param success_score [Integer] Percentage (0-100) of messages on this channel that reached a successful termina
114
+ end
115
+ end
116
+
117
+ # @see Sentdm::Models::ContactRetrieveMessageSummaryResponse#error
118
+ class Error < Sentdm::Internal::Type::BaseModel
119
+ # @!attribute code
120
+ # Machine-readable error code (e.g., "RESOURCE_001")
121
+ #
122
+ # @return [String, nil]
123
+ optional :code, String
124
+
125
+ # @!attribute details
126
+ # Additional validation error details (field-level errors)
127
+ #
128
+ # @return [Hash{Symbol=>Array<String>}, nil]
129
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
130
+
131
+ # @!attribute doc_url
132
+ # URL to documentation about this error
133
+ #
134
+ # @return [String, nil]
135
+ optional :doc_url, String, nil?: true
136
+
137
+ # @!attribute message
138
+ # Human-readable error message
139
+ #
140
+ # @return [String, nil]
141
+ optional :message, String
142
+
143
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
144
+ # Error information
145
+ #
146
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
147
+ #
148
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
149
+ #
150
+ # @param doc_url [String, nil] URL to documentation about this error
151
+ #
152
+ # @param message [String] Human-readable error message
153
+ end
154
+
155
+ # @see Sentdm::Models::ContactRetrieveMessageSummaryResponse#meta
156
+ class Meta < Sentdm::Internal::Type::BaseModel
157
+ # @!attribute request_id
158
+ # Unique identifier for this request (for tracing and support)
159
+ #
160
+ # @return [String, nil]
161
+ optional :request_id, String
162
+
163
+ # @!attribute timestamp
164
+ # Server timestamp when the response was generated
165
+ #
166
+ # @return [Time, nil]
167
+ optional :timestamp, Time
168
+
169
+ # @!attribute version
170
+ # API version used for this request
171
+ #
172
+ # @return [String, nil]
173
+ optional :version, String
174
+
175
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
176
+ # Request and response metadata
177
+ #
178
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
179
+ #
180
+ # @param timestamp [Time] Server timestamp when the response was generated
181
+ #
182
+ # @param version [String] API version used for this request
183
+ end
184
+ end
185
+ end
186
+ end