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
@@ -27,13 +27,12 @@ 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::ProfileCreateParams::BillingContact)) }
30
+ sig { returns(T.nilable(Sentdm::BillingContactInfo)) }
31
31
  attr_reader :billing_contact
32
32
 
33
33
  sig do
34
34
  params(
35
- billing_contact:
36
- T.nilable(Sentdm::ProfileCreateParams::BillingContact::OrHash)
35
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash)
37
36
  ).void
38
37
  end
39
38
  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::ProfileCreateParams::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::ProfileCreateParams::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)
@@ -94,14 +89,11 @@ module Sentdm
94
89
  # Payment card details for a profile. Accepted when billing_model is "profile" or
95
90
  # "profile_and_organization". These details are not stored on our servers and will
96
91
  # be forwarded to the payment processor.
97
- sig { returns(T.nilable(Sentdm::ProfileCreateParams::PaymentDetails)) }
92
+ sig { returns(T.nilable(Sentdm::PaymentDetails)) }
98
93
  attr_reader :payment_details
99
94
 
100
95
  sig do
101
- params(
102
- payment_details:
103
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails::OrHash)
104
- ).void
96
+ params(payment_details: T.nilable(Sentdm::PaymentDetails::OrHash)).void
105
97
  end
106
98
  attr_writer :payment_details
107
99
 
@@ -155,10 +147,9 @@ module Sentdm
155
147
  params(
156
148
  allow_contact_sharing: T::Boolean,
157
149
  allow_template_sharing: T::Boolean,
158
- billing_contact:
159
- T.nilable(Sentdm::ProfileCreateParams::BillingContact::OrHash),
150
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash),
160
151
  billing_model: T.nilable(String),
161
- brand: T.nilable(Sentdm::ProfileCreateParams::Brand::OrHash),
152
+ brand: T.nilable(Sentdm::BrandsBrandData::OrHash),
162
153
  description: T.nilable(String),
163
154
  icon: T.nilable(String),
164
155
  inherit_contacts: T.nilable(T::Boolean),
@@ -166,8 +157,7 @@ module Sentdm
166
157
  inherit_tcr_campaign: T.nilable(T::Boolean),
167
158
  inherit_templates: T.nilable(T::Boolean),
168
159
  name: String,
169
- payment_details:
170
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails::OrHash),
160
+ payment_details: T.nilable(Sentdm::PaymentDetails::OrHash),
171
161
  sandbox: T::Boolean,
172
162
  short_name: T.nilable(String),
173
163
  whatsapp_business_account:
@@ -240,10 +230,9 @@ module Sentdm
240
230
  {
241
231
  allow_contact_sharing: T::Boolean,
242
232
  allow_template_sharing: T::Boolean,
243
- billing_contact:
244
- T.nilable(Sentdm::ProfileCreateParams::BillingContact),
233
+ billing_contact: T.nilable(Sentdm::BillingContactInfo),
245
234
  billing_model: T.nilable(String),
246
- brand: T.nilable(Sentdm::ProfileCreateParams::Brand),
235
+ brand: T.nilable(Sentdm::BrandsBrandData),
247
236
  description: T.nilable(String),
248
237
  icon: T.nilable(String),
249
238
  inherit_contacts: T.nilable(T::Boolean),
@@ -251,8 +240,7 @@ module Sentdm
251
240
  inherit_tcr_campaign: T.nilable(T::Boolean),
252
241
  inherit_templates: T.nilable(T::Boolean),
253
242
  name: String,
254
- payment_details:
255
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails),
243
+ payment_details: T.nilable(Sentdm::PaymentDetails),
256
244
  sandbox: T::Boolean,
257
245
  short_name: T.nilable(String),
258
246
  whatsapp_business_account:
@@ -266,792 +254,6 @@ module Sentdm
266
254
  def to_hash
267
255
  end
268
256
 
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
-
1055
257
  class WhatsappBusinessAccount < Sentdm::Internal::Type::BaseModel
1056
258
  OrHash =
1057
259
  T.type_alias do