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
@@ -28,12 +28,13 @@ module Sentdm
28
28
 
29
29
  # Billing contact information for a profile. Required when billing_model is
30
30
  # "profile" or "profile_and_organization".
31
- sig { returns(T.nilable(Sentdm::BillingContactInfo)) }
31
+ sig { returns(T.nilable(Sentdm::ProfileUpdateParams::BillingContact)) }
32
32
  attr_reader :billing_contact
33
33
 
34
34
  sig do
35
35
  params(
36
- billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash)
36
+ billing_contact:
37
+ T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash)
37
38
  ).void
38
39
  end
39
40
  attr_writer :billing_contact
@@ -49,10 +50,14 @@ module Sentdm
49
50
  attr_accessor :billing_model
50
51
 
51
52
  # Brand and KYC data grouped into contact, business, and compliance sections
52
- sig { returns(T.nilable(Sentdm::BrandsBrandData)) }
53
+ sig { returns(T.nilable(Sentdm::ProfileUpdateParams::Brand)) }
53
54
  attr_reader :brand
54
55
 
55
- sig { params(brand: T.nilable(Sentdm::BrandsBrandData::OrHash)).void }
56
+ sig do
57
+ params(
58
+ brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash)
59
+ ).void
60
+ end
56
61
  attr_writer :brand
57
62
 
58
63
  # Profile description (optional)
@@ -86,11 +91,14 @@ module Sentdm
86
91
  # Payment card details for a profile. Accepted when billing_model is "profile" or
87
92
  # "profile_and_organization". These details are not stored on our servers and will
88
93
  # be forwarded to the payment processor.
89
- sig { returns(T.nilable(Sentdm::PaymentDetails)) }
94
+ sig { returns(T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails)) }
90
95
  attr_reader :payment_details
91
96
 
92
97
  sig do
93
- params(payment_details: T.nilable(Sentdm::PaymentDetails::OrHash)).void
98
+ params(
99
+ payment_details:
100
+ T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash)
101
+ ).void
94
102
  end
95
103
  attr_writer :payment_details
96
104
 
@@ -142,9 +150,10 @@ module Sentdm
142
150
  allow_contact_sharing: T.nilable(T::Boolean),
143
151
  allow_number_change_during_onboarding: T.nilable(T::Boolean),
144
152
  allow_template_sharing: T.nilable(T::Boolean),
145
- billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash),
153
+ billing_contact:
154
+ T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash),
146
155
  billing_model: T.nilable(String),
147
- brand: T.nilable(Sentdm::BrandsBrandData::OrHash),
156
+ brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash),
148
157
  description: T.nilable(String),
149
158
  icon: T.nilable(String),
150
159
  inherit_contacts: T.nilable(T::Boolean),
@@ -152,7 +161,8 @@ module Sentdm
152
161
  inherit_tcr_campaign: T.nilable(T::Boolean),
153
162
  inherit_templates: T.nilable(T::Boolean),
154
163
  name: T.nilable(String),
155
- payment_details: T.nilable(Sentdm::PaymentDetails::OrHash),
164
+ payment_details:
165
+ T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash),
156
166
  sandbox: T::Boolean,
157
167
  sending_phone_number: T.nilable(String),
158
168
  sending_phone_number_profile_id: T.nilable(String),
@@ -231,9 +241,10 @@ module Sentdm
231
241
  allow_contact_sharing: T.nilable(T::Boolean),
232
242
  allow_number_change_during_onboarding: T.nilable(T::Boolean),
233
243
  allow_template_sharing: T.nilable(T::Boolean),
234
- billing_contact: T.nilable(Sentdm::BillingContactInfo),
244
+ billing_contact:
245
+ T.nilable(Sentdm::ProfileUpdateParams::BillingContact),
235
246
  billing_model: T.nilable(String),
236
- brand: T.nilable(Sentdm::BrandsBrandData),
247
+ brand: T.nilable(Sentdm::ProfileUpdateParams::Brand),
237
248
  description: T.nilable(String),
238
249
  icon: T.nilable(String),
