sentdm 0.19.0 → 0.20.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +31 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/internal/type/enum.rb +25 -0
  6. data/lib/sentdm/models/api_meta.rb +34 -0
  7. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  8. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  10. data/lib/sentdm/models/api_response_template.rb +43 -0
  11. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  12. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  13. data/lib/sentdm/models/brands_brand_data.rb +38 -0
  14. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  15. data/lib/sentdm/models/contact_list_response.rb +12 -278
  16. data/lib/sentdm/models/contact_response.rb +126 -0
  17. data/lib/sentdm/models/destination_country.rb +21 -0
  18. data/lib/sentdm/models/error_detail.rb +42 -0
  19. data/lib/sentdm/models/me_retrieve_response.rb +12 -204
  20. data/lib/sentdm/models/message_retrieve_activities_response.rb +6 -74
  21. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  22. data/lib/sentdm/models/message_send_response.rb +6 -74
  23. data/lib/sentdm/models/mutation_request.rb +20 -0
  24. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  25. data/lib/sentdm/models/pagination_meta.rb +80 -0
  26. data/lib/sentdm/models/payment_details.rb +44 -0
  27. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  28. data/lib/sentdm/models/profile_create_params.rb +9 -423
  29. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  30. data/lib/sentdm/models/profile_detail.rb +605 -0
  31. data/lib/sentdm/models/profile_list_response.rb +9 -753
  32. data/lib/sentdm/models/profile_settings.rb +66 -0
  33. data/lib/sentdm/models/profile_update_params.rb +9 -423
  34. data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +45 -0
  35. data/lib/sentdm/models/profiles/base_dto.rb +32 -0
  36. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -165
  37. data/lib/sentdm/models/profiles/campaign_data.rb +123 -0
  38. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  39. data/lib/sentdm/models/profiles/campaign_list_response.rb +9 -420
  40. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -165
  41. data/lib/sentdm/models/profiles/messaging_use_case_us.rb +28 -0
  42. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +29 -0
  43. data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +248 -0
  44. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  45. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +48 -0
  46. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  47. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  48. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  49. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  50. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +116 -0
  51. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +75 -0
  52. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  53. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  54. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  55. data/lib/sentdm/models/template.rb +90 -0
  56. data/lib/sentdm/models/template_body_content.rb +27 -0
  57. data/lib/sentdm/models/template_create_params.rb +3 -889
  58. data/lib/sentdm/models/template_definition.rb +66 -0
  59. data/lib/sentdm/models/template_list_response.rb +12 -242
  60. data/lib/sentdm/models/template_update_params.rb +3 -889
  61. data/lib/sentdm/models/template_variable.rb +80 -0
  62. data/lib/sentdm/models/user_list_response.rb +9 -154
  63. data/lib/sentdm/models/user_remove_params.rb +2 -16
  64. data/lib/sentdm/models/user_response.rb +82 -0
  65. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  66. data/lib/sentdm/models/webhook_list_event_types_response.rb +9 -118
  67. data/lib/sentdm/models/webhook_list_events_response.rb +9 -153
  68. data/lib/sentdm/models/webhook_list_response.rb +12 -247
  69. data/lib/sentdm/models/webhook_response.rb +95 -0
  70. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  71. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  72. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  73. data/lib/sentdm/models.rb +77 -0
  74. data/lib/sentdm/resources/contacts.rb +6 -6
  75. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  76. data/lib/sentdm/resources/profiles.rb +12 -12
  77. data/lib/sentdm/resources/templates.rb +8 -8
  78. data/lib/sentdm/resources/users.rb +6 -6
  79. data/lib/sentdm/resources/webhooks.rb +8 -8
  80. data/lib/sentdm/version.rb +1 -1
  81. data/lib/sentdm.rb +40 -18
  82. data/rbi/sentdm/models/api_meta.rbi +55 -0
  83. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  84. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  85. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  87. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  88. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  89. data/rbi/sentdm/models/brands_brand_data.rbi +104 -0
  90. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  91. data/rbi/sentdm/models/contact_list_response.rbi +16 -505
  92. data/rbi/sentdm/models/contact_response.rbi +183 -0
  93. data/rbi/sentdm/models/destination_country.rbi +32 -0
  94. data/rbi/sentdm/models/error_detail.rbi +66 -0
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -335
  96. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +8 -154
  97. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  98. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  99. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  100. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  101. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  102. data/rbi/sentdm/models/payment_details.rbi +59 -0
  103. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  104. data/rbi/sentdm/models/profile_create_params.rbi +12 -810
  105. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  106. data/rbi/sentdm/models/profile_detail.rbi +874 -0
  107. data/rbi/sentdm/models/profile_list_response.rbi +14 -1400
  108. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  109. data/rbi/sentdm/models/profile_update_params.rbi +12 -810
  110. data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +83 -0
  111. data/rbi/sentdm/models/profiles/base_dto.rbi +53 -0
  112. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -289
  113. data/rbi/sentdm/models/profiles/campaign_data.rbi +148 -0
  114. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  115. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +11 -733
  116. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -289
  117. data/rbi/sentdm/models/profiles/messaging_use_case_us.rbi +73 -0
  118. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +51 -0
  119. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +425 -0
  120. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  121. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +87 -0
  122. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +72 -0
  123. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  124. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +57 -0
  125. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +59 -0
  126. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +180 -0
  127. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +95 -0
  128. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  129. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  130. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  131. data/rbi/sentdm/models/template.rbi +129 -0
  132. data/rbi/sentdm/models/template_body_content.rbi +43 -0
  133. data/rbi/sentdm/models/template_create_params.rbi +4 -1701
  134. data/rbi/sentdm/models/template_definition.rbi +164 -0
  135. data/rbi/sentdm/models/template_list_response.rbi +16 -454
  136. data/rbi/sentdm/models/template_update_params.rbi +4 -1701
  137. data/rbi/sentdm/models/template_variable.rbi +120 -0
  138. data/rbi/sentdm/models/user_list_response.rbi +14 -271
  139. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  140. data/rbi/sentdm/models/user_response.rbi +118 -0
  141. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  142. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +12 -247
  143. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  144. data/rbi/sentdm/models/webhook_list_response.rbi +16 -462
  145. data/rbi/sentdm/models/webhook_response.rbi +140 -0
  146. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  147. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  148. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  149. data/rbi/sentdm/models.rbi +77 -0
  150. data/rbi/sentdm/resources/contacts.rbi +3 -3
  151. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -4
  152. data/rbi/sentdm/resources/profiles.rbi +9 -13
  153. data/rbi/sentdm/resources/templates.rbi +5 -6
  154. data/rbi/sentdm/resources/users.rbi +3 -3
  155. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  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_profile_detail.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  160. data/sig/sentdm/models/api_response_template.rbs +39 -0
  161. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  162. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  163. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  164. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  165. data/sig/sentdm/models/contact_list_response.rbs +20 -256
  166. data/sig/sentdm/models/contact_response.rbs +111 -0
  167. data/sig/sentdm/models/destination_country.rbs +19 -0
  168. data/sig/sentdm/models/error_detail.rbs +39 -0
  169. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  170. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -71
  171. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  172. data/sig/sentdm/models/message_send_response.rbs +9 -71
  173. data/sig/sentdm/models/mutation_request.rbs +15 -0
  174. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  175. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  176. data/sig/sentdm/models/payment_details.rbs +30 -0
  177. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  178. data/sig/sentdm/models/profile_create_params.rbs +12 -363
  179. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  180. data/sig/sentdm/models/profile_detail.rbs +474 -0
  181. data/sig/sentdm/models/profile_list_response.rbs +15 -645
  182. data/sig/sentdm/models/profile_settings.rbs +50 -0
  183. data/sig/sentdm/models/profile_update_params.rbs +12 -363
  184. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  185. data/sig/sentdm/models/profiles/base_dto.rbs +27 -0
  186. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -138
  187. data/sig/sentdm/models/profiles/campaign_data.rbs +82 -0
  188. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  189. data/sig/sentdm/models/profiles/campaign_list_response.rbs +13 -396
  190. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -138
  191. data/sig/sentdm/models/profiles/messaging_use_case_us.rbs +40 -0
  192. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  193. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +299 -0
  194. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  195. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +35 -0
  196. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +32 -0
  197. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  198. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +30 -0
  199. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +30 -0
  200. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  201. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  202. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  203. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  204. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  205. data/sig/sentdm/models/template.rbs +79 -0
  206. data/sig/sentdm/models/template_body_content.rbs +30 -0
  207. data/sig/sentdm/models/template_create_params.rbs +6 -853
  208. data/sig/sentdm/models/template_definition.rbs +45 -0
  209. data/sig/sentdm/models/template_list_response.rbs +19 -225
  210. data/sig/sentdm/models/template_update_params.rbs +4 -851
  211. data/sig/sentdm/models/template_variable.rbs +84 -0
  212. data/sig/sentdm/models/user_list_response.rbs +15 -151
  213. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  214. data/sig/sentdm/models/user_response.rbs +72 -0
  215. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  216. data/sig/sentdm/models/webhook_list_event_types_response.rbs +15 -130
  217. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  218. data/sig/sentdm/models/webhook_list_response.rbs +20 -248
  219. data/sig/sentdm/models/webhook_response.rbs +103 -0
  220. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  221. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  222. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  223. data/sig/sentdm/models.rbs +68 -0
  224. data/sig/sentdm/resources/contacts.rbs +3 -3
  225. data/sig/sentdm/resources/profiles/campaigns.rbs +4 -4
  226. data/sig/sentdm/resources/profiles.rbs +9 -9
  227. data/sig/sentdm/resources/templates.rbs +5 -5
  228. data/sig/sentdm/resources/users.rbs +3 -3
  229. data/sig/sentdm/resources/webhooks.rbs +4 -4
  230. metadata +121 -55
  231. data/lib/sentdm/models/contact_create_response.rb +0 -236
  232. data/lib/sentdm/models/contact_retrieve_response.rb +0 -236
  233. data/lib/sentdm/models/contact_update_response.rb +0 -236
  234. data/lib/sentdm/models/profile_create_response.rb +0 -781
  235. data/lib/sentdm/models/profile_retrieve_response.rb +0 -783
  236. data/lib/sentdm/models/profile_update_response.rb +0 -781
  237. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -459
  238. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -459
  239. data/lib/sentdm/models/template_create_response.rb +0 -197
  240. data/lib/sentdm/models/template_retrieve_response.rb +0 -197
  241. data/lib/sentdm/models/template_update_response.rb +0 -197
  242. data/lib/sentdm/models/user_invite_response.rb +0 -189
  243. data/lib/sentdm/models/user_retrieve_response.rb +0 -189
  244. data/lib/sentdm/models/user_update_role_response.rb +0 -189
  245. data/lib/sentdm/models/webhook_create_response.rb +0 -204
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -204
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -204
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -204
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -390
  250. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -392
  251. data/rbi/sentdm/models/contact_update_response.rbi +0 -390
  252. data/rbi/sentdm/models/profile_create_response.rbi +0 -1439
  253. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1443
  254. data/rbi/sentdm/models/profile_update_response.rbi +0 -1439
  255. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -814
  256. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -814
  257. data/rbi/sentdm/models/template_create_response.rbi +0 -339
  258. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -345
  259. data/rbi/sentdm/models/template_update_response.rbi +0 -339
  260. data/rbi/sentdm/models/user_invite_response.rbi +0 -323
  261. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -323
  262. data/rbi/sentdm/models/user_update_role_response.rbi +0 -328
  263. data/rbi/sentdm/models/webhook_create_response.rbi +0 -348
  264. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -350
  265. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -366
  266. data/rbi/sentdm/models/webhook_update_response.rbi +0 -348
  267. data/sig/sentdm/models/contact_create_response.rbs +0 -209
  268. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -209
  269. data/sig/sentdm/models/contact_update_response.rbs +0 -209
  270. data/sig/sentdm/models/profile_create_response.rbs +0 -662
  271. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -662
  272. data/sig/sentdm/models/profile_update_response.rbs +0 -662
  273. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -424
  274. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -424
  275. data/sig/sentdm/models/template_create_response.rbs +0 -177
  276. data/sig/sentdm/models/template_retrieve_response.rbs +0 -177
  277. data/sig/sentdm/models/template_update_response.rbs +0 -177
  278. data/sig/sentdm/models/user_invite_response.rbs +0 -170
  279. data/sig/sentdm/models/user_retrieve_response.rbs +0 -170
  280. data/sig/sentdm/models/user_update_role_response.rbs +0 -170
  281. data/sig/sentdm/models/webhook_create_response.rbs +0 -201
  282. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -201
  283. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -201
  284. data/sig/sentdm/models/webhook_update_response.rbs +0 -201
