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
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ProfileSettings < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute allow_contact_sharing
7
+ # Whether contacts are shared across profiles in the organization
8
+ #
9
+ # @return [Boolean, nil]
10
+ optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
11
+
12
+ # @!attribute allow_template_sharing
13
+ # Whether templates are shared across profiles in the organization
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
17
+
18
+ # @!attribute billing_model
19
+ # Billing model: profile, organization, or profile_and_organization
20
+ #
21
+ # @return [String, nil]
22
+ optional :billing_model, String, nil?: true
23
+
24
+ # @!attribute inherit_contacts
25
+ # Whether this profile inherits contacts from the organization
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
29
+
30
+ # @!attribute inherit_tcr_brand
31
+ # Whether this profile inherits TCR brand from the organization
32
+ #
33
+ # @return [Boolean, nil]
34
+ optional :inherit_tcr_brand, Sentdm::Internal::Type::Boolean, nil?: true
35
+
36
+ # @!attribute inherit_tcr_campaign
37
+ # Whether this profile inherits TCR campaign from the organization
38
+ #
39
+ # @return [Boolean, nil]
40
+ optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean, nil?: true
41
+
42
+ # @!attribute inherit_templates
43
+ # Whether this profile inherits templates from the organization
44
+ #
45
+ # @return [Boolean, nil]
46
+ optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
47
+
48
+ # @!method initialize(allow_contact_sharing: nil, allow_template_sharing: nil, billing_model: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil)
49
+ # Profile configuration settings
50
+ #
51
+ # @param allow_contact_sharing [Boolean, nil] Whether contacts are shared across profiles in the organization
52
+ #
53
+ # @param allow_template_sharing [Boolean, nil] Whether templates are shared across profiles in the organization
54
+ #
55
+ # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization
56
+ #
57
+ # @param inherit_contacts [Boolean, nil] Whether this profile inherits contacts from the organization
58
+ #
59
+ # @param inherit_tcr_brand [Boolean, nil] Whether this profile inherits TCR brand from the organization
60
+ #
61
+ # @param inherit_tcr_campaign [Boolean, nil] Whether this profile inherits TCR campaign from the organization
62
+ #
63
+ # @param inherit_templates [Boolean, nil] Whether this profile inherits templates from the organization
64
+ end
65
+ end
66
+ end
@@ -34,8 +34,8 @@ module Sentdm
34
34
  # Billing contact information for a profile. Required when billing_model is
35
35
  # "profile" or "profile_and_organization".
36
36
  #
37
- # @return [Sentdm::Models::ProfileUpdateParams::BillingContact, nil]
38
- optional :billing_contact, -> { Sentdm::ProfileUpdateParams::BillingContact }, nil?: true
37
+ # @return [Sentdm::Models::BillingContactInfo, nil]
38
+ optional :billing_contact, -> { Sentdm::BillingContactInfo }, nil?: true
39
39
 
40
40
  # @!attribute billing_model
41
41
  # Billing model: profile, organization, or profile_and_organization (optional).
@@ -52,8 +52,8 @@ module Sentdm
52
52
  # @!attribute brand
53
53
  # Brand and KYC data grouped into contact, business, and compliance sections
54
54
  #
55
- # @return [Sentdm::Models::ProfileUpdateParams::Brand, nil]
56
- optional :brand, -> { Sentdm::ProfileUpdateParams::Brand }, nil?: true
55
+ # @return [Sentdm::Models::BrandsBrandData, nil]
56
+ optional :brand, -> { Sentdm::BrandsBrandData }, nil?: true
57
57
 
58
58
  # @!attribute description
59
59
  # Profile description (optional)
@@ -102,8 +102,8 @@ module Sentdm
102
102
  # "profile_and_organization". These details are not stored on our servers and will
103
103
  # be forwarded to the payment processor.
104
104
  #
105
- # @return [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil]
106
- optional :payment_details, -> { Sentdm::ProfileUpdateParams::PaymentDetails }, nil?: true
105
+ # @return [Sentdm::Models::PaymentDetails, nil]
106
+ optional :payment_details, -> { Sentdm::PaymentDetails }, nil?: true
107
107
 
108
108
  # @!attribute sandbox
109
109
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -166,11 +166,11 @@ module Sentdm
166
166
  #
167
167
  # @param allow_template_sharing [Boolean, nil] Whether templates are shared across profiles (optional)
168
168
  #
169
- # @param billing_contact [Sentdm::Models::ProfileUpdateParams::BillingContact, nil] Billing contact information for a profile.
169
+ # @param billing_contact [Sentdm::Models::BillingContactInfo, nil] Billing contact information for a profile.
170
170
  #
