sentdm 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseWebhook < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::APIResponseWebhook, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The response data (null if error)
12
+ sig { returns(T.nilable(Sentdm::WebhookResponse)) }
13
+ attr_reader :data
14
+
15
+ sig { params(data: T.nilable(Sentdm::WebhookResponse::OrHash)).void }
16
+ attr_writer :data
17
+
18
+ # Error information
19
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
20
+ attr_reader :error
21
+
22
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
23
+ attr_writer :error
24
+
25
+ # Request and response metadata
26
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
27
+ attr_reader :meta
28
+
29
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
30
+ attr_writer :meta
31
+
32
+ # Indicates whether the request was successful
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :success
35
+
36
+ sig { params(success: T::Boolean).void }
37
+ attr_writer :success
38
+
39
+ # Standard API response envelope for all v3 endpoints
40
+ sig do
41
+ params(
42
+ data: T.nilable(Sentdm::WebhookResponse::OrHash),
43
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
44
+ meta: Sentdm::APIMeta::OrHash,
45
+ success: T::Boolean
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # The response data (null if error)
50
+ data: nil,
51
+ # Error information
52
+ error: nil,
53
+ # Request and response metadata
54
+ meta: nil,
55
+ # Indicates whether the request was successful
56
+ success: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ data: T.nilable(Sentdm::WebhookResponse),
64
+ error: T.nilable(Sentdm::ErrorDetail),
65
+ meta: Sentdm::APIMeta,
66
+ success: T::Boolean
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BillingContactInfo < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BillingContactInfo, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Email address where invoices will be sent (required)
12
+ sig { returns(String) }
13
+ attr_accessor :email
14
+
15
+ # Full name of the billing contact or company (required)
16
+ sig { returns(String) }
17
+ attr_accessor :name
18
+
19
+ # Billing address (optional). Free-form text including street, city, state, postal
20
+ # code, and country.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :address
23
+
24
+ # Phone number for the billing contact (optional)
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :phone
27
+
28
+ # Billing contact information for a profile. Required when billing_model is
29
+ # "profile" or "profile_and_organization".
30
+ sig do
31
+ params(
32
+ email: String,
33
+ name: String,
34
+ address: T.nilable(String),
35
+ phone: T.nilable(String)
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Email address where invoices will be sent (required)
40
+ email:,
41
+ # Full name of the billing contact or company (required)
42
+ name:,
43
+ # Billing address (optional). Free-form text including street, city, state, postal
44
+ # code, and country.
45
+ address: nil,
46
+ # Phone number for the billing contact (optional)
47
+ phone: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ email: String,
55
+ name: String,
56
+ address: T.nilable(String),
57
+ phone: T.nilable(String)
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,162 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandBusinessInfo < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BrandBusinessInfo, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # City
12
+ sig { returns(T.nilable(String)) }
13
+ attr_accessor :city
14
+
15
+ # Country code (e.g., US, CA)
16
+ sig { returns(T.nilable(String)) }
17
+ attr_accessor :country
18
+
19
+ # Country where the business is registered
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :country_of_registration
22
+
23
+ sig do
24
+ returns(T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol))
25
+ end
26
+ attr_accessor :entity_type
27
+
28
+ # Legal business name
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :legal_name
31
+
32
+ # Postal/ZIP code
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :postal_code
35
+
36
+ # State/province code
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :state
39
+
40
+ # Street address
41
+ sig { returns(T.nilable(String)) }
42
+ attr_accessor :street
43
+
44
+ # Tax ID/EIN number
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :tax_id
47
+
48
+ # Type of tax ID (e.g., us_ein, ca_bn)
49
+ sig { returns(T.nilable(String)) }
50
+ attr_accessor :tax_id_type
51
+
52
+ # Business website URL
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :url
55
+
56
+ # Business details and address for brand KYC
57
+ sig do
58
+ params(
59
+ city: T.nilable(String),
60
+ country: T.nilable(String),
61
+ country_of_registration: T.nilable(String),
62
+ entity_type:
63
+ T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
64
+ legal_name: T.nilable(String),
65
+ postal_code: T.nilable(String),
66
+ state: T.nilable(String),
67
+ street: T.nilable(String),
68
+ tax_id: T.nilable(String),
69
+ tax_id_type: T.nilable(String),
70
+ url: T.nilable(String)
71
+ ).returns(T.attached_class)
72
+ end
73
+ def self.new(
74
+ # City
75
+ city: nil,
76
+ # Country code (e.g., US, CA)
77
+ country: nil,
78
+ # Country where the business is registered
79
+ country_of_registration: nil,
80
+ entity_type: nil,
81
+ # Legal business name
82
+ legal_name: nil,
83
+ # Postal/ZIP code
84
+ postal_code: nil,
85
+ # State/province code
86
+ state: nil,
87
+ # Street address
88
+ street: nil,
89
+ # Tax ID/EIN number
90
+ tax_id: nil,
91
+ # Type of tax ID (e.g., us_ein, ca_bn)
92
+ tax_id_type: nil,
93
+ # Business website URL
94
+ url: nil
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ {
101
+ city: T.nilable(String),
102
+ country: T.nilable(String),
103
+ country_of_registration: T.nilable(String),
104
+ entity_type:
105
+ T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
106
+ legal_name: T.nilable(String),
107
+ postal_code: T.nilable(String),
108
+ state: T.nilable(String),
109
+ street: T.nilable(String),
110
+ tax_id: T.nilable(String),
111
+ tax_id_type: T.nilable(String),
112
+ url: T.nilable(String)
113
+ }
114
+ )
115
+ end
116
+ def to_hash
117
+ end
118
+
119
+ module EntityType
120
+ extend Sentdm::Internal::Type::Enum
121
+
122
+ TaggedSymbol =
123
+ T.type_alias { T.all(Symbol, Sentdm::BrandBusinessInfo::EntityType) }
124
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
125
+
126
+ PRIVATE_PROFIT =
127
+ T.let(
128
+ :PRIVATE_PROFIT,
129
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
130
+ )
131
+ PUBLIC_PROFIT =
132
+ T.let(
133
+ :PUBLIC_PROFIT,
134
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
135
+ )
136
+ NON_PROFIT =
137
+ T.let(
138
+ :NON_PROFIT,
139
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
140
+ )
141
+ SOLE_PROPRIETOR =
142
+ T.let(
143
+ :SOLE_PROPRIETOR,
144
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
145
+ )
146
+ GOVERNMENT =
147
+ T.let(
148
+ :GOVERNMENT,
149
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
150
+ )
151
+
152
+ sig do
153
+ override.returns(
154
+ T::Array[Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol]
155
+ )
156
+ end
157
+ def self.values
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandComplianceInfo < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BrandComplianceInfo, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
12
+ attr_accessor :brand_relationship
13
+
14
+ sig { returns(Sentdm::TcrVertical::OrSymbol) }
15
+ attr_accessor :vertical
16
+
17
+ # List of destination countries for messaging
18
+ sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
19
+ attr_accessor :destination_countries
20
+
21
+ # Whether this is a TCR (Campaign Registry) application
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_accessor :is_tcr_application
24
+
25
+ # Additional notes about the business or use case
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :notes
28
+
29
+ # Phone number prefix for messaging (e.g., "+1")
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :phone_number_prefix
32
+
33
+ # Compliance and TCR information for brand registration
34
+ sig do
35
+ params(
36
+ brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
37
+ vertical: Sentdm::TcrVertical::OrSymbol,
38
+ destination_countries:
39
+ T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
40
+ is_tcr_application: T.nilable(T::Boolean),
41
+ notes: T.nilable(String),
42
+ phone_number_prefix: T.nilable(String)
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ brand_relationship:,
47
+ vertical:,
48
+ # List of destination countries for messaging
49
+ destination_countries: nil,
50
+ # Whether this is a TCR (Campaign Registry) application
51
+ is_tcr_application: nil,
52
+ # Additional notes about the business or use case
53
+ notes: nil,
54
+ # Phone number prefix for messaging (e.g., "+1")
55
+ phone_number_prefix: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
63
+ vertical: Sentdm::TcrVertical::OrSymbol,
64
+ destination_countries:
65
+ T.nilable(T::Array[Sentdm::DestinationCountry]),
66
+ is_tcr_application: T.nilable(T::Boolean),
67
+ notes: T.nilable(String),
68
+ phone_number_prefix: T.nilable(String)
69
+ }
70
+ )
71
+ end
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandContactInfo < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BrandContactInfo, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Primary contact name (required)
12
+ sig { returns(String) }
13
+ attr_accessor :name
14
+
15
+ # Business/brand name
16
+ sig { returns(T.nilable(String)) }
17
+ attr_accessor :business_name
18
+
19
+ # Contact email address
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :email
22
+
23
+ # Contact phone number in E.164 format
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :phone
26
+
27
+ # Contact phone country code (e.g., "1" for US)
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :phone_country_code
30
+
31
+ # Contact's role in the business
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :role
34
+
35
+ # Contact information for brand KYC
36
+ sig do
37
+ params(
38
+ name: String,
39
+ business_name: T.nilable(String),
40
+ email: T.nilable(String),
41
+ phone: T.nilable(String),
42
+ phone_country_code: T.nilable(String),
43
+ role: T.nilable(String)
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # Primary contact name (required)
48
+ name:,
49
+ # Business/brand name
50
+ business_name: nil,
51
+ # Contact email address
52
+ email: nil,
53
+ # Contact phone number in E.164 format
54
+ phone: nil,
55
+ # Contact phone country code (e.g., "1" for US)
56
+ phone_country_code: nil,
57
+ # Contact's role in the business
58
+ role: nil
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ name: String,
66
+ business_name: T.nilable(String),
67
+ email: T.nilable(String),
68
+ phone: T.nilable(String),
69
+ phone_country_code: T.nilable(String),
70
+ role: T.nilable(String)
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandsBrandData < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BrandsBrandData, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Compliance and TCR information for brand registration
12
+ sig { returns(Sentdm::BrandComplianceInfo) }
13
+ attr_reader :compliance
14
+
15
+ sig { params(compliance: Sentdm::BrandComplianceInfo::OrHash).void }
16
+ attr_writer :compliance
17
+
18
+ # Contact information for brand KYC
19
+ sig { returns(Sentdm::BrandContactInfo) }
20
+ attr_reader :contact
21
+
22
+ sig { params(contact: Sentdm::BrandContactInfo::OrHash).void }
23
+ attr_writer :contact
24
+
25
+ # Business details and address for brand KYC
26
+ sig { returns(T.nilable(Sentdm::BrandBusinessInfo)) }
27
+ attr_reader :business
28
+
29
+ sig do
30
+ params(business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)).void
31
+ end
32
+ attr_writer :business
33
+
34
+ # Brand and KYC data grouped into contact, business, and compliance sections
35
+ sig do
36
+ params(
37
+ compliance: Sentdm::BrandComplianceInfo::OrHash,
38
+ contact: Sentdm::BrandContactInfo::OrHash,
39
+ business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # Compliance and TCR information for brand registration
44
+ compliance:,
45
+ # Contact information for brand KYC
46
+ contact:,
47
+ # Business details and address for brand KYC
48
+ business: nil
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ compliance: Sentdm::BrandComplianceInfo,
56
+ contact: Sentdm::BrandContactInfo,
57
+ business: T.nilable(Sentdm::BrandBusinessInfo)
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class ContactDeleteParams < Sentdm::Internal::Type::BaseModel
5
+ class ContactDeleteParams < 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 :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
  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
- 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(id:, x_profile_id: nil, request_options: {})
47
31
  end
48
32
 
49
33
  sig do
50
34
  override.returns(
51
35
  {
52
36
  id: String,
53
- sandbox: T::Boolean,
54
37
  x_profile_id: String,
55
38
  request_options: Sentdm::RequestOptions
56
39
  }