sentdm 0.45.0 → 0.46.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 (476) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +11 -11
  4. data/lib/sentdm/client.rb +66 -0
  5. data/lib/sentdm/internal/sender_profiles_page.rb +140 -0
  6. data/lib/sentdm/internal/type/enum.rb +11 -11
  7. data/lib/sentdm/models/account.rb +173 -0
  8. data/lib/sentdm/models/account_channels.rb +39 -0
  9. data/lib/sentdm/models/account_profile.rb +86 -0
  10. data/lib/sentdm/models/account_rcs_channel.rb +26 -0
  11. data/lib/sentdm/models/account_sms_channel.rb +26 -0
  12. data/lib/sentdm/models/account_whatsapp_channel.rb +35 -0
  13. data/lib/sentdm/models/api_response_of_account.rb +48 -0
  14. data/lib/sentdm/models/api_response_of_cancelled_message.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_channels_state.rb +48 -0
  16. data/lib/sentdm/models/api_response_of_compliance_requirements.rb +47 -0
  17. data/lib/sentdm/models/api_response_of_contacts_list.rb +42 -0
  18. data/lib/sentdm/models/api_response_of_message.rb +51 -0
  19. data/lib/sentdm/models/api_response_of_message_activities.rb +43 -0
  20. data/lib/sentdm/models/api_response_of_number_lookup_result.rb +43 -0
  21. data/lib/sentdm/models/api_response_of_profile_completion_accepted.rb +47 -0
  22. data/lib/sentdm/models/api_response_of_profile_completion_result.rb +47 -0
  23. data/lib/sentdm/models/api_response_of_profiles_list.rb +43 -0
  24. data/lib/sentdm/models/api_response_of_sender_profile.rb +54 -0
  25. data/lib/sentdm/models/api_response_of_sender_profiles_list.rb +42 -0
  26. data/lib/sentdm/models/api_response_of_templates_list.rb +42 -0
  27. data/lib/sentdm/models/api_response_of_users_list.rb +43 -0
  28. data/lib/sentdm/models/api_response_of_webhook_event_types_list.rb +43 -0
  29. data/lib/sentdm/models/api_response_of_webhook_events_list.rb +42 -0
  30. data/lib/sentdm/models/{webhook_rotate_secret_response.rb → api_response_of_webhook_secret.rb} +4 -17
  31. data/lib/sentdm/models/{webhook_test_response.rb → api_response_of_webhook_test.rb} +4 -23
  32. data/lib/sentdm/models/api_response_of_webhooks_list.rb +42 -0
  33. data/lib/sentdm/models/billing_contact.rb +35 -0
  34. data/lib/sentdm/models/brand_business.rb +96 -0
  35. data/lib/sentdm/models/brand_business_info.rb +3 -20
  36. data/lib/sentdm/models/brand_compliance.rb +75 -0
  37. data/lib/sentdm/models/brand_contact.rb +56 -0
  38. data/lib/sentdm/models/brand_with_kyc.rb +129 -0
  39. data/lib/sentdm/models/cancelled_message.rb +28 -0
  40. data/lib/sentdm/models/channel_event_payload.rb +3 -114
  41. data/lib/sentdm/models/channel_list_params.rb +20 -0
  42. data/lib/sentdm/models/channel_score.rb +35 -0
  43. data/lib/sentdm/models/channels/api_response_of_list_of_sms_market.rb +45 -0
  44. data/lib/sentdm/models/channels/api_response_of_rcs_agent.rb +60 -0
  45. data/lib/sentdm/models/channels/api_response_of_sms_market.rb +54 -0
  46. data/lib/sentdm/models/channels/api_response_of_whatsapp_channel.rb +47 -0
  47. data/lib/sentdm/models/channels/market_compliance.rb +409 -0
  48. data/lib/sentdm/models/channels/rc_create_params.rb +260 -0
  49. data/lib/sentdm/models/channels/rcs_address.rb +43 -0
  50. data/lib/sentdm/models/channels/rcs_agent.rb +278 -0
  51. data/lib/sentdm/models/channels/sms_create_params.rb +173 -0
  52. data/lib/sentdm/models/channels/sms_list_params.rb +22 -0
  53. data/lib/sentdm/models/channels/sms_market.rb +158 -0
  54. data/lib/sentdm/models/channels/sms_number.rb +41 -0
  55. data/lib/sentdm/models/channels/sms_number_request.rb +33 -0
  56. data/lib/sentdm/models/channels/sms_retrieve_params.rb +34 -0
  57. data/lib/sentdm/models/channels/sms_update_params.rb +64 -0
  58. data/lib/sentdm/models/channels/supplied_compliance.rb +89 -0
  59. data/lib/sentdm/models/channels/supplied_document.rb +35 -0
  60. data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
  61. data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
  62. data/lib/sentdm/models/channels_state.rb +89 -0
  63. data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
  64. data/lib/sentdm/models/compliance_requirement.rb +112 -0
  65. data/lib/sentdm/models/compliance_requirements.rb +98 -0
  66. data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
  67. data/lib/sentdm/models/compliance_setup_step.rb +78 -0
  68. data/lib/sentdm/models/contact_message_summary.rb +3 -34
  69. data/lib/sentdm/models/contacts_list.rb +26 -0
  70. data/lib/sentdm/models/conversation_messages_list.rb +3 -430
  71. data/lib/sentdm/models/entity_type.rb +18 -0
  72. data/lib/sentdm/models/inbound_media.rb +53 -0
  73. data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
  74. data/lib/sentdm/models/link_event.rb +79 -0
  75. data/lib/sentdm/models/link_event_payload.rb +211 -0
  76. data/lib/sentdm/models/message.rb +168 -0
  77. data/lib/sentdm/models/message_activities.rb +34 -0
  78. data/lib/sentdm/models/message_activity.rb +105 -0
  79. data/lib/sentdm/models/message_body.rb +79 -0
  80. data/lib/sentdm/models/message_button.rb +33 -0
  81. data/lib/sentdm/models/message_cancel_params.rb +32 -0
  82. data/lib/sentdm/models/message_channel_options.rb +43 -0
  83. data/lib/sentdm/models/message_header_media.rb +31 -0
  84. data/lib/sentdm/models/message_media.rb +74 -0
  85. data/lib/sentdm/models/message_recipient.rb +46 -0
  86. data/lib/sentdm/models/message_send_params.rb +6 -90
  87. data/lib/sentdm/models/message_send_response.rb +3 -95
  88. data/lib/sentdm/models/message_send_result.rb +55 -0
  89. data/lib/sentdm/models/message_status_event.rb +54 -0
  90. data/lib/sentdm/models/mms_market.rb +48 -0
  91. data/lib/sentdm/models/number_lookup_result.rb +63 -0
  92. data/lib/sentdm/models/pagination_cursors.rb +27 -0
  93. data/lib/sentdm/models/pagination_meta.rb +3 -27
  94. data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
  95. data/lib/sentdm/models/profile_completion_result.rb +31 -0
  96. data/lib/sentdm/models/profile_detail.rb +6 -408
  97. data/lib/sentdm/models/profiles/brand_campaign.rb +3 -15
  98. data/lib/sentdm/models/profiles_list.rb +26 -0
  99. data/lib/sentdm/models/sender_profile.rb +138 -0
  100. data/lib/sentdm/models/sender_profile_billing.rb +21 -0
  101. data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
  102. data/lib/sentdm/models/sender_profile_channels.rb +90 -0
  103. data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
  104. data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
  105. data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
  106. data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
  107. data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
  108. data/lib/sentdm/models/sender_profile_sms.rb +106 -0
  109. data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
  110. data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
  111. data/lib/sentdm/models/sender_profiles_list.rb +26 -0
  112. data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
  113. data/lib/sentdm/models/tcr_brand_status.rb +16 -0
  114. data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
  115. data/lib/sentdm/models/template_body.rb +3 -70
  116. data/lib/sentdm/models/template_header.rb +3 -37
  117. data/lib/sentdm/models/template_header_location.rb +38 -0
  118. data/lib/sentdm/models/template_media_item.rb +34 -0
  119. data/lib/sentdm/models/template_mms_body_content.rb +49 -0
  120. data/lib/sentdm/models/template_ref.rb +51 -0
  121. data/lib/sentdm/models/template_variable.rb +3 -64
  122. data/lib/sentdm/models/template_variable_props.rb +65 -0
  123. data/lib/sentdm/models/templates_list.rb +26 -0
  124. data/lib/sentdm/models/users_list.rb +26 -0
  125. data/lib/sentdm/models/voice/call.rb +3 -54
  126. data/lib/sentdm/models/voice/call_leg.rb +58 -0
  127. data/lib/sentdm/models/webhook_create_params.rb +3 -25
  128. data/lib/sentdm/models/webhook_delivery.rb +160 -0
  129. data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
  130. data/lib/sentdm/models/webhook_events_list.rb +26 -0
  131. data/lib/sentdm/models/webhook_response.rb +3 -28
  132. data/lib/sentdm/models/webhook_secret.rb +15 -0
  133. data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
  134. data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
  135. data/lib/sentdm/models/webhook_test.rb +21 -0
  136. data/lib/sentdm/models/webhook_update_params.rb +3 -25
  137. data/lib/sentdm/models/webhooks_list.rb +26 -0
  138. data/lib/sentdm/models.rb +188 -0
  139. data/lib/sentdm/resources/channels/rcs.rb +177 -0
  140. data/lib/sentdm/resources/channels/sms.rb +417 -0
  141. data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
  142. data/lib/sentdm/resources/channels.rb +162 -0
  143. data/lib/sentdm/resources/compliance.rb +127 -0
  144. data/lib/sentdm/resources/conversations.rb +4 -4
  145. data/lib/sentdm/resources/me.rb +2 -2
  146. data/lib/sentdm/resources/messages.rb +71 -6
  147. data/lib/sentdm/resources/numbers.rb +2 -2
  148. data/lib/sentdm/resources/profiles.rb +4 -4
  149. data/lib/sentdm/resources/sender_profiles.rb +463 -0
  150. data/lib/sentdm/resources/users.rb +2 -2
  151. data/lib/sentdm/resources/webhooks.rb +10 -10
  152. data/lib/sentdm/version.rb +1 -1
  153. data/lib/sentdm.rb +120 -11
  154. data/rbi/sentdm/client.rbi +64 -0
  155. data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
  156. data/rbi/sentdm/models/account.rbi +242 -0
  157. data/rbi/sentdm/models/account_channels.rbi +66 -0
  158. data/rbi/sentdm/models/account_profile.rbi +116 -0
  159. data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
  160. data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
  161. data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
  162. data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
  163. data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
  164. data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
  165. data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
  166. data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
  167. data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
  168. data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
  169. data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
  170. data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
  171. data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
  172. data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
  173. data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
  174. data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
  175. data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
  176. data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
  177. data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
  178. data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
  179. data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
  180. data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
  181. data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
  182. data/rbi/sentdm/models/billing_contact.rbi +49 -0
  183. data/rbi/sentdm/models/brand_business.rbi +115 -0
  184. data/rbi/sentdm/models/brand_business_info.rbi +3 -49
  185. data/rbi/sentdm/models/brand_compliance.rbi +108 -0
  186. data/rbi/sentdm/models/brand_contact.rbi +78 -0
  187. data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
  188. data/rbi/sentdm/models/cancelled_message.rbi +37 -0
  189. data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
  190. data/rbi/sentdm/models/channel_list_params.rbi +38 -0
  191. data/rbi/sentdm/models/channel_score.rbi +56 -0
  192. data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
  193. data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
  194. data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
  195. data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
  196. data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
  197. data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
  198. data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
  199. data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
  200. data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
  201. data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
  202. data/rbi/sentdm/models/channels/sms_market.rbi +247 -0
  203. data/rbi/sentdm/models/channels/sms_number.rbi +60 -0
  204. data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
  205. data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
  206. data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
  207. data/rbi/sentdm/models/channels/supplied_compliance.rbi +140 -0
  208. data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
  209. data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
  210. data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
  211. data/rbi/sentdm/models/channels_state.rbi +151 -0
  212. data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
  213. data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
  214. data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
  215. data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
  216. data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
  217. data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
  218. data/rbi/sentdm/models/contacts_list.rbi +50 -0
  219. data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
  220. data/rbi/sentdm/models/entity_type.rbi +23 -0
  221. data/rbi/sentdm/models/inbound_media.rbi +76 -0
  222. data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
  223. data/rbi/sentdm/models/link_event.rbi +128 -0
  224. data/rbi/sentdm/models/link_event_payload.rbi +279 -0
  225. data/rbi/sentdm/models/message.rbi +214 -0
  226. data/rbi/sentdm/models/message_activities.rbi +63 -0
  227. data/rbi/sentdm/models/message_activity.rbi +145 -0
  228. data/rbi/sentdm/models/message_body.rbi +104 -0
  229. data/rbi/sentdm/models/message_button.rbi +52 -0
  230. data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
  231. data/rbi/sentdm/models/message_channel_options.rbi +65 -0
  232. data/rbi/sentdm/models/message_header_media.rbi +44 -0
  233. data/rbi/sentdm/models/message_media.rbi +95 -0
  234. data/rbi/sentdm/models/message_recipient.rbi +70 -0
  235. data/rbi/sentdm/models/message_send_params.rbi +7 -155
  236. data/rbi/sentdm/models/message_send_response.rbi +4 -163
  237. data/rbi/sentdm/models/message_send_result.rbi +85 -0
  238. data/rbi/sentdm/models/message_status_event.rbi +70 -0
  239. data/rbi/sentdm/models/mms_market.rbi +66 -0
  240. data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
  241. data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
  242. data/rbi/sentdm/models/pagination_meta.rbi +4 -43
  243. data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
  244. data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
  245. data/rbi/sentdm/models/profile_detail.rbi +8 -621
  246. data/rbi/sentdm/models/profiles/brand_campaign.rbi +3 -45
  247. data/rbi/sentdm/models/profiles_list.rbi +50 -0
  248. data/rbi/sentdm/models/sender_profile.rbi +204 -0
  249. data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
  250. data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
  251. data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
  252. data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
  253. data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
  254. data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
  255. data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
  256. data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
  257. data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
  258. data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
  259. data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
  260. data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
  261. data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
  262. data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
  263. data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
  264. data/rbi/sentdm/models/template_body.rbi +6 -114
  265. data/rbi/sentdm/models/template_header.rbi +4 -53
  266. data/rbi/sentdm/models/template_header_location.rbi +47 -0
  267. data/rbi/sentdm/models/template_media_item.rbi +51 -0
  268. data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
  269. data/rbi/sentdm/models/template_ref.rbi +79 -0
  270. data/rbi/sentdm/models/template_variable.rbi +4 -80
  271. data/rbi/sentdm/models/template_variable_props.rbi +81 -0
  272. data/rbi/sentdm/models/templates_list.rbi +50 -0
  273. data/rbi/sentdm/models/users_list.rbi +50 -0
  274. data/rbi/sentdm/models/voice/call.rbi +3 -86
  275. data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
  276. data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
  277. data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
  278. data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
  279. data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
  280. data/rbi/sentdm/models/webhook_response.rbi +4 -50
  281. data/rbi/sentdm/models/webhook_secret.rbi +24 -0
  282. data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
  283. data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
  284. data/rbi/sentdm/models/webhook_test.rbi +32 -0
  285. data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
  286. data/rbi/sentdm/models/webhooks_list.rbi +50 -0
  287. data/rbi/sentdm/models.rbi +197 -0
  288. data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
  289. data/rbi/sentdm/resources/channels/sms.rbi +437 -0
  290. data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
  291. data/rbi/sentdm/resources/channels.rbi +149 -0
  292. data/rbi/sentdm/resources/compliance.rbi +121 -0
  293. data/rbi/sentdm/resources/conversations.rbi +2 -10
  294. data/rbi/sentdm/resources/me.rbi +1 -1
  295. data/rbi/sentdm/resources/messages.rbi +64 -7
  296. data/rbi/sentdm/resources/numbers.rbi +1 -1
  297. data/rbi/sentdm/resources/profiles.rbi +2 -2
  298. data/rbi/sentdm/resources/sender_profiles.rbi +461 -0
  299. data/rbi/sentdm/resources/users.rbi +1 -1
  300. data/rbi/sentdm/resources/webhooks.rbi +6 -12
  301. data/sig/sentdm/client.rbs +4 -0
  302. data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
  303. data/sig/sentdm/models/account.rbs +111 -0
  304. data/sig/sentdm/models/account_channels.rbs +38 -0
  305. data/sig/sentdm/models/account_profile.rbs +68 -0
  306. data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
  307. data/sig/sentdm/models/account_sms_channel.rbs +17 -0
  308. data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
  309. data/sig/sentdm/models/api_response_of_account.rbs +39 -0
  310. data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
  311. data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
  312. data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
  313. data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
  314. data/sig/sentdm/models/api_response_of_message.rbs +39 -0
  315. data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
  316. data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
  317. data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
  318. data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
  319. data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
  320. data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
  321. data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
  322. data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
  323. data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
  324. data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
  325. data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
  326. data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
  327. data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
  328. data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
  329. data/sig/sentdm/models/billing_contact.rbs +30 -0
  330. data/sig/sentdm/models/brand_business.rbs +70 -0
  331. data/sig/sentdm/models/brand_business_info.rbs +4 -23
  332. data/sig/sentdm/models/brand_compliance.rbs +56 -0
  333. data/sig/sentdm/models/brand_contact.rbs +47 -0
  334. data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
  335. data/sig/sentdm/models/cancelled_message.rbs +15 -0
  336. data/sig/sentdm/models/channel_event_payload.rbs +4 -56
  337. data/sig/sentdm/models/channel_list_params.rbs +25 -0
  338. data/sig/sentdm/models/channel_score.rbs +32 -0
  339. data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
  340. data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
  341. data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
  342. data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
  343. data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
  344. data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
  345. data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
  346. data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
  347. data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
  348. data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
  349. data/sig/sentdm/models/channels/sms_market.rbs +85 -0
  350. data/sig/sentdm/models/channels/sms_number.rbs +28 -0
  351. data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
  352. data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
  353. data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
  354. data/sig/sentdm/models/channels/supplied_compliance.rbs +32 -0
  355. data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
  356. data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
  357. data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
  358. data/sig/sentdm/models/channels_state.rbs +55 -0
  359. data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
  360. data/sig/sentdm/models/compliance_requirement.rbs +76 -0
  361. data/sig/sentdm/models/compliance_requirements.rbs +66 -0
  362. data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
  363. data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
  364. data/sig/sentdm/models/contact_message_summary.rbs +6 -35
  365. data/sig/sentdm/models/contacts_list.rbs +31 -0
  366. data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
  367. data/sig/sentdm/models/entity_type.rbs +22 -0
  368. data/sig/sentdm/models/inbound_media.rbs +35 -0
  369. data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
  370. data/sig/sentdm/models/link_event.rbs +44 -0
  371. data/sig/sentdm/models/link_event_payload.rbs +106 -0
  372. data/sig/sentdm/models/message.rbs +130 -0
  373. data/sig/sentdm/models/message_activities.rbs +38 -0
  374. data/sig/sentdm/models/message_activity.rbs +66 -0
  375. data/sig/sentdm/models/message_body.rbs +52 -0
  376. data/sig/sentdm/models/message_button.rbs +34 -0
  377. data/sig/sentdm/models/message_cancel_params.rbs +38 -0
  378. data/sig/sentdm/models/message_channel_options.rbs +26 -0
  379. data/sig/sentdm/models/message_header_media.rbs +19 -0
  380. data/sig/sentdm/models/message_media.rbs +40 -0
  381. data/sig/sentdm/models/message_recipient.rbs +34 -0
  382. data/sig/sentdm/models/message_send_params.rbs +8 -54
  383. data/sig/sentdm/models/message_send_response.rbs +4 -77
  384. data/sig/sentdm/models/message_send_result.rbs +45 -0
  385. data/sig/sentdm/models/message_status_event.rbs +40 -0
  386. data/sig/sentdm/models/mms_market.rbs +35 -0
  387. data/sig/sentdm/models/number_lookup_result.rbs +64 -0
  388. data/sig/sentdm/models/pagination_cursors.rbs +15 -0
  389. data/sig/sentdm/models/pagination_meta.rbs +4 -16
  390. data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
  391. data/sig/sentdm/models/profile_completion_result.rbs +19 -0
  392. data/sig/sentdm/models/profile_detail.rbs +8 -315
  393. data/sig/sentdm/models/profiles/brand_campaign.rbs +4 -16
  394. data/sig/sentdm/models/profiles_list.rbs +31 -0
  395. data/sig/sentdm/models/sender_profile.rbs +76 -0
  396. data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
  397. data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
  398. data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
  399. data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
  400. data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
  401. data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
  402. data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
  403. data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
  404. data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
  405. data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
  406. data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
  407. data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
  408. data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
  409. data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
  410. data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
  411. data/sig/sentdm/models/template_body.rbs +4 -43
  412. data/sig/sentdm/models/template_header.rbs +4 -31
  413. data/sig/sentdm/models/template_header_location.rbs +30 -0
  414. data/sig/sentdm/models/template_media_item.rbs +17 -0
  415. data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
  416. data/sig/sentdm/models/template_ref.rbs +26 -0
  417. data/sig/sentdm/models/template_variable.rbs +4 -51
  418. data/sig/sentdm/models/template_variable_props.rbs +50 -0
  419. data/sig/sentdm/models/templates_list.rbs +29 -0
  420. data/sig/sentdm/models/users_list.rbs +31 -0
  421. data/sig/sentdm/models/voice/call.rbs +4 -49
  422. data/sig/sentdm/models/voice/call_leg.rbs +50 -0
  423. data/sig/sentdm/models/webhook_create_params.rbs +4 -28
  424. data/sig/sentdm/models/webhook_delivery.rbs +99 -0
  425. data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
  426. data/sig/sentdm/models/webhook_events_list.rbs +31 -0
  427. data/sig/sentdm/models/webhook_response.rbs +4 -28
  428. data/sig/sentdm/models/webhook_secret.rbs +15 -0
  429. data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
  430. data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
  431. data/sig/sentdm/models/webhook_test.rbs +19 -0
  432. data/sig/sentdm/models/webhook_update_params.rbs +4 -28
  433. data/sig/sentdm/models/webhooks_list.rbs +31 -0
  434. data/sig/sentdm/models.rbs +188 -0
  435. data/sig/sentdm/resources/channels/rcs.rbs +41 -0
  436. data/sig/sentdm/resources/channels/sms.rbs +44 -0
  437. data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
  438. data/sig/sentdm/resources/channels.rbs +11 -0
  439. data/sig/sentdm/resources/compliance.rbs +15 -0
  440. data/sig/sentdm/resources/conversations.rbs +2 -2
  441. data/sig/sentdm/resources/me.rbs +1 -1
  442. data/sig/sentdm/resources/messages.rbs +12 -4
  443. data/sig/sentdm/resources/numbers.rbs +1 -1
  444. data/sig/sentdm/resources/profiles.rbs +2 -2
  445. data/sig/sentdm/resources/sender_profiles.rbs +44 -0
  446. data/sig/sentdm/resources/users.rbs +1 -1
  447. data/sig/sentdm/resources/webhooks.rbs +6 -6
  448. metadata +362 -35
  449. data/lib/sentdm/models/me_retrieve_response.rb +0 -409
  450. data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
  451. data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
  452. data/lib/sentdm/models/number_lookup_response.rb +0 -104
  453. data/lib/sentdm/models/profile_complete_response.rb +0 -74
  454. data/lib/sentdm/models/profile_list_response.rb +0 -65
  455. data/lib/sentdm/models/user_list_response.rb +0 -65
  456. data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
  457. data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
  458. data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
  459. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
  460. data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
  461. data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
  462. data/rbi/sentdm/models/profile_list_response.rbi +0 -128
  463. data/rbi/sentdm/models/user_list_response.rbi +0 -128
  464. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
  465. data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
  466. data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
  467. data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
  468. data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
  469. data/sig/sentdm/models/number_lookup_response.rbs +0 -100
  470. data/sig/sentdm/models/profile_complete_response.rbs +0 -55
  471. data/sig/sentdm/models/profile_list_response.rbs +0 -67
  472. data/sig/sentdm/models/user_list_response.rbs +0 -67
  473. data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
  474. data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
  475. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
  476. data/sig/sentdm/models/webhook_test_response.rbs +0 -55
