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,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandContactInfo < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # Primary contact name (required)
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute business_name
13
+ # Business/brand name
14
+ #
15
+ # @return [String, nil]
16
+ optional :business_name, String, api_name: :businessName, nil?: true
17
+
18
+ # @!attribute email
19
+ # Contact email address
20
+ #
21
+ # @return [String, nil]
22
+ optional :email, String, nil?: true
23
+
24
+ # @!attribute phone
25
+ # Contact phone number in E.164 format
26
+ #
27
+ # @return [String, nil]
28
+ optional :phone, String, nil?: true
29
+
30
+ # @!attribute phone_country_code
31
+ # Contact phone country code (e.g., "1" for US)
32
+ #
33
+ # @return [String, nil]
34
+ optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
35
+
36
+ # @!attribute role
37
+ # Contact's role in the business
38
+ #
39
+ # @return [String, nil]
40
+ optional :role, String, nil?: true
41
+
42
+ # @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
43
+ # Contact information for brand KYC
44
+ #
45
+ # @param name [String] Primary contact name (required)
46
+ #
47
+ # @param business_name [String, nil] Business/brand name
48
+ #
49
+ # @param email [String, nil] Contact email address
50
+ #
51
+ # @param phone [String, nil] Contact phone number in E.164 format
52
+ #
53
+ # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
54
+ #
55
+ # @param role [String, nil] Contact's role in the business
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandsBrandData < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute compliance
7
+ # Compliance and TCR information for brand registration
8
+ #
9
+ # @return [Sentdm::Models::BrandComplianceInfo]
10
+ required :compliance, -> { Sentdm::BrandComplianceInfo }
11
+
12
+ # @!attribute contact
13
+ # Contact information for brand KYC
14
+ #
15
+ # @return [Sentdm::Models::BrandContactInfo]
16
+ required :contact, -> { Sentdm::BrandContactInfo }
17
+
18
+ # @!attribute business
19
+ # Business details and address for brand KYC
20
+ #
21
+ # @return [Sentdm::Models::BrandBusinessInfo, nil]
22
+ optional :business, -> { Sentdm::BrandBusinessInfo }, nil?: true
23
+
24
+ # @!method initialize(compliance:, contact:, business: nil)
25
+ # Brand and KYC data grouped into contact, business, and compliance sections
26
+ #
27
+ # @param compliance [Sentdm::Models::BrandComplianceInfo] Compliance and TCR information for brand registration
28
+ #
29
+ # @param contact [Sentdm::Models::BrandContactInfo] Contact information for brand KYC
30
+ #
31
+ # @param business [Sentdm::Models::BrandBusinessInfo, nil] Business details and address for brand KYC
32
+ end
33
+ end
34
+ end
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Contacts#delete
6
- class ContactDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ class ContactDeleteParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -12,28 +12,14 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :id, String
14
14
 
15
- # @!attribute sandbox
16
- # Sandbox flag - when true, the operation is simulated without side effects Useful
17
- # for testing integrations without actual execution
18
- #
19
- # @return [Boolean, nil]
20
- optional :sandbox, Sentdm::Internal::Type::Boolean
21
-
22
15
  # @!attribute x_profile_id
23
16
  #
24
17
  # @return [String, nil]
25
18
  optional :x_profile_id, String
26
19
 
27
- # @!method initialize(id:, sandbox: nil, x_profile_id: nil, request_options: {})
28
- # Some parameter documentations has been truncated, see
29
- # {Sentdm::Models::ContactDeleteParams} for more details.
30
- #
20
+ # @!method initialize(id:, x_profile_id: nil, request_options: {})
31
21
  # @param id [String]
32
- #
33
- # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
34
- #
35
22
  # @param x_profile_id [String]
36
- #
37
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
38
24
  end
39
25
  end
@@ -13,14 +13,14 @@ module Sentdm
13
13
  # @!attribute error
14
14
  # Error information
15
15
  #
16
- # @return [Sentdm::Models::ContactListResponse::Error, nil]
17
- optional :error, -> { Sentdm::Models::ContactListResponse::Error }, nil?: true
16
+ # @return [Sentdm::Models::ErrorDetail, nil]
17
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
18
18
 
19
19
  # @!attribute meta
20
20
  # Request and response metadata
21
21
  #
