sentdm 0.27.0 → 0.28.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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  15. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  16. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  17. data/lib/sentdm/models/message_send_response.rb +113 -28
  18. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  19. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  20. data/lib/sentdm/models/profile_create_params.rb +378 -26
  21. data/lib/sentdm/models/profile_create_response.rb +760 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +825 -14
  24. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  25. data/lib/sentdm/models/profile_update_params.rb +391 -24
  26. data/lib/sentdm/models/profile_update_response.rb +760 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  33. data/lib/sentdm/models/template_create_response.rb +209 -0
  34. data/lib/sentdm/models/template_list_params.rb +9 -2
  35. data/lib/sentdm/models/template_list_response.rb +262 -16
  36. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  37. data/lib/sentdm/models/template_update_response.rb +209 -0
  38. data/lib/sentdm/models/user_invite_response.rb +201 -0
  39. data/lib/sentdm/models/user_list_response.rb +259 -14
  40. data/lib/sentdm/models/user_remove_params.rb +16 -2
  41. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  42. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  43. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  44. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  45. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  46. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  47. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  48. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  49. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  50. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  52. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  53. data/lib/sentdm/models.rb +0 -52
  54. data/lib/sentdm/resources/contacts.rb +30 -13
  55. data/lib/sentdm/resources/conversations.rb +12 -4
  56. data/lib/sentdm/resources/me.rb +6 -1
  57. data/lib/sentdm/resources/messages.rb +11 -1
  58. data/lib/sentdm/resources/numbers.rb +6 -1
  59. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  60. data/lib/sentdm/resources/profiles.rb +134 -58
  61. data/lib/sentdm/resources/templates.rb +14 -8
  62. data/lib/sentdm/resources/users.rb +12 -7
  63. data/lib/sentdm/resources/webhooks.rb +19 -9
  64. data/lib/sentdm/version.rb +1 -1
  65. data/lib/sentdm.rb +22 -32
  66. data/rbi/sentdm/client.rbi +71 -8
  67. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  68. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  69. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  70. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  71. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  72. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  73. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  74. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  75. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  77. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  78. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  79. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  80. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  81. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  82. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  83. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  84. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  85. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  86. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  87. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  89. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  90. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  91. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  92. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  93. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  94. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  95. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  96. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  97. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  98. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  99. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  100. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  101. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  102. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  103. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  104. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  105. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  106. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  107. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  108. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  109. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  110. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  111. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  112. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  113. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  114. data/rbi/sentdm/models.rbi +0 -54
  115. data/rbi/sentdm/resources/contacts.rbi +24 -9
  116. data/rbi/sentdm/resources/conversations.rbi +10 -2
  117. data/rbi/sentdm/resources/me.rbi +6 -1
  118. data/rbi/sentdm/resources/messages.rbi +11 -1
  119. data/rbi/sentdm/resources/numbers.rbi +6 -1
  120. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  121. data/rbi/sentdm/resources/profiles.rbi +174 -66
  122. data/rbi/sentdm/resources/templates.rbi +15 -5
  123. data/rbi/sentdm/resources/users.rbi +9 -4
  124. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  125. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  126. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  127. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  128. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  129. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  130. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  131. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  132. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  133. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  135. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  136. data/sig/sentdm/models/message_send_response.rbs +71 -9
  137. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  138. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  139. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  140. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  141. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  142. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  143. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  144. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  145. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  146. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  147. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  148. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  149. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  150. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  151. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  152. data/sig/sentdm/models/template_create_response.rbs +182 -0
  153. data/sig/sentdm/models/template_list_response.rbs +230 -19
  154. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  155. data/sig/sentdm/models/template_update_response.rbs +182 -0
  156. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  157. data/sig/sentdm/models/user_list_response.rbs +233 -15
  158. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  159. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  160. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  161. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  162. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  163. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  164. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  165. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  166. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  167. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  168. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  169. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  170. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  171. data/sig/sentdm/models.rbs +0 -52
  172. data/sig/sentdm/resources/contacts.rbs +4 -4
  173. data/sig/sentdm/resources/conversations.rbs +2 -2
  174. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  175. data/sig/sentdm/resources/profiles.rbs +11 -11
  176. data/sig/sentdm/resources/templates.rbs +3 -3
  177. data/sig/sentdm/resources/users.rbs +3 -3
  178. data/sig/sentdm/resources/webhooks.rbs +4 -4
  179. metadata +68 -98
  180. data/lib/sentdm/models/api_meta.rb +0 -34
  181. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  182. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  183. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  184. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  185. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  186. data/lib/sentdm/models/api_response_template.rb +0 -43
  187. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  188. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  189. data/lib/sentdm/models/brand_business_info.rb +0 -114
  190. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  191. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  192. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  193. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  194. data/lib/sentdm/models/contact_response.rb +0 -126
  195. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  196. data/lib/sentdm/models/error_detail.rb +0 -42
  197. data/lib/sentdm/models/mutation_request.rb +0 -20
  198. data/lib/sentdm/models/pagination_meta.rb +0 -80
  199. data/lib/sentdm/models/payment_details.rb +0 -44
  200. data/lib/sentdm/models/profile_detail.rb +0 -605
  201. data/lib/sentdm/models/profile_settings.rb +0 -66
  202. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  203. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  204. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  205. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  206. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  207. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  208. data/lib/sentdm/models/template.rb +0 -90
  209. data/lib/sentdm/models/user_response.rb +0 -82
  210. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  211. data/lib/sentdm/models/webhook_response.rb +0 -95
  212. data/rbi/sentdm/models/api_meta.rbi +0 -55
  213. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  214. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  215. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  216. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  218. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  219. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  220. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  221. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  222. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  223. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  224. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  225. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  226. data/rbi/sentdm/models/contact_response.rbi +0 -183
  227. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  228. data/rbi/sentdm/models/error_detail.rbi +0 -66
  229. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  230. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  231. data/rbi/sentdm/models/payment_details.rbi +0 -59
  232. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  233. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  234. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  235. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  236. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  237. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  238. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  239. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  240. data/rbi/sentdm/models/template.rbi +0 -129
  241. data/rbi/sentdm/models/user_response.rbi +0 -118
  242. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  243. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  244. data/sig/sentdm/models/api_meta.rbs +0 -27
  245. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  246. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  247. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  248. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  249. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  250. data/sig/sentdm/models/api_response_template.rbs +0 -39
  251. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  252. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  253. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  254. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  255. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  256. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  257. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  258. data/sig/sentdm/models/contact_response.rbs +0 -111
  259. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  260. data/sig/sentdm/models/error_detail.rbs +0 -39
  261. data/sig/sentdm/models/mutation_request.rbs +0 -15
  262. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  263. data/sig/sentdm/models/payment_details.rbs +0 -30
  264. data/sig/sentdm/models/profile_detail.rbs +0 -469
  265. data/sig/sentdm/models/profile_settings.rbs +0 -50
  266. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  267. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  268. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  269. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  270. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  271. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  272. data/sig/sentdm/models/template.rbs +0 -79
  273. data/sig/sentdm/models/user_response.rbs +0 -72
  274. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  275. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -13,7 +13,18 @@ module Sentdm
