sentdm 0.3.1 → 0.5.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 (292) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +5 -9
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/api_meta.rb +1 -9
  7. data/lib/sentdm/models/{api_response_contact.rb → api_response_of_contact.rb} +4 -4
  8. data/lib/sentdm/models/base_dto.rb +30 -0
  9. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  10. data/lib/sentdm/models/brands_brand_data.rb +274 -0
  11. data/lib/sentdm/models/contact_create_params.rb +13 -6
  12. data/lib/sentdm/models/contact_delete_params.rb +9 -2
  13. data/lib/sentdm/models/contact_list_params.rb +10 -2
  14. data/lib/sentdm/models/contact_list_response.rb +3 -3
  15. data/lib/sentdm/models/{contact.rb → contact_response.rb} +1 -1
  16. data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
  17. data/lib/sentdm/models/contact_update_params.rb +13 -6
  18. data/lib/sentdm/models/me_retrieve_params.rb +7 -1
  19. data/lib/sentdm/models/me_retrieve_response.rb +152 -7
  20. data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
  21. data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
  22. data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
  23. data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
  24. data/lib/sentdm/models/message_send_params.rb +17 -10
  25. data/lib/sentdm/models/mutation_request_base.rb +20 -0
  26. data/lib/sentdm/models/{lookup_retrieve_phone_info_params.rb → number_lookup_params.rb} +9 -3
  27. data/lib/sentdm/models/{lookup_retrieve_phone_info_response.rb → number_lookup_response.rb} +21 -21
  28. data/lib/sentdm/models/payment_details.rb +44 -0
  29. data/lib/sentdm/models/{profile_complete_params.rb → profile_complete_setup_params.rb} +16 -9
  30. data/lib/sentdm/models/{profile_complete_response.rb → profile_complete_setup_response.rb} +1 -1
  31. data/lib/sentdm/models/profile_create_params.rb +111 -11
  32. data/lib/sentdm/models/profile_delete_params.rb +18 -18
  33. data/lib/sentdm/models/profile_detail.rb +483 -68
  34. data/lib/sentdm/models/profile_list_params.rb +7 -1
  35. data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
  36. data/lib/sentdm/models/profile_update_params.rb +60 -22
  37. data/lib/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rb → profiles/api_response_of_tcr_campaign_with_use_cases.rb} +6 -6
  38. data/lib/sentdm/models/profiles/campaign_create_params.rb +57 -0
  39. data/lib/sentdm/models/{brands → profiles}/campaign_data.rb +28 -7
  40. data/lib/sentdm/models/profiles/campaign_delete_params.rb +50 -0
  41. data/lib/sentdm/models/profiles/campaign_list_params.rb +28 -0
  42. data/lib/sentdm/models/{brands → profiles}/campaign_list_response.rb +5 -5
  43. data/lib/sentdm/models/profiles/campaign_update_params.rb +64 -0
  44. data/lib/sentdm/models/{brands → profiles}/messaging_use_case_us.rb +1 -1
  45. data/lib/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rb +15 -15
  46. data/lib/sentdm/models/template_create_params.rb +17 -10
  47. data/lib/sentdm/models/template_definition.rb +255 -15
  48. data/lib/sentdm/models/template_delete_params.rb +13 -6
  49. data/lib/sentdm/models/template_list_params.rb +18 -2
  50. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  51. data/lib/sentdm/models/template_update_params.rb +17 -10
  52. data/lib/sentdm/models/template_variable.rb +7 -1
  53. data/lib/sentdm/models/user_invite_params.rb +13 -6
  54. data/lib/sentdm/models/user_list_params.rb +7 -1
  55. data/lib/sentdm/models/user_remove_params.rb +17 -17
  56. data/lib/sentdm/models/user_retrieve_params.rb +7 -1
  57. data/lib/sentdm/models/user_update_role_params.rb +15 -16
  58. data/lib/sentdm/models/webhook_create_params.rb +13 -6
  59. data/lib/sentdm/models/webhook_delete_params.rb +7 -1
  60. data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
  61. data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
  62. data/lib/sentdm/models/webhook_list_params.rb +7 -1
  63. data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
  64. data/lib/sentdm/models/webhook_rotate_secret_params.rb +8 -2
  65. data/lib/sentdm/models/webhook_test_params.rb +13 -6
  66. data/lib/sentdm/models/webhook_toggle_status_params.rb +13 -6
  67. data/lib/sentdm/models/webhook_update_params.rb +13 -6
  68. data/lib/sentdm/models.rb +14 -38
  69. data/lib/sentdm/resources/contacts.rb +49 -26
  70. data/lib/sentdm/resources/me.rb +24 -5
  71. data/lib/sentdm/resources/messages.rb +24 -8
  72. data/lib/sentdm/resources/numbers.rb +44 -0
  73. data/lib/sentdm/resources/profiles/campaigns.rb +160 -0
  74. data/lib/sentdm/resources/profiles.rb +125 -36
  75. data/lib/sentdm/resources/templates.rb +47 -24
  76. data/lib/sentdm/resources/users.rb +40 -23
  77. data/lib/sentdm/resources/webhooks.rb +92 -34
  78. data/lib/sentdm/version.rb +1 -1
  79. data/lib/sentdm.rb +22 -35
  80. data/rbi/sentdm/client.rbi +4 -7
  81. data/rbi/sentdm/models/api_meta.rbi +4 -18
  82. data/rbi/sentdm/models/{api_response_brand_with_kyc.rbi → api_response_of_contact.rbi} +6 -6
  83. data/rbi/sentdm/models/base_dto.rbi +49 -0
  84. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  85. data/rbi/sentdm/models/brands_brand_data.rbi +406 -0
  86. data/rbi/sentdm/models/contact_create_params.rbi +19 -10
  87. data/rbi/sentdm/models/contact_delete_params.rbi +10 -1
  88. data/rbi/sentdm/models/contact_list_params.rbi +11 -0
  89. data/rbi/sentdm/models/contact_list_response.rbi +4 -4
  90. data/rbi/sentdm/models/{contact.rbi → contact_response.rbi} +4 -2
  91. data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -2
  92. data/rbi/sentdm/models/contact_update_params.rbi +19 -10
  93. data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
  94. data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
  95. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -2
  96. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
  97. data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -2
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
  99. data/rbi/sentdm/models/message_send_params.rbi +22 -13
  100. data/rbi/sentdm/models/mutation_request_base.rbi +32 -0
  101. data/rbi/sentdm/models/{lookup_retrieve_phone_info_params.rbi → number_lookup_params.rbi} +15 -7
  102. data/rbi/sentdm/models/{lookup_retrieve_phone_info_response.rbi → number_lookup_response.rbi} +16 -33
  103. data/rbi/sentdm/models/payment_details.rbi +59 -0
  104. data/rbi/sentdm/models/{profile_complete_params.rbi → profile_complete_setup_params.rbi} +21 -12
  105. data/rbi/sentdm/models/{profile_complete_response.rbi → profile_complete_setup_response.rbi} +1 -1
  106. data/rbi/sentdm/models/profile_create_params.rbi +189 -15
  107. data/rbi/sentdm/models/profile_delete_params.rbi +36 -24
  108. data/rbi/sentdm/models/profile_detail.rbi +725 -111
  109. data/rbi/sentdm/models/profile_list_params.rbi +16 -5
  110. data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -2
  111. data/rbi/sentdm/models/profile_update_params.rbi +97 -30
  112. data/rbi/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbi → profiles/api_response_of_tcr_campaign_with_use_cases.rbi} +7 -7
  113. data/rbi/sentdm/models/{brands → profiles}/campaign_create_params.rbi +29 -20
  114. data/rbi/sentdm/models/{brands → profiles}/campaign_data.rbi +51 -16
  115. data/rbi/sentdm/models/{brands → profiles}/campaign_delete_params.rbi +23 -12
  116. data/rbi/sentdm/models/profiles/campaign_list_params.rbi +51 -0
  117. data/rbi/sentdm/models/{brands → profiles}/campaign_list_response.rbi +7 -5
  118. data/rbi/sentdm/models/{brands → profiles}/campaign_update_params.rbi +29 -20
  119. data/rbi/sentdm/models/{brands → profiles}/messaging_use_case_us.rbi +20 -16
  120. data/rbi/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbi +35 -29
  121. data/rbi/sentdm/models/template_create_params.rbi +22 -13
  122. data/rbi/sentdm/models/template_definition.rbi +405 -74
  123. data/rbi/sentdm/models/template_delete_params.rbi +19 -10
  124. data/rbi/sentdm/models/template_list_params.rbi +19 -0
  125. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -2
  126. data/rbi/sentdm/models/template_update_params.rbi +22 -13
  127. data/rbi/sentdm/models/template_variable.rbi +6 -0
  128. data/rbi/sentdm/models/user_invite_params.rbi +19 -10
  129. data/rbi/sentdm/models/user_list_params.rbi +16 -5
  130. data/rbi/sentdm/models/user_remove_params.rbi +35 -23
  131. data/rbi/sentdm/models/user_retrieve_params.rbi +13 -2
  132. data/rbi/sentdm/models/user_update_role_params.rbi +23 -25
  133. data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
  134. data/rbi/sentdm/models/webhook_delete_params.rbi +13 -2
  135. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +16 -1
  137. data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
  138. data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -2
  139. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +16 -2
  140. data/rbi/sentdm/models/webhook_test_params.rbi +19 -10
  141. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +19 -10
  142. data/rbi/sentdm/models/webhook_update_params.rbi +19 -10
  143. data/rbi/sentdm/models.rbi +14 -38
  144. data/rbi/sentdm/resources/contacts.rbi +40 -15
  145. data/rbi/sentdm/resources/me.rbi +25 -7
  146. data/rbi/sentdm/resources/messages.rbi +17 -4
  147. data/rbi/sentdm/resources/numbers.rbi +32 -0
  148. data/rbi/sentdm/resources/profiles/campaigns.rbi +127 -0
  149. data/rbi/sentdm/resources/profiles.rbi +179 -39
  150. data/rbi/sentdm/resources/templates.rbi +47 -19
  151. data/rbi/sentdm/resources/users.rbi +47 -25
  152. data/rbi/sentdm/resources/webhooks.rbi +92 -20
  153. data/sig/sentdm/client.rbs +2 -4
  154. data/sig/sentdm/models/api_meta.rbs +2 -16
  155. data/sig/sentdm/models/{api_response_contact.rbs → api_response_of_contact.rbs} +6 -6
  156. data/sig/sentdm/models/base_dto.rbs +25 -0
  157. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  158. data/sig/sentdm/models/brands_brand_data.rbs +210 -0
  159. data/sig/sentdm/models/contact_create_params.rbs +16 -5
  160. data/sig/sentdm/models/contact_delete_params.rbs +12 -2
  161. data/sig/sentdm/models/contact_list_params.rbs +8 -1
  162. data/sig/sentdm/models/contact_list_response.rbs +7 -5
  163. data/sig/sentdm/models/{contact.rbs → contact_response.rbs} +2 -2
  164. data/sig/sentdm/models/contact_retrieve_params.rbs +12 -2
  165. data/sig/sentdm/models/contact_update_params.rbs +13 -6
  166. data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
  167. data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
  168. data/sig/sentdm/models/message_retrieve_activities_params.rbs +12 -2
  169. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
  170. data/sig/sentdm/models/message_retrieve_status_params.rbs +12 -2
  171. data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
  172. data/sig/sentdm/models/message_send_params.rbs +15 -8
  173. data/sig/sentdm/models/mutation_request_base.rbs +15 -0
  174. data/sig/sentdm/models/{lookup_retrieve_phone_info_params.rbs → number_lookup_params.rbs} +10 -3
  175. data/sig/sentdm/models/{lookup_retrieve_phone_info_response.rbs → number_lookup_response.rbs} +14 -16
  176. data/sig/sentdm/models/payment_details.rbs +30 -0
  177. data/sig/sentdm/models/{profile_complete_params.rbs → profile_complete_setup_params.rbs} +15 -8
  178. data/sig/sentdm/models/profile_complete_setup_response.rbs +5 -0
  179. data/sig/sentdm/models/profile_create_params.rbs +57 -7
  180. data/sig/sentdm/models/profile_delete_params.rbs +23 -13
  181. data/sig/sentdm/models/profile_detail.rbs +374 -68
  182. data/sig/sentdm/models/profile_list_params.rbs +14 -3
  183. data/sig/sentdm/models/profile_retrieve_params.rbs +8 -1
  184. data/sig/sentdm/models/profile_update_params.rbs +32 -17
  185. data/sig/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbs → profiles/api_response_of_tcr_campaign_with_use_cases.rbs} +7 -7
  186. data/sig/sentdm/models/profiles/campaign_create_params.rbs +54 -0
  187. data/sig/sentdm/models/{brands → profiles}/campaign_data.rbs +27 -5
  188. data/sig/sentdm/models/{brands → profiles}/campaign_delete_params.rbs +17 -10
  189. data/sig/sentdm/models/{brands → profiles}/campaign_list_params.rbs +12 -5
  190. data/sig/sentdm/models/{brands → profiles}/campaign_list_response.rbs +5 -5
  191. data/sig/sentdm/models/{brands → profiles}/campaign_update_params.rbs +22 -15
  192. data/sig/sentdm/models/{brands → profiles}/messaging_use_case_us.rbs +2 -2
  193. data/sig/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbs +29 -29
  194. data/sig/sentdm/models/template_create_params.rbs +15 -8
  195. data/sig/sentdm/models/template_definition.rbs +233 -20
  196. data/sig/sentdm/models/template_delete_params.rbs +16 -5
  197. data/sig/sentdm/models/template_list_params.rbs +13 -1
  198. data/sig/sentdm/models/template_retrieve_params.rbs +12 -2
  199. data/sig/sentdm/models/template_update_params.rbs +15 -8
  200. data/sig/sentdm/models/template_variable.rbs +5 -0
  201. data/sig/sentdm/models/user_invite_params.rbs +13 -6
  202. data/sig/sentdm/models/user_list_params.rbs +14 -3
  203. data/sig/sentdm/models/user_remove_params.rbs +23 -13
  204. data/sig/sentdm/models/user_retrieve_params.rbs +8 -1
  205. data/sig/sentdm/models/user_update_role_params.rbs +17 -17
  206. data/sig/sentdm/models/webhook_create_params.rbs +13 -6
  207. data/sig/sentdm/models/webhook_delete_params.rbs +12 -2
  208. data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
  209. data/sig/sentdm/models/webhook_list_events_params.rbs +13 -1
  210. data/sig/sentdm/models/webhook_list_params.rbs +13 -1
  211. data/sig/sentdm/models/webhook_retrieve_params.rbs +12 -2
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +9 -2
  213. data/sig/sentdm/models/webhook_test_params.rbs +13 -6
  214. data/sig/sentdm/models/webhook_toggle_status_params.rbs +17 -5
  215. data/sig/sentdm/models/webhook_update_params.rbs +13 -6
  216. data/sig/sentdm/models.rbs +14 -32
  217. data/sig/sentdm/resources/contacts.rbs +10 -5
  218. data/sig/sentdm/resources/me.rbs +1 -0
  219. data/sig/sentdm/resources/messages.rbs +4 -1
  220. data/sig/sentdm/resources/{lookup.rbs → numbers.rbs} +4 -3
  221. data/sig/sentdm/resources/profiles/campaigns.rbs +42 -0
  222. data/sig/sentdm/resources/profiles.rbs +22 -9
  223. data/sig/sentdm/resources/templates.rbs +9 -3
  224. data/sig/sentdm/resources/users.rbs +10 -7
  225. data/sig/sentdm/resources/webhooks.rbs +18 -5
  226. metadata +67 -106
  227. data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
  228. data/lib/sentdm/models/brand_create_params.rb +0 -41
  229. data/lib/sentdm/models/brand_data.rb +0 -237
  230. data/lib/sentdm/models/brand_delete_params.rb +0 -34
  231. data/lib/sentdm/models/brand_list_params.rb +0 -14
  232. data/lib/sentdm/models/brand_list_response.rb +0 -43
  233. data/lib/sentdm/models/brand_update_params.rb +0 -48
  234. data/lib/sentdm/models/brand_with_kyc.rb +0 -335
  235. data/lib/sentdm/models/brands/base_dto.rb +0 -32
  236. data/lib/sentdm/models/brands/campaign_create_params.rb +0 -50
  237. data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -43
  238. data/lib/sentdm/models/brands/campaign_list_params.rb +0 -22
  239. data/lib/sentdm/models/brands/campaign_update_params.rb +0 -57
  240. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +0 -30
  241. data/lib/sentdm/models/mutation_request.rb +0 -20
  242. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +0 -34
  243. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +0 -40
  244. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +0 -38
  245. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +0 -81
  246. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +0 -34
  247. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +0 -39
  248. data/lib/sentdm/resources/brands/campaigns.rb +0 -145
  249. data/lib/sentdm/resources/brands.rb +0 -130
  250. data/lib/sentdm/resources/lookup.rb +0 -35
  251. data/rbi/sentdm/models/api_response_contact.rbi +0 -74
  252. data/rbi/sentdm/models/brand_create_params.rbi +0 -68
  253. data/rbi/sentdm/models/brand_data.rbi +0 -266
  254. data/rbi/sentdm/models/brand_delete_params.rbi +0 -68
  255. data/rbi/sentdm/models/brand_list_params.rbi +0 -27
  256. data/rbi/sentdm/models/brand_list_response.rbi +0 -71
  257. data/rbi/sentdm/models/brand_update_params.rbi +0 -74
  258. data/rbi/sentdm/models/brand_with_kyc.rbi +0 -398
  259. data/rbi/sentdm/models/brands/base_dto.rbi +0 -53
  260. data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -37
  261. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +0 -52
  262. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  263. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +0 -56
  264. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +0 -76
  265. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +0 -79
  266. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +0 -104
  267. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +0 -60
  268. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +0 -62
  269. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -109
  270. data/rbi/sentdm/resources/brands.rbi +0 -95
  271. data/rbi/sentdm/resources/lookup.rbi +0 -24
  272. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
  273. data/sig/sentdm/models/brand_create_params.rbs +0 -36
  274. data/sig/sentdm/models/brand_data.rbs +0 -164
  275. data/sig/sentdm/models/brand_delete_params.rbs +0 -36
  276. data/sig/sentdm/models/brand_list_params.rbs +0 -14
  277. data/sig/sentdm/models/brand_list_response.rbs +0 -39
  278. data/sig/sentdm/models/brand_update_params.rbs +0 -45
  279. data/sig/sentdm/models/brand_with_kyc.rbs +0 -237
  280. data/sig/sentdm/models/brands/base_dto.rbs +0 -27
  281. data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -47
  282. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +0 -27
  283. data/sig/sentdm/models/mutation_request.rbs +0 -15
  284. data/sig/sentdm/models/profile_complete_response.rbs +0 -5
  285. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +0 -24
  286. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +0 -30
  287. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -38
  288. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +0 -75
  289. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +0 -32
  290. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +0 -32
  291. data/sig/sentdm/resources/brands/campaigns.rbs +0 -38
  292. data/sig/sentdm/resources/brands.rbs +0 -34