22
- # @return [Sentdm::Models::ContactListResponse::Meta, nil]
23
- optional :meta, -> { Sentdm::Models::ContactListResponse::Meta }
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
24
 
25
25
  # @!attribute success
26
26
  # Indicates whether the request was successful
@@ -33,9 +33,9 @@ module Sentdm
33
33
  #
34
34
  # @param data [Sentdm::Models::ContactListResponse::Data, nil] A paginated list of contacts.
35
35
  #
36
- # @param error [Sentdm::Models::ContactListResponse::Error, nil] Error information
36
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
37
37
  #
38
- # @param meta [Sentdm::Models::ContactListResponse::Meta] Request and response metadata
38
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
39
39
  #
40
40
  # @param success [Boolean] Indicates whether the request was successful
41
41
 
@@ -44,304 +44,21 @@ module Sentdm
44
44
  # @!attribute contacts
45
45
  # The contacts on this page.
46
46
  #
47
- # @return [Array<Sentdm::Models::ContactListResponse::Data::Contact>, nil]
48
- optional :contacts,
49
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::ContactListResponse::Data::Contact] }
47
+ # @return [Array<Sentdm::Models::ContactResponse>, nil]
48
+ optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactResponse] }
50
49
 
51
50
  # @!attribute pagination
52
51
  # Pagination metadata for list responses
53
52
  #
54
- # @return [Sentdm::Models::ContactListResponse::Data::Pagination, nil]
55
- optional :pagination, -> { Sentdm::Models::ContactListResponse::Data::Pagination }
53
+ # @return [Sentdm::Models::PaginationMeta, nil]
54
+ optional :pagination, -> { Sentdm::PaginationMeta }
56
55
 
57
56
  # @!method initialize(contacts: nil, pagination: nil)
58
57
  # A paginated list of contacts.
59
58
  #
60
- # @param contacts [Array<Sentdm::Models::ContactListResponse::Data::Contact>] The contacts on this page.
59
+ # @param contacts [Array<Sentdm::Models::ContactResponse>] The contacts on this page.
61
60
  #