@@ -61,13 +61,12 @@ module Sentdm
61
61
  # Request-only: the events an organization webhook's sender profile clones
62
62
  # receive, one clone per existing and future profile. A version 1 webhook's
63
63
  # responses report it as WebhookSenderProfileV3Response.
64
- sig { returns(T.nilable(Sentdm::WebhookCreateParams::SenderProfile)) }
64
+ sig { returns(T.nilable(Sentdm::WebhookSenderProfileConfig)) }
65
65
  attr_reader :sender_profile
66
66
 
67
67
  sig do
68
68
  params(
69
- sender_profile:
70
- T.nilable(Sentdm::WebhookCreateParams::SenderProfile::OrHash)
69
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfileConfig::OrHash)
71
70
  ).void
72
71
  end
73
72
  attr_writer :sender_profile
@@ -106,8 +105,7 @@ module Sentdm
106
105
  is_inheritable: T::Boolean,
107
106
  retry_count: Integer,
108
107
  sandbox: T::Boolean,
109
- sender_profile:
110
- T.nilable(Sentdm::WebhookCreateParams::SenderProfile::OrHash),
108
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfileConfig::OrHash),
111
109
  timeout_seconds: Integer,
112
110
  webhook_version: T.nilable(Integer),
113
111
  idempotency_key: String,