@@ -13,6 +13,54 @@ module Sentdm
13
13
  sig { params(id: String).void }
14
14
  attr_writer :id
15
15
 
16
+ # Whether contacts are shared across profiles in the organization
17
+ sig { returns(T.nilable(T::Boolean)) }
18
+ attr_reader :allow_contact_sharing
19
+
20
+ sig { params(allow_contact_sharing: T::Boolean).void }
21
+ attr_writer :allow_contact_sharing
22
+
23
+ # Whether number changes are allowed during onboarding
24
+ sig { returns(T.nilable(T::Boolean)) }
25
+ attr_accessor :allow_number_change_during_onboarding
26
+
27
+ # Whether templates are shared across profiles in the organization
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_reader :allow_template_sharing
30
+
31
+ sig { params(allow_template_sharing: T::Boolean).void }
32
+ attr_writer :allow_template_sharing
33
+
34
+ # Billing contact for this profile. Present when billing_model is "profile" or
35
+ # "profile_and_organization".
36
+ sig { returns(T.nilable(Sentdm::ProfileDetail::BillingContact)) }
37
+ attr_reader :billing_contact
38
+
39
+ sig do
40
+ params(
41
+ billing_contact:
42
+ T.nilable(Sentdm::ProfileDetail::BillingContact::OrHash)
43
+ ).void
44
+ end
45
+ attr_writer :billing_contact
46
+
47
+ # Billing model: profile, organization, or profile_and_organization
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :billing_model
50
+
51
+ sig { params(billing_model: String).void }
52
+ attr_writer :billing_model
53
+
54
+ # Brand associated with this profile. Null if no brand has been configured yet.
55
+ # Includes KYC information and TCR registration status.
56
+ sig { returns(T.nilable(Sentdm::ProfileDetail::Brand)) }
57
+ attr_reader :brand
58
+
59
+ sig do
60
+ params(brand: T.nilable(Sentdm::ProfileDetail::Brand::OrHash)).void
61
+ end
62
+ attr_writer :brand
63
+
16
64
  # When the profile was created