@@ -20,23 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::ContactListResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::ContactListResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::ContactListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig do
38
- params(meta: Sentdm::Models::ContactListResponse::Meta::OrHash).void
39
- end
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
34
  attr_writer :meta
41
35
 
42
36
  # Indicates whether the request was successful
@@ -50,8 +44,8 @@ module Sentdm
50
44
  sig do
51
45
  params(
52
46
  data: T.nilable(Sentdm::Models::ContactListResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::ContactListResponse::Error::OrHash),
54
- meta: Sentdm::Models::ContactListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
55
49
  success: T::Boolean
56
50
  ).returns(T.attached_class)
57
51
  end
@@ -71,8 +65,8 @@ module Sentdm
71
65
  override.returns(
72
66
  {
73
67
  data: T.nilable(Sentdm::Models::ContactListResponse::Data),
74
- error: T.nilable(Sentdm::Models::ContactListResponse::Error),
75
- meta: Sentdm::Models::ContactListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
76
70
  success: T::Boolean
77
71
  }
78
72
  )
@@ -90,50 +84,24 @@ module Sentdm
90
84
  end
91
85
 
92
86
  # List of contacts
93
- sig do
94
- returns(
95
- T.nilable(
96
- T::Array[Sentdm::Models::ContactListResponse::Data::Contact]
97
- )
98
- )
99
- end
87
+ sig { returns(T.nilable(T::Array[Sentdm::ContactResponse])) }
100
88
  attr_reader :contacts