62
- # @param pagination [Sentdm::Models::ContactListResponse::Data::Pagination] Pagination metadata for list responses
63
-
64
- class Contact < Sentdm::Internal::Type::BaseModel
65
- # @!attribute id
66
- # Unique identifier for the contact
67
- #
68
- # @return [String, nil]
69
- optional :id, String
70
-
71
- # @!attribute available_channels
72
- # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
73
- #
74
- # @return [String, nil]
75
- optional :available_channels, String
76
-
77
- # @!attribute country_code
78
- # Country calling code (e.g., 1 for US/Canada)
79
- #
80
- # @return [String, nil]
81
- optional :country_code, String
82
-
83
- # @!attribute created_at
84
- # When the contact was created
85
- #
86
- # @return [Time, nil]
87
- optional :created_at, Time
88
-
89
- # @!attribute customer_id
90
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
91
- # Says whose resource this is, which the resource's own id does not.
92
- #
93
- # @return [String, nil]
94
- optional :customer_id, String
95
-
96
- # @!attribute default_channel
97
- # Default messaging channel to use (e.g., "sms" or "whatsapp")
98
- #
99
- # @return [String, nil]
100
- optional :default_channel, String
101
-
102
- # @!attribute format_e164
103
- # Phone number in E.164 format (e.g., +1234567890)
104
- #
105
- # @return [String, nil]
106
- optional :format_e164, String
107
-
108
- # @!attribute format_international
109
- # Phone number in international format (e.g., +1 234-567-890)
110
- #
111
- # @return [String, nil]
112
- optional :format_international, String
113
-
114
- # @!attribute format_national
115
- # Phone number in national format (e.g., (234) 567-890)
116
- #
117
- # @return [String, nil]
118
- optional :format_national, String
119
-
120
- # @!attribute format_rfc
121
- # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
122
- #
123
- # @return [String, nil]
124
- optional :format_rfc, String
125
-
126
- # @!attribute is_inherited
127
- # @deprecated
128
- #
129
- # Always false. Contacts are no longer shared or inherited between sender profiles
130
- # — a profile sees only the contacts it owns. Retained so existing v3 clients
131
- # reading is_inherited keep deserializing; it carries no information.
132
- #
133
- # @return [Boolean, nil]
134
- optional :is_inherited, Sentdm::Internal::Type::Boolean
135
-
136
- # @!attribute opt_out
137
- # Whether the contact has opted out of messaging. Single source of truth — opt-out
138
- # is per-contact, not per-channel.
139
- #
140
- # @return [Boolean, nil]
141
- optional :opt_out, Sentdm::Internal::Type::Boolean
142
-
143
- # @!attribute phone_number
144
- # Phone number in original format
145
- #
146
- # @return [String, nil]
147
- optional :phone_number, String
148
-
149
- # @!attribute region_code
150
- # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
151
- #
152
- # @return [String, nil]
153
- optional :region_code, String
154
-
155
- # @!attribute updated_at
156
- # When the contact was last updated
157
- #
158
- # @return [Time, nil]
159
- optional :updated_at, Time, nil?: true
160
-
161
- # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
162
- # Some parameter documentations has been truncated, see
163
- # {Sentdm::Models::ContactListResponse::Data::Contact} for more details.
164
- #
165
- # Contact response for v3 API Uses snake_case for JSON property names
166
- #
167
- # @param id [String] Unique identifier for the contact
168
- #
169
- # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
170
- #
171
- # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
172
- #
173
- # @param created_at [Time] When the contact was created
174
- #
175
- # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
176
- #
177
- # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
178
- #
179
- # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
180
- #
181
- # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
182
- #
183
- # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
184
- #
185
- # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
186
- #
187
- # @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
188
- #
189
- # @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
190
- #
191
- # @param phone_number [String] Phone number in original format
192
- #
193
- # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
194
- #
195
- # @param updated_at [Time, nil] When the contact was last updated
196
- end
197
-
198
- # @see Sentdm::Models::ContactListResponse::Data#pagination
199
- class Pagination < Sentdm::Internal::Type::BaseModel
200
- # @!attribute cursors
201
- # @deprecated
202
- #
203
- # Cursor-based pagination. Never populated — see Cursors.
204
- #
205
- # @return [Sentdm::Models::ContactListResponse::Data::Pagination::Cursors, nil]
206
- optional :cursors, -> { Sentdm::Models::ContactListResponse::Data::Pagination::Cursors }, nil?: true
207
-
208
- # @!attribute has_more
209
- # Whether there are more pages after this one
210
- #
211
- # @return [Boolean, nil]
212
- optional :has_more, Sentdm::Internal::Type::Boolean
213
-
214
- # @!attribute page
215
- # Current page number (1-indexed)
216
- #
217
- # @return [Integer, nil]
218
- optional :page, Integer
219
-
220
- # @!attribute page_size
221
- # Number of items per page
222
- #
223
- # @return [Integer, nil]
224
- optional :page_size, Integer
225
-
226
- # @!attribute total_count
227
- # Total number of items across all pages
228
- #
229
- # @return [Integer, nil]
230
- optional :total_count, Integer
231
-
232
- # @!attribute total_pages
233
- # Total number of pages
234
- #
235
- # @return [Integer, nil]
236
- optional :total_pages, Integer
237
-
238
- # @!method initialize(cursors: nil, has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
239
- # Pagination metadata for list responses
240
- #
241
- # @param cursors [Sentdm::Models::ContactListResponse::Data::Pagination::Cursors, nil] Cursor-based pagination. Never populated — see Cursors.
242
- #
243
- # @param has_more [Boolean] Whether there are more pages after this one
244
- #
245
- # @param page [Integer] Current page number (1-indexed)
246
- #
247
- # @param page_size [Integer] Number of items per page
248
- #
249
- # @param total_count [Integer] Total number of items across all pages
250
- #
251
- # @param total_pages [Integer] Total number of pages
252
-
253
- # @deprecated
254
- #
255
- # @see Sentdm::Models::ContactListResponse::Data::Pagination#cursors
256
- class Cursors < Sentdm::Internal::Type::BaseModel
257
- # @!attribute after
258
- # Cursor to fetch the next page.
259
- #
260
- # @return [String, nil]
261
- optional :after, String, nil?: true
262
-
263
- # @!attribute before
264
- # Cursor to fetch the previous page.
265
- #
266
- # @return [String, nil]
267
- optional :before, String, nil?: true
268
-
269
- # @!method initialize(after: nil, before: nil)
270
- # Cursor-based pagination. Never populated — see Cursors.
271
- #
272
- # @param after [String, nil] Cursor to fetch the next page.
273
- #
274
- # @param before [String, nil] Cursor to fetch the previous page.
275
- end
276
- end
277
- end
278
-
279
- # @see Sentdm::Models::ContactListResponse#error
280
- class Error < Sentdm::Internal::Type::BaseModel
281
- # @!attribute code
282
- # Machine-readable error code (e.g., "RESOURCE_001")
283
- #
284
- # @return [String, nil]
285
- optional :code, String
286
-
287
- # @!attribute details
288
- # Additional validation error details (field-level errors)
289
- #
290
- # @return [Hash{Symbol=>Array<String>}, nil]
291
- optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
292
-
293
- # @!attribute doc_url
294
- # URL to documentation about this error
295
- #
296
- # @return [String, nil]
297
- optional :doc_url, String, nil?: true
298
-
299
- # @!attribute message
300
- # Human-readable error message
301
- #
302
- # @return [String, nil]
303
- optional :message, String
304
-
305
- # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
306
- # Error information
307
- #
308
- # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
309
- #
310
- # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
311
- #
312
- # @param doc_url [String, nil] URL to documentation about this error
313
- #
314
- # @param message [String] Human-readable error message
315
- end
316
-
317
- # @see Sentdm::Models::ContactListResponse#meta
318
- class Meta < Sentdm::Internal::Type::BaseModel
319
- # @!attribute request_id
320
- # Unique identifier for this request (for tracing and support)
321
- #
322
- # @return [String, nil]
323
- optional :request_id, String
324
-
325
- # @!attribute timestamp
326
- # Server timestamp when the response was generated
327
- #
328
- # @return [Time, nil]
329
- optional :timestamp, Time
330
-
331
- # @!attribute version
332
- # API version used for this request
333
- #
334
- # @return [String, nil]
335
- optional :version, String
336
-
337
- # @!method initialize(request_id: nil, timestamp: nil, version: nil)
338
- # Request and response metadata
339
- #
340
- # @param request_id [String] Unique identifier for this request (for tracing and support)
341
- #
342
- # @param timestamp [Time] Server timestamp when the response was generated
343
- #
344
- # @param version [String] API version used for this request
61
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
345
62
  end