171
171
  # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization (optional).
172
172
  #
173
- # @param brand [Sentdm::Models::ProfileUpdateParams::Brand, nil] Brand and KYC data grouped into contact, business, and compliance sections
173
+ # @param brand [Sentdm::Models::BrandsBrandData, nil] Brand and KYC data grouped into contact, business, and compliance sections
174
174
  #
175
175
  # @param description [String, nil] Profile description (optional)
176
176
  #
@@ -186,7 +186,7 @@ module Sentdm
186
186
  #
187
187
  # @param name [String, nil] Profile name (optional)
188
188
  #
189
- # @param payment_details [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil] Payment card details for a profile.
189
+ # @param payment_details [Sentdm::Models::PaymentDetails, nil] Payment card details for a profile.
190
190
  #
191
191
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
192
192
  #
@@ -205,420 +205,6 @@ module Sentdm
205
205
  # @param x_profile_id [String]
206
206
  #
207
207
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
208
-
209
- class BillingContact < Sentdm::Internal::Type::BaseModel
210
- # @!attribute email
211
- # Email address where invoices will be sent (required)
212
- #
213
- # @return [String]
214
- required :email, String
215
-
216
- # @!attribute name
217
- # Full name of the billing contact or company (required)
218
- #
219
- # @return [String]
220
- required :name, String
221
-
222
- # @!attribute address
223
- # Billing address (optional). Free-form text including street, city, state, postal
224
- # code, and country.
225
- #
226
- # @return [String, nil]
227
- optional :address, String, nil?: true
228
-
229
- # @!attribute phone
230
- # Phone number for the billing contact (optional)
231
- #
232
- # @return [String, nil]
233
- optional :phone, String, nil?: true
234
-
235
- # @!method initialize(email:, name:, address: nil, phone: nil)
236
- # Some parameter documentations has been truncated, see
237
- # {Sentdm::Models::ProfileUpdateParams::BillingContact} for more details.
238
- #
239
- # Billing contact information for a profile. Required when billing_model is
240
- # "profile" or "profile_and_organization".
241
- #
242
- # @param email [String] Email address where invoices will be sent (required)
243
- #
244
- # @param name [String] Full name of the billing contact or company (required)
245
- #
246
- # @param address [String, nil] Billing address (optional). Free-form text including street, city, state, postal
247
- #
248
- # @param phone [String, nil] Phone number for the billing contact (optional)
249
- end
250
-
251
- class Brand < Sentdm::Internal::Type::BaseModel
252
- # @!attribute compliance
253
- # Compliance and TCR information for brand registration
254
- #
255
- # @return [Sentdm::Models::ProfileUpdateParams::Brand::Compliance]
256
- required :compliance, -> { Sentdm::ProfileUpdateParams::Brand::Compliance }
257
-
258
- # @!attribute contact
259
- # Contact information for brand KYC
260
- #
261
- # @return [Sentdm::Models::ProfileUpdateParams::Brand::Contact]
262
- required :contact, -> { Sentdm::ProfileUpdateParams::Brand::Contact }
263
-
264
- # @!attribute business
265
- # Business details and address for brand KYC
266
- #
267
- # @return [Sentdm::Models::ProfileUpdateParams::Brand::Business, nil]
268
- optional :business, -> { Sentdm::ProfileUpdateParams::Brand::Business }, nil?: true
269
-
270
- # @!method initialize(compliance:, contact:, business: nil)
271
- # Brand and KYC data grouped into contact, business, and compliance sections
272
- #
273
- # @param compliance [Sentdm::Models::ProfileUpdateParams::Brand::Compliance] Compliance and TCR information for brand registration
274
- #
275
- # @param contact [Sentdm::Models::ProfileUpdateParams::Brand::Contact] Contact information for brand KYC
276
- #
277
- # @param business [Sentdm::Models::ProfileUpdateParams::Brand::Business, nil] Business details and address for brand KYC
278
-
279
- # @see Sentdm::Models::ProfileUpdateParams::Brand#compliance
280
- class Compliance < Sentdm::Internal::Type::BaseModel
281
- # @!attribute brand_relationship
282
- #
283
- # @return [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Compliance::BrandRelationship]
284
- required :brand_relationship,
285
- enum: -> { Sentdm::ProfileUpdateParams::Brand::Compliance::BrandRelationship },
286
- api_name: :brandRelationship
287
-
288
- # @!attribute vertical
289
- #
290
- # @return [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Compliance::Vertical]
291
- required :vertical, enum: -> { Sentdm::ProfileUpdateParams::Brand::Compliance::Vertical }
292
-
293
- # @!attribute destination_countries
294
- # List of destination countries for messaging
295
- #
296
- # @return [Array<Sentdm::Models::ProfileUpdateParams::Brand::Compliance::DestinationCountry>, nil]
297
- optional :destination_countries,
298
- -> {
299
- Sentdm::Internal::Type::ArrayOf[Sentdm::ProfileUpdateParams::Brand::Compliance::DestinationCountry]
300
- },
301
- api_name: :destinationCountries,
302
- nil?: true
303
-
304
- # @!attribute expected_messaging_volume
305
- # Expected daily messaging volume
306
- #
307
- # @return [String, nil]
308
- optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
309
-
310
- # @!attribute is_tcr_application
311
- # Whether this is a TCR (Campaign Registry) application
312
- #
313
- # @return [Boolean, nil]
314
- optional :is_tcr_application,
315
- Sentdm::Internal::Type::Boolean,
316
- api_name: :isTcrApplication,
317
- nil?: true
318
-
319
- # @!attribute notes
320
- # Additional notes about the business or use case
321
- #
322
- # @return [String, nil]
323
- optional :notes, String, nil?: true
324
-
325
- # @!attribute phone_number_prefix
326
- # Phone number prefix for messaging (e.g., "+1")
327
- #
328
- # @return [String, nil]
329
- optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
330
-
331
- # @!attribute primary_use_case
332
- # Primary messaging use case description
333
- #
334
- # @return [String, nil]
335
- optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
336
-
337
- # @!method initialize(brand_relationship:, vertical:, destination_countries: nil, expected_messaging_volume: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil)
338
- # Compliance and TCR information for brand registration
339
- #
340
- # @param brand_relationship [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Compliance::BrandRelationship]
341
- #
342
- # @param vertical [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Compliance::Vertical]
343
- #
344
- # @param destination_countries [Array<Sentdm::Models::ProfileUpdateParams::Brand::Compliance::DestinationCountry>, nil] List of destination countries for messaging
345
- #
346
- # @param expected_messaging_volume [String, nil] Expected daily messaging volume
347
- #
348
- # @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
349
- #
350
- # @param notes [String, nil] Additional notes about the business or use case
351
- #
352
- # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
353
- #
354
- # @param primary_use_case [String, nil] Primary messaging use case description
355
-
356
- # @see Sentdm::Models::ProfileUpdateParams::Brand::Compliance#brand_relationship
357
- module BrandRelationship
358
- extend Sentdm::Internal::Type::Enum
359
-
360
- BASIC_ACCOUNT = :BASIC_ACCOUNT
361
- MEDIUM_ACCOUNT = :MEDIUM_ACCOUNT
362
- LARGE_ACCOUNT = :LARGE_ACCOUNT
363
- SMALL_ACCOUNT = :SMALL_ACCOUNT
364
- KEY_ACCOUNT = :KEY_ACCOUNT
365
-
366
- # @!method self.values
367
- # @return [Array<Symbol>]
368
- end
369
-
370
- # @see Sentdm::Models::ProfileUpdateParams::Brand::Compliance#vertical
371
- module Vertical
372
- extend Sentdm::Internal::Type::Enum
373
-
374
- PROFESSIONAL = :PROFESSIONAL
375
- REAL_ESTATE = :REAL_ESTATE
376
- HEALTHCARE = :HEALTHCARE
377
- HUMAN_RESOURCES = :HUMAN_RESOURCES
378
- ENERGY = :ENERGY
379
- ENTERTAINMENT = :ENTERTAINMENT
380
- RETAIL = :RETAIL
381
- TRANSPORTATION = :TRANSPORTATION
382
- AGRICULTURE = :AGRICULTURE
383
- INSURANCE = :INSURANCE
384
- POSTAL = :POSTAL
385
- EDUCATION = :EDUCATION
386
- HOSPITALITY = :HOSPITALITY
387
- FINANCIAL = :FINANCIAL
388
- POLITICAL = :POLITICAL
389
- GAMBLING = :GAMBLING
390
- LEGAL = :LEGAL
391
- CONSTRUCTION = :CONSTRUCTION
392
- NGO = :NGO
393
- MANUFACTURING = :MANUFACTURING
394
- GOVERNMENT = :GOVERNMENT
395
- TECHNOLOGY = :TECHNOLOGY
396
- COMMUNICATION = :COMMUNICATION
397
-
398
- # @!method self.values
399
- # @return [Array<Symbol>]
400
- end
401
-
402
- class DestinationCountry < Sentdm::Internal::Type::BaseModel
403
- # @!attribute id
404
- #
405
- # @return [String, nil]
406
- optional :id, String
407
-
408
- # @!attribute is_main
409
- #
410
- # @return [Boolean, nil]
411
- optional :is_main, Sentdm::Internal::Type::Boolean, api_name: :isMain
412
-
413
- # @!method initialize(id: nil, is_main: nil)
414
- # @param id [String]
415
- # @param is_main [Boolean]
416
- end
417
- end
418
-
419
- # @see Sentdm::Models::ProfileUpdateParams::Brand#contact
420
- class Contact < Sentdm::Internal::Type::BaseModel
421
- # @!attribute name
422
- # Primary contact name (required)
423
- #
424
- # @return [String]
425
- required :name, String
426
-
427
- # @!attribute business_name
428
- # Business/brand name
429
- #
430
- # @return [String, nil]
431
- optional :business_name, String, api_name: :businessName, nil?: true
432
-
433
- # @!attribute email
434
- # Contact email address
435
- #
436
- # @return [String, nil]
437
- optional :email, String, nil?: true
438
-
439
- # @!attribute phone
440
- # Contact phone number in E.164 format
441
- #
442
- # @return [String, nil]
443
- optional :phone, String, nil?: true
444
-
445
- # @!attribute phone_country_code
446
- # Contact phone country code (e.g., "1" for US)
447
- #
448
- # @return [String, nil]
449
- optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
450
-
451
- # @!attribute role
452
- # Contact's role in the business
453
- #
454
- # @return [String, nil]
455
- optional :role, String, nil?: true
456
-
457
- # @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
458
- # Contact information for brand KYC
459
- #
460
- # @param name [String] Primary contact name (required)
461
- #
462
- # @param business_name [String, nil] Business/brand name
463
- #
464
- # @param email [String, nil] Contact email address
465
- #
466
- # @param phone [String, nil] Contact phone number in E.164 format
467
- #
468
- # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
469
- #
470
- # @param role [String, nil] Contact's role in the business
471
- end
472
-
473
- # @see Sentdm::Models::ProfileUpdateParams::Brand#business
474
- class Business < Sentdm::Internal::Type::BaseModel
475
- # @!attribute city
476
- # City
477
- #
478
- # @return [String, nil]
479
- optional :city, String, nil?: true
480
-
481
- # @!attribute country
482
- # Country code (e.g., US, CA)
483
- #
484
- # @return [String, nil]
485
- optional :country, String, nil?: true
486
-
487
- # @!attribute country_of_registration
488
- # Country where the business is registered
489
- #
490
- # @return [String, nil]
491
- optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
492
-
493
- # @!attribute entity_type
494
- #
495
- # @return [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Business::EntityType, nil]
496
- optional :entity_type,
497
- enum: -> { Sentdm::ProfileUpdateParams::Brand::Business::EntityType },
498
- api_name: :entityType,
499
- nil?: true
500
-
501
- # @!attribute legal_name
502
- # Legal business name
503
- #
504
- # @return [String, nil]
505
- optional :legal_name, String, api_name: :legalName, nil?: true
506
-
507
- # @!attribute postal_code
508
- # Postal/ZIP code
509
- #
510
- # @return [String, nil]
511
- optional :postal_code, String, api_name: :postalCode, nil?: true
512
-
513
- # @!attribute state
514
- # State/province code
515
- #
516
- # @return [String, nil]
517
- optional :state, String, nil?: true
518
-
519
- # @!attribute street
520
- # Street address
521
- #
522
- # @return [String, nil]
523
- optional :street, String, nil?: true
524
-
525
- # @!attribute tax_id
526
- # Tax ID/EIN number
527
- #
528
- # @return [String, nil]
529
- optional :tax_id, String, api_name: :taxId, nil?: true
530
-
531
- # @!attribute tax_id_type
532
- # Type of tax ID (e.g., us_ein, ca_bn)
533
- #
534
- # @return [String, nil]
535
- optional :tax_id_type, String, api_name: :taxIdType, nil?: true
536
-
537
- # @!attribute url
538
- # Business website URL
539
- #
540
- # @return [String, nil]
541
- optional :url, String, nil?: true
542
-
543
- # @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
544
- # Business details and address for brand KYC
545
- #
546
- # @param city [String, nil] City
547
- #
548
- # @param country [String, nil] Country code (e.g., US, CA)
549
- #
550
- # @param country_of_registration [String, nil] Country where the business is registered
551
- #
552
- # @param entity_type [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Business::EntityType, nil]
553
- #
554
- # @param legal_name [String, nil] Legal business name
555
- #
556
- # @param postal_code [String, nil] Postal/ZIP code
557
- #
558
- # @param state [String, nil] State/province code
559
- #
560
- # @param street [String, nil] Street address
561
- #
562
- # @param tax_id [String, nil] Tax ID/EIN number
563
- #
564
- # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
565
- #
566
- # @param url [String, nil] Business website URL
567
-
568
- # @see Sentdm::Models::ProfileUpdateParams::Brand::Business#entity_type
569
- module EntityType
570
- extend Sentdm::Internal::Type::Enum
571
-
572
- PRIVATE_PROFIT = :PRIVATE_PROFIT
573
- PUBLIC_PROFIT = :PUBLIC_PROFIT
574
- NON_PROFIT = :NON_PROFIT
575
- SOLE_PROPRIETOR = :SOLE_PROPRIETOR
576
- GOVERNMENT = :GOVERNMENT
577
-
578
- # @!method self.values
579
- # @return [Array<Symbol>]
580
- end
581
- end
582
- end
583
-
584
- class PaymentDetails < Sentdm::Internal::Type::BaseModel
585
- # @!attribute card_number
586
- # Card number (digits only, 13–19 characters)
587
- #
588
- # @return [String]
589
- required :card_number, String
590
-
591
- # @!attribute cvc
592
- # Card security code (3–4 digits)
593
- #
594
- # @return [String]
595
- required :cvc, String
596
-
597
- # @!attribute expiry
598
- # Card expiry date in MM/YY format (e.g. "09/27")
599
- #
600
- # @return [String]
601
- required :expiry, String
602
-
603
- # @!attribute zip_code
604
- # Billing ZIP / postal code associated with the card
605
- #
606
- # @return [String]
607
- required :zip_code, String
608
-
609
- # @!method initialize(card_number:, cvc:, expiry:, zip_code:)
610
- # Payment card details for a profile. Accepted when billing_model is "profile" or
611
- # "profile_and_organization". These details are not stored on our servers and will
612
- # be forwarded to the payment processor.
613
- #
614
- # @param card_number [String] Card number (digits only, 13–19 characters)
615
- #
616
- # @param cvc [String] Card security code (3–4 digits)
617
- #
618
- # @param expiry [String] Card expiry date in MM/YY format (e.g. "09/27")
619
- #
620
- # @param zip_code [String] Billing ZIP / postal code associated with the card
621
- end
622
208
  end