101
89
 
102
- sig do
103
- params(
104
- contacts:
105
- T::Array[
106
- Sentdm::Models::ContactListResponse::Data::Contact::OrHash
107
- ]
108
- ).void
109
- end
90
+ sig { params(contacts: T::Array[Sentdm::ContactResponse::OrHash]).void }
110
91
  attr_writer :contacts
111
92
 
112
93
  # Pagination metadata for list responses
113
- sig do
114
- returns(
115
- T.nilable(Sentdm::Models::ContactListResponse::Data::Pagination)
116
- )
117
- end
94
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
118
95
  attr_reader :pagination
119
96
 
120
- sig do
121
- params(
122
- pagination:
123
- Sentdm::Models::ContactListResponse::Data::Pagination::OrHash
124
- ).void
125
- end
97
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
126
98
  attr_writer :pagination
127
99
 
128
100
  # Paginated list of contacts response
129
101
  sig do
130
102
  params(
131
- contacts:
132
- T::Array[
133
- Sentdm::Models::ContactListResponse::Data::Contact::OrHash
134
- ],
135
- pagination:
136
- Sentdm::Models::ContactListResponse::Data::Pagination::OrHash
103
+ contacts: T::Array[Sentdm::ContactResponse::OrHash],
104
+ pagination: Sentdm::PaginationMeta::OrHash
137
105
  ).returns(T.attached_class)
138
106
  end
139
107
  def self.new(
@@ -147,471 +115,14 @@ module Sentdm
147
115
  sig do
148
116
  override.returns(
149
117
  {
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
118
+ contacts: T::Array[Sentdm::ContactResponse],
119
+ pagination: Sentdm::PaginationMeta
554
120
  }
555
121
  )
556
122
  end
557
123
  def to_hash
558
124
  end
559
125
  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
615
126
  end
616
127
  end
617
128
  end