sentdm 0.29.0 → 0.31.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +55 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/type/base_model.rb +5 -5
  8. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  9. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  10. data/lib/sentdm/models/api_meta.rb +34 -0
  11. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  12. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -0
  14. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  16. data/lib/sentdm/models/api_response_template.rb +43 -0
  17. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  18. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  19. data/lib/sentdm/models/brand_business_info.rb +114 -0
  20. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  21. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  22. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  23. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  24. data/lib/sentdm/models/contact_list_params.rb +13 -13
  25. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  26. data/lib/sentdm/models/contact_response.rb +140 -0
  27. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  28. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  29. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  30. data/lib/sentdm/models/error_detail.rb +42 -0
  31. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  32. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  33. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  34. data/lib/sentdm/models/message_send_response.rb +6 -74
  35. data/lib/sentdm/models/mutation_request.rb +20 -0
  36. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  37. data/lib/sentdm/models/pagination_meta.rb +84 -0
  38. data/lib/sentdm/models/payment_details.rb +40 -0
  39. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  40. data/lib/sentdm/models/profile_create_params.rb +9 -345
  41. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  42. data/lib/sentdm/models/profile_detail.rb +650 -0
  43. data/lib/sentdm/models/profile_list_response.rb +12 -815
  44. data/lib/sentdm/models/profile_settings.rb +85 -0
  45. data/lib/sentdm/models/profile_update_params.rb +9 -345
  46. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  47. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  48. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  49. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  50. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  51. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  52. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  53. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  54. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  55. data/lib/sentdm/models/template.rb +103 -0
  56. data/lib/sentdm/models/template_list_params.rb +17 -17
  57. data/lib/sentdm/models/user_list_response.rb +12 -249
  58. data/lib/sentdm/models/user_remove_params.rb +2 -16
  59. data/lib/sentdm/models/user_response.rb +94 -0
  60. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  61. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  62. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  63. data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
  64. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  65. data/lib/sentdm/models/webhook_response.rb +121 -0
  66. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  67. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  68. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  69. data/lib/sentdm/models.rb +52 -0
  70. data/lib/sentdm/resources/contacts.rb +16 -15
  71. data/lib/sentdm/resources/conversations.rb +10 -8
  72. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  73. data/lib/sentdm/resources/profiles.rb +12 -12
  74. data/lib/sentdm/resources/templates.rb +16 -15
  75. data/lib/sentdm/resources/users.rb +6 -6
  76. data/lib/sentdm/resources/webhooks.rb +20 -18
  77. data/lib/sentdm/version.rb +1 -1
  78. data/lib/sentdm.rb +37 -25
  79. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  80. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  81. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  82. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  83. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  84. data/rbi/sentdm/models/api_meta.rbi +55 -0
  85. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  87. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  88. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  89. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  90. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  91. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  92. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  93. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  94. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  95. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  96. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  97. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  98. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  99. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  100. data/rbi/sentdm/models/contact_response.rbi +200 -0
  101. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  102. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  103. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  104. data/rbi/sentdm/models/error_detail.rbi +66 -0
  105. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  106. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  107. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  108. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  109. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  110. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  111. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  112. data/rbi/sentdm/models/payment_details.rbi +56 -0
  113. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  114. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  115. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  116. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  117. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  118. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  119. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  120. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  121. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  122. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  123. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  124. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  125. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  126. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  127. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  128. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  129. data/rbi/sentdm/models/template.rbi +139 -0
  130. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  131. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  132. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  133. data/rbi/sentdm/models/user_response.rbi +131 -0
  134. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  135. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  137. data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
  138. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  139. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  140. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  141. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  142. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  143. data/rbi/sentdm/models.rbi +54 -0
  144. data/rbi/sentdm/resources/contacts.rbi +10 -10
  145. data/rbi/sentdm/resources/conversations.rbi +14 -6
  146. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  147. data/rbi/sentdm/resources/profiles.rbi +9 -13
  148. data/rbi/sentdm/resources/templates.rbi +10 -10
  149. data/rbi/sentdm/resources/users.rbi +3 -3
  150. data/rbi/sentdm/resources/webhooks.rbi +16 -12
  151. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  152. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  153. data/sig/sentdm/internal/templates_page.rbs +44 -0
  154. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  155. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  160. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  161. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  162. data/sig/sentdm/models/api_response_template.rbs +39 -0
  163. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  164. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  165. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  166. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  167. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  168. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  169. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  170. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  171. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  172. data/sig/sentdm/models/contact_response.rbs +118 -0
  173. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  174. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  175. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  176. data/sig/sentdm/models/error_detail.rbs +39 -0
  177. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  178. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  179. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  180. data/sig/sentdm/models/message_send_response.rbs +9 -71
  181. data/sig/sentdm/models/mutation_request.rbs +15 -0
  182. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  183. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  184. data/sig/sentdm/models/payment_details.rbs +30 -0
  185. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  186. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  187. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  188. data/sig/sentdm/models/profile_detail.rbs +461 -0
  189. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  190. data/sig/sentdm/models/profile_settings.rbs +50 -0
  191. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  192. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  193. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  194. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  195. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  196. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  197. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  198. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  199. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  200. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  201. data/sig/sentdm/models/template.rbs +84 -0
  202. data/sig/sentdm/models/template_list_params.rbs +14 -10
  203. data/sig/sentdm/models/user_list_response.rbs +20 -224
  204. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  205. data/sig/sentdm/models/user_response.rbs +79 -0
  206. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  207. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  208. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  209. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
  210. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  211. data/sig/sentdm/models/webhook_response.rbs +110 -0
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  213. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  214. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  215. data/sig/sentdm/models.rbs +52 -0
  216. data/sig/sentdm/resources/contacts.rbs +7 -7
  217. data/sig/sentdm/resources/conversations.rbs +6 -6
  218. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  219. data/sig/sentdm/resources/profiles.rbs +9 -9
  220. data/sig/sentdm/resources/templates.rbs +6 -6
  221. data/sig/sentdm/resources/users.rbs +3 -3
  222. data/sig/sentdm/resources/webhooks.rbs +10 -10
  223. metadata +113 -77
  224. data/lib/sentdm/models/contact_create_response.rb +0 -249
  225. data/lib/sentdm/models/contact_list_response.rb +0 -348
  226. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  227. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  228. data/lib/sentdm/models/contact_update_response.rb +0 -249
  229. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  230. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  231. data/lib/sentdm/models/profile_create_response.rb +0 -760
  232. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  233. data/lib/sentdm/models/profile_update_response.rb +0 -760
  234. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  235. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  236. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  237. data/lib/sentdm/models/template_create_response.rb +0 -209
  238. data/lib/sentdm/models/template_list_response.rb +0 -311
  239. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  240. data/lib/sentdm/models/template_update_response.rb +0 -209
  241. data/lib/sentdm/models/user_invite_response.rb +0 -201
  242. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  243. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  244. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  245. data/lib/sentdm/models/webhook_list_response.rb +0 -329
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  250. data/rbi/sentdm/models/contact_list_response.rbi +0 -634
  251. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  252. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  253. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  254. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  255. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  256. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  257. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  258. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  259. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  260. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  261. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  262. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  263. data/rbi/sentdm/models/template_list_response.rbi +0 -576
  264. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  265. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  266. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  267. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  268. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  269. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  270. data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
  271. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  272. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  273. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  274. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  275. data/sig/sentdm/models/contact_list_response.rbs +0 -310
  276. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  277. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  278. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  279. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  280. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  281. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  282. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  283. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  284. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  285. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  286. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  287. data/sig/sentdm/models/template_create_response.rbs +0 -182
  288. data/sig/sentdm/models/template_list_response.rbs +0 -276
  289. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  290. data/sig/sentdm/models/template_update_response.rbs +0 -182
  291. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  292. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  293. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  294. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  295. data/sig/sentdm/models/webhook_list_response.rbs +0 -302
  296. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  297. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  298. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -1,634 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class ContactListResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Sentdm::Models::ContactListResponse, Sentdm::Internal::AnyHash)
