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