13
13
  required :profile_id, String
14
14
 
15
15
  # @!attribute allow_contact_sharing
16
- # Whether contacts are shared across profiles (optional)
16
+ # @deprecated
17
+ #
18
+ # Deprecated. Accepted and ignored. Contact and template sharing between sender
19
+ # profiles is gone — a profile sees only what it owns, and the organization still
20
+ # sees all of its profiles' contacts and templates through read-time widening. The
21
+ # four columns behind these flags were dropped by M260720120000.
22
+ #
23
+ # Retired the same way as SendingPhoneNumberProfileId, and for the same reason:
24
+ # the properties stay bound so an SDK that assigns them keeps compiling, and a 400
25
+ # would break a working integration over a capability that is gone regardless.
26
+ # Every profile reports all four as false, so a caller that checks its own write
27
+ # can see it did not take.
17
28
  #
18
29
  # @return [Boolean, nil]
19
30
  optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
@@ -25,7 +36,7 @@ module Sentdm
25
36
  optional :allow_number_change_during_onboarding, Sentdm::Internal::Type::Boolean, nil?: true
26
37
 
27
38
  # @!attribute allow_template_sharing
28
- # Whether templates are shared across profiles (optional)
39
+ # @deprecated
29
40
  #
30
41
  # @return [Boolean, nil]
