sentdm 0.29.0 → 0.31.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +55 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/type/base_model.rb +5 -5
  8. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  9. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  10. data/lib/sentdm/models/api_meta.rb +34 -0
  11. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  12. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -0
  14. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  16. data/lib/sentdm/models/api_response_template.rb +43 -0
  17. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  18. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  19. data/lib/sentdm/models/brand_business_info.rb +114 -0
  20. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  21. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  22. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  23. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  24. data/lib/sentdm/models/contact_list_params.rb +13 -13
  25. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  26. data/lib/sentdm/models/contact_response.rb +140 -0
  27. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  28. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  29. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  30. data/lib/sentdm/models/error_detail.rb +42 -0
  31. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  32. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  33. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  34. data/lib/sentdm/models/message_send_response.rb +6 -74
  35. data/lib/sentdm/models/mutation_request.rb +20 -0
  36. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  37. data/lib/sentdm/models/pagination_meta.rb +84 -0
  38. data/lib/sentdm/models/payment_details.rb +40 -0
  39. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  40. data/lib/sentdm/models/profile_create_params.rb +9 -345
  41. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  42. data/lib/sentdm/models/profile_detail.rb +650 -0
  43. data/lib/sentdm/models/profile_list_response.rb +12 -815
  44. data/lib/sentdm/models/profile_settings.rb +85 -0
  45. data/lib/sentdm/models/profile_update_params.rb +9 -345
  46. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  47. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  48. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  49. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  50. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  51. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  52. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  53. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  54. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  55. data/lib/sentdm/models/template.rb +103 -0
  56. data/lib/sentdm/models/template_list_params.rb +17 -17
  57. data/lib/sentdm/models/user_list_response.rb +12 -249
  58. data/lib/sentdm/models/user_remove_params.rb +2 -16
  59. data/lib/sentdm/models/user_response.rb +94 -0
  60. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  61. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  62. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  63. data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
  64. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  65. data/lib/sentdm/models/webhook_response.rb +121 -0
  66. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  67. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  68. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  69. data/lib/sentdm/models.rb +52 -0
  70. data/lib/sentdm/resources/contacts.rb +16 -15
  71. data/lib/sentdm/resources/conversations.rb +10 -8
  72. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  73. data/lib/sentdm/resources/profiles.rb +12 -12
  74. data/lib/sentdm/resources/templates.rb +16 -15
  75. data/lib/sentdm/resources/users.rb +6 -6
  76. data/lib/sentdm/resources/webhooks.rb +20 -18
  77. data/lib/sentdm/version.rb +1 -1
  78. data/lib/sentdm.rb +37 -25
  79. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  80. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  81. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  82. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  83. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  84. data/rbi/sentdm/models/api_meta.rbi +55 -0
  85. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  87. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  88. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  89. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  90. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  91. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  92. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  93. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  94. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  95. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  96. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  97. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  98. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  99. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  100. data/rbi/sentdm/models/contact_response.rbi +200 -0
  101. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  102. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  103. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  104. data/rbi/sentdm/models/error_detail.rbi +66 -0
  105. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  106. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  107. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  108. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  109. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  110. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  111. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  112. data/rbi/sentdm/models/payment_details.rbi +56 -0
  113. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  114. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  115. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  116. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  117. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  118. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  119. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  120. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  121. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  122. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  123. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  124. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  125. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  126. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  127. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  128. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  129. data/rbi/sentdm/models/template.rbi +139 -0
  130. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  131. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  132. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  133. data/rbi/sentdm/models/user_response.rbi +131 -0
  134. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  135. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  137. data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
  138. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  139. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  140. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  141. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  142. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  143. data/rbi/sentdm/models.rbi +54 -0
  144. data/rbi/sentdm/resources/contacts.rbi +10 -10
  145. data/rbi/sentdm/resources/conversations.rbi +14 -6
  146. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  147. data/rbi/sentdm/resources/profiles.rbi +9 -13
  148. data/rbi/sentdm/resources/templates.rbi +10 -10
  149. data/rbi/sentdm/resources/users.rbi +3 -3
  150. data/rbi/sentdm/resources/webhooks.rbi +16 -12
  151. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  152. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  153. data/sig/sentdm/internal/templates_page.rbs +44 -0
  154. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  155. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  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_contact_message_summary.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  160. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  161. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  162. data/sig/sentdm/models/api_response_template.rbs +39 -0
  163. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  164. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  165. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  166. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  167. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  168. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  169. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  170. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  171. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  172. data/sig/sentdm/models/contact_response.rbs +118 -0
  173. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  174. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  175. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  176. data/sig/sentdm/models/error_detail.rbs +39 -0
  177. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  178. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  179. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  180. data/sig/sentdm/models/message_send_response.rbs +9 -71
  181. data/sig/sentdm/models/mutation_request.rbs +15 -0
  182. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  183. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  184. data/sig/sentdm/models/payment_details.rbs +30 -0
  185. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  186. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  187. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  188. data/sig/sentdm/models/profile_detail.rbs +461 -0
  189. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  190. data/sig/sentdm/models/profile_settings.rbs +50 -0
  191. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  192. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  193. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  194. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  195. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  196. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  197. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  198. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  199. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  200. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  201. data/sig/sentdm/models/template.rbs +84 -0
  202. data/sig/sentdm/models/template_list_params.rbs +14 -10
  203. data/sig/sentdm/models/user_list_response.rbs +20 -224
  204. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  205. data/sig/sentdm/models/user_response.rbs +79 -0
  206. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  207. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  208. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  209. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
  210. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  211. data/sig/sentdm/models/webhook_response.rbs +110 -0
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  213. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  214. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  215. data/sig/sentdm/models.rbs +52 -0
  216. data/sig/sentdm/resources/contacts.rbs +7 -7
  217. data/sig/sentdm/resources/conversations.rbs +6 -6
  218. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  219. data/sig/sentdm/resources/profiles.rbs +9 -9
  220. data/sig/sentdm/resources/templates.rbs +6 -6
  221. data/sig/sentdm/resources/users.rbs +3 -3
  222. data/sig/sentdm/resources/webhooks.rbs +10 -10
  223. metadata +113 -77
  224. data/lib/sentdm/models/contact_create_response.rb +0 -249
  225. data/lib/sentdm/models/contact_list_response.rb +0 -348
  226. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  227. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  228. data/lib/sentdm/models/contact_update_response.rb +0 -249
  229. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  230. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  231. data/lib/sentdm/models/profile_create_response.rb +0 -760
  232. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  233. data/lib/sentdm/models/profile_update_response.rb +0 -760
  234. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  235. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  236. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  237. data/lib/sentdm/models/template_create_response.rb +0 -209
  238. data/lib/sentdm/models/template_list_response.rb +0 -311
  239. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  240. data/lib/sentdm/models/template_update_response.rb +0 -209
  241. data/lib/sentdm/models/user_invite_response.rb +0 -201
  242. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  243. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  244. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  245. data/lib/sentdm/models/webhook_list_response.rb +0 -329
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  250. data/rbi/sentdm/models/contact_list_response.rbi +0 -634
  251. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  252. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  253. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  254. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  255. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  256. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  257. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  258. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  259. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  260. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  261. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  262. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  263. data/rbi/sentdm/models/template_list_response.rbi +0 -576
  264. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  265. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  266. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  267. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  268. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  269. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  270. data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
  271. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  272. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  273. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  274. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  275. data/sig/sentdm/models/contact_list_response.rbs +0 -310
  276. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  277. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  278. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  279. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  280. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  281. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  282. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  283. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  284. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  285. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  286. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  287. data/sig/sentdm/models/template_create_response.rbs +0 -182
  288. data/sig/sentdm/models/template_list_response.rbs +0 -276
  289. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  290. data/sig/sentdm/models/template_update_response.rbs +0 -182
  291. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  292. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  293. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  294. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  295. data/sig/sentdm/models/webhook_list_response.rbs +0 -302
  296. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  297. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  298. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -34,13 +34,12 @@ module Sentdm