17
65
  sig { returns(T.nilable(Time)) }
18
66
  attr_reader :created_at
@@ -32,6 +80,34 @@ module Sentdm
32
80
  sig { returns(T.nilable(String)) }
33
81
  attr_accessor :icon
34
82
 
83
+ # Whether this profile inherits contacts from the organization
84
+ sig { returns(T.nilable(T::Boolean)) }
85
+ attr_reader :inherit_contacts
86
+
87
+ sig { params(inherit_contacts: T::Boolean).void }
88
+ attr_writer :inherit_contacts
89
+
90
+ # Whether this profile inherits TCR brand from the organization
91
+ sig { returns(T.nilable(T::Boolean)) }
92
+ attr_reader :inherit_tcr_brand
93
+
94
+ sig { params(inherit_tcr_brand: T::Boolean).void }
95
+ attr_writer :inherit_tcr_brand
96
+
97
+ # Whether this profile inherits TCR campaign from the organization
98
+ sig { returns(T.nilable(T::Boolean)) }
99
+ attr_reader :inherit_tcr_campaign
100
+
101
+ sig { params(inherit_tcr_campaign: T::Boolean).void }
102
+ attr_writer :inherit_tcr_campaign
103
+
104
+ # Whether this profile inherits templates from the organization
105
+ sig { returns(T.nilable(T::Boolean)) }
106
+ attr_reader :inherit_templates
107
+
108
+ sig { params(inherit_templates: T::Boolean).void }
109
+ attr_writer :inherit_templates
110
+
35
111
  # Profile name
