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
@@ -28,13 +28,12 @@ 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::ProfileUpdateParams::BillingContact)) }
31
+ sig { returns(T.nilable(Sentdm::BillingContactInfo)) }
32
32
  attr_reader :billing_contact
33
33
 
34
34
  sig do
35
35
  params(
36
- billing_contact:
37
- T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash)
36
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash)
38
37
  ).void
39
38
  end
40
39
  attr_writer :billing_contact
@@ -50,14 +49,10 @@ module Sentdm
50
49
  attr_accessor :billing_model
51
50
 
52
51
  # Brand and KYC data grouped into contact, business, and compliance sections
53
- sig { returns(T.nilable(Sentdm::ProfileUpdateParams::Brand)) }
52
+ sig { returns(T.nilable(Sentdm::BrandsBrandData)) }
54
53
  attr_reader :brand
55
54
 
56
- sig do
57
- params(
58
- brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash)
59
- ).void
60
- end
55
+ sig { params(brand: T.nilable(Sentdm::BrandsBrandData::OrHash)).void }
61
56
  attr_writer :brand
62
57
 
63
58
  # Profile description (optional)
@@ -91,14 +86,11 @@ module Sentdm
91
86
  # Payment card details for a profile. Accepted when billing_model is "profile" or
92
87
  # "profile_and_organization". These details are not stored on our servers and will
93
88
  # be forwarded to the payment processor.
94
- sig { returns(T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails)) }
89
+ sig { returns(T.nilable(Sentdm::PaymentDetails)) }
95
90
  attr_reader :payment_details
96
91
 
97
92
  sig do
98
- params(
99
- payment_details:
100
- T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash)
101
- ).void
93
+ params(payment_details: T.nilable(Sentdm::PaymentDetails::OrHash)).void
102
94
  end
103
95
  attr_writer :payment_details
104
96
 
@@ -150,10 +142,9 @@ module Sentdm
150
142
  allow_contact_sharing: T.nilable(T::Boolean),
151
143
  allow_number_change_during_onboarding: T.nilable(T::Boolean),
152
144
  allow_template_sharing: T.nilable(T::Boolean),
153
- billing_contact:
154
- T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash),
145
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash),
155
146
  billing_model: T.nilable(String),
156
- brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash),
147
+ brand: T.nilable(Sentdm::BrandsBrandData::OrHash),
157
148
  description: T.nilable(String),
158
149
  icon: T.nilable(String),
159
150
  inherit_contacts: T.nilable(T::Boolean),
@@ -161,8 +152,7 @@ module Sentdm
161
152
  inherit_tcr_campaign: T.nilable(T::Boolean),
162
153
  inherit_templates: T.nilable(T::Boolean),
163
154
  name: T.nilable(String),
164
- payment_details:
165
- T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash),
155
+ payment_details: T.nilable(Sentdm::PaymentDetails::OrHash),
166
156
  sandbox: T::Boolean,
167
157
  sending_phone_number: T.nilable(String),
168
158
  sending_phone_number_profile_id: T.nilable(String),
@@ -241,10 +231,9 @@ module Sentdm
241
231
  allow_contact_sharing: T.nilable(T::Boolean),
242
232
  allow_number_change_during_onboarding: T.nilable(T::Boolean),
243
233
  allow_template_sharing: T.nilable(T::Boolean),
244
- billing_contact:
245
- T.nilable(Sentdm::ProfileUpdateParams::BillingContact),
234
+ billing_contact: T.nilable(Sentdm::BillingContactInfo),
246
235
  billing_model: T.nilable(String),
247
- brand: T.nilable(Sentdm::ProfileUpdateParams::Brand),
236
+ brand: T.nilable(Sentdm::BrandsBrandData),
248
237
  description: T.nilable(String),
249
238
  icon: T.nilable(String),
250
239
  inherit_contacts: T.nilable(T::Boolean),
@@ -252,8 +241,7 @@ module Sentdm
252
241
  inherit_tcr_campaign: T.nilable(T::Boolean),
253
242
  inherit_templates: T.nilable(T::Boolean),
254
243
  name: T.nilable(String),
255
- payment_details:
256
- T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails),
244
+ payment_details: T.nilable(Sentdm::PaymentDetails),
257
245
  sandbox: T::Boolean,
258
246
  sending_phone_number: T.nilable(String),
259
247
  sending_phone_number_profile_id: T.nilable(String),
@@ -268,792 +256,6 @@ module Sentdm
268
256
  end
269
257
  def to_hash
270
258
  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
1057
259
  end
1058
260
  end
1059
261
  end