@@ -157,8 +155,7 @@ module Sentdm
157
155
  is_inheritable: T::Boolean,
158
156
  retry_count: Integer,
159
157
  sandbox: T::Boolean,
160
- sender_profile:
161
- T.nilable(Sentdm::WebhookCreateParams::SenderProfile),
158
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfileConfig),
162
159
  timeout_seconds: Integer,
163
160
  webhook_version: T.nilable(Integer),
164
161
  idempotency_key: String,
@@ -169,48 +166,6 @@ module Sentdm
169
166
  end
170
167
  def to_hash
171
168
  end
172
-
173
- class SenderProfile < Sentdm::Internal::Type::BaseModel
174
- OrHash =
175
- T.type_alias do
176
- T.any(
177
- Sentdm::WebhookCreateParams::SenderProfile,
178
- Sentdm::Internal::AnyHash
179
- )
180
- end
181
-
182
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
183
- attr_accessor :event_filters
184
-
185
- sig { returns(T.nilable(T::Array[String])) }
186
- attr_reader :event_types
187
-
188
- sig { params(event_types: T::Array[String]).void }
189
- attr_writer :event_types
190
-
191
- # Request-only: the events an organization webhook's sender profile clones
192
- # receive, one clone per existing and future profile. A version 1 webhook's
193
- # responses report it as WebhookSenderProfileV3Response.
194
- sig do
195
- params(
196
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
197
- event_types: T::Array[String]
198
- ).returns(T.attached_class)
199
- end
200
- def self.new(event_filters: nil, event_types: nil)
201
- end
202
-
203
- sig do
204
- override.returns(
205
- {
206
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
207
- event_types: T::Array[String]
208
- }
209
- )
210
- end
211
- def to_hash
212
- end
213
- end
214
169
  end