623
209
  end
624
210
  end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ # @see Sentdm::Resources::Profiles::Campaigns#create
7
+ class APIResponseOfTcrCampaignWithUseCases < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ # The response data (null if error)
10
+ #
11
+ # @return [Sentdm::Models::Profiles::TcrCampaignWithUseCases, nil]
12
+ optional :data, -> { Sentdm::Profiles::TcrCampaignWithUseCases }, nil?: true
13
+
14
+ # @!attribute error
15
+ # Error information
16
+ #
17
+ # @return [Sentdm::Models::ErrorDetail, nil]
18
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
19
+
20
+ # @!attribute meta
21
+ # Request and response metadata
22
+ #
23
+ # @return [Sentdm::Models::APIMeta, nil]
24
+ optional :meta, -> { Sentdm::APIMeta }
25
+
26
+ # @!attribute success
27
+ # Indicates whether the request was successful
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :success, Sentdm::Internal::Type::Boolean
31
+
32
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
33
+ # Standard API response envelope for all v3 endpoints
34
+ #
35
+ # @param data [Sentdm::Models::Profiles::TcrCampaignWithUseCases, nil] The response data (null if error)
36
+ #
37
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
38
+ #
39
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
40
+ #
41
+ # @param success [Boolean] Indicates whether the request was successful
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class BaseDto < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # Unique identifier
9
+ #
10
+ # @return [String, nil]
11
+ optional :id, String
12
+
13
+ # @!attribute created_at
14
+ #
15
+ # @return [Time, nil]
16
+ optional :created_at, Time, api_name: :createdAt
17
+
18
+ # @!attribute updated_at
19
+ #
20
+ # @return [Time, nil]
21
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
22
+
23
+ # @!method initialize(id: nil, created_at: nil, updated_at: nil)
24
+ # @param id [String] Unique identifier
25
+ #
26
+ # @param created_at [Time]
27
+ #
28
+ # @param updated_at [Time, nil]
29
+ end
30
+ end
31
+ end
32
+ end