36
112
  sig { returns(T.nilable(String)) }
37
113
  attr_reader :name
@@ -43,14 +119,20 @@ module Sentdm
43
119
  sig { returns(T.nilable(String)) }
44
120
  attr_accessor :organization_id
45
121
 
46
- # Profile configuration settings
47
- sig { returns(T.nilable(Sentdm::ProfileDetail::Settings)) }
48
- attr_reader :settings
122
+ # Direct SMS phone number
123
+ sig { returns(T.nilable(String)) }
124
+ attr_accessor :sending_phone_number
49
125
 
50
- sig { params(settings: Sentdm::ProfileDetail::Settings::OrHash).void }
51
- attr_writer :settings
126
+ # Reference to another profile for SMS/Telnyx configuration
127
+ sig { returns(T.nilable(String)) }
128
+ attr_accessor :sending_phone_number_profile_id
52
129
 
53
- # Profile short name (abbreviation)
130
+ # Reference to another profile for WhatsApp configuration
131
+ sig { returns(T.nilable(String)) }
132
+ attr_accessor :sending_whatsapp_number_profile_id
133
+
134
+ # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
135
+ # only, with at least one letter.
54
136
  sig { returns(T.nilable(String)) }
55
137
  attr_accessor :short_name
56
138
 
@@ -65,25 +147,63 @@ module Sentdm
65
147
  sig { returns(T.nilable(Time)) }
66
148
  attr_accessor :updated_at
67
149
 
150
+ # WhatsApp Business Account ID associated with this profile. Present whether the
151
+ # WABA is inherited from the organization or configured directly.
152
+ sig { returns(T.nilable(String)) }
153
+ attr_accessor :waba_id
154
+
155
+ # Direct WhatsApp phone number
156
+ sig { returns(T.nilable(String)) }
157
+ attr_accessor :whatsapp_phone_number
158
+
68
159
  # Detailed profile response for v3 API
69
160
  sig do
70
161
  params(
71
162
  id: String,
163
+ allow_contact_sharing: T::Boolean,
164
+ allow_number_change_during_onboarding: T.nilable(T::Boolean),
165
+ allow_template_sharing: T::Boolean,
166
+ billing_contact:
167
+ T.nilable(Sentdm::ProfileDetail::BillingContact::OrHash),
168
+ billing_model: String,
169
+ brand: T.nilable(Sentdm::ProfileDetail::Brand::OrHash),
72
170
  created_at: Time,
73
171
  description: T.nilable(String),
74
172
  email: T.nilable(String),
75
173
  icon: T.nilable(String),
174
+ inherit_contacts: T::Boolean,
175
+ inherit_tcr_brand: T::Boolean,
176
+ inherit_tcr_campaign: T::Boolean,
177
+ inherit_templates: T::Boolean,
76
178
  name: String,
77
179
  organization_id: T.nilable(String),
78
- settings: Sentdm::ProfileDetail::Settings::OrHash,
180
+ sending_phone_number: T.nilable(String),
181
+ sending_phone_number_profile_id: T.nilable(String),
182
+ sending_whatsapp_number_profile_id: T.nilable(String),
79
183
  short_name: T.nilable(String),
80
184
  status: String,
81
- updated_at: T.nilable(Time)
185
+ updated_at: T.nilable(Time),
186
+ waba_id: T.nilable(String),
187
+ whatsapp_phone_number: T.nilable(String)
82
188
  ).returns(T.attached_class)
83
189
  end
84
190
  def self.new(
85
191
  # Profile unique identifier
86
192
  id: nil,
193
+ # Whether contacts are shared across profiles in the organization
194
+ allow_contact_sharing: nil,
195
+ # Whether number changes are allowed during onboarding
196
+ allow_number_change_during_onboarding: nil,
197
+ # Whether templates are shared across profiles in the organization
198
+ allow_template_sharing: nil,
199
+ # Billing contact for this profile. Present when billing_model is "profile" or
200
+ # "profile_and_organization".
201
+ billing_contact: nil,
202
+ # Billing model: profile, organization, or profile_and_organization
203
+ billing_model: nil,
204
+ # Brand associated with this profile. Null if no brand has been configured yet.
205
+ # Includes KYC information and TCR registration status.
206
+ brand: nil,
87
207
  # When the profile was created
88
208
  created_at: nil,
89
209
  # Profile description
@@ -92,18 +212,36 @@ module Sentdm
92
212
  email: nil,
93
213
  # Profile icon URL
94
214
  icon: nil,
215
+ # Whether this profile inherits contacts from the organization
216
+ inherit_contacts: nil,
217
+ # Whether this profile inherits TCR brand from the organization
218
+ inherit_tcr_brand: nil,
219
+ # Whether this profile inherits TCR campaign from the organization
220
+ inherit_tcr_campaign: nil,
221
+ # Whether this profile inherits templates from the organization
222
+ inherit_templates: nil,
95
223
  # Profile name
96
224
  name: nil,
97
225
  # Parent organization ID
98
226
  organization_id: nil,
99
- # Profile configuration settings
100
- settings: nil,
101
- # Profile short name (abbreviation)
227
+ # Direct SMS phone number
228
+ sending_phone_number: nil,
229
+ # Reference to another profile for SMS/Telnyx configuration
230
+ sending_phone_number_profile_id: nil,
231
+ # Reference to another profile for WhatsApp configuration
232
+ sending_whatsapp_number_profile_id: nil,
233
+ # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
234
+ # only, with at least one letter.
102
235
  short_name: nil,
103
236
  # Profile setup status: incomplete, pending_review, approved, rejected
104
237
  status: nil,
105
238
  # When the profile was last updated
106
- updated_at: nil
239
+ updated_at: nil,
240
+ # WhatsApp Business Account ID associated with this profile. Present whether the
241
+ # WABA is inherited from the organization or configured directly.
242
+ waba_id: nil,
243
+ # Direct WhatsApp phone number
244
+ whatsapp_phone_number: nil
107
245
  )