9
- end
10
-
11
- # A paginated list of contacts.
12
- sig { returns(T.nilable(Sentdm::Models::ContactListResponse::Data)) }
13
- attr_reader :data
14
-
15
- sig do
16
- params(
17
- data: T.nilable(Sentdm::Models::ContactListResponse::Data::OrHash)
18
- ).void
19
- end
20
- attr_writer :data
21
-
22
- # Error information
23
- sig { returns(T.nilable(Sentdm::Models::ContactListResponse::Error)) }
24
- attr_reader :error
25
-
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::ContactListResponse::Error::OrHash)
29
- ).void
30
- end
31
- attr_writer :error
32
-
33
- # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::ContactListResponse::Meta)) }
35
- attr_reader :meta
36
-
37
- sig do
38
- params(meta: Sentdm::Models::ContactListResponse::Meta::OrHash).void
39
- end
40
- attr_writer :meta
41
-
42
- # Indicates whether the request was successful
43
- sig { returns(T.nilable(T::Boolean)) }
44
- attr_reader :success
45
-
46
- sig { params(success: T::Boolean).void }
47
- attr_writer :success
48
-
49
- # Standard API response envelope for all v3 endpoints
50
- sig do
51
- params(
52
- data: T.nilable(Sentdm::Models::ContactListResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::ContactListResponse::Error::OrHash),
54
- meta: Sentdm::Models::ContactListResponse::Meta::OrHash,
55
- success: T::Boolean
56
- ).returns(T.attached_class)
57
- end
58
- def self.new(
59
- # A paginated list of contacts.
60
- data: nil,
61
- # Error information
62
- error: nil,
63
- # Request and response metadata
64
- meta: nil,
65
- # Indicates whether the request was successful
66
- success: nil
67
- )
68
- end
69
-
70
- sig do
71
- override.returns(
72
- {
73
- data: T.nilable(Sentdm::Models::ContactListResponse::Data),
74
- error: T.nilable(Sentdm::Models::ContactListResponse::Error),
75
- meta: Sentdm::Models::ContactListResponse::Meta,
76
- success: T::Boolean
77
- }
78
- )
79
- end
80
- def to_hash
81
- end
82
-
83
- class Data < Sentdm::Internal::Type::BaseModel
84
- OrHash =
85
- T.type_alias do
86
- T.any(
87
- Sentdm::Models::ContactListResponse::Data,
88
- Sentdm::Internal::AnyHash
89
- )
90
- end
91
-
92
- # The contacts on this page.
93
- sig do
94
- returns(
95
- T.nilable(
96
- T::Array[Sentdm::Models::ContactListResponse::Data::Contact]
97
- )
98
- )
99
- end
100
- attr_reader :contacts
101
-
102
- sig do
103
- params(
104
- contacts:
105
- T::Array[
106
- Sentdm::Models::ContactListResponse::Data::Contact::OrHash
107
- ]
108
- ).void
109
- end
110
- attr_writer :contacts
111
-
112
- # Pagination metadata for list responses
113
- sig do
114
- returns(
115
- T.nilable(Sentdm::Models::ContactListResponse::Data::Pagination)
116
- )
117
- end
118
- attr_reader :pagination
119
-
120
- sig do
121
- params(
122
- pagination:
123
- Sentdm::Models::ContactListResponse::Data::Pagination::OrHash
124
- ).void
125
- end
126
- attr_writer :pagination
127
-
128
- # A paginated list of contacts.
129
- sig do
130
- params(
131
- contacts:
132
- T::Array[
133
- Sentdm::Models::ContactListResponse::Data::Contact::OrHash
134
- ],
135
- pagination:
136
- Sentdm::Models::ContactListResponse::Data::Pagination::OrHash
137
- ).returns(T.attached_class)
138
- end
139
- def self.new(
140
- # The contacts on this page.
141
- contacts: nil,
142
- # Pagination metadata for list responses
143
- pagination: nil
144
- )
145
- end
146
-
147
- sig do
148
- override.returns(
149
- {
150
- contacts:
151
- T::Array[Sentdm::Models::ContactListResponse::Data::Contact],
152
- pagination: Sentdm::Models::ContactListResponse::Data::Pagination
153
- }
154
- )
155
- end
156
- def to_hash
157
- end
158
-
159
- class Contact < Sentdm::Internal::Type::BaseModel
160
- OrHash =
161
- T.type_alias do
162
- T.any(
163
- Sentdm::Models::ContactListResponse::Data::Contact,
164
- Sentdm::Internal::AnyHash
165
- )
166
- end
167
-
168
- # Unique identifier for the contact
169
- sig { returns(T.nilable(String)) }
170
- attr_reader :id
171
-
172
- sig { params(id: String).void }
173
- attr_writer :id
174
-
175
- # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
176
- sig { returns(T.nilable(String)) }
177
- attr_reader :available_channels
178
-
179
- sig { params(available_channels: String).void }
180
- attr_writer :available_channels
181
-
182
- # Country calling code (e.g., 1 for US/Canada)
183
- sig { returns(T.nilable(String)) }
184
- attr_reader :country_code
185
-
186
- sig { params(country_code: String).void }
187
- attr_writer :country_code
188
-
189
- # When the contact was created
190
- sig { returns(T.nilable(Time)) }
191
- attr_reader :created_at
192
-
193
- sig { params(created_at: Time).void }
194
- attr_writer :created_at
195
-
196
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
197
- # Says whose resource this is, which the resource's own id does not.
198
- sig { returns(T.nilable(String)) }
199
- attr_reader :customer_id
200
-
201
- sig { params(customer_id: String).void }
202
- attr_writer :customer_id
203
-
204
- # Default messaging channel to use (e.g., "sms" or "whatsapp")
205
- sig { returns(T.nilable(String)) }
206
- attr_reader :default_channel
207
-
208
- sig { params(default_channel: String).void }
209
- attr_writer :default_channel
210
-
211
- # Phone number in E.164 format (e.g., +1234567890)
212
- sig { returns(T.nilable(String)) }
213
- attr_reader :format_e164
214
-
215
- sig { params(format_e164: String).void }
216
- attr_writer :format_e164
217
-
218
- # Phone number in international format (e.g., +1 234-567-890)
219
- sig { returns(T.nilable(String)) }
220
- attr_reader :format_international
221
-
222
- sig { params(format_international: String).void }
223
- attr_writer :format_international
224
-
225
- # Phone number in national format (e.g., (234) 567-890)
226
- sig { returns(T.nilable(String)) }
227
- attr_reader :format_national
228
-
229
- sig { params(format_national: String).void }
230
- attr_writer :format_national
231
-
232
- # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
233
- sig { returns(T.nilable(String)) }
234
- attr_reader :format_rfc
235
-
236
- sig { params(format_rfc: String).void }
237
- attr_writer :format_rfc
238
-
239
- # Always false. Contacts are no longer shared or inherited between sender profiles
240
- # — a profile sees only the contacts it owns. Retained so existing v3 clients
241
- # reading is_inherited keep deserializing; it carries no information.
242
- sig { returns(T.nilable(T::Boolean)) }
243
- attr_reader :is_inherited
244
-
245
- sig { params(is_inherited: T::Boolean).void }
246
- attr_writer :is_inherited
247
-
248
- # Whether the contact has opted out of messaging. Single source of truth — opt-out
249
- # is per-contact, not per-channel.
250
- sig { returns(T.nilable(T::Boolean)) }
251
- attr_reader :opt_out
252
-
253
- sig { params(opt_out: T::Boolean).void }
254
- attr_writer :opt_out
255
-
256
- # Phone number in original format
257
- sig { returns(T.nilable(String)) }
258
- attr_reader :phone_number
259
-
260
- sig { params(phone_number: String).void }
261
- attr_writer :phone_number
262
-
263
- # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
264
- sig { returns(T.nilable(String)) }
265
- attr_reader :region_code
266
-
267
- sig { params(region_code: String).void }
268
- attr_writer :region_code
269
-
270
- # When the contact was last updated
271
- sig { returns(T.nilable(Time)) }
272
- attr_accessor :updated_at
273
-
274
- # Contact response for v3 API Uses snake_case for JSON property names
275
- sig do
276
- params(
277
- id: String,
278
- available_channels: String,
279
- country_code: String,
280
- created_at: Time,
281
- customer_id: String,
282
- default_channel: String,
283
- format_e164: String,
284
- format_international: String,
285
- format_national: String,
286
- format_rfc: String,
287
- is_inherited: T::Boolean,
288
- opt_out: T::Boolean,
289
- phone_number: String,
290
- region_code: String,
291
- updated_at: T.nilable(Time)
292
- ).returns(T.attached_class)
293
- end
294
- def self.new(
295
- # Unique identifier for the contact
296
- id: nil,
297
- # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
298
- available_channels: nil,
299
- # Country calling code (e.g., 1 for US/Canada)
300
- country_code: nil,
301
- # When the contact was created
302
- created_at: nil,
303
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
304
- # Says whose resource this is, which the resource's own id does not.
305
- customer_id: nil,
306
- # Default messaging channel to use (e.g., "sms" or "whatsapp")
307
- default_channel: nil,
308
- # Phone number in E.164 format (e.g., +1234567890)
309
- format_e164: nil,
310
- # Phone number in international format (e.g., +1 234-567-890)
311
- format_international: nil,
312
- # Phone number in national format (e.g., (234) 567-890)
313
- format_national: nil,
314
- # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
315
- format_rfc: nil,
316
- # Always false. Contacts are no longer shared or inherited between sender profiles
317
- # — a profile sees only the contacts it owns. Retained so existing v3 clients
318
- # reading is_inherited keep deserializing; it carries no information.
319
- is_inherited: nil,
320
- # Whether the contact has opted out of messaging. Single source of truth — opt-out
321
- # is per-contact, not per-channel.
322
- opt_out: nil,
323
- # Phone number in original format
324
- phone_number: nil,
325
- # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
326
- region_code: nil,
327
- # When the contact was last updated
328
- updated_at: nil
329
- )
330
- end
331
-
332
- sig do
333
- override.returns(
334
- {
335
- id: String,
336
- available_channels: String,
337
- country_code: String,
338
- created_at: Time,
339
- customer_id: String,
340
- default_channel: String,
341
- format_e164: String,
342
- format_international: String,
343
- format_national: String,
344
- format_rfc: String,
345
- is_inherited: T::Boolean,
346
- opt_out: T::Boolean,
347
- phone_number: String,
348
- region_code: String,
349
- updated_at: T.nilable(Time)
350
- }
351
- )
352
- end
353
- def to_hash
354
- end
355
- end
356
-
357
- class Pagination < Sentdm::Internal::Type::BaseModel
358
- OrHash =
359
- T.type_alias do
360
- T.any(
361
- Sentdm::Models::ContactListResponse::Data::Pagination,
362
- Sentdm::Internal::AnyHash
363
- )
364
- end
365
-
366
- # Cursor-based pagination. Never populated — see Cursors.
367
- sig do
368
- returns(
369
- T.nilable(
370
- Sentdm::Models::ContactListResponse::Data::Pagination::Cursors
371
- )
372
- )
373
- end
374
- attr_reader :cursors
375
-
376
- sig do
377
- params(
378
- cursors:
379
- T.nilable(
380
- Sentdm::Models::ContactListResponse::Data::Pagination::Cursors::OrHash
381
- )
382
- ).void
383
- end
384
- attr_writer :cursors
385
-
386
- # Whether there are more pages after this one
387
- sig { returns(T.nilable(T::Boolean)) }
388
- attr_reader :has_more
389
-
390
- sig { params(has_more: T::Boolean).void }
391
- attr_writer :has_more
392
-
393
- # Current page number (1-indexed)
394
- sig { returns(T.nilable(Integer)) }
395
- attr_reader :page
396
-
397
- sig { params(page: Integer).void }
398
- attr_writer :page
399
-
400
- # Number of items per page
401
- sig { returns(T.nilable(Integer)) }
402
- attr_reader :page_size
403
-
404
- sig { params(page_size: Integer).void }
405
- attr_writer :page_size
406
-
407
- # Total number of items across all pages
408
- sig { returns(T.nilable(Integer)) }
409
- attr_reader :total_count
410
-
411
- sig { params(total_count: Integer).void }
412
- attr_writer :total_count
413
-
414
- # Total number of pages
415
- sig { returns(T.nilable(Integer)) }
416
- attr_reader :total_pages
417
-
418
- sig { params(total_pages: Integer).void }
419
- attr_writer :total_pages
420
-
421
- # Pagination metadata for list responses
422
- sig do
423
- params(
424
- cursors:
425
- T.nilable(
426
- Sentdm::Models::ContactListResponse::Data::Pagination::Cursors::OrHash
427
- ),
428
- has_more: T::Boolean,
429
- page: Integer,
430
- page_size: Integer,
431
- total_count: Integer,
432
- total_pages: Integer
433
- ).returns(T.attached_class)
434
- end
435
- def self.new(
436
- # Cursor-based pagination. Never populated — see Cursors.
437
- cursors: nil,
438
- # Whether there are more pages after this one
439
- has_more: nil,
440
- # Current page number (1-indexed)
441
- page: nil,
442
- # Number of items per page
443
- page_size: nil,
444
- # Total number of items across all pages
445
- total_count: nil,
446
- # Total number of pages
447
- total_pages: nil
448
- )
449
- end
450
-
451
- sig do
452
- override.returns(
453
- {
454
- cursors:
455
- T.nilable(
456
- Sentdm::Models::ContactListResponse::Data::Pagination::Cursors
457
- ),
458
- has_more: T::Boolean,
459
- page: Integer,
460
- page_size: Integer,
461
- total_count: Integer,
462
- total_pages: Integer
463
- }
464
- )
465
- end
466
- def to_hash
467
- end
468
-
469
- class Cursors < Sentdm::Internal::Type::BaseModel
470
- OrHash =
471
- T.type_alias do
472
- T.any(
473
- Sentdm::Models::ContactListResponse::Data::Pagination::Cursors,
474
- Sentdm::Internal::AnyHash
475
- )
476
- end
477
-
478
- # Cursor to fetch the next page.
479
- sig { returns(T.nilable(String)) }
480
- attr_accessor :after
481
-
482
- # Cursor to fetch the previous page.
483
- sig { returns(T.nilable(String)) }
484
- attr_accessor :before
485
-
486
- # Cursor-based pagination. Never populated — see Cursors.
487
- sig do
488
- params(
489
- after: T.nilable(String),
490
- before: T.nilable(String)
491
- ).returns(T.attached_class)
492
- end
493
- def self.new(
494
- # Cursor to fetch the next page.
495
- after: nil,
496
- # Cursor to fetch the previous page.
497
- before: nil
498
- )
499
- end
500
-
501
- sig do
502
- override.returns(
503
- { after: T.nilable(String), before: T.nilable(String) }
504
- )
505
- end
506
- def to_hash
507
- end
508
- end
509
- end
510
- end
511
-
512
- class Error < Sentdm::Internal::Type::BaseModel
513
- OrHash =
514
- T.type_alias do
515
- T.any(
516
- Sentdm::Models::ContactListResponse::Error,
517
- Sentdm::Internal::AnyHash
518
- )
519
- end
520
-
521
- # Machine-readable error code (e.g., "RESOURCE_001")
522
- sig { returns(T.nilable(String)) }
523
- attr_reader :code
524
-
525
- sig { params(code: String).void }
526
- attr_writer :code
527
-
528
- # Additional validation error details (field-level errors)
529
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
530
- attr_accessor :details
531
-
532
- # URL to documentation about this error
533
- sig { returns(T.nilable(String)) }
534
- attr_accessor :doc_url
535
-
536
- # Human-readable error message
537
- sig { returns(T.nilable(String)) }
538
- attr_reader :message
539
-
540
- sig { params(message: String).void }
541
- attr_writer :message
542
-
543
- # Error information
544
- sig do
545
- params(
546
- code: String,
547
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
548
- doc_url: T.nilable(String),
549
- message: String
550
- ).returns(T.attached_class)
551
- end
552
- def self.new(
553
- # Machine-readable error code (e.g., "RESOURCE_001")
554
- code: nil,
555
- # Additional validation error details (field-level errors)
556
- details: nil,
557
- # URL to documentation about this error
558
- doc_url: nil,
559
- # Human-readable error message
560
- message: nil
561
- )
562
- end
563
-
564
- sig do
565
- override.returns(
566
- {
567
- code: String,
568
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
569
- doc_url: T.nilable(String),
570
- message: String
571
- }
572
- )
573
- end
574
- def to_hash
575
- end
576
- end
577
-
578
- class Meta < Sentdm::Internal::Type::BaseModel
579
- OrHash =
580
- T.type_alias do
581
- T.any(
582
- Sentdm::Models::ContactListResponse::Meta,
583
- Sentdm::Internal::AnyHash
584
- )
585
- end
586
-
587
- # Unique identifier for this request (for tracing and support)
588
- sig { returns(T.nilable(String)) }
589
- attr_reader :request_id
590
-
591
- sig { params(request_id: String).void }
592
- attr_writer :request_id
593
-
594
- # Server timestamp when the response was generated
595
- sig { returns(T.nilable(Time)) }
596
- attr_reader :timestamp
597
-
598
- sig { params(timestamp: Time).void }
599
- attr_writer :timestamp
600
-
601
- # API version used for this request
602
- sig { returns(T.nilable(String)) }
603
- attr_reader :version
604
-
605
- sig { params(version: String).void }
606
- attr_writer :version
607
-
608
- # Request and response metadata
609
- sig do
610
- params(request_id: String, timestamp: Time, version: String).returns(
611
- T.attached_class
612
- )
613
- end
614
- def self.new(
615
- # Unique identifier for this request (for tracing and support)
616
- request_id: nil,
617
- # Server timestamp when the response was generated
618
- timestamp: nil,
619
- # API version used for this request
620
- version: nil
621
- )
622
- end
623
-
624
- sig do
625
- override.returns(
626
- { request_id: String, timestamp: Time, version: String }
627
- )
628
- end
629
- def to_hash
630
- end
631
- end
632
- end
633
- end
634
- end