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
@@ -20,23 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::WebhookListResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::WebhookListResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::WebhookListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig do
38
- params(meta: Sentdm::Models::WebhookListResponse::Meta::OrHash).void
39
- end
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
34
  attr_writer :meta
41
35
 
42
36
  # Indicates whether the request was successful
@@ -50,8 +44,8 @@ module Sentdm
50
44
  sig do
51
45
  params(
52
46
  data: T.nilable(Sentdm::Models::WebhookListResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::WebhookListResponse::Error::OrHash),
54
- meta: Sentdm::Models::WebhookListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
55
49
  success: T::Boolean
56
50
  ).returns(T.attached_class)
57
51
  end
@@ -71,8 +65,8 @@ module Sentdm
71
65
  override.returns(
72
66
  {
73
67
  data: T.nilable(Sentdm::Models::WebhookListResponse::Data),
74
- error: T.nilable(Sentdm::Models::WebhookListResponse::Error),
75
- meta: Sentdm::Models::WebhookListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
76
70
  success: T::Boolean
77
71
  }
78
72
  )
@@ -90,50 +84,24 @@ module Sentdm
90
84
  end
91
85
 
92
86
  # Pagination metadata for list responses
93
- sig do
94
- returns(
95
- T.nilable(Sentdm::Models::WebhookListResponse::Data::Pagination)
96
- )
97
- end
87
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
98
88
  attr_reader :pagination
99
89
 
100
- sig do
101
- params(
102
- pagination:
103
- Sentdm::Models::WebhookListResponse::Data::Pagination::OrHash
104
- ).void
105
- end
90
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
106
91
  attr_writer :pagination
107
92
 
108
93
  # The webhooks on this page.
109
- sig do
110
- returns(
111
- T.nilable(
112
- T::Array[Sentdm::Models::WebhookListResponse::Data::Webhook]
113
- )
114
- )
115
- end
94
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookResponse])) }
116
95
  attr_reader :webhooks
117
96
 
118
- sig do
119
- params(
120
- webhooks:
121
- T::Array[
122
- Sentdm::Models::WebhookListResponse::Data::Webhook::OrHash
123
- ]
124
- ).void
125
- end
97
+ sig { params(webhooks: T::Array[Sentdm::WebhookResponse::OrHash]).void }
126
98
  attr_writer :webhooks
127
99
 
128
100
  # A paginated list of webhooks.
129
101
  sig do
130
102
  params(
131
- pagination:
132
- Sentdm::Models::WebhookListResponse::Data::Pagination::OrHash,
133
- webhooks:
134
- T::Array[
135
- Sentdm::Models::WebhookListResponse::Data::Webhook::OrHash
136
- ]
103
+ pagination: Sentdm::PaginationMeta::OrHash,
104
+ webhooks: T::Array[Sentdm::WebhookResponse::OrHash]
137
105
  ).returns(T.attached_class)
138
106
  end