108
246
  end
109
247
 
@@ -111,162 +249,638 @@ module Sentdm
111
249
  override.returns(
112
250
  {
113
251
  id: String,
252
+ allow_contact_sharing: T::Boolean,
253
+ allow_number_change_during_onboarding: T.nilable(T::Boolean),
254
+ allow_template_sharing: T::Boolean,
255
+ billing_contact: T.nilable(Sentdm::ProfileDetail::BillingContact),
256
+ billing_model: String,
257
+ brand: T.nilable(Sentdm::ProfileDetail::Brand),
114
258
  created_at: Time,
115
259
  description: T.nilable(String),
116
260
  email: T.nilable(String),
117
261
  icon: T.nilable(String),
262
+ inherit_contacts: T::Boolean,
263
+ inherit_tcr_brand: T::Boolean,
264
+ inherit_tcr_campaign: T::Boolean,
265
+ inherit_templates: T::Boolean,
118
266
  name: String,
119
267
  organization_id: T.nilable(String),
120
- settings: Sentdm::ProfileDetail::Settings,
268
+ sending_phone_number: T.nilable(String),
269
+ sending_phone_number_profile_id: T.nilable(String),
270
+ sending_whatsapp_number_profile_id: T.nilable(String),
121
271
  short_name: T.nilable(String),
122
272
  status: String,
123
- updated_at: T.nilable(Time)
273
+ updated_at: T.nilable(Time),
274
+ waba_id: T.nilable(String),
275
+ whatsapp_phone_number: T.nilable(String)
124
276
  }
125
277
  )
126
278
  end
127
279
  def to_hash
128
280
  end
129
281
 
130
- class Settings < Sentdm::Internal::Type::BaseModel
282
+ class BillingContact < Sentdm::Internal::Type::BaseModel
131
283
  OrHash =
132
284
  T.type_alias do
133
- T.any(Sentdm::ProfileDetail::Settings, Sentdm::Internal::AnyHash)
285
+ T.any(
286
+ Sentdm::ProfileDetail::BillingContact,
287
+ Sentdm::Internal::AnyHash
288
+ )
134
289
  end
135
290
 
136
- # Whether contacts are shared across profiles in the organization
137
- sig { returns(T.nilable(T::Boolean)) }
138
- attr_reader :allow_contact_sharing
291
+ sig { returns(T.nilable(String)) }
292
+ attr_accessor :address
139
293
 
140
- sig { params(allow_contact_sharing: T::Boolean).void }
141
- attr_writer :allow_contact_sharing
294
+ sig { returns(T.nilable(String)) }
295
+ attr_accessor :email
142
296
 
143
- # Whether number changes are allowed during onboarding
144
- sig { returns(T.nilable(T::Boolean)) }
145
- attr_accessor :allow_number_change_during_onboarding
297
+ sig { returns(T.nilable(String)) }
298
+ attr_accessor :name
146
299
 
147
- # Whether templates are shared across profiles in the organization
148
- sig { returns(T.nilable(T::Boolean)) }
149
- attr_reader :allow_template_sharing
300
+ sig { returns(T.nilable(String)) }
301
+ attr_accessor :phone
150
302
 
151
- sig { params(allow_template_sharing: T::Boolean).void }
152
- attr_writer :allow_template_sharing
303
+ # Billing contact for this profile. Present when billing_model is "profile" or
304
+ # "profile_and_organization".
305
+ sig do
306
+ params(
307
+ address: T.nilable(String),
308
+ email: T.nilable(String),
309
+ name: T.nilable(String),
310
+ phone: T.nilable(String)
311
+ ).returns(T.attached_class)
312
+ end
313
+ def self.new(address: nil, email: nil, name: nil, phone: nil)
314
+ end
153
315
 
154
- # Billing model: profile, organization, or profile_and_organization
316
+ sig do
317
+ override.returns(
318
+ {
319
+ address: T.nilable(String),
320
+ email: T.nilable(String),
321
+ name: T.nilable(String),
322
+ phone: T.nilable(String)
323
+ }
324
+ )
325
+ end
326
+ def to_hash
327
+ end
328
+ end
329
+
330
+ class Brand < Sentdm::Internal::Type::BaseModel
331
+ OrHash =
332
+ T.type_alias do
333
+ T.any(Sentdm::ProfileDetail::Brand, Sentdm::Internal::AnyHash)
334
+ end
335
+
336
+ # Unique identifier for the brand
155
337
  sig { returns(T.nilable(String)) }
156
- attr_reader :billing_model
338
+ attr_reader :id
157
339
 
158
- sig { params(billing_model: String).void }
159
- attr_writer :billing_model
340
+ sig { params(id: String).void }
341
+ attr_writer :id
160
342
 
161
- # Whether this profile inherits contacts from the organization
162
- sig { returns(T.nilable(T::Boolean)) }
163
- attr_reader :inherit_contacts
343
+ # Business details and address information
344
+ sig { returns(T.nilable(Sentdm::ProfileDetail::Brand::Business)) }
345
+ attr_reader :business
164
346
 
165
- sig { params(inherit_contacts: T::Boolean).void }
166
- attr_writer :inherit_contacts
347
+ sig do
348
+ params(
349
+ business: T.nilable(Sentdm::ProfileDetail::Brand::Business::OrHash)
350
+ ).void
351
+ end
352
+ attr_writer :business
167
353
 
168
- # Whether this profile inherits TCR brand from the organization
169
- sig { returns(T.nilable(T::Boolean)) }
170
- attr_reader :inherit_tcr_brand
354
+ # Compliance and TCR-related information
355
+ sig { returns(T.nilable(Sentdm::ProfileDetail::Brand::Compliance)) }
356
+ attr_reader :compliance
171
357
 
172
- sig { params(inherit_tcr_brand: T::Boolean).void }
173
- attr_writer :inherit_tcr_brand
358
+ sig do
359
+ params(
360
+ compliance:
361
+ T.nilable(Sentdm::ProfileDetail::Brand::Compliance::OrHash)
362
+ ).void
363
+ end
364
+ attr_writer :compliance
174
365
 
