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
@@ -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