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