175
- # Whether this profile inherits TCR campaign from the organization
176
- sig { returns(T.nilable(T::Boolean)) }
177
- attr_reader :inherit_tcr_campaign
366
+ # Contact information for the brand
367
+ sig { returns(T.nilable(Sentdm::ProfileDetail::Brand::Contact)) }
368
+ attr_reader :contact
178
369
 
179
- sig { params(inherit_tcr_campaign: T::Boolean).void }
180
- attr_writer :inherit_tcr_campaign
370
+ sig do
371
+ params(
372
+ contact: T.nilable(Sentdm::ProfileDetail::Brand::Contact::OrHash)
373
+ ).void
374
+ end
375
+ attr_writer :contact
181
376
 
182
- # Whether this profile inherits templates from the organization
183
- sig { returns(T.nilable(T::Boolean)) }
184
- attr_reader :inherit_templates
377
+ # When the brand was created
378
+ sig { returns(T.nilable(Time)) }
379
+ attr_reader :created_at
185
380
 
186
- sig { params(inherit_templates: T::Boolean).void }
187
- attr_writer :inherit_templates
381
+ sig { params(created_at: Time).void }
382
+ attr_writer :created_at
188
383
 
189
- # Direct SMS phone number
384
+ # CSP (Campaign Service Provider) ID
190
385
  sig { returns(T.nilable(String)) }
191
- attr_accessor :sending_phone_number
386
+ attr_accessor :csp_id
192
387
 
193
- # Reference to another profile for SMS/Telnyx configuration
194
- sig { returns(T.nilable(String)) }
195
- attr_accessor :sending_phone_number_profile_id
388
+ # TCR brand identity verification status
389
+ sig do
390
+ returns(
391
+ T.nilable(
392
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
393
+ )
394
+ )
395
+ end
396
+ attr_accessor :identity_status
196
397
 
197
- # Reference to another profile for WhatsApp configuration
398
+ # Whether this brand is inherited from the parent organization
399
+ sig { returns(T.nilable(T::Boolean)) }
400
+ attr_reader :is_inherited
401
+
402
+ sig { params(is_inherited: T::Boolean).void }
403
+ attr_writer :is_inherited
404
+
405
+ # TCR brand status
406
+ sig do
407
+ returns(T.nilable(Sentdm::ProfileDetail::Brand::Status::TaggedSymbol))
408
+ end
409
+ attr_accessor :status
410
+
411
+ # When the brand was submitted to TCR
412
+ sig { returns(T.nilable(Time)) }
413
+ attr_accessor :submitted_at
414
+
415
+ # Whether this brand has been submitted to TCR
416
+ sig { returns(T.nilable(T::Boolean)) }
417
+ attr_reader :submitted_to_tcr
418
+
419
+ sig { params(submitted_to_tcr: T::Boolean).void }
420
+ attr_writer :submitted_to_tcr
421
+
422
+ # TCR brand ID (populated after TCR submission)
198
423
  sig { returns(T.nilable(String)) }
199
- attr_accessor :sending_whatsapp_number_profile_id
424
+ attr_accessor :tcr_brand_id
200
425
 
201
- # Direct WhatsApp phone number
426
+ # Universal EIN from TCR
202
427
  sig { returns(T.nilable(String)) }
203
- attr_accessor :whatsapp_phone_number
428
+ attr_accessor :universal_ein
429
+
430
+ # When the brand was last updated
431
+ sig { returns(T.nilable(Time)) }
432
+ attr_accessor :updated_at
204
433
 
205
- # Profile configuration settings
434
+ # Brand associated with this profile. Null if no brand has been configured yet.
435
+ # Includes KYC information and TCR registration status.
206
436
  sig do
207
437
  params(
208
- allow_contact_sharing: T::Boolean,
209
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
210
- allow_template_sharing: T::Boolean,
211
- billing_model: String,
212
- inherit_contacts: T::Boolean,
213
- inherit_tcr_brand: T::Boolean,
214
- inherit_tcr_campaign: T::Boolean,
215
- inherit_templates: T::Boolean,
216
- sending_phone_number: T.nilable(String),
217
- sending_phone_number_profile_id: T.nilable(String),
218
- sending_whatsapp_number_profile_id: T.nilable(String),
219
- whatsapp_phone_number: T.nilable(String)
438
+ id: String,
439
+ business: T.nilable(Sentdm::ProfileDetail::Brand::Business::OrHash),
440
+ compliance:
441
+ T.nilable(Sentdm::ProfileDetail::Brand::Compliance::OrHash),
442
+ contact: T.nilable(Sentdm::ProfileDetail::Brand::Contact::OrHash),
443
+ created_at: Time,
444
+ csp_id: T.nilable(String),
445
+ identity_status:
446
+ T.nilable(Sentdm::ProfileDetail::Brand::IdentityStatus::OrSymbol),
447
+ is_inherited: T::Boolean,
448
+ status: T.nilable(Sentdm::ProfileDetail::Brand::Status::OrSymbol),
449
+ submitted_at: T.nilable(Time),
450
+ submitted_to_tcr: T::Boolean,
451
+ tcr_brand_id: T.nilable(String),
452
+ universal_ein: T.nilable(String),
453
+ updated_at: T.nilable(Time)
220
454
  ).returns(T.attached_class)
221
455
  end
222
456
  def self.new(
223
- # Whether contacts are shared across profiles in the organization
224
- allow_contact_sharing: nil,
225
- # Whether number changes are allowed during onboarding
226
- allow_number_change_during_onboarding: nil,
227
- # Whether templates are shared across profiles in the organization
228
- allow_template_sharing: nil,
229
- # Billing model: profile, organization, or profile_and_organization
230
- billing_model: nil,
231
- # Whether this profile inherits contacts from the organization
232
- inherit_contacts: nil,
233
- # Whether this profile inherits TCR brand from the organization
234
- inherit_tcr_brand: nil,
235
- # Whether this profile inherits TCR campaign from the organization
236
- inherit_tcr_campaign: nil,
237
- # Whether this profile inherits templates from the organization
238
- inherit_templates: nil,
239
- # Direct SMS phone number
240
- sending_phone_number: nil,
241
- # Reference to another profile for SMS/Telnyx configuration
242
- sending_phone_number_profile_id: nil,
243
- # Reference to another profile for WhatsApp configuration
244
- sending_whatsapp_number_profile_id: nil,
245
- # Direct WhatsApp phone number
246
- whatsapp_phone_number: nil
457
+ # Unique identifier for the brand
458
+ id: nil,
459
+ # Business details and address information
460
+ business: nil,
461
+ # Compliance and TCR-related information
462
+ compliance: nil,
463
+ # Contact information for the brand
464
+ contact: nil,
465
+ # When the brand was created
466
+ created_at: nil,
467
+ # CSP (Campaign Service Provider) ID
468
+ csp_id: nil,
469
+ # TCR brand identity verification status
470
+ identity_status: nil,
471
+ # Whether this brand is inherited from the parent organization
472
+ is_inherited: nil,
473
+ # TCR brand status
474
+ status: nil,
475
+ # When the brand was submitted to TCR
476
+ submitted_at: nil,
477
+ # Whether this brand has been submitted to TCR
478
+ submitted_to_tcr: nil,
479
+ # TCR brand ID (populated after TCR submission)
480
+ tcr_brand_id: nil,
481
+ # Universal EIN from TCR
482
+ universal_ein: nil,
483
+ # When the brand was last updated
484
+ updated_at: nil
247
485
  )