139
107
  def self.new(
@@ -147,441 +115,14 @@ module Sentdm
147
115
  sig do
148
116
  override.returns(
149
117
  {
150
- pagination: Sentdm::Models::WebhookListResponse::Data::Pagination,
151
- webhooks:
152
- T::Array[Sentdm::Models::WebhookListResponse::Data::Webhook]
153
- }
154
- )
155
- end
156
- def to_hash
157
- end
158
-
159
- class Pagination < Sentdm::Internal::Type::BaseModel
160
- OrHash =
161
- T.type_alias do
162
- T.any(
163
- Sentdm::Models::WebhookListResponse::Data::Pagination,
164
- Sentdm::Internal::AnyHash
165
- )
166
- end
167
-
168
- # Cursor-based pagination. Never populated — see Cursors.
169
- sig do
170
- returns(
171
- T.nilable(
172
- Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors
173
- )
174
- )
175
- end
176
- attr_reader :cursors
177
-
178
- sig do
179
- params(
180
- cursors:
181
- T.nilable(
182
- Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors::OrHash
183
- )
184
- ).void
185
- end
186
- attr_writer :cursors
187
-
188
- # Whether there are more pages after this one
189
- sig { returns(T.nilable(T::Boolean)) }
190
- attr_reader :has_more
191
-
192
- sig { params(has_more: T::Boolean).void }
193
- attr_writer :has_more
194
-
195
- # Current page number (1-indexed)
196
- sig { returns(T.nilable(Integer)) }
197
- attr_reader :page
198
-
199
- sig { params(page: Integer).void }
200
- attr_writer :page
201
-
202
- # Number of items per page
203
- sig { returns(T.nilable(Integer)) }
204
- attr_reader :page_size
205
-
206
- sig { params(page_size: Integer).void }
207
- attr_writer :page_size
208
-
209
- # Total number of items across all pages
210
- sig { returns(T.nilable(Integer)) }
211
- attr_reader :total_count
212
-
213
- sig { params(total_count: Integer).void }
214
- attr_writer :total_count
215
-
216
- # Total number of pages
217
- sig { returns(T.nilable(Integer)) }
218
- attr_reader :total_pages
219
-
220
- sig { params(total_pages: Integer).void }
221
- attr_writer :total_pages
222
-
223
- # Pagination metadata for list responses
224
- sig do
225
- params(
226
- cursors:
227
- T.nilable(
228
- Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors::OrHash
229
- ),
230
- has_more: T::Boolean,
231
- page: Integer,
232
- page_size: Integer,
233
- total_count: Integer,
234
- total_pages: Integer
235
- ).returns(T.attached_class)
236
- end
237
- def self.new(
238
- # Cursor-based pagination. Never populated — see Cursors.
239
- cursors: nil,
240
- # Whether there are more pages after this one
241
- has_more: nil,
242
- # Current page number (1-indexed)
243
- page: nil,
244
- # Number of items per page
245
- page_size: nil,
246
- # Total number of items across all pages
247
- total_count: nil,
248
- # Total number of pages
249
- total_pages: nil
250
- )
251
- end
252
-
253
- sig do
254
- override.returns(
255
- {
256
- cursors:
257
- T.nilable(
258
- Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors
259
- ),
260
- has_more: T::Boolean,
261
- page: Integer,
262
- page_size: Integer,
263
- total_count: Integer,
264
- total_pages: Integer
265
- }
266
- )
267
- end
268
- def to_hash
269
- end
270
-
271
- class Cursors < Sentdm::Internal::Type::BaseModel
272
- OrHash =
273
- T.type_alias do
274
- T.any(
275
- Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors,
276
- Sentdm::Internal::AnyHash
277
- )
278
- end
279
-
280
- # Cursor to fetch the next page.
281
- sig { returns(T.nilable(String)) }
282
- attr_accessor :after
283
-
284
- # Cursor to fetch the previous page.
285
- sig { returns(T.nilable(String)) }
286
- attr_accessor :before
287
-
288
- # Cursor-based pagination. Never populated — see Cursors.
289
- sig do
290
- params(
291
- after: T.nilable(String),
292
- before: T.nilable(String)
293
- ).returns(T.attached_class)
294
- end
295
- def self.new(
296
- # Cursor to fetch the next page.
297
- after: nil,
298
- # Cursor to fetch the previous page.
299
- before: nil
300
- )
301
- end
302
-
303
- sig do
304
- override.returns(
305
- { after: T.nilable(String), before: T.nilable(String) }
306
- )
307
- end
308
- def to_hash
309
- end
310
- end
311
- end
312
-
313
- class Webhook < Sentdm::Internal::Type::BaseModel
314
- OrHash =
315
- T.type_alias do
316
- T.any(
317
- Sentdm::Models::WebhookListResponse::Data::Webhook,
318
- Sentdm::Internal::AnyHash
319
- )
320
- end
321
-
322
- sig { returns(T.nilable(String)) }
323
- attr_reader :id
324
-
325
- sig { params(id: String).void }
326
- attr_writer :id
327
-
328
- sig { returns(T.nilable(Integer)) }
329
- attr_reader :consecutive_failures
330
-
331
- sig { params(consecutive_failures: Integer).void }
332
- attr_writer :consecutive_failures
333
-
334
- sig { returns(T.nilable(Time)) }
335
- attr_reader :created_at
336
-
337
- sig { params(created_at: Time).void }
338
- attr_writer :created_at
339
-
340
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
341
- # Says whose resource this is, which the resource's own id does not.
342
- sig { returns(T.nilable(String)) }
343
- attr_reader :customer_id
344
-
345
- sig { params(customer_id: String).void }
346
- attr_writer :customer_id
347
-
348
- sig { returns(T.nilable(String)) }
349
- attr_reader :display_name
350
-
351
- sig { params(display_name: String).void }
352
- attr_writer :display_name
353
-
354
- sig { returns(T.nilable(String)) }
355
- attr_reader :endpoint_url
356
-
357
- sig { params(endpoint_url: String).void }
358
- attr_writer :endpoint_url
359
-
360
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
361
- attr_accessor :event_filters
362
-
363
- sig { returns(T.nilable(T::Array[String])) }
364
- attr_reader :event_types
365
-
366
- sig { params(event_types: T::Array[String]).void }
367
- attr_writer :event_types
368
-
369
- sig { returns(T.nilable(T::Boolean)) }
370
- attr_reader :is_active
371
-
372
- sig { params(is_active: T::Boolean).void }
373
- attr_writer :is_active
374
-
375
- sig { returns(T.nilable(Time)) }
376
- attr_accessor :last_delivery_attempt_at
377
-
378
- sig { returns(T.nilable(Time)) }
379
- attr_accessor :last_successful_delivery_at
380
-
381
- sig { returns(T.nilable(Integer)) }
382
- attr_reader :retry_count
383
-
384
- sig { params(retry_count: Integer).void }
385
- attr_writer :retry_count
386
-
387
- sig { returns(T.nilable(String)) }
388
- attr_accessor :signing_secret
389
-
390
- sig { returns(T.nilable(Integer)) }
391
- attr_reader :timeout_seconds
392
-
393
- sig { params(timeout_seconds: Integer).void }
394
- attr_writer :timeout_seconds
395
-
396
- sig { returns(T.nilable(Time)) }
397
- attr_accessor :updated_at
398
-
399
- sig do
400
- params(
401
- id: String,
402
- consecutive_failures: Integer,
403
- created_at: Time,
404
- customer_id: String,
405
- display_name: String,
406
- endpoint_url: String,
407
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
408
- event_types: T::Array[String],
409
- is_active: T::Boolean,
410
- last_delivery_attempt_at: T.nilable(Time),
411
- last_successful_delivery_at: T.nilable(Time),
412
- retry_count: Integer,
413
- signing_secret: T.nilable(String),
414
- timeout_seconds: Integer,
415
- updated_at: T.nilable(Time)
416
- ).returns(T.attached_class)
417
- end
418
- def self.new(
419
- id: nil,
420
- consecutive_failures: nil,
421
- created_at: nil,
422
- # Which customer owns this — the key's own, or the profile named in x-profile-id.
423
- # Says whose resource this is, which the resource's own id does not.
424
- customer_id: nil,
425
- display_name: nil,
426
- endpoint_url: nil,
427
- event_filters: nil,
428
- event_types: nil,
429
- is_active: nil,
430
- last_delivery_attempt_at: nil,
431
- last_successful_delivery_at: nil,
432
- retry_count: nil,
433
- signing_secret: nil,
434
- timeout_seconds: nil,
435
- updated_at: nil
436
- )
437
- end
438
-
439
- sig do
440
- override.returns(
441
- {
442
- id: String,
443
- consecutive_failures: Integer,
444
- created_at: Time,
445
- customer_id: String,
446
- display_name: String,
447
- endpoint_url: String,
448
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
449
- event_types: T::Array[String],
450
- is_active: T::Boolean,
451
- last_delivery_attempt_at: T.nilable(Time),
452
- last_successful_delivery_at: T.nilable(Time),
453
- retry_count: Integer,
454
- signing_secret: T.nilable(String),
455
- timeout_seconds: Integer,
456
- updated_at: T.nilable(Time)
457
- }
458
- )
459
- end
460
- def to_hash
461
- end
462
- end
463
- end
464
-
465
- class Error < Sentdm::Internal::Type::BaseModel
466
- OrHash =
467
- T.type_alias do
468
- T.any(
469
- Sentdm::Models::WebhookListResponse::Error,
470
- Sentdm::Internal::AnyHash
471
- )
472
- end
473
-
474
- # Machine-readable error code (e.g., "RESOURCE_001")
475
- sig { returns(T.nilable(String)) }
476
- attr_reader :code
477
-
478
- sig { params(code: String).void }
479
- attr_writer :code
480
-
481
- # Additional validation error details (field-level errors)
482
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
483
- attr_accessor :details
484
-
485
- # URL to documentation about this error
486
- sig { returns(T.nilable(String)) }
487
- attr_accessor :doc_url
488
-
489
- # Human-readable error message
490
- sig { returns(T.nilable(String)) }
491
- attr_reader :message
492
-
493
- sig { params(message: String).void }
494
- attr_writer :message
495
-
496
- # Error information
497
- sig do
498
- params(
499
- code: String,
500
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
501
- doc_url: T.nilable(String),
502
- message: String
503
- ).returns(T.attached_class)
504
- end
505
- def self.new(
506
- # Machine-readable error code (e.g., "RESOURCE_001")
507
- code: nil,
508
- # Additional validation error details (field-level errors)
509
- details: nil,
510
- # URL to documentation about this error
511
- doc_url: nil,
512
- # Human-readable error message
513
- message: nil
514
- )
515
- end
516
-
517
- sig do
518
- override.returns(
519
- {
520
- code: String,
521
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
522
- doc_url: T.nilable(String),
523
- message: String
118
+ pagination: Sentdm::PaginationMeta,
119
+ webhooks: T::Array[Sentdm::WebhookResponse]
524
120
  }
525
121
  )
526
122
  end
527
123
  def to_hash
528
124
  end
529
125
  end
530
-
531
- class Meta < Sentdm::Internal::Type::BaseModel
532
- OrHash =
533
- T.type_alias do
534
- T.any(
535
- Sentdm::Models::WebhookListResponse::Meta,
536
- Sentdm::Internal::AnyHash
537
- )
538
- end
539
-
540
- # Unique identifier for this request (for tracing and support)
541
- sig { returns(T.nilable(String)) }
542
- attr_reader :request_id
543
-
544
- sig { params(request_id: String).void }
545
- attr_writer :request_id
546
-
547
- # Server timestamp when the response was generated
548
- sig { returns(T.nilable(Time)) }
549
- attr_reader :timestamp
550
-
551
- sig { params(timestamp: Time).void }
552
- attr_writer :timestamp
553
-
554
- # API version used for this request
555
- sig { returns(T.nilable(String)) }
556
- attr_reader :version
557
-
558
- sig { params(version: String).void }
559
- attr_writer :version
560
-
561
- # Request and response metadata
562
- sig do
563
- params(request_id: String, timestamp: Time, version: String).returns(
564
- T.attached_class
565
- )
566
- end
567
- def self.new(
568
- # Unique identifier for this request (for tracing and support)
569
- request_id: nil,
570
- # Server timestamp when the response was generated
571
- timestamp: nil,
572
- # API version used for this request
573
- version: nil
574
- )
575
- end
576
-
577
- sig do
578
- override.returns(
579
- { request_id: String, timestamp: Time, version: String }
580
- )
581
- end
582
- def to_hash
583
- end
584
- end
585
126
  end
586
127
  end
587
128
  end
@@ -0,0 +1,153 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookResponse, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :id
13
+
14
+ sig { params(id: String).void }
15
+ attr_writer :id
16
+
17
+ sig { returns(T.nilable(Integer)) }
18
+ attr_reader :consecutive_failures
19
+
20
+ sig { params(consecutive_failures: Integer).void }
21
+ attr_writer :consecutive_failures
22
+
23
+ sig { returns(T.nilable(Time)) }
24
+ attr_reader :created_at
25
+
26
+ sig { params(created_at: Time).void }
27
+ attr_writer :created_at
28
+
29
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
30
+ # Says whose resource this is, which the resource's own id does not.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :customer_id
33
+
34
+ sig { params(customer_id: String).void }
35
+ attr_writer :customer_id
36
+
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :display_name
39
+
40
+ sig { params(display_name: String).void }
41
+ attr_writer :display_name
42
+
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :endpoint_url
45
+
46
+ sig { params(endpoint_url: String).void }
47
+ attr_writer :endpoint_url
48
+
49
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
50
+ attr_accessor :event_filters
51
+
52
+ sig { returns(T.nilable(T::Array[String])) }
53
+ attr_reader :event_types
54
+
55
+ sig { params(event_types: T::Array[String]).void }
56
+ attr_writer :event_types
57
+
58
+ sig { returns(T.nilable(T::Boolean)) }
59
+ attr_reader :is_active
60
+
61
+ sig { params(is_active: T::Boolean).void }
62
+ attr_writer :is_active
63
+
64
+ sig { returns(T.nilable(Time)) }
65
+ attr_accessor :last_delivery_attempt_at
66
+
67
+ sig { returns(T.nilable(Time)) }
68
+ attr_accessor :last_successful_delivery_at
69
+
70
+ sig { returns(T.nilable(Integer)) }
71
+ attr_reader :retry_count
72
+
73
+ sig { params(retry_count: Integer).void }
74
+ attr_writer :retry_count
75
+
76
+ sig { returns(T.nilable(String)) }
77
+ attr_accessor :signing_secret
78
+
79
+ sig { returns(T.nilable(Integer)) }
80
+ attr_reader :timeout_seconds
81
+
82
+ sig { params(timeout_seconds: Integer).void }
83
+ attr_writer :timeout_seconds
84
+
85
+ sig { returns(T.nilable(Time)) }
86
+ attr_accessor :updated_at
87
+
88
+ sig do
89
+ params(
90
+ id: String,
91
+ consecutive_failures: Integer,
92
+ created_at: Time,
93
+ customer_id: String,
94
+ display_name: String,
95
+ endpoint_url: String,
96
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
97
+ event_types: T::Array[String],
98
+ is_active: T::Boolean,
99
+ last_delivery_attempt_at: T.nilable(Time),
100
+ last_successful_delivery_at: T.nilable(Time),
101
+ retry_count: Integer,
102
+ signing_secret: T.nilable(String),
103
+ timeout_seconds: Integer,
104
+ updated_at: T.nilable(Time)
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ id: nil,
109
+ consecutive_failures: nil,
110
+ created_at: nil,
111
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
112
+ # Says whose resource this is, which the resource's own id does not.
113
+ customer_id: nil,
114
+ display_name: nil,
115
+ endpoint_url: nil,
116
+ event_filters: nil,
117
+ event_types: nil,
118
+ is_active: nil,
119
+ last_delivery_attempt_at: nil,
120
+ last_successful_delivery_at: nil,
121
+ retry_count: nil,
122
+ signing_secret: nil,
123
+ timeout_seconds: nil,
124
+ updated_at: nil
125
+ )
126
+ end
127
+
128
+ sig do
129
+ override.returns(
130
+ {
131
+ id: String,
132
+ consecutive_failures: Integer,
133
+ created_at: Time,
134
+ customer_id: String,
135
+ display_name: String,
136
+ endpoint_url: String,
137
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
138
+ event_types: T::Array[String],
139
+ is_active: T::Boolean,
140
+ last_delivery_attempt_at: T.nilable(Time),
141
+ last_successful_delivery_at: T.nilable(Time),
142
+ retry_count: Integer,
143
+ signing_secret: T.nilable(String),
144
+ timeout_seconds: Integer,
145
+ updated_at: T.nilable(Time)
146
+ }
147
+ )
148
+ end
149
+ def to_hash
150
+ end
151
+ end
152
+ end
153
+ end