sentdm 0.28.0 → 0.30.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. 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
  }