248
486
  end
249
487
 
250
488
  sig do
251
489
  override.returns(
252
490
  {
253
- allow_contact_sharing: T::Boolean,
254
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
255
- allow_template_sharing: T::Boolean,
256
- billing_model: String,
257
- inherit_contacts: T::Boolean,
258
- inherit_tcr_brand: T::Boolean,
259
- inherit_tcr_campaign: T::Boolean,
260
- inherit_templates: T::Boolean,
261
- sending_phone_number: T.nilable(String),
262
- sending_phone_number_profile_id: T.nilable(String),
263
- sending_whatsapp_number_profile_id: T.nilable(String),
264
- whatsapp_phone_number: T.nilable(String)
491
+ id: String,
492
+ business: T.nilable(Sentdm::ProfileDetail::Brand::Business),
493
+ compliance: T.nilable(Sentdm::ProfileDetail::Brand::Compliance),
494
+ contact: T.nilable(Sentdm::ProfileDetail::Brand::Contact),
495
+ created_at: Time,
496
+ csp_id: T.nilable(String),
497
+ identity_status:
498
+ T.nilable(
499
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
500
+ ),
501
+ is_inherited: T::Boolean,
502
+ status:
503
+ T.nilable(Sentdm::ProfileDetail::Brand::Status::TaggedSymbol),
504
+ submitted_at: T.nilable(Time),
505
+ submitted_to_tcr: T::Boolean,
506
+ tcr_brand_id: T.nilable(String),
507
+ universal_ein: T.nilable(String),
508
+ updated_at: T.nilable(Time)
265
509
  }
266
510
  )
267
511
  end
268
512
  def to_hash
269
513
  end