215
170
  end
216
171
  end
@@ -0,0 +1,211 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookDelivery < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookDelivery, 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(Time)) }
18
+ attr_reader :created_at
19
+
20
+ sig { params(created_at: Time).void }
21
+ attr_writer :created_at
22
+
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :delivery_attempts
25
+
26
+ sig { params(delivery_attempts: Integer).void }
27
+ attr_writer :delivery_attempts
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :delivery_status
31
+
32
+ sig { params(delivery_status: String).void }
33
+ attr_writer :delivery_status
34
+
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :error_message
37
+
38
+ # The exact event body that was delivered, or attempted, for this record. One of
39
+ # the six webhook envelopes:
40
+ #
41
+ # message — an outbound message changed status. message with event:
42
+ # message.received — someone replied to you. templates — a template was approved,
43
+ # rejected, paused or similar. channel — one of your markets moved in provisioning
44
+ # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
45
+ # tracked short link was clicked or a hosted file downloaded, or one expired or
46
+ # was revoked.
47
+ #
48
+ # Read field and event to tell which, the same way your endpoint does. The two
49
+ # message envelopes are the reason that is two fields and not one: they share a
50
+ # field and differ by event.
51
+ #
52
+ # Treat the list as open. It has grown twice — channel and then link — and a
53
+ # handler that rejects an envelope it does not recognise will break on the next
54
+ # addition rather than ignore it.
55
+ sig { returns(T.nilable(Sentdm::WebhookDelivery::EventData::Variants)) }
56
+ attr_reader :event_data
57
+
58
+ sig do
59
+ params(
60
+ event_data:
61
+ T.any(
62
+ Sentdm::MessageEvent::OrHash,
63
+ Sentdm::InboundMessageEvent::OrHash,
64
+ Sentdm::TemplateEvent::OrHash,
65
+ Sentdm::ChannelEvent::OrHash,
66
+ Sentdm::ContactEvent::OrHash,
67
+ Sentdm::LinkEvent::OrHash,
68
+ Sentdm::CallEvent::OrHash
69
+ )
70
+ ).void
71
+ end
72
+ attr_writer :event_data
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_reader :event_type
76
+
77
+ sig { params(event_type: String).void }
78
+ attr_writer :event_type
79
+
80
+ sig { returns(T.nilable(Integer)) }
81
+ attr_accessor :http_status_code
82
+
83
+ sig { returns(T.nilable(Time)) }
84
+ attr_accessor :processing_completed_at
85
+
86
+ sig { returns(T.nilable(Time)) }
87
+ attr_accessor :processing_started_at
88
+
89
+ sig { returns(T.nilable(String)) }
90
+ attr_accessor :response_body
91
+
92
+ sig do
93
+ params(
94
+ id: String,
95
+ created_at: Time,
96
+ delivery_attempts: Integer,
97
+ delivery_status: String,
98
+ error_message: T.nilable(String),
99
+ event_data:
100
+ T.any(
101
+ Sentdm::MessageEvent::OrHash,
102
+ Sentdm::InboundMessageEvent::OrHash,
103
+ Sentdm::TemplateEvent::OrHash,
104
+ Sentdm::ChannelEvent::OrHash,
105
+ Sentdm::ContactEvent::OrHash,
106
+ Sentdm::LinkEvent::OrHash,
107
+ Sentdm::CallEvent::OrHash
108
+ ),
109
+ event_type: String,
110
+ http_status_code: T.nilable(Integer),
111
+ processing_completed_at: T.nilable(Time),
112
+ processing_started_at: T.nilable(Time),
113
+ response_body: T.nilable(String)
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ id: nil,
118
+ created_at: nil,
119
+ delivery_attempts: nil,
120
+ delivery_status: nil,
121
+ error_message: nil,
122
+ # The exact event body that was delivered, or attempted, for this record. One of
123
+ # the six webhook envelopes:
124
+ #
125
+ # message — an outbound message changed status. message with event:
126
+ # message.received — someone replied to you. templates — a template was approved,
127
+ # rejected, paused or similar. channel — one of your markets moved in provisioning
128
+ # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
129
+ # tracked short link was clicked or a hosted file downloaded, or one expired or
130
+ # was revoked.
131
+ #
132
+ # Read field and event to tell which, the same way your endpoint does. The two
133
+ # message envelopes are the reason that is two fields and not one: they share a
134
+ # field and differ by event.
135
+ #
136
+ # Treat the list as open. It has grown twice — channel and then link — and a
137
+ # handler that rejects an envelope it does not recognise will break on the next
138
+ # addition rather than ignore it.
139
+ event_data: nil,
140
+ event_type: nil,
141
+ http_status_code: nil,
142
+ processing_completed_at: nil,
143
+ processing_started_at: nil,
144
+ response_body: nil
145
+ )
146
+ end
147
+
148
+ sig do
149
+ override.returns(
150
+ {
151
+ id: String,
152
+ created_at: Time,
153
+ delivery_attempts: Integer,
154
+ delivery_status: String,
155
+ error_message: T.nilable(String),
156
+ event_data: Sentdm::WebhookDelivery::EventData::Variants,
157
+ event_type: String,
158
+ http_status_code: T.nilable(Integer),
159
+ processing_completed_at: T.nilable(Time),
160
+ processing_started_at: T.nilable(Time),
161
+ response_body: T.nilable(String)
162
+ }
163
+ )
164
+ end
165
+ def to_hash
166
+ end
167
+
168
+ # The exact event body that was delivered, or attempted, for this record. One of
169
+ # the six webhook envelopes:
170
+ #
171
+ # message — an outbound message changed status. message with event:
172
+ # message.received — someone replied to you. templates — a template was approved,
173
+ # rejected, paused or similar. channel — one of your markets moved in provisioning
174
+ # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
175
+ # tracked short link was clicked or a hosted file downloaded, or one expired or
176
+ # was revoked.
177
+ #
178
+ # Read field and event to tell which, the same way your endpoint does. The two
179
+ # message envelopes are the reason that is two fields and not one: they share a
180
+ # field and differ by event.
181
+ #
182
+ # Treat the list as open. It has grown twice — channel and then link — and a
183
+ # handler that rejects an envelope it does not recognise will break on the next
184
+ # addition rather than ignore it.
185
+ module EventData
186
+ extend Sentdm::Internal::Type::Union
187
+
188
+ Variants =
189
+ T.type_alias do
190
+ T.any(
191
+ Sentdm::MessageEvent,
192
+ Sentdm::InboundMessageEvent,
193
+ Sentdm::TemplateEvent,
194
+ Sentdm::ChannelEvent,
195
+ Sentdm::ContactEvent,
196
+ Sentdm::LinkEvent,
197
+ Sentdm::CallEvent
198
+ )
199
+ end
200
+
201
+ sig do
202
+ override.returns(
203
+ T::Array[Sentdm::WebhookDelivery::EventData::Variants]
204
+ )
205
+ end
206
+ def self.variants
207
+ end
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookEventTypesList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookEventTypesList, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The event_types on this page.
12
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookEventType])) }
13
+ attr_reader :event_types
14
+
15
+ sig do
16
+ params(event_types: T::Array[Sentdm::WebhookEventType::OrHash]).void
17
+ end
18
+ attr_writer :event_types
19
+
20
+ # Pagination metadata for list responses
21
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
22
+ attr_reader :pagination
23
+
24
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
25
+ attr_writer :pagination
26
+
27
+ # The webhook event types a customer can subscribe to.
28
+ sig do
29
+ params(
30
+ event_types: T::Array[Sentdm::WebhookEventType::OrHash],
31
+ pagination: Sentdm::PaginationMeta::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # The event_types on this page.
36
+ event_types: nil,
37
+ # Pagination metadata for list responses
38
+ pagination: nil
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ event_types: T::Array[Sentdm::WebhookEventType],
46
+ pagination: Sentdm::PaginationMeta
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookEventsList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookEventsList, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The events on this page.
12
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookDelivery])) }
13
+ attr_reader :events
14
+
15
+ sig { params(events: T::Array[Sentdm::WebhookDelivery::OrHash]).void }
16
+ attr_writer :events
17
+
18
+ # Pagination metadata for list responses
19
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
20
+ attr_reader :pagination
21
+
22
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
23
+ attr_writer :pagination
24
+
25
+ # A paginated list of webhook delivery records.
26
+ sig do
27
+ params(
28
+ events: T::Array[Sentdm::WebhookDelivery::OrHash],
29
+ pagination: Sentdm::PaginationMeta::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # The events on this page.
34
+ events: nil,
35
+ # Pagination metadata for list responses
36
+ pagination: nil
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ events: T::Array[Sentdm::WebhookDelivery],
44
+ pagination: Sentdm::PaginationMeta
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -93,13 +93,12 @@ module Sentdm
93
93
  #
94
94
  # Its own type, field for field the same as the request's sender_profile. A
95
95
  # response is not a request, whatever it carries.
96
- sig { returns(T.nilable(Sentdm::WebhookResponse::SenderProfile)) }
96
+ sig { returns(T.nilable(Sentdm::WebhookSenderProfile)) }
97
97
  attr_reader :sender_profile
98
98
 
99
99
  sig do
100
100
  params(
101
- sender_profile:
102
- T.nilable(Sentdm::WebhookResponse::SenderProfile::OrHash)
101
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfile::OrHash)
103
102
  ).void