346
63
  end
347
64
  end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactMessageSummary < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute channel_scores
7
+ #
8
+ # @return [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>, nil]
9
+ optional :channel_scores,
10
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactMessageSummary::ChannelScore] }
11
+
12
+ # @!attribute channels_used
13
+ #
14
+ # @return [Array<String>, nil]
15
+ optional :channels_used, Sentdm::Internal::Type::ArrayOf[String]
16
+
17
+ # @!attribute contact_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :contact_id, String
21
+
22
+ # @!attribute first_message_at
23
+ #
24
+ # @return [Time, nil]
25
+ optional :first_message_at, Time, nil?: true
26
+
27
+ # @!attribute last_message_at
28
+ #
29
+ # @return [Time, nil]
30
+ optional :last_message_at, Time, nil?: true
31
+
32
+ # @!attribute message_count
33
+ #
34
+ # @return [Integer, nil]
35
+ optional :message_count, Integer
36
+
37
+ # @!method initialize(channel_scores: nil, channels_used: nil, contact_id: nil, first_message_at: nil, last_message_at: nil, message_count: nil)
38
+ # @param channel_scores [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>]
39
+ # @param channels_used [Array<String>]
40
+ # @param contact_id [String]
41
+ # @param first_message_at [Time, nil]
42
+ # @param last_message_at [Time, nil]
43
+ # @param message_count [Integer]
44
+
45
+ class ChannelScore < Sentdm::Internal::Type::BaseModel
46
+ # @!attribute channel
47
+ #
48
+ # @return [String, nil]
49
+ optional :channel, String
50
+
51
+ # @!attribute fail_score
52
+ # Percentage (0-100) of messages on this channel that ended in FAILED.
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :fail_score, Integer
56
+
57
+ # @!attribute success_score
58
+ # Percentage (0-100) of messages on this channel that reached a successful
59
+ # terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
60
+ #
61
+ # @return [Integer, nil]
62
+ optional :success_score, Integer
63
+
64
+ # @!method initialize(channel: nil, fail_score: nil, success_score: nil)
65
+ # Some parameter documentations has been truncated, see
66
+ # {Sentdm::Models::ContactMessageSummary::ChannelScore} for more details.
67
+ #
68
+ # @param channel [String]
69
+ #
70
+ # @param fail_score [Integer] Percentage (0-100) of messages on this channel that ended in FAILED.
71
+ #
72
+ # @param success_score [Integer] Percentage (0-100) of messages on this channel that reached a successful termina
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactResponse < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Unique identifier for the contact
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute available_channels
13
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
14
+ #
15
+ # @return [String, nil]
16
+ optional :available_channels, String
17
+
18
+ # @!attribute country_code
19
+ # Country calling code (e.g., 1 for US/Canada)
20
+ #
21
+ # @return [String, nil]
22
+ optional :country_code, String
23
+
24
+ # @!attribute created_at
25
+ # When the contact was created
26
+ #
27
+ # @return [Time, nil]
28
+ optional :created_at, Time
29
+
30
+ # @!attribute customer_id
31
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
32
+ # Says whose resource this is, which the resource's own id does not.
33
+ #
34
+ # @return [String, nil]
35
+ optional :customer_id, String
36
+
37
+ # @!attribute default_channel
38
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
39
+ #
40
+ # @return [String, nil]
41
+ optional :default_channel, String
42
+
43
+ # @!attribute format_e164
44
+ # Phone number in E.164 format (e.g., +1234567890)
45
+ #
46
+ # @return [String, nil]
47
+ optional :format_e164, String
48
+
49
+ # @!attribute format_international
50
+ # Phone number in international format (e.g., +1 234-567-890)
51
+ #
52
+ # @return [String, nil]
53
+ optional :format_international, String
54
+
55
+ # @!attribute format_national
56
+ # Phone number in national format (e.g., (234) 567-890)
57
+ #
58
+ # @return [String, nil]
59
+ optional :format_national, String
60
+
61
+ # @!attribute format_rfc
62
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
63
+ #
64
+ # @return [String, nil]
65
+ optional :format_rfc, String
66
+
67
+ # @!attribute is_inherited
68
+ # @deprecated
69
+ #
70
+ # Always false. Contacts are no longer shared or inherited between sender profiles
71
+ # — a profile sees only the contacts it owns. Retained so existing v3 clients
72
+ # reading is_inherited keep deserializing; it carries no information.
73
+ #
74
+ # @return [Boolean, nil]
75
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
76
+
77
+ # @!attribute opt_out
78
+ # Whether the contact has opted out of messaging. Single source of truth — opt-out
79
+ # is per-contact, not per-channel.
80
+ #
81
+ # @return [Boolean, nil]
82
+ optional :opt_out, Sentdm::Internal::Type::Boolean
83
+
84
+ # @!attribute phone_number
85
+ # Phone number in original format
86
+ #
87
+ # @return [String, nil]
88
+ optional :phone_number, String
89
+
90
+ # @!attribute region_code
91
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
92
+ #
93
+ # @return [String, nil]
94
+ optional :region_code, String
95
+
96
+ # @!attribute updated_at
97
+ # When the contact was last updated
98
+ #
99
+ # @return [Time, nil]
100
+ optional :updated_at, Time, nil?: true
101
+
102
+ # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
103
+ # Some parameter documentations has been truncated, see
104
+ # {Sentdm::Models::ContactResponse} for more details.
105
+ #
106
+ # Contact response for v3 API Uses snake_case for JSON property names
107
+ #
108
+ # @param id [String] Unique identifier for the contact
109
+ #
110
+ # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
111
+ #
112
+ # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
113
+ #
114
+ # @param created_at [Time] When the contact was created
115
+ #
116
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
117
+ #
118
+ # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
119
+ #
120
+ # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
121
+ #
122
+ # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
123
+ #
124
+ # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
125
+ #
126
+ # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
127
+ #
128
+ # @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
129
+ #
130
+ # @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
131
+ #
132
+ # @param phone_number [String] Phone number in original format
133
+ #
134
+ # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
135
+ #
136
+ # @param updated_at [Time, nil] When the contact was last updated
137
+ end
138
+ end
139
+ end