31
42
  optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
@@ -34,8 +45,8 @@ module Sentdm
34
45
  # Billing contact information for a profile. Required when billing_model is
35
46
  # "profile" or "profile_and_organization".
36
47
  #
37
- # @return [Sentdm::Models::BillingContactInfo, nil]
38
- optional :billing_contact, -> { Sentdm::BillingContactInfo }, nil?: true
48
+ # @return [Sentdm::Models::ProfileUpdateParams::BillingContact, nil]
49
+ optional :billing_contact, -> { Sentdm::ProfileUpdateParams::BillingContact }, nil?: true
39
50
 
40
51
  # @!attribute billing_model
41
52
  # Billing model: profile, organization, or profile_and_organization (optional).
@@ -52,8 +63,8 @@ module Sentdm
52
63
  # @!attribute brand
53
64
  # Brand and KYC data grouped into contact, business, and compliance sections
54
65
  #
55
- # @return [Sentdm::Models::BrandsBrandData, nil]
56
- optional :brand, -> { Sentdm::BrandsBrandData }, nil?: true
66
+ # @return [Sentdm::Models::ProfileUpdateParams::Brand, nil]
67
+ optional :brand, -> { Sentdm::ProfileUpdateParams::Brand }, nil?: true
57
68
 
58
69
  # @!attribute description
59
70
  # Profile description (optional)
@@ -68,7 +79,7 @@ module Sentdm
68
79
  optional :icon, String, nil?: true
69
80
 
70
81
  # @!attribute inherit_contacts
71
- # Whether this profile inherits contacts from organization (optional)
82
+ # @deprecated
72
83
  #
73
84
  # @return [Boolean, nil]
74
85
  optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
@@ -86,7 +97,7 @@ module Sentdm
86
97
  optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean, nil?: true
87
98
 
88
99
  # @!attribute inherit_templates
89
- # Whether this profile inherits templates from organization (optional)
100
+ # @deprecated
90
101
  #
91
102
  # @return [Boolean, nil]
92
103
  optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
@@ -98,12 +109,12 @@ module Sentdm
98
109
  optional :name, String, nil?: true
99
110
 
100
111
  # @!attribute payment_details
101
- # Payment card details for a profile. Accepted when billing_model is "profile" or
102
- # "profile_and_organization". These details are not stored on our servers and will
103
- # be forwarded to the payment processor.
112
+ # Payment card details for this profile (optional). Accepted when billing_model is
113
+ # "profile" or "profile_and_organization". Not persisted on our servers
114
+ # forwarded to the payment processor.
104
115
  #
105
- # @return [Sentdm::Models::PaymentDetails, nil]
106
- optional :payment_details, -> { Sentdm::PaymentDetails }, nil?: true
116
+ # @return [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil]
117
+ optional :payment_details, -> { Sentdm::ProfileUpdateParams::PaymentDetails }, nil?: true
107
118
 
108
119
  # @!attribute sandbox
109
120
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -119,13 +130,33 @@ module Sentdm
119
130
  optional :sending_phone_number, String, nil?: true
120
131
 
121
132
  # @!attribute sending_phone_number_profile_id
122
- # Reference to another profile to use for SMS configuration (optional)
133
+ # @deprecated
134
+ #
135
+ # Deprecated. Accepted and ignored. Sender borrowing is gone: a profile cannot
136
+ # send from another profile's SMS number. Supplying this changes nothing and the
137
+ # request still succeeds.
138
+ #
139
+ # Bound rather than dropped so the property survives on the wire and in a
140
+ # generated client — an SDK that assigns it keeps compiling, which is the
141
+ # compatibility this exists for. It is deliberately not refused: a 400 here would
142
+ # break an integration that is otherwise working, and the capability it asks for
143
+ # is gone either way.
144
+ #
145
+ # The trade-off, stated plainly. A caller asking for borrowing is told it
146
+ # succeeded when nothing happened. What makes that survivable is the read:
147
+ # sending_phone_number_profile_id comes back null on every profile, so a caller
148
+ # that checks its own write can see it did not take. Every request that carries
149
+ # one is logged, so we can tell when nobody is sending it any more and the field
150
+ # can go for real.
151
+ #
152
+ # Give the profile a sender of its own instead: POST /v3/channels/sms with the
153
+ # x-profile-id header naming it.
123
154
  #