104
103
  end
105
104
  attr_writer :sender_profile
@@ -139,8 +138,7 @@ module Sentdm
139
138
  last_delivery_attempt_at: T.nilable(Time),
140
139
  last_successful_delivery_at: T.nilable(Time),
141
140
  retry_count: Integer,
142
- sender_profile:
143
- T.nilable(Sentdm::WebhookResponse::SenderProfile::OrHash),
141
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfile::OrHash),
144
142
  signing_secret: T.nilable(String),
145
143
  timeout_seconds: Integer,
146
144
  updated_at: T.nilable(Time),
@@ -203,7 +201,7 @@ module Sentdm
203
201
  last_delivery_attempt_at: T.nilable(Time),
204
202
  last_successful_delivery_at: T.nilable(Time),
205
203
  retry_count: Integer,
206
- sender_profile: T.nilable(Sentdm::WebhookResponse::SenderProfile),
204
+ sender_profile: T.nilable(Sentdm::WebhookSenderProfile),
207
205
  signing_secret: T.nilable(String),
208
206
  timeout_seconds: Integer,
209
207
  updated_at: T.nilable(Time),
@@ -213,50 +211,6 @@ module Sentdm
213
211
  end
214
212
  def to_hash
215
213
  end
216
-
217
- class SenderProfile < Sentdm::Internal::Type::BaseModel
218
- OrHash =
219
- T.type_alias do
220
- T.any(
221
- Sentdm::WebhookResponse::SenderProfile,
222
- Sentdm::Internal::AnyHash
223
- )
224
- end
225
-
226
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
227
- attr_accessor :event_filters
228
-
229
- sig { returns(T.nilable(T::Array[String])) }
230
- attr_reader :event_types
231
-
232
- sig { params(event_types: T::Array[String]).void }
233
- attr_writer :event_types
234
-
235
- # The events a version 1 webhook's sender profile clones receive, as a response
236
- # reports them.
237
- #
238
- # Its own type, field for field the same as the request's sender_profile. A
239
- # response is not a request, whatever it carries.
240
- sig do
241
- params(
242
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
243
- event_types: T::Array[String]
244
- ).returns(T.attached_class)
245
- end
246
- def self.new(event_filters: nil, event_types: nil)
247
- end
248
-
249
- sig do
250
- override.returns(
251
- {
252
- event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
253
- event_types: T::Array[String]
254
- }
255
- )
256
- end
257
- def to_hash
258
- end
259
- end
260
214
  end