239
250
  inherit_contacts: T.nilable(T::Boolean),
@@ -241,7 +252,8 @@ module Sentdm
241
252
  inherit_tcr_campaign: T.nilable(T::Boolean),
242
253
  inherit_templates: T.nilable(T::Boolean),
243
254
  name: T.nilable(String),
244
- payment_details: T.nilable(Sentdm::PaymentDetails),
255
+ payment_details:
256
+ T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails),
245
257
  sandbox: T::Boolean,
246
258
  sending_phone_number: T.nilable(String),
247
259
  sending_phone_number_profile_id: T.nilable(String),
@@ -256,6 +268,792 @@ module Sentdm
256
268
  end
257
269
  def to_hash
258
270
  end
271
+
272
+ class BillingContact < Sentdm::Internal::Type::BaseModel
273
+ OrHash =
274
+ T.type_alias do
275
+ T.any(
276
+ Sentdm::ProfileUpdateParams::BillingContact,
277
+ Sentdm::Internal::AnyHash
278
+ )
279
+ end
280
+
281
+ # Email address where invoices will be sent (required)
282
+ sig { returns(String) }
283
+ attr_accessor :email
284
+
285
+ # Full name of the billing contact or company (required)
286
+ sig { returns(String) }
287
+ attr_accessor :name
288
+
289
+ # Billing address (optional). Free-form text including street, city, state, postal
290
+ # code, and country.
291
+ sig { returns(T.nilable(String)) }
292
+ attr_accessor :address
293
+
294
+ # Phone number for the billing contact (optional)
295
+ sig { returns(T.nilable(String)) }
296
+ attr_accessor :phone
297
+
298
+ # Billing contact information for a profile. Required when billing_model is
299
+ # "profile" or "profile_and_organization".
300
+ sig do
301
+ params(
302
+ email: String,
303
+ name: String,
304
+ address: T.nilable(String),
305
+ phone: T.nilable(String)
306
+ ).returns(T.attached_class)
307
+ end
308
+ def self.new(
309
+ # Email address where invoices will be sent (required)
310
+ email:,
311
+ # Full name of the billing contact or company (required)
312
+ name:,
313
+ # Billing address (optional). Free-form text including street, city, state, postal
314
+ # code, and country.
315
+ address: nil,
316
+ # Phone number for the billing contact (optional)
317
+ phone: nil
318
+ )
319
+ end
320
+
321
+ sig do
322
+ override.returns(
323
+ {
324
+ email: String,
325
+ name: String,
326
+ address: T.nilable(String),
327
+ phone: T.nilable(String)
328
+ }
329
+ )
330
+ end
331
+ def to_hash
332
+ end
333
+ end
334
+
335
+ class Brand < Sentdm::Internal::Type::BaseModel
336
+ OrHash =
337
+ T.type_alias do
338
+ T.any(Sentdm::ProfileUpdateParams::Brand, Sentdm::Internal::AnyHash)
339
+ end
340
+
341
+ # Compliance and TCR information for brand registration
342
+ sig { returns(Sentdm::ProfileUpdateParams::Brand::Compliance) }
343
+ attr_reader :compliance
344
+
345
+ sig do
346
+ params(
347
+ compliance: Sentdm::ProfileUpdateParams::Brand::Compliance::OrHash
348
+ ).void
349
+ end
350
+ attr_writer :compliance
351
+
352
+ # Contact information for brand KYC
353
+ sig { returns(Sentdm::ProfileUpdateParams::Brand::Contact) }
354
+ attr_reader :contact
355
+
356
+ sig do
357
+ params(
358
+ contact: Sentdm::ProfileUpdateParams::Brand::Contact::OrHash
359
+ ).void
360
+ end
361
+ attr_writer :contact
362
+
363
+ # Business details and address for brand KYC
364
+ sig { returns(T.nilable(Sentdm::ProfileUpdateParams::Brand::Business)) }
365
+ attr_reader :business
366
+
367
+ sig do
368
+ params(
369
+ business:
370
+ T.nilable(Sentdm::ProfileUpdateParams::Brand::Business::OrHash)
371
+ ).void
372
+ end
373
+ attr_writer :business
374
+
375
+ # Brand and KYC data grouped into contact, business, and compliance sections
376
+ sig do
377
+ params(
378
+ compliance: Sentdm::ProfileUpdateParams::Brand::Compliance::OrHash,
379
+ contact: Sentdm::ProfileUpdateParams::Brand::Contact::OrHash,
380
+ business:
381
+ T.nilable(Sentdm::ProfileUpdateParams::Brand::Business::OrHash)
382
+ ).returns(T.attached_class)
383
+ end
384
+ def self.new(
385
+ # Compliance and TCR information for brand registration
386
+ compliance:,
387
+ # Contact information for brand KYC
388
+ contact:,
389
+ # Business details and address for brand KYC
390
+ business: nil
391
+ )
392
+ end
393
+
394
+ sig do
395
+ override.returns(
396
+ {
397
+ compliance: Sentdm::ProfileUpdateParams::Brand::Compliance,
398
+ contact: Sentdm::ProfileUpdateParams::Brand::Contact,
399
+ business: T.nilable(Sentdm::ProfileUpdateParams::Brand::Business)
400
+ }
401
+ )
402
+ end
403
+ def to_hash
404
+ end
405
+
406
+ class Compliance < Sentdm::Internal::Type::BaseModel
407
+ OrHash =
408
+ T.type_alias do
409
+ T.any(
410
+ Sentdm::ProfileUpdateParams::Brand::Compliance,
411
+ Sentdm::Internal::AnyHash
412
+ )
413
+ end
414
+
415
+ sig do
416
+ returns(
417
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::OrSymbol
418
+ )
419
+ end
420
+ attr_accessor :brand_relationship
421
+
422
+ sig do
423
+ returns(
424
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::OrSymbol
425
+ )
426
+ end
427
+ attr_accessor :vertical
428
+
429
+ # List of destination countries for messaging
430
+ sig do
431
+ returns(
432
+ T.nilable(
433
+ T::Array[
434
+ Sentdm::ProfileUpdateParams::Brand::Compliance::DestinationCountry
435
+ ]
436
+ )
437
+ )
438
+ end
439
+ attr_accessor :destination_countries
440
+
441
+ # Expected daily messaging volume
442
+ sig { returns(T.nilable(String)) }
443
+ attr_accessor :expected_messaging_volume
444
+
445
+ # Whether this is a TCR (Campaign Registry) application
446
+ sig { returns(T.nilable(T::Boolean)) }
447
+ attr_accessor :is_tcr_application
448
+
449
+ # Additional notes about the business or use case
450
+ sig { returns(T.nilable(String)) }
451
+ attr_accessor :notes
452
+
453
+ # Phone number prefix for messaging (e.g., "+1")
454
+ sig { returns(T.nilable(String)) }
455
+ attr_accessor :phone_number_prefix
456
+
457
+ # Primary messaging use case description
458
+ sig { returns(T.nilable(String)) }
459
+ attr_accessor :primary_use_case
460
+
461
+ # Compliance and TCR information for brand registration
462
+ sig do
463
+ params(
464
+ brand_relationship:
465
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::OrSymbol,
466
+ vertical:
467
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::OrSymbol,
468
+ destination_countries:
469
+ T.nilable(
470
+ T::Array[
471
+ Sentdm::ProfileUpdateParams::Brand::Compliance::DestinationCountry::OrHash
472
+ ]
473
+ ),
474
+ expected_messaging_volume: T.nilable(String),
475
+ is_tcr_application: T.nilable(T::Boolean),
476
+ notes: T.nilable(String),
477
+ phone_number_prefix: T.nilable(String),
478
+ primary_use_case: T.nilable(String)
479
+ ).returns(T.attached_class)
480
+ end
481
+ def self.new(
482
+ brand_relationship:,
483
+ vertical:,
484
+ # List of destination countries for messaging
485
+ destination_countries: nil,
486
+ # Expected daily messaging volume
487
+ expected_messaging_volume: nil,
488
+ # Whether this is a TCR (Campaign Registry) application
489
+ is_tcr_application: nil,
490
+ # Additional notes about the business or use case
491
+ notes: nil,
492
+ # Phone number prefix for messaging (e.g., "+1")
493
+ phone_number_prefix: nil,
494
+ # Primary messaging use case description
495
+ primary_use_case: nil
496
+ )
497
+ end
498
+
499
+ sig do
500
+ override.returns(
501
+ {
502
+ brand_relationship:
503
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::OrSymbol,
504
+ vertical:
505
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::OrSymbol,
506
+ destination_countries:
507
+ T.nilable(
508
+ T::Array[
509
+ Sentdm::ProfileUpdateParams::Brand::Compliance::DestinationCountry
510
+ ]
511
+ ),
512
+ expected_messaging_volume: T.nilable(String),
513
+ is_tcr_application: T.nilable(T::Boolean),
514
+ notes: T.nilable(String),
515
+ phone_number_prefix: T.nilable(String),
516
+ primary_use_case: T.nilable(String)
517
+ }
518
+ )
519
+ end
520
+ def to_hash
521
+ end
522
+
523
+ module BrandRelationship
524
+ extend Sentdm::Internal::Type::Enum
525
+
526
+ TaggedSymbol =
527
+ T.type_alias do
528
+ T.all(
529
+ Symbol,
530
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship
531
+ )
532
+ end
533
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
534
+
535
+ BASIC_ACCOUNT =
536
+ T.let(
537
+ :BASIC_ACCOUNT,
538
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
539
+ )
540
+ MEDIUM_ACCOUNT =
541
+ T.let(
542
+ :MEDIUM_ACCOUNT,
543
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
544
+ )
545
+ LARGE_ACCOUNT =
546
+ T.let(
547
+ :LARGE_ACCOUNT,
548
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
549
+ )
550
+ SMALL_ACCOUNT =
551
+ T.let(
552
+ :SMALL_ACCOUNT,
553
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
554
+ )
555
+ KEY_ACCOUNT =
556
+ T.let(
557
+ :KEY_ACCOUNT,
558
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
559
+ )
560
+
561
+ sig do
562
+ override.returns(
563
+ T::Array[
564
+ Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship::TaggedSymbol
565
+ ]
566
+ )
567
+ end
568
+ def self.values
569
+ end
570
+ end
571
+
572
+ module Vertical
573
+ extend Sentdm::Internal::Type::Enum
574
+
575
+ TaggedSymbol =
576
+ T.type_alias do
577
+ T.all(
578
+ Symbol,
579
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical
580
+ )
581
+ end
582
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
583
+
584
+ PROFESSIONAL =
585
+ T.let(
586
+ :PROFESSIONAL,
587
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
588
+ )
589
+ REAL_ESTATE =
590
+ T.let(
591
+ :REAL_ESTATE,
592
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
593
+ )
594
+ HEALTHCARE =
595
+ T.let(
596
+ :HEALTHCARE,
597
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
598
+ )
599
+ HUMAN_RESOURCES =
600
+ T.let(
601
+ :HUMAN_RESOURCES,
602
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
603
+ )
604
+ ENERGY =
605
+ T.let(
606
+ :ENERGY,
607
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
608
+ )
609
+ ENTERTAINMENT =
610
+ T.let(
611
+ :ENTERTAINMENT,
612
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
613
+ )
614
+ RETAIL =
615
+ T.let(
616
+ :RETAIL,
617
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
618
+ )
619
+ TRANSPORTATION =
620
+ T.let(
621
+ :TRANSPORTATION,
622
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
623
+ )
624
+ AGRICULTURE =
625
+ T.let(
626
+ :AGRICULTURE,
627
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
628
+ )
629
+ INSURANCE =
630
+ T.let(
631
+ :INSURANCE,
632
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
633
+ )
634
+ POSTAL =
635
+ T.let(
636
+ :POSTAL,
637
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
638
+ )
639
+ EDUCATION =
640
+ T.let(
641
+ :EDUCATION,
642
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
643
+ )
644
+ HOSPITALITY =
645
+ T.let(
646
+ :HOSPITALITY,
647
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
648
+ )
649
+ FINANCIAL =
650
+ T.let(
651
+ :FINANCIAL,
652
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
653
+ )
654
+ POLITICAL =
655
+ T.let(
656
+ :POLITICAL,
657
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
658
+ )
659
+ GAMBLING =
660
+ T.let(
661
+ :GAMBLING,
662
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
663
+ )
664
+ LEGAL =
665
+ T.let(
666
+ :LEGAL,
667
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
668
+ )
669
+ CONSTRUCTION =
670
+ T.let(
671
+ :CONSTRUCTION,
672
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
673
+ )
674
+ NGO =
675
+ T.let(
676
+ :NGO,
677
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
678
+ )
679
+ MANUFACTURING =
680
+ T.let(
681
+ :MANUFACTURING,
682
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
683
+ )
684
+ GOVERNMENT =
685
+ T.let(
686
+ :GOVERNMENT,
687
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
688
+ )
689
+ TECHNOLOGY =
690
+ T.let(
691
+ :TECHNOLOGY,
692
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
693
+ )
694
+ COMMUNICATION =
695
+ T.let(
696
+ :COMMUNICATION,
697
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
698
+ )
699
+
700
+ sig do
701
+ override.returns(
702
+ T::Array[
703
+ Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical::TaggedSymbol
704
+ ]
705
+ )
706
+ end
707
+ def self.values
708
+ end
709
+ end
710
+
711
+ class DestinationCountry < Sentdm::Internal::Type::BaseModel
712
+ OrHash =
713
+ T.type_alias do
714
+ T.any(
715
+ Sentdm::ProfileUpdateParams::Brand::Compliance::DestinationCountry,
716
+ Sentdm::Internal::AnyHash
717
+ )
718
+ end
719
+
720
+ sig { returns(T.nilable(String)) }
721
+ attr_reader :id
722
+
723
+ sig { params(id: String).void }
724
+ attr_writer :id
725
+
726
+ sig { returns(T.nilable(T::Boolean)) }
727
+ attr_reader :is_main
728
+
729
+ sig { params(is_main: T::Boolean).void }
730
+ attr_writer :is_main
731
+
732
+ sig do
733
+ params(id: String, is_main: T::Boolean).returns(T.attached_class)
734
+ end
735
+ def self.new(id: nil, is_main: nil)
736
+ end
737
+
738
+ sig { override.returns({ id: String, is_main: T::Boolean }) }
739
+ def to_hash
740
+ end
741
+ end
742
+ end
743
+
744
+ class Contact < Sentdm::Internal::Type::BaseModel
745
+ OrHash =
746
+ T.type_alias do
747
+ T.any(
748
+ Sentdm::ProfileUpdateParams::Brand::Contact,
749
+ Sentdm::Internal::AnyHash
750
+ )
751
+ end
752
+
753
+ # Primary contact name (required)
754
+ sig { returns(String) }
755
+ attr_accessor :name
756
+
757
+ # Business/brand name
758
+ sig { returns(T.nilable(String)) }
759
+ attr_accessor :business_name
760
+
761
+ # Contact email address
762
+ sig { returns(T.nilable(String)) }
763
+ attr_accessor :email
764
+
765
+ # Contact phone number in E.164 format
766
+ sig { returns(T.nilable(String)) }
767
+ attr_accessor :phone
768
+
769
+ # Contact phone country code (e.g., "1" for US)
770
+ sig { returns(T.nilable(String)) }
771
+ attr_accessor :phone_country_code
772
+
773
+ # Contact's role in the business
774
+ sig { returns(T.nilable(String)) }
775
+ attr_accessor :role
776
+
777
+ # Contact information for brand KYC
778
+ sig do
779
+ params(
780
+ name: String,
781
+ business_name: T.nilable(String),
782
+ email: T.nilable(String),
783
+ phone: T.nilable(String),
784
+ phone_country_code: T.nilable(String),
785
+ role: T.nilable(String)
786
+ ).returns(T.attached_class)
787
+ end
788
+ def self.new(
789
+ # Primary contact name (required)
790
+ name:,
791
+ # Business/brand name
792
+ business_name: nil,
793
+ # Contact email address
794
+ email: nil,
795
+ # Contact phone number in E.164 format
796
+ phone: nil,
797
+ # Contact phone country code (e.g., "1" for US)
798
+ phone_country_code: nil,
799
+ # Contact's role in the business
800
+ role: nil
801
+ )
802
+ end
803
+
804
+ sig do
805
+ override.returns(
806
+ {
807
+ name: String,
808
+ business_name: T.nilable(String),
809
+ email: T.nilable(String),
810
+ phone: T.nilable(String),
811
+ phone_country_code: T.nilable(String),
812
+ role: T.nilable(String)
813
+ }
814
+ )
815
+ end
816
+ def to_hash
817
+ end
818
+ end
819
+
820
+ class Business < Sentdm::Internal::Type::BaseModel
821
+ OrHash =
822
+ T.type_alias do
823
+ T.any(
824
+ Sentdm::ProfileUpdateParams::Brand::Business,
825
+ Sentdm::Internal::AnyHash
826
+ )
827
+ end
828
+
829
+ # City
830
+ sig { returns(T.nilable(String)) }
831
+ attr_accessor :city
832
+
833
+ # Country code (e.g., US, CA)
834
+ sig { returns(T.nilable(String)) }
835
+ attr_accessor :country
836
+
837
+ # Country where the business is registered
838
+ sig { returns(T.nilable(String)) }
839
+ attr_accessor :country_of_registration
840
+
841
+ sig do
842
+ returns(
843
+ T.nilable(
844
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
845
+ )
846
+ )
847
+ end
848
+ attr_accessor :entity_type
849
+
850
+ # Legal business name
851
+ sig { returns(T.nilable(String)) }
852
+ attr_accessor :legal_name
853
+
854
+ # Postal/ZIP code
855
+ sig { returns(T.nilable(String)) }
856
+ attr_accessor :postal_code
857
+
858
+ # State/province code
859
+ sig { returns(T.nilable(String)) }
860
+ attr_accessor :state
861
+
862
+ # Street address
863
+ sig { returns(T.nilable(String)) }
864
+ attr_accessor :street
865
+
866
+ # Tax ID/EIN number
867
+ sig { returns(T.nilable(String)) }
868
+ attr_accessor :tax_id
869
+
870
+ # Type of tax ID (e.g., us_ein, ca_bn)
871
+ sig { returns(T.nilable(String)) }
872
+ attr_accessor :tax_id_type
873
+
874
+ # Business website URL
875
+ sig { returns(T.nilable(String)) }
876
+ attr_accessor :url
877
+
878
+ # Business details and address for brand KYC
879
+ sig do
880
+ params(
881
+ city: T.nilable(String),
882
+ country: T.nilable(String),
883
+ country_of_registration: T.nilable(String),
884
+ entity_type:
885
+ T.nilable(
886
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
887
+ ),
888
+ legal_name: T.nilable(String),
889
+ postal_code: T.nilable(String),
890
+ state: T.nilable(String),
891
+ street: T.nilable(String),
892
+ tax_id: T.nilable(String),
893
+ tax_id_type: T.nilable(String),
894
+ url: T.nilable(String)
895
+ ).returns(T.attached_class)
896
+ end
897
+ def self.new(
898
+ # City
899
+ city: nil,
900
+ # Country code (e.g., US, CA)
901
+ country: nil,
902
+ # Country where the business is registered
903
+ country_of_registration: nil,
904
+ entity_type: nil,
905
+ # Legal business name
906
+ legal_name: nil,
907
+ # Postal/ZIP code
908
+ postal_code: nil,
909
+ # State/province code
910
+ state: nil,
911
+ # Street address
912
+ street: nil,
913
+ # Tax ID/EIN number
914
+ tax_id: nil,
915
+ # Type of tax ID (e.g., us_ein, ca_bn)
916
+ tax_id_type: nil,
917
+ # Business website URL
918
+ url: nil
919
+ )
920
+ end
921
+
922
+ sig do
923
+ override.returns(
924
+ {
925
+ city: T.nilable(String),
926
+ country: T.nilable(String),
927
+ country_of_registration: T.nilable(String),
928
+ entity_type:
929
+ T.nilable(
930
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
931
+ ),
932
+ legal_name: T.nilable(String),
933
+ postal_code: T.nilable(String),
934
+ state: T.nilable(String),
935
+ street: T.nilable(String),
936
+ tax_id: T.nilable(String),
937
+ tax_id_type: T.nilable(String),
938
+ url: T.nilable(String)
939
+ }
940
+ )
941
+ end
942
+ def to_hash
943
+ end
944
+
945
+ module EntityType
946
+ extend Sentdm::Internal::Type::Enum
947
+
948
+ TaggedSymbol =
949
+ T.type_alias do
950
+ T.all(
951
+ Symbol,
952
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType
953
+ )
954
+ end
955
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
956
+
957
+ PRIVATE_PROFIT =
958
+ T.let(
959
+ :PRIVATE_PROFIT,
960
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
961
+ )
962
+ PUBLIC_PROFIT =
963
+ T.let(
964
+ :PUBLIC_PROFIT,
965
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
966
+ )
967
+ NON_PROFIT =
968
+ T.let(
969
+ :NON_PROFIT,
970
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
971
+ )
972
+ SOLE_PROPRIETOR =
973
+ T.let(
974
+ :SOLE_PROPRIETOR,
975
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
976
+ )
977
+ GOVERNMENT =
978
+ T.let(
979
+ :GOVERNMENT,
980
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
981
+ )
982
+
983
+ sig do
984
+ override.returns(
985
+ T::Array[
986
+ Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
987
+ ]
988
+ )
989
+ end
990
+ def self.values
991
+ end
992
+ end
993
+ end
994
+ end
995
+
996
+ class PaymentDetails < Sentdm::Internal::Type::BaseModel
997
+ OrHash =
998
+ T.type_alias do
999
+ T.any(
1000
+ Sentdm::ProfileUpdateParams::PaymentDetails,
1001
+ Sentdm::Internal::AnyHash
1002
+ )
1003
+ end
1004
+
1005
+ # Card number (digits only, 13–19 characters)
1006
+ sig { returns(String) }
1007
+ attr_accessor :card_number
1008
+
1009
+ # Card security code (3–4 digits)
1010
+ sig { returns(String) }
1011
+ attr_accessor :cvc
1012
+
1013
+ # Card expiry date in MM/YY format (e.g. "09/27")
1014
+ sig { returns(String) }
1015
+ attr_accessor :expiry
1016
+
1017
+ # Billing ZIP / postal code associated with the card
1018
+ sig { returns(String) }
1019
+ attr_accessor :zip_code
1020
+
1021
+ # Payment card details for a profile. Accepted when billing_model is "profile" or
1022
+ # "profile_and_organization". These details are not stored on our servers and will
1023
+ # be forwarded to the payment processor.
1024
+ sig do
1025
+ params(
1026
+ card_number: String,
1027
+ cvc: String,
1028
+ expiry: String,
1029
+ zip_code: String
1030
+ ).returns(T.attached_class)
1031
+ end
1032
+ def self.new(
1033
+ # Card number (digits only, 13–19 characters)
1034
+ card_number:,
1035
+ # Card security code (3–4 digits)
1036
+ cvc:,
1037
+ # Card expiry date in MM/YY format (e.g. "09/27")
1038
+ expiry:,
1039
+ # Billing ZIP / postal code associated with the card
1040
+ zip_code:
1041
+ )
1042
+ end
1043
+
1044
+ sig do
1045
+ override.returns(
1046
+ {
1047
+ card_number: String,
1048
+ cvc: String,
1049
+ expiry: String,
1050
+ zip_code: String
1051
+ }
1052
+ )
1053
+ end
1054
+ def to_hash
1055
+ end
1056
+ end
259
1057
  end
260
1058
  end
261
1059
  end