124
155
  # @return [String, nil]
125
156
  optional :sending_phone_number_profile_id, String, nil?: true
126
157
 
127
158
  # @!attribute sending_whatsapp_number_profile_id
128
- # Reference to another profile to use for WhatsApp configuration (optional)
159
+ # @deprecated
129
160
  #
130
161
  # @return [String, nil]
131
162
  optional :sending_whatsapp_number_profile_id, String, nil?: true
@@ -160,41 +191,41 @@ module Sentdm
160
191
  #
161
192
  # @param profile_id [String]
162
193
  #
163
- # @param allow_contact_sharing [Boolean, nil] Whether contacts are shared across profiles (optional)
194
+ # @param allow_contact_sharing [Boolean, nil] Deprecated. Accepted and ignored. Contact and template sharing between sender pr
164
195
  #
165
196
  # @param allow_number_change_during_onboarding [Boolean, nil] Whether number changes are allowed during onboarding (optional)
166
197
  #
167
- # @param allow_template_sharing [Boolean, nil] Whether templates are shared across profiles (optional)
198
+ # @param allow_template_sharing [Boolean, nil]
168
199
  #
169
- # @param billing_contact [Sentdm::Models::BillingContactInfo, nil] Billing contact information for a profile.
200
+ # @param billing_contact [Sentdm::Models::ProfileUpdateParams::BillingContact, nil] Billing contact information for a profile.
170
201
  #
171
202
  # @param billing_model [String, nil] Billing model: profile, organization, or profile_and_organization (optional).
172
203
  #
173
- # @param brand [Sentdm::Models::BrandsBrandData, nil] Brand and KYC data grouped into contact, business, and compliance sections
204
+ # @param brand [Sentdm::Models::ProfileUpdateParams::Brand, nil] Brand and KYC data grouped into contact, business, and compliance sections
174
205
  #
175
206
  # @param description [String, nil] Profile description (optional)
176
207
  #
177
208
  # @param icon [String, nil] Profile icon URL (optional)
178
209
  #
179
- # @param inherit_contacts [Boolean, nil] Whether this profile inherits contacts from organization (optional)
210
+ # @param inherit_contacts [Boolean, nil]
180
211
  #
181
212
  # @param inherit_tcr_brand [Boolean, nil] Whether this profile inherits TCR brand from organization (optional)
182
213
  #
183
214
  # @param inherit_tcr_campaign [Boolean, nil] Whether this profile inherits TCR campaign from organization (optional)
184
215
  #
185
- # @param inherit_templates [Boolean, nil] Whether this profile inherits templates from organization (optional)
216
+ # @param inherit_templates [Boolean, nil]
186
217
  #
187
218
  # @param name [String, nil] Profile name (optional)
188
219
  #
189
- # @param payment_details [Sentdm::Models::PaymentDetails, nil] Payment card details for a profile.
220
+ # @param payment_details [Sentdm::Models::ProfileUpdateParams::PaymentDetails, nil] Payment card details for this profile (optional).
190
221
  #
191
222
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
192
223
  #
193
224
  # @param sending_phone_number [String, nil] Direct phone number for SMS sending (optional)
194
225
  #
195
- # @param sending_phone_number_profile_id [String, nil] Reference to another profile to use for SMS configuration (optional)
226
+ # @param sending_phone_number_profile_id [String, nil] Deprecated. Accepted and ignored. Sender borrowing is gone: a profile cannot sen
196
227
  #
197
- # @param sending_whatsapp_number_profile_id [String, nil] Reference to another profile to use for WhatsApp configuration (optional)
228
+ # @param sending_whatsapp_number_profile_id [String, nil]
198
229
  #
199
230
  # @param short_name [String, nil] Profile short name/abbreviation (optional). Must be 3–11 characters, contain onl
200
231
  #
@@ -205,6 +236,342 @@ module Sentdm
205
236
  # @param x_profile_id [String]
