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