261
215
  end
262
216
  end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookSecret < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::WebhookSecret, Sentdm::Internal::AnyHash) }
8
+
9
+ sig { returns(T.nilable(String)) }
10
+ attr_reader :signing_secret
11
+
12
+ sig { params(signing_secret: String).void }
13
+ attr_writer :signing_secret
14
+
15
+ sig { params(signing_secret: String).returns(T.attached_class) }
16
+ def self.new(signing_secret: nil)
17
+ end
18
+
19
+ sig { override.returns({ signing_secret: String }) }
20
+ def to_hash
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookSenderProfile < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookSenderProfile, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
12
+ attr_accessor :event_filters
13
+
14
+ sig { returns(T.nilable(T::Array[String])) }
15
+ attr_reader :event_types
16
+
17
+ sig { params(event_types: T::Array[String]).void }
18
+ attr_writer :event_types
19
+
20
+ # The events a version 1 webhook's sender profile clones receive, as a response
21
+ # reports them.
22
+ #
23
+ # Its own type, field for field the same as the request's sender_profile. A
24
+ # response is not a request, whatever it carries.
25
+ sig do
26
+ params(
27
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
28
+ event_types: T::Array[String]
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(event_filters: nil, event_types: nil)
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
38
+ event_types: T::Array[String]
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookSenderProfileConfig < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookSenderProfileConfig, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
12
+ attr_accessor :event_filters
13
+
14
+ sig { returns(T.nilable(T::Array[String])) }
15
+ attr_reader :event_types
16
+
17
+ sig { params(event_types: T::Array[String]).void }
18
+ attr_writer :event_types
19
+
20
+ # Request-only: the events an organization webhook's sender profile clones
21
+ # receive, one clone per existing and future profile. A version 1 webhook's
22
+ # responses report it as WebhookSenderProfileV3Response.
23
+ sig do
24
+ params(
25
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
26
+ event_types: T::Array[String]
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(event_filters: nil, event_types: nil)
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ {
35
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
36
+ event_types: T::Array[String]
37
+ }
38
+ )
39
+ end
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookTest < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::WebhookTest, Sentdm::Internal::AnyHash) }
8
+
9
+ sig { returns(T.nilable(String)) }
10
+ attr_reader :message
11
+
12
+ sig { params(message: String).void }
13
+ attr_writer :message
14
+
15
+ sig { returns(T.nilable(T::Boolean)) }
16
+ attr_reader :success
17
+
18
+ sig { params(success: T::Boolean).void }
19
+ attr_writer :success
20
+
21
+ sig do
22
+ params(message: String, success: T::Boolean).returns(T.attached_class)
23
+ end
24
+ def self.new(message: nil, success: nil)
25
+ end
26
+
27
+ sig { override.returns({ message: String, success: T::Boolean }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end