206
237
  #
207
238
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
239
+
240
+ class BillingContact < Sentdm::Internal::Type::BaseModel
241
+ # @!attribute email
242
+ # Email address where invoices will be sent (required)
243
+ #
244
+ # @return [String]
245
+ required :email, String
246
+
247
+ # @!attribute name
248
+ # Full name of the billing contact or company (required)
249
+ #
250
+ # @return [String]
251
+ required :name, String
252
+
253
+ # @!attribute address
254
+ # Billing address (optional). Free-form text including street, city, state, postal
255
+ # code, and country.
256
+ #
257
+ # @return [String, nil]
258
+ optional :address, String, nil?: true
259
+
260
+ # @!attribute phone
261
+ # Phone number for the billing contact (optional)
262
+ #
263
+ # @return [String, nil]
264
+ optional :phone, String, nil?: true
265
+
266
+ # @!method initialize(email:, name:, address: nil, phone: nil)
267
+ # Some parameter documentations has been truncated, see
268
+ # {Sentdm::Models::ProfileUpdateParams::BillingContact} for more details.
269
+ #
270
+ # Billing contact information for a profile. Required when billing_model is
271
+ # "profile" or "profile_and_organization".
272
+ #
273
+ # @param email [String] Email address where invoices will be sent (required)
274
+ #
275
+ # @param name [String] Full name of the billing contact or company (required)
276
+ #
277
+ # @param address [String, nil] Billing address (optional). Free-form text including street, city, state, postal
278
+ #
279
+ # @param phone [String, nil] Phone number for the billing contact (optional)
280
+ end
281
+
282
+ class Brand < Sentdm::Internal::Type::BaseModel
283
+ # @!attribute compliance
284
+ # Compliance and TCR information for brand registration
285
+ #
286
+ # @return [Sentdm::Models::ProfileUpdateParams::Brand::Compliance]
287
+ required :compliance, -> { Sentdm::ProfileUpdateParams::Brand::Compliance }
288
+
289
+ # @!attribute contact
290
+ # Contact information for brand KYC
291
+ #
292
+ # @return [Sentdm::Models::ProfileUpdateParams::Brand::Contact]
293
+ required :contact, -> { Sentdm::ProfileUpdateParams::Brand::Contact }
294
+
295
+ # @!attribute business
296
+ # Business details and address for brand KYC
297
+ #
298
+ # @return [Sentdm::Models::ProfileUpdateParams::Brand::Business, nil]
299
+ optional :business, -> { Sentdm::ProfileUpdateParams::Brand::Business }, nil?: true
300
+
301
+ # @!method initialize(compliance:, contact:, business: nil)
302
+ # Brand and KYC data grouped into contact, business, and compliance sections
303
+ #
304
+ # @param compliance [Sentdm::Models::ProfileUpdateParams::Brand::Compliance] Compliance and TCR information for brand registration
305
+ #
306
+ # @param contact [Sentdm::Models::ProfileUpdateParams::Brand::Contact] Contact information for brand KYC
307
+ #
308
+ # @param business [Sentdm::Models::ProfileUpdateParams::Brand::Business, nil] Business details and address for brand KYC
309
+
310
+ # @see Sentdm::Models::ProfileUpdateParams::Brand#compliance
311
+ class Compliance < Sentdm::Internal::Type::BaseModel
312
+ # @!attribute brand_relationship
313
+ #
314
+ # @return [Symbol, Sentdm::Models::TcrBrandRelationship]
315
+ required :brand_relationship,
316
+ enum: -> {
317
+ Sentdm::TcrBrandRelationship
318
+ },
319
+ api_name: :brandRelationship
320
+
321
+ # @!attribute vertical
322
+ #
323
+ # @return [Symbol, Sentdm::Models::TcrVertical]
324
+ required :vertical, enum: -> { Sentdm::TcrVertical }
325
+
326
+ # @!attribute destination_countries
327
+ # List of destination countries for messaging
328
+ #
329
+ # @return [Array<Sentdm::Models::DestinationCountry>, nil]
330
+ optional :destination_countries,
331
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] },
332
+ api_name: :destinationCountries,
333
+ nil?: true
334
+
335
+ # @!attribute is_tcr_application
336
+ # Whether this is a TCR (Campaign Registry) application
337
+ #
338
+ # @return [Boolean, nil]
339
+ optional :is_tcr_application,
340
+ Sentdm::Internal::Type::Boolean,
341
+ api_name: :isTcrApplication,
342
+ nil?: true
343
+
344
+ # @!attribute notes
345
+ # Additional notes about the business or use case
346
+ #
347
+ # @return [String, nil]
348
+ optional :notes, String, nil?: true
349
+
350
+ # @!attribute phone_number_prefix
351
+ # Phone number prefix for messaging (e.g., "+1")
352
+ #
353
+ # @return [String, nil]
354
+ optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
355
+
356
+ # @!method initialize(brand_relationship:, vertical:, destination_countries: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil)
357
+ # Compliance and TCR information for brand registration
358
+ #
359
+ # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship]
360
+ #
361
+ # @param vertical [Symbol, Sentdm::Models::TcrVertical]
362
+ #
363
+ # @param destination_countries [Array<Sentdm::Models::DestinationCountry>, nil] List of destination countries for messaging
364
+ #
365
+ # @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
366
+ #
367
+ # @param notes [String, nil] Additional notes about the business or use case
368
+ #
369
+ # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
370
+ end
371
+
372
+ # @see Sentdm::Models::ProfileUpdateParams::Brand#contact
373
+ class Contact < Sentdm::Internal::Type::BaseModel
374
+ # @!attribute name
375
+ # Primary contact name (required)
376
+ #
377
+ # @return [String]
378
+ required :name, String
379
+
380
+ # @!attribute business_name
381
+ # Business/brand name
382
+ #
383
+ # @return [String, nil]
384
+ optional :business_name, String, api_name: :businessName, nil?: true
385
+
386
+ # @!attribute email
387
+ # Contact email address
388
+ #
389
+ # @return [String, nil]
390
+ optional :email, String, nil?: true
391
+
392
+ # @!attribute phone
393
+ # Contact phone number in E.164 format
394
+ #
395
+ # @return [String, nil]
396
+ optional :phone, String, nil?: true
397
+
398
+ # @!attribute phone_country_code
399
+ # Contact phone country code (e.g., "1" for US)
400
+ #
401
+ # @return [String, nil]
402
+ optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
403
+
404
+ # @!attribute role
405
+ # Contact's role in the business
406
+ #
407
+ # @return [String, nil]
408
+ optional :role, String, nil?: true
409
+
410
+ # @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
411
+ # Contact information for brand KYC
412
+ #
413
+ # @param name [String] Primary contact name (required)
414
+ #
415
+ # @param business_name [String, nil] Business/brand name
416
+ #
417
+ # @param email [String, nil] Contact email address
418
+ #
419
+ # @param phone [String, nil] Contact phone number in E.164 format
420
+ #
421
+ # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
422
+ #
423
+ # @param role [String, nil] Contact's role in the business
424
+ end
425
+
426
+ # @see Sentdm::Models::ProfileUpdateParams::Brand#business
427
+ class Business < Sentdm::Internal::Type::BaseModel
428
+ # @!attribute city
429
+ # City
430
+ #
431
+ # @return [String, nil]
432
+ optional :city, String, nil?: true
433
+
434
+ # @!attribute country
435
+ # Country code (e.g., US, CA)
436
+ #
437
+ # @return [String, nil]
438
+ optional :country, String, nil?: true
439
+
440
+ # @!attribute country_of_registration
441
+ # Country where the business is registered
442
+ #
443
+ # @return [String, nil]
444
+ optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
445
+
446
+ # @!attribute entity_type
447
+ #
448
+ # @return [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Business::EntityType, nil]
449
+ optional :entity_type,
450
+ enum: -> { Sentdm::ProfileUpdateParams::Brand::Business::EntityType },
451
+ api_name: :entityType,
452
+ nil?: true
453
+
454
+ # @!attribute legal_name
455
+ # Legal business name
456
+ #
457
+ # @return [String, nil]
458
+ optional :legal_name, String, api_name: :legalName, nil?: true
459
+
460
+ # @!attribute postal_code
461
+ # Postal/ZIP code
462
+ #
463
+ # @return [String, nil]
464
+ optional :postal_code, String, api_name: :postalCode, nil?: true
465
+
466
+ # @!attribute state
467
+ # State/province code
468
+ #
469
+ # @return [String, nil]
470
+ optional :state, String, nil?: true
471
+
472
+ # @!attribute street
473
+ # Street address
474
+ #
475
+ # @return [String, nil]
476
+ optional :street, String, nil?: true
477
+
478
+ # @!attribute tax_id
479
+ # Tax ID/EIN number
480
+ #
481
+ # @return [String, nil]
482
+ optional :tax_id, String, api_name: :taxId, nil?: true
483
+
484
+ # @!attribute tax_id_type
485
+ # Type of tax ID (e.g., us_ein, ca_bn)
486
+ #
487
+ # @return [String, nil]
488
+ optional :tax_id_type, String, api_name: :taxIdType, nil?: true
489
+
490
+ # @!attribute url
491
+ # Business website URL
492
+ #
493
+ # @return [String, nil]
494
+ optional :url, String, nil?: true
495
+
496
+ # @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
497
+ # Business details and address for brand KYC
498
+ #
499
+ # @param city [String, nil] City
500
+ #
501
+ # @param country [String, nil] Country code (e.g., US, CA)
502
+ #
503
+ # @param country_of_registration [String, nil] Country where the business is registered
504
+ #
505
+ # @param entity_type [Symbol, Sentdm::Models::ProfileUpdateParams::Brand::Business::EntityType, nil]
506
+ #
507
+ # @param legal_name [String, nil] Legal business name
508
+ #
509
+ # @param postal_code [String, nil] Postal/ZIP code
510
+ #
511
+ # @param state [String, nil] State/province code
512
+ #
513
+ # @param street [String, nil] Street address
514
+ #
515
+ # @param tax_id [String, nil] Tax ID/EIN number
516
+ #
517
+ # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
518
+ #
519
+ # @param url [String, nil] Business website URL
520
+
521
+ # @see Sentdm::Models::ProfileUpdateParams::Brand::Business#entity_type
522
+ module EntityType
523
+ extend Sentdm::Internal::Type::Enum
524
+
525
+ PRIVATE_PROFIT = :PRIVATE_PROFIT
526
+ PUBLIC_PROFIT = :PUBLIC_PROFIT
527
+ NON_PROFIT = :NON_PROFIT
528
+ SOLE_PROPRIETOR = :SOLE_PROPRIETOR
529
+ GOVERNMENT = :GOVERNMENT
530
+
531
+ # @!method self.values
532
+ # @return [Array<Symbol>]
533
+ end
534
+ end
535
+ end
536
+
537
+ class PaymentDetails < Sentdm::Internal::Type::BaseModel
538
+ # @!attribute card_number
539
+ # Card number (digits only, 13–19 characters)
540
+ #
541
+ # @return [String]
542
+ required :card_number, String
543
+
544
+ # @!attribute cvc
545
+ # Card security code (3–4 digits)
546
+ #
547
+ # @return [String]
548
+ required :cvc, String
549
+
550
+ # @!attribute expiry
551
+ # Card expiry date in MM/YY format (e.g. "09/27")
552
+ #
553
+ # @return [String]
554
+ required :expiry, String
555
+
556
+ # @!attribute zip_code
557
+ # Billing ZIP / postal code associated with the card
558
+ #
559
+ # @return [String]
560
+ required :zip_code, String
561
+
562
+ # @!method initialize(card_number:, cvc:, expiry:, zip_code:)
563
+ # Payment card details for this profile (optional). Accepted when billing_model is
564
+ # "profile" or "profile_and_organization". Not persisted on our servers —
565
+ # forwarded to the payment processor.
566
+ #
567
+ # @param card_number [String] Card number (digits only, 13–19 characters)
568
+ #
569
+ # @param cvc [String] Card security code (3–4 digits)
570
+ #
571
+ # @param expiry [String] Card expiry date in MM/YY format (e.g. "09/27")
572
+ #
573
+ # @param zip_code [String] Billing ZIP / postal code associated with the card
574
+ end
208
575
  end
209
576
  end
210
577
  end