34
34
 
35
35
  # Billing contact information for a profile. Required when billing_model is
36
36
  # "profile" or "profile_and_organization".
37
- sig { returns(T.nilable(Sentdm::ProfileCreateParams::BillingContact)) }
37
+ sig { returns(T.nilable(Sentdm::BillingContactInfo)) }
38
38
  attr_reader :billing_contact
39
39
 
40
40
  sig do
41
41
  params(
42
- billing_contact:
43
- T.nilable(Sentdm::ProfileCreateParams::BillingContact::OrHash)
42
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash)
44
43
  ).void
45
44
  end
46
45
  attr_writer :billing_contact
@@ -57,14 +56,10 @@ module Sentdm
57
56
  attr_accessor :billing_model
58
57
 
59
58
  # Brand and KYC data grouped into contact, business, and compliance sections
60
- sig { returns(T.nilable(Sentdm::ProfileCreateParams::Brand)) }
59
+ sig { returns(T.nilable(Sentdm::BrandsBrandData)) }
61
60
  attr_reader :brand
62
61
 
63
- sig do
64
- params(
65
- brand: T.nilable(Sentdm::ProfileCreateParams::Brand::OrHash)
66
- ).void
67
- end
62
+ sig { params(brand: T.nilable(Sentdm::BrandsBrandData::OrHash)).void }
68
63
  attr_writer :brand