514
+
515
+ class Business < Sentdm::Internal::Type::BaseModel
516
+ OrHash =
517
+ T.type_alias do
518
+ T.any(
519
+ Sentdm::ProfileDetail::Brand::Business,
520
+ Sentdm::Internal::AnyHash
521
+ )
522
+ end
523
+
524
+ # City
525
+ sig { returns(T.nilable(String)) }
526
+ attr_accessor :city
527
+
528
+ # Country code (e.g., US, CA)
529
+ sig { returns(T.nilable(String)) }
530
+ attr_accessor :country
531
+
532
+ # Country where the business is registered
533
+ sig { returns(T.nilable(String)) }
534
+ attr_accessor :country_of_registration
535
+
536
+ # Business entity type
537
+ sig { returns(T.nilable(String)) }
538
+ attr_accessor :entity_type
539
+
540
+ # Legal business name
541
+ sig { returns(T.nilable(String)) }
542
+ attr_accessor :legal_name
543
+
544
+ # Postal/ZIP code
545
+ sig { returns(T.nilable(String)) }
546
+ attr_accessor :postal_code
547
+
548
+ # State/province code
549
+ sig { returns(T.nilable(String)) }
550
+ attr_accessor :state
551
+
552
+ # Street address
553
+ sig { returns(T.nilable(String)) }
554
+ attr_accessor :street
555
+
556
+ # Tax ID/EIN number
557
+ sig { returns(T.nilable(String)) }
558
+ attr_accessor :tax_id
559
+
560
+ # Type of tax ID (e.g., us_ein, ca_bn)
561
+ sig { returns(T.nilable(String)) }
562
+ attr_accessor :tax_id_type
563
+
564
+ # Business website URL
565
+ sig { returns(T.nilable(String)) }
566
+ attr_accessor :url
567
+
568
+ # Business details and address information
569
+ sig do
570
+ params(
571
+ city: T.nilable(String),
572
+ country: T.nilable(String),
573
+ country_of_registration: T.nilable(String),
574
+ entity_type: T.nilable(String),
575
+ legal_name: T.nilable(String),
576
+ postal_code: T.nilable(String),
577
+ state: T.nilable(String),
578
+ street: T.nilable(String),
579
+ tax_id: T.nilable(String),
580
+ tax_id_type: T.nilable(String),
581
+ url: T.nilable(String)
582
+ ).returns(T.attached_class)
583
+ end
584
+ def self.new(
585
+ # City
586
+ city: nil,
587
+ # Country code (e.g., US, CA)
588
+ country: nil,
589
+ # Country where the business is registered
590
+ country_of_registration: nil,
591
+ # Business entity type
592
+ entity_type: nil,
593
+ # Legal business name
594
+ legal_name: nil,
595
+ # Postal/ZIP code
596
+ postal_code: nil,
597
+ # State/province code
598
+ state: nil,
599
+ # Street address
600
+ street: nil,
601
+ # Tax ID/EIN number
602
+ tax_id: nil,
603
+ # Type of tax ID (e.g., us_ein, ca_bn)
604
+ tax_id_type: nil,
605
+ # Business website URL
606
+ url: nil
607
+ )
608
+ end
609
+
610
+ sig do
611
+ override.returns(
612
+ {
613
+ city: T.nilable(String),
614
+ country: T.nilable(String),
615
+ country_of_registration: T.nilable(String),
616
+ entity_type: T.nilable(String),
617
+ legal_name: T.nilable(String),
618
+ postal_code: T.nilable(String),
619
+ state: T.nilable(String),
620
+ street: T.nilable(String),
621
+ tax_id: T.nilable(String),
622
+ tax_id_type: T.nilable(String),
623
+ url: T.nilable(String)
624
+ }
625
+ )
626
+ end
627
+ def to_hash
628
+ end
629
+ end
630
+
631
+ class Compliance < Sentdm::Internal::Type::BaseModel
632
+ OrHash =
633
+ T.type_alias do
634
+ T.any(
635
+ Sentdm::ProfileDetail::Brand::Compliance,
636
+ Sentdm::Internal::AnyHash
637
+ )
638
+ end
639
+
640
+ # Brand relationship level with TCR
641
+ sig { returns(T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol)) }
642
+ attr_accessor :brand_relationship
643
+
644
+ # List of destination countries for messaging
645
+ sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
646
+ attr_reader :destination_countries
647
+
648
+ sig do
649
+ params(
650
+ destination_countries:
651
+ T::Array[Sentdm::DestinationCountry::OrHash]
652
+ ).void
653
+ end
654
+ attr_writer :destination_countries
655
+
656
+ # Expected daily messaging volume
657
+ sig { returns(T.nilable(String)) }
658
+ attr_accessor :expected_messaging_volume
659
+
660
+ # Whether this is a TCR (Campaign Registry) application
661
+ sig { returns(T.nilable(T::Boolean)) }
662
+ attr_reader :is_tcr_application
663
+
664
+ sig { params(is_tcr_application: T::Boolean).void }
665
+ attr_writer :is_tcr_application
666
+
667
+ # Additional notes about the business or use case
668
+ sig { returns(T.nilable(String)) }
669
+ attr_accessor :notes
670
+
671
+ # Phone number prefix for messaging (e.g., "+1")
672
+ sig { returns(T.nilable(String)) }
673
+ attr_accessor :phone_number_prefix
674
+
675
+ # Primary messaging use case description
676
+ sig { returns(T.nilable(String)) }
677
+ attr_accessor :primary_use_case
678
+
679
+ # Business vertical/industry category
680
+ sig { returns(T.nilable(Sentdm::TcrVertical::TaggedSymbol)) }
681
+ attr_accessor :vertical
682
+
683
+ # Compliance and TCR-related information
684
+ sig do
685
+ params(
686
+ brand_relationship:
687
+ T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
688
+ destination_countries:
689
+ T::Array[Sentdm::DestinationCountry::OrHash],
690
+ expected_messaging_volume: T.nilable(String),
691
+ is_tcr_application: T::Boolean,
692
+ notes: T.nilable(String),
693
+ phone_number_prefix: T.nilable(String),
694
+ primary_use_case: T.nilable(String),
695
+ vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
696
+ ).returns(T.attached_class)
697
+ end
698
+ def self.new(
699
+ # Brand relationship level with TCR
700
+ brand_relationship: nil,
701
+ # List of destination countries for messaging
702
+ destination_countries: nil,
703
+ # Expected daily messaging volume
704
+ expected_messaging_volume: nil,
705
+ # Whether this is a TCR (Campaign Registry) application
706
+ is_tcr_application: nil,
707
+ # Additional notes about the business or use case
708
+ notes: nil,
709
+ # Phone number prefix for messaging (e.g., "+1")
710
+ phone_number_prefix: nil,
711
+ # Primary messaging use case description
712
+ primary_use_case: nil,
713
+ # Business vertical/industry category
714
+ vertical: nil
715
+ )
716
+ end
717
+
718
+ sig do
719
+ override.returns(
720
+ {
721
+ brand_relationship:
722
+ T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
723
+ destination_countries: T::Array[Sentdm::DestinationCountry],
724
+ expected_messaging_volume: T.nilable(String),
725
+ is_tcr_application: T::Boolean,
726
+ notes: T.nilable(String),
727
+ phone_number_prefix: T.nilable(String),
728
+ primary_use_case: T.nilable(String),
729
+ vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
730
+ }
731
+ )
732
+ end
733
+ def to_hash
734
+ end
735
+ end
736
+
737
+ class Contact < Sentdm::Internal::Type::BaseModel
738
+ OrHash =
739
+ T.type_alias do
740
+ T.any(
741
+ Sentdm::ProfileDetail::Brand::Contact,
742
+ Sentdm::Internal::AnyHash
743
+ )
744
+ end
745
+
746
+ # Business/brand name
747
+ sig { returns(T.nilable(String)) }
748
+ attr_accessor :business_name
749
+
750
+ # Contact email address
751
+ sig { returns(T.nilable(String)) }
752
+ attr_accessor :email
753
+
754
+ # Primary contact name
755
+ sig { returns(T.nilable(String)) }
756
+ attr_reader :name
757
+
758
+ sig { params(name: String).void }
759
+ attr_writer :name
760
+
761
+ # Contact phone number in E.164 format
762
+ sig { returns(T.nilable(String)) }
763
+ attr_accessor :phone
764
+
765
+ # Contact phone country code (e.g., "1" for US)
766
+ sig { returns(T.nilable(String)) }
767
+ attr_accessor :phone_country_code
768
+
769
+ # Contact's role in the business
770
+ sig { returns(T.nilable(String)) }
771
+ attr_accessor :role
772
+
773
+ # Contact information for the brand
774
+ sig do
775
+ params(
776
+ business_name: T.nilable(String),
777
+ email: T.nilable(String),
778
+ name: String,
779
+ phone: T.nilable(String),
780
+ phone_country_code: T.nilable(String),
781
+ role: T.nilable(String)
782
+ ).returns(T.attached_class)
783
+ end
784
+ def self.new(
785
+ # Business/brand name
786
+ business_name: nil,
787
+ # Contact email address
788
+ email: nil,
789
+ # Primary contact name
790
+ name: nil,
791
+ # Contact phone number in E.164 format
792
+ phone: nil,
793
+ # Contact phone country code (e.g., "1" for US)
794
+ phone_country_code: nil,
795
+ # Contact's role in the business
796
+ role: nil
797
+ )
798
+ end
799
+
800
+ sig do
801
+ override.returns(
802
+ {
803
+ business_name: T.nilable(String),
804
+ email: T.nilable(String),
805
+ name: String,
806
+ phone: T.nilable(String),
807
+ phone_country_code: T.nilable(String),
808
+ role: T.nilable(String)
809
+ }
810
+ )
811
+ end
812
+ def to_hash
813
+ end
814
+ end
815
+
816
+ # TCR brand identity verification status
817
+ module IdentityStatus
818
+ extend Sentdm::Internal::Type::Enum
819
+
820
+ TaggedSymbol =
821
+ T.type_alias do
822
+ T.all(Symbol, Sentdm::ProfileDetail::Brand::IdentityStatus)
823
+ end
824
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
825
+
826
+ SELF_DECLARED =
827
+ T.let(
828
+ :SELF_DECLARED,
829
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
830
+ )
831
+ UNVERIFIED =
832
+ T.let(
833
+ :UNVERIFIED,
834
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
835
+ )
836
+ VERIFIED =
837
+ T.let(
838
+ :VERIFIED,
839
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
840
+ )
841
+ VETTED_VERIFIED =
842
+ T.let(
843
+ :VETTED_VERIFIED,
844
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
845
+ )
846
+
847
+ sig do
848
+ override.returns(
849
+ T::Array[
850
+ Sentdm::ProfileDetail::Brand::IdentityStatus::TaggedSymbol
851
+ ]
852
+ )
853
+ end
854
+ def self.values
855
+ end
856
+ end
857
+
858
+ # TCR brand status
859
+ module Status
860
+ extend Sentdm::Internal::Type::Enum
861
+
862
+ TaggedSymbol =
863
+ T.type_alias { T.all(Symbol, Sentdm::ProfileDetail::Brand::Status) }
864
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
865
+
866
+ ACTIVE =
867
+ T.let(:ACTIVE, Sentdm::ProfileDetail::Brand::Status::TaggedSymbol)
868
+ INACTIVE =
869
+ T.let(:INACTIVE, Sentdm::ProfileDetail::Brand::Status::TaggedSymbol)
870
+ SUSPENDED =
871
+ T.let(
872
+ :SUSPENDED,
873
+ Sentdm::ProfileDetail::Brand::Status::TaggedSymbol
874
+ )
875
+
876
+ sig do
877
+ override.returns(
878
+ T::Array[Sentdm::ProfileDetail::Brand::Status::TaggedSymbol]
879
+ )
880
+ end
881
+ def self.values
882
+ end
883
+ end
270
884
  end
271
885
  end
272
886
  end