sentdm 0.29.0 → 0.30.0

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