69
64
 
70
65
  # Profile description (optional)
@@ -99,14 +94,11 @@ module Sentdm
99
94
  # Payment card details for this profile (optional). Accepted when billing_model is
100
95
  # "profile" or "profile_and_organization". Not persisted on our servers —
101
96
  # forwarded to the payment processor.
102
- sig { returns(T.nilable(Sentdm::ProfileCreateParams::PaymentDetails)) }
97
+ sig { returns(T.nilable(Sentdm::PaymentDetails)) }
103
98
  attr_reader :payment_details
104
99
 
105
100
  sig do
106
- params(
107
- payment_details:
108
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails::OrHash)
109
- ).void
101
+ params(payment_details: T.nilable(Sentdm::PaymentDetails::OrHash)).void
110
102
  end
111
103
  attr_writer :payment_details
112
104
 
@@ -160,10 +152,9 @@ module Sentdm
160
152
  params(
161
153
  allow_contact_sharing: T.nilable(T::Boolean),
162
154
  allow_template_sharing: T.nilable(T::Boolean),
163
- billing_contact:
164
- T.nilable(Sentdm::ProfileCreateParams::BillingContact::OrHash),
155
+ billing_contact: T.nilable(Sentdm::BillingContactInfo::OrHash),
165
156
  billing_model: T.nilable(String),
166
- brand: T.nilable(Sentdm::ProfileCreateParams::Brand::OrHash),
157
+ brand: T.nilable(Sentdm::BrandsBrandData::OrHash),
167
158
  description: T.nilable(String),
168
159
  icon: T.nilable(String),
169
160
  inherit_contacts: T.nilable(T::Boolean),
@@ -171,8 +162,7 @@ module Sentdm
171
162
  inherit_tcr_campaign: T.nilable(T::Boolean),
172
163
  inherit_templates: T.nilable(T::Boolean),
173
164
  name: String,
174
- payment_details:
175
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails::OrHash),
165
+ payment_details: T.nilable(Sentdm::PaymentDetails::OrHash),
176
166
  sandbox: T::Boolean,
177
167
  short_name: T.nilable(String),
178
168
  whatsapp_business_account:
@@ -256,10 +246,9 @@ module Sentdm
256
246
  {
257
247
  allow_contact_sharing: T.nilable(T::Boolean),
258
248
  allow_template_sharing: T.nilable(T::Boolean),
259
- billing_contact:
260
- T.nilable(Sentdm::ProfileCreateParams::BillingContact),
249
+ billing_contact: T.nilable(Sentdm::BillingContactInfo),
261
250
  billing_model: T.nilable(String),
262
- brand: T.nilable(Sentdm::ProfileCreateParams::Brand),
251
+ brand: T.nilable(Sentdm::BrandsBrandData),
263
252
  description: T.nilable(String),
264
253
  icon: T.nilable(String),
265
254
  inherit_contacts: T.nilable(T::Boolean),
@@ -267,8 +256,7 @@ module Sentdm
267
256
  inherit_tcr_campaign: T.nilable(T::Boolean),
268
257
  inherit_templates: T.nilable(T::Boolean),
269
258
  name: String,
270
- payment_details:
271
- T.nilable(Sentdm::ProfileCreateParams::PaymentDetails),
259
+ payment_details: T.nilable(Sentdm::PaymentDetails),
272
260
  sandbox: T::Boolean,
273
261
  short_name: T.nilable(String),
274
262
  whatsapp_business_account:
@@ -282,528 +270,6 @@ module Sentdm
282
270
  def to_hash
283
271
  end
284
272
 
285
- class BillingContact < Sentdm::Internal::Type::BaseModel
286
- OrHash =
287
- T.type_alias do
288
- T.any(
289
- Sentdm::ProfileCreateParams::BillingContact,
290
- Sentdm::Internal::AnyHash
291
- )
292
- end
293
-
294
- # Email address where invoices will be sent (required)
295
- sig { returns(String) }
296
- attr_accessor :email
297
-
298
- # Full name of the billing contact or company (required)
299
- sig { returns(String) }
300
- attr_accessor :name
301
-
302
- # Billing address (optional). Free-form text including street, city, state, postal
303
- # code, and country.
304
- sig { returns(T.nilable(String)) }
305
- attr_accessor :address
306
-
307
- # Phone number for the billing contact (optional)
308
- sig { returns(T.nilable(String)) }
309
- attr_accessor :phone
310
-
311
- # Billing contact information for a profile. Required when billing_model is
312
- # "profile" or "profile_and_organization".
313
- sig do
314
- params(
315
- email: String,
316
- name: String,
317
- address: T.nilable(String),
318
- phone: T.nilable(String)
319
- ).returns(T.attached_class)
320
- end
321
- def self.new(
322
- # Email address where invoices will be sent (required)
323
- email:,
324
- # Full name of the billing contact or company (required)
325
- name:,
326
- # Billing address (optional). Free-form text including street, city, state, postal
327
- # code, and country.
328
- address: nil,
329
- # Phone number for the billing contact (optional)
330
- phone: nil
331
- )
332
- end
333
-
334
- sig do
335
- override.returns(
336
- {
337
- email: String,
338
- name: String,
339
- address: T.nilable(String),
340
- phone: T.nilable(String)
341
- }
342
- )
343
- end
344
- def to_hash
345
- end
346
- end
347
-
348
- class Brand < Sentdm::Internal::Type::BaseModel
349
- OrHash =
350
- T.type_alias do
351
- T.any(Sentdm::ProfileCreateParams::Brand, Sentdm::Internal::AnyHash)
352
- end
353
-
354
- # Compliance and TCR information for brand registration
355
- sig { returns(Sentdm::ProfileCreateParams::Brand::Compliance) }
356
- attr_reader :compliance
357
-
358
- sig do
359
- params(
360
- compliance: Sentdm::ProfileCreateParams::Brand::Compliance::OrHash
361
- ).void
362
- end
363
- attr_writer :compliance
364
-
365
- # Contact information for brand KYC
366
- sig { returns(Sentdm::ProfileCreateParams::Brand::Contact) }
367
- attr_reader :contact
368
-
369
- sig do
370
- params(
371
- contact: Sentdm::ProfileCreateParams::Brand::Contact::OrHash
372
- ).void
373
- end
374
- attr_writer :contact
375
-
376
- # Business details and address for brand KYC
377
- sig { returns(T.nilable(Sentdm::ProfileCreateParams::Brand::Business)) }
378
- attr_reader :business
379
-
380
- sig do
381
- params(
382
- business:
383
- T.nilable(Sentdm::ProfileCreateParams::Brand::Business::OrHash)
384
- ).void
385
- end
386
- attr_writer :business
387
-
388
- # Brand and KYC data grouped into contact, business, and compliance sections
389
- sig do
390
- params(
391
- compliance: Sentdm::ProfileCreateParams::Brand::Compliance::OrHash,
392
- contact: Sentdm::ProfileCreateParams::Brand::Contact::OrHash,
393
- business:
394
- T.nilable(Sentdm::ProfileCreateParams::Brand::Business::OrHash)
395
- ).returns(T.attached_class)
396
- end
397
- def self.new(
398
- # Compliance and TCR information for brand registration
399
- compliance:,
400
- # Contact information for brand KYC
401
- contact:,
402
- # Business details and address for brand KYC
403
- business: nil
404
- )
405
- end
406
-
407
- sig do
408
- override.returns(
409
- {
410
- compliance: Sentdm::ProfileCreateParams::Brand::Compliance,
411
- contact: Sentdm::ProfileCreateParams::Brand::Contact,
412
- business: T.nilable(Sentdm::ProfileCreateParams::Brand::Business)
413
- }
414
- )
415
- end
416
- def to_hash
417
- end
418
-
419
- class Compliance < Sentdm::Internal::Type::BaseModel
420
- OrHash =
421
- T.type_alias do
422
- T.any(
423
- Sentdm::ProfileCreateParams::Brand::Compliance,
424
- Sentdm::Internal::AnyHash
425
- )
426
- end
427
-
428
- sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
429
- attr_accessor :brand_relationship
430
-
431
- sig { returns(Sentdm::TcrVertical::OrSymbol) }
432
- attr_accessor :vertical
433
-
434
- # List of destination countries for messaging
435
- sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
436
- attr_accessor :destination_countries
437
-
438
- # Whether this is a TCR (Campaign Registry) application
439
- sig { returns(T.nilable(T::Boolean)) }
440
- attr_accessor :is_tcr_application
441
-
442
- # Additional notes about the business or use case
443
- sig { returns(T.nilable(String)) }
444
- attr_accessor :notes
445
-
446
- # Phone number prefix for messaging (e.g., "+1")
447
- sig { returns(T.nilable(String)) }
448
- attr_accessor :phone_number_prefix
449
-
450
- # Compliance and TCR information for brand registration
451
- sig do
452
- params(
453
- brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
454
- vertical: Sentdm::TcrVertical::OrSymbol,
455
- destination_countries:
456
- T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
457
- is_tcr_application: T.nilable(T::Boolean),
458
- notes: T.nilable(String),
459
- phone_number_prefix: T.nilable(String)
460
- ).returns(T.attached_class)
461
- end
462
- def self.new(
463
- brand_relationship:,
464
- vertical:,
465
- # List of destination countries for messaging
466
- destination_countries: nil,
467
- # Whether this is a TCR (Campaign Registry) application
468
- is_tcr_application: nil,
469
- # Additional notes about the business or use case
470
- notes: nil,
471
- # Phone number prefix for messaging (e.g., "+1")
472
- phone_number_prefix: nil
473
- )
474
- end
475
-
476
- sig do
477
- override.returns(
478
- {
479
- brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
480
- vertical: Sentdm::TcrVertical::OrSymbol,
481
- destination_countries:
482
- T.nilable(T::Array[Sentdm::DestinationCountry]),
483
- is_tcr_application: T.nilable(T::Boolean),
484
- notes: T.nilable(String),
485
- phone_number_prefix: T.nilable(String)
486
- }
487
- )
488
- end
489
- def to_hash
490
- end
491
- end
492
-
493
- class Contact < Sentdm::Internal::Type::BaseModel
494
- OrHash =
495
- T.type_alias do
496
- T.any(
497
- Sentdm::ProfileCreateParams::Brand::Contact,
498
- Sentdm::Internal::AnyHash
499
- )
500
- end
501
-
502
- # Primary contact name (required)
503
- sig { returns(String) }
504
- attr_accessor :name
505
-
506
- # Business/brand name
507
- sig { returns(T.nilable(String)) }
508
- attr_accessor :business_name
509
-
510
- # Contact email address
511
- sig { returns(T.nilable(String)) }
512
- attr_accessor :email
513
-
514
- # Contact phone number in E.164 format
515
- sig { returns(T.nilable(String)) }
516
- attr_accessor :phone
517
-
518
- # Contact phone country code (e.g., "1" for US)
519
- sig { returns(T.nilable(String)) }
520
- attr_accessor :phone_country_code
521
-
522
- # Contact's role in the business
523
- sig { returns(T.nilable(String)) }
524
- attr_accessor :role
525
-
526
- # Contact information for brand KYC
527
- sig do
528
- params(
529
- name: String,
530
- business_name: T.nilable(String),
531
- email: T.nilable(String),
532
- phone: T.nilable(String),
533
- phone_country_code: T.nilable(String),
534
- role: T.nilable(String)
535
- ).returns(T.attached_class)
536
- end
537
- def self.new(
538
- # Primary contact name (required)
539
- name:,
540
- # Business/brand name
541
- business_name: nil,
542
- # Contact email address
543
- email: nil,
544
- # Contact phone number in E.164 format
545
- phone: nil,
546
- # Contact phone country code (e.g., "1" for US)
547
- phone_country_code: nil,
548
- # Contact's role in the business
549
- role: nil
550
- )
551
- end
552
-
553
- sig do
554
- override.returns(
555
- {
556
- name: String,
557
- business_name: T.nilable(String),
558
- email: T.nilable(String),
559
- phone: T.nilable(String),
560
- phone_country_code: T.nilable(String),
561
- role: T.nilable(String)
562
- }
563
- )
564
- end
565
- def to_hash
566
- end
567
- end
568
-
569
- class Business < Sentdm::Internal::Type::BaseModel
570
- OrHash =
571
- T.type_alias do
572
- T.any(
573
- Sentdm::ProfileCreateParams::Brand::Business,
574
- Sentdm::Internal::AnyHash
575
- )
576
- end
577
-
578
- # City
579
- sig { returns(T.nilable(String)) }
580
- attr_accessor :city
581
-
582
- # Country code (e.g., US, CA)
583
- sig { returns(T.nilable(String)) }
584
- attr_accessor :country
585
-
586
- # Country where the business is registered
587
- sig { returns(T.nilable(String)) }
588
- attr_accessor :country_of_registration
589
-
590
- sig do
591
- returns(
592
- T.nilable(
593
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::OrSymbol
594
- )
595
- )
596
- end
597
- attr_accessor :entity_type
598
-
599
- # Legal business name
600
- sig { returns(T.nilable(String)) }
601
- attr_accessor :legal_name
602
-
603
- # Postal/ZIP code
604
- sig { returns(T.nilable(String)) }
605
- attr_accessor :postal_code
606
-
607
- # State/province code
608
- sig { returns(T.nilable(String)) }
609
- attr_accessor :state
610
-
611
- # Street address
612
- sig { returns(T.nilable(String)) }
613
- attr_accessor :street
614
-
615
- # Tax ID/EIN number
616
- sig { returns(T.nilable(String)) }
617
- attr_accessor :tax_id
618
-
619
- # Type of tax ID (e.g., us_ein, ca_bn)
620
- sig { returns(T.nilable(String)) }
621
- attr_accessor :tax_id_type
622
-
623
- # Business website URL
624
- sig { returns(T.nilable(String)) }
625
- attr_accessor :url
626
-
627
- # Business details and address for brand KYC
628
- sig do
629
- params(
630
- city: T.nilable(String),
631
- country: T.nilable(String),
632
- country_of_registration: T.nilable(String),
633
- entity_type:
634
- T.nilable(
635
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::OrSymbol
636
- ),
637
- legal_name: T.nilable(String),
638
- postal_code: T.nilable(String),
639
- state: T.nilable(String),
640
- street: T.nilable(String),
641
- tax_id: T.nilable(String),
642
- tax_id_type: T.nilable(String),
643
- url: T.nilable(String)
644
- ).returns(T.attached_class)
645
- end
646
- def self.new(
647
- # City
648
- city: nil,
649
- # Country code (e.g., US, CA)
650
- country: nil,
651
- # Country where the business is registered
652
- country_of_registration: nil,
653
- entity_type: nil,
654
- # Legal business name
655
- legal_name: nil,
656
- # Postal/ZIP code
657
- postal_code: nil,
658
- # State/province code
659
- state: nil,
660
- # Street address
661
- street: nil,
662
- # Tax ID/EIN number
663
- tax_id: nil,
664
- # Type of tax ID (e.g., us_ein, ca_bn)
665
- tax_id_type: nil,
666
- # Business website URL
667
- url: nil
668
- )
669
- end
670
-
671
- sig do
672
- override.returns(
673
- {
674
- city: T.nilable(String),
675
- country: T.nilable(String),
676
- country_of_registration: T.nilable(String),
677
- entity_type:
678
- T.nilable(
679
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::OrSymbol
680
- ),
681
- legal_name: T.nilable(String),
682
- postal_code: T.nilable(String),
683
- state: T.nilable(String),
684
- street: T.nilable(String),
685
- tax_id: T.nilable(String),
686
- tax_id_type: T.nilable(String),
687
- url: T.nilable(String)
688
- }
689
- )
690
- end
691
- def to_hash
692
- end
693
-
694
- module EntityType
695
- extend Sentdm::Internal::Type::Enum
696
-
697
- TaggedSymbol =
698
- T.type_alias do
699
- T.all(
700
- Symbol,
701
- Sentdm::ProfileCreateParams::Brand::Business::EntityType
702
- )
703
- end
704
- OrSymbol = T.type_alias { T.any(Symbol, String) }
705
-
706
- PRIVATE_PROFIT =
707
- T.let(
708
- :PRIVATE_PROFIT,
709
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
710
- )
711
- PUBLIC_PROFIT =
712
- T.let(
713
- :PUBLIC_PROFIT,
714
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
715
- )
716
- NON_PROFIT =
717
- T.let(
718
- :NON_PROFIT,
719
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
720
- )
721
- SOLE_PROPRIETOR =
722
- T.let(
723
- :SOLE_PROPRIETOR,
724
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
725
- )
726
- GOVERNMENT =
727
- T.let(
728
- :GOVERNMENT,
729
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
730
- )
731
-
732
- sig do
733
- override.returns(
734
- T::Array[
735
- Sentdm::ProfileCreateParams::Brand::Business::EntityType::TaggedSymbol
736
- ]
737
- )
738
- end
739
- def self.values
740
- end
741
- end
742
- end
743
- end
744
-
745
- class PaymentDetails < Sentdm::Internal::Type::BaseModel
746
- OrHash =
747
- T.type_alias do
748
- T.any(
749
- Sentdm::ProfileCreateParams::PaymentDetails,
750
- Sentdm::Internal::AnyHash
751
- )
752
- end
753
-
754
- # Card number (digits only, 13–19 characters)
755
- sig { returns(String) }
756
- attr_accessor :card_number
757
-
758
- # Card security code (3–4 digits)
759
- sig { returns(String) }
760
- attr_accessor :cvc
761
-
762
- # Card expiry date in MM/YY format (e.g. "09/27")
763
- sig { returns(String) }
764
- attr_accessor :expiry
765
-
766
- # Billing ZIP / postal code associated with the card
767
- sig { returns(String) }
768
- attr_accessor :zip_code
769
-
770
- # Payment card details for this profile (optional). Accepted when billing_model is
771
- # "profile" or "profile_and_organization". Not persisted on our servers —
772
- # forwarded to the payment processor.
773
- sig do
774
- params(
775
- card_number: String,
776
- cvc: String,
777
- expiry: String,
778
- zip_code: String
779
- ).returns(T.attached_class)
780
- end
781
- def self.new(
782
- # Card number (digits only, 13–19 characters)
783
- card_number:,
784
- # Card security code (3–4 digits)
785
- cvc:,
786
- # Card expiry date in MM/YY format (e.g. "09/27")
787
- expiry:,
788
- # Billing ZIP / postal code associated with the card
789
- zip_code:
790
- )
791
- end
792
-
793
- sig do
794
- override.returns(
795
- {
796
- card_number: String,
797
- cvc: String,
798
- expiry: String,
799
- zip_code: String
800
- }
801
- )
802
- end
803
- def to_hash
804
- end
805
- end
806
-
807
273
  class WhatsappBusinessAccount < Sentdm::Internal::Type::BaseModel
808
274
  OrHash =
809
275
  T.type_alias do
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class ProfileDeleteParams < Sentdm::Internal::Type::BaseModel
5
+ class ProfileDeleteParams < Sentdm::Models::MutationRequest
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
@@ -14,14 +14,6 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :profile_id
16
16
 
17
- # Sandbox flag - when true, the operation is simulated without side effects Useful
18
- # for testing integrations without actual execution
19
- sig { returns(T.nilable(T::Boolean)) }
20
- attr_reader :sandbox
21
-
22
- sig { params(sandbox: T::Boolean).void }
23
- attr_writer :sandbox
24
-
25
17
  sig { returns(T.nilable(String)) }
26
18
  attr_reader :x_profile_id
27
19
 
@@ -31,26 +23,17 @@ module Sentdm
31
23
  sig do
32
24
  params(
33
25
  profile_id: String,
34
- sandbox: T::Boolean,
35
26
  x_profile_id: String,
36
27
  request_options: Sentdm::RequestOptions::OrHash
37
28
  ).returns(T.attached_class)
38
29
  end
39
- def self.new(
40
- profile_id:,
41
- # Sandbox flag - when true, the operation is simulated without side effects Useful
42
- # for testing integrations without actual execution
43
- sandbox: nil,
44
- x_profile_id: nil,
45
- request_options: {}
46
- )
30
+ def self.new(profile_id:, x_profile_id: nil, request_options: {})
47
31
  end
48
32
 
49
33
  sig do
50
34
  override.returns(
51
35
  {
52
36
  profile_id: String,
53
- sandbox: T::Boolean,
54
37
  x_profile_id: String,
55
38
  request_options: Sentdm::RequestOptions
56
39
  }