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