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
@@ -1,647 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class WebhookListEventsResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::WebhookListEventsResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- sig { returns(T.nilable(String)) }
15
- attr_reader :id
16
-
17
- sig { params(id: String).void }
18
- attr_writer :id
19
-
20
- sig { returns(T.nilable(Time)) }
21
- attr_reader :created_at
22
-
23
- sig { params(created_at: Time).void }
24
- attr_writer :created_at
25
-
26
- sig { returns(T.nilable(Integer)) }
27
- attr_reader :delivery_attempts
28
-
29
- sig { params(delivery_attempts: Integer).void }
30
- attr_writer :delivery_attempts
31
-
32
- sig { returns(T.nilable(String)) }
33
- attr_reader :delivery_status
34
-
35
- sig { params(delivery_status: String).void }
36
- attr_writer :delivery_status
37
-
38
- sig { returns(T.nilable(String)) }
39
- attr_accessor :error_message
40
-
41
- # The exact event body that was delivered, or attempted, for this record. One of
42
- # the six webhook envelopes:
43
- #
44
- # message — an outbound message changed status. message with event:
45
- # message.received — someone replied to you. templates — a template was approved,
46
- # rejected, paused or similar. channel — one of your markets moved in provisioning
47
- # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
48
- # tracked short link was clicked or a hosted file downloaded, or one expired or
49
- # was revoked.
50
- #
51
- # Read field and event to tell which, the same way your endpoint does. The two
52
- # message envelopes are the reason that is two fields and not one: they share a
53
- # field and differ by event.
54
- #
55
- # Treat the list as open. It has grown twice — channel and then link — and a
56
- # handler that rejects an envelope it does not recognise will break on the next
57
- # addition rather than ignore it.
58
- sig do
59
- returns(
60
- T.nilable(
61
- Sentdm::Models::WebhookListEventsResponse::EventData::Variants
62
- )
63
- )
64
- end
65
- attr_reader :event_data
66
-
67
- sig do
68
- params(
69
- event_data:
70
- T.any(
71
- Sentdm::MessageEvent::OrHash,
72
- Sentdm::InboundMessageEvent::OrHash,
73
- Sentdm::TemplateEvent::OrHash,
74
- Sentdm::ChannelEvent::OrHash,
75
- Sentdm::ContactEvent::OrHash,
76
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::OrHash,
77
- Sentdm::CallEvent::OrHash
78
- )
79
- ).void
80
- end
81
- attr_writer :event_data
82
-
83
- sig { returns(T.nilable(String)) }
84
- attr_reader :event_type
85
-
86
- sig { params(event_type: String).void }
87
- attr_writer :event_type
88
-
89
- sig { returns(T.nilable(Integer)) }
90
- attr_accessor :http_status_code
91
-
92
- sig { returns(T.nilable(Time)) }
93
- attr_accessor :processing_completed_at
94
-
95
- sig { returns(T.nilable(Time)) }
96
- attr_accessor :processing_started_at
97
-
98
- sig { returns(T.nilable(String)) }
99
- attr_accessor :response_body
100
-
101
- sig do
102
- params(
103
- id: String,
104
- created_at: Time,
105
- delivery_attempts: Integer,
106
- delivery_status: String,
107
- error_message: T.nilable(String),
108
- event_data:
109
- T.any(
110
- Sentdm::MessageEvent::OrHash,
111
- Sentdm::InboundMessageEvent::OrHash,
112
- Sentdm::TemplateEvent::OrHash,
113
- Sentdm::ChannelEvent::OrHash,
114
- Sentdm::ContactEvent::OrHash,
115
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::OrHash,
116
- Sentdm::CallEvent::OrHash
117
- ),
118
- event_type: String,
119
- http_status_code: T.nilable(Integer),
120
- processing_completed_at: T.nilable(Time),
121
- processing_started_at: T.nilable(Time),
122
- response_body: T.nilable(String)
123
- ).returns(T.attached_class)
124
- end
125
- def self.new(
126
- id: nil,
127
- created_at: nil,
128
- delivery_attempts: nil,
129
- delivery_status: nil,
130
- error_message: nil,
131
- # The exact event body that was delivered, or attempted, for this record. One of
132
- # the six webhook envelopes:
133
- #
134
- # message — an outbound message changed status. message with event:
135
- # message.received — someone replied to you. templates — a template was approved,
136
- # rejected, paused or similar. channel — one of your markets moved in provisioning
137
- # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
138
- # tracked short link was clicked or a hosted file downloaded, or one expired or
139
- # was revoked.
140
- #
141
- # Read field and event to tell which, the same way your endpoint does. The two
142
- # message envelopes are the reason that is two fields and not one: they share a
143
- # field and differ by event.
144
- #
145
- # Treat the list as open. It has grown twice — channel and then link — and a
146
- # handler that rejects an envelope it does not recognise will break on the next
147
- # addition rather than ignore it.
148
- event_data: nil,
149
- event_type: nil,
150
- http_status_code: nil,
151
- processing_completed_at: nil,
152
- processing_started_at: nil,
153
- response_body: nil
154
- )
155
- end
156
-
157
- sig do
158
- override.returns(
159
- {
160
- id: String,
161
- created_at: Time,
162
- delivery_attempts: Integer,
163
- delivery_status: String,
164
- error_message: T.nilable(String),
165
- event_data:
166
- Sentdm::Models::WebhookListEventsResponse::EventData::Variants,
167
- event_type: String,
168
- http_status_code: T.nilable(Integer),
169
- processing_completed_at: T.nilable(Time),
170
- processing_started_at: T.nilable(Time),
171
- response_body: T.nilable(String)
172
- }
173
- )
174
- end
175
- def to_hash
176
- end
177
-
178
- # The exact event body that was delivered, or attempted, for this record. One of
179
- # the six webhook envelopes:
180
- #
181
- # message — an outbound message changed status. message with event:
182
- # message.received — someone replied to you. templates — a template was approved,
183
- # rejected, paused or similar. channel — one of your markets moved in provisioning
184
- # or compliance. contact — a consent signal: opt-in, opt-out or help. link — a
185
- # tracked short link was clicked or a hosted file downloaded, or one expired or
186
- # was revoked.
187
- #
188
- # Read field and event to tell which, the same way your endpoint does. The two
189
- # message envelopes are the reason that is two fields and not one: they share a
190
- # field and differ by event.
191
- #
192
- # Treat the list as open. It has grown twice — channel and then link — and a
193
- # handler that rejects an envelope it does not recognise will break on the next
194
- # addition rather than ignore it.
195
- module EventData
196
- extend Sentdm::Internal::Type::Union
197
-
198
- Variants =
199
- T.type_alias do
200
- T.any(
201
- Sentdm::MessageEvent,
202
- Sentdm::InboundMessageEvent,
203
- Sentdm::TemplateEvent,
204
- Sentdm::ChannelEvent,
205
- Sentdm::ContactEvent,
206
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload,
207
- Sentdm::CallEvent
208
- )
209
- end
210
-
211
- class SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload < Sentdm::Internal::Type::BaseModel
212
- OrHash =
213
- T.type_alias do
214
- T.any(
215
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload,
216
- Sentdm::Internal::AnyHash
217
- )
218
- end
219
-
220
- # The specific event within the family, for example message.delivered,
221
- # message.received or contact.opt_out. Absent on events that have no subtype, so
222
- # treat it as optional.
223
- sig { returns(T.nilable(String)) }
224
- attr_accessor :event
225
-
226
- # The event family, for example message, templates or contact. Route on this
227
- # first, then on event for the specific change.
228
- sig { returns(T.nilable(String)) }
229
- attr_reader :field
230
-
231
- sig { params(field: String).void }
232
- attr_writer :field
233
-
234
- # Body of a link event: something happened to a tracked link Sent published on the
235
- # customer's behalf. A link points either at a URL the customer supplied or at a
236
- # file Sent hosts for them; LinkKind says which. Delivered when an eligible
237
- # request is served, or when a published link reaches the end of its life.
238
- #
239
- # A click is a request, not a read receipt. link.clicked means the redirect was
240
- # served; link.downloaded means bytes went out. Neither proves a person saw
241
- # anything — messaging providers and link scanners fetch URLs on their own, which
242
- # is what TrafficClass exists to tell apart. Filter on it before reporting a
243
- # click-through rate; treat likely_human as a hint, never as delivery
244
- # confirmation.
245
- #
246
- # RecordId identifies the link; the X-Webhook-Event-ID header identifies the
247
- # delivery. One link is hit many times, so those are the two keys a subscriber
248
- # needs: group by the first, deduplicate on the second — exactly as on every other
249
- # family. The payload carries no event identifier of its own, for the same reason
250
- # none of the others do.
251
- #
252
- # Nothing here identifies the visitor. No IP address and no visitor token crosses
253
- # this boundary. Country, Device and Browser are coarse buckets derived at the
254
- # edge and are absent whenever the request did not supply enough to derive them.
255
- sig do
256
- returns(
257
- T.nilable(
258
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::Payload
259
- )
260
- )
261
- end
262
- attr_reader :payload
263
-
264
- sig do
265
- params(
266
- payload:
267
- T.nilable(
268
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::Payload::OrHash
269
- )
270
- ).void
271
- end
272
- attr_writer :payload
273
-
274
- # The event-specific body.
275
- sig { returns(T.nilable(String)) }
276
- attr_accessor :request_id
277
-
278
- # When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
279
- # time, not the time the underlying change happened. Use the timestamp inside the
280
- # payload for the latter.
281
- sig { returns(T.nilable(String)) }
282
- attr_reader :timestamp
283
-
284
- sig { params(timestamp: String).void }
285
- attr_writer :timestamp
286
-
287
- # The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares
288
- # this shape and varies only in Payload.
289
- sig do
290
- params(
291
- event: T.nilable(String),
292
- field: String,
293
- payload:
294
- T.nilable(
295
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::Payload::OrHash
296
- ),
297
- request_id: T.nilable(String),
298
- timestamp: String
299
- ).returns(T.attached_class)
300
- end
301
- def self.new(
302
- # The specific event within the family, for example message.delivered,
303
- # message.received or contact.opt_out. Absent on events that have no subtype, so
304
- # treat it as optional.
305
- event: nil,
306
- # The event family, for example message, templates or contact. Route on this
307
- # first, then on event for the specific change.
308
- field: nil,
309
- # Body of a link event: something happened to a tracked link Sent published on the
310
- # customer's behalf. A link points either at a URL the customer supplied or at a
311
- # file Sent hosts for them; LinkKind says which. Delivered when an eligible
312
- # request is served, or when a published link reaches the end of its life.
313
- #
314
- # A click is a request, not a read receipt. link.clicked means the redirect was
315
- # served; link.downloaded means bytes went out. Neither proves a person saw
316
- # anything — messaging providers and link scanners fetch URLs on their own, which
317
- # is what TrafficClass exists to tell apart. Filter on it before reporting a
318
- # click-through rate; treat likely_human as a hint, never as delivery
319
- # confirmation.
320
- #
321
- # RecordId identifies the link; the X-Webhook-Event-ID header identifies the
322
- # delivery. One link is hit many times, so those are the two keys a subscriber
323
- # needs: group by the first, deduplicate on the second — exactly as on every other
324
- # family. The payload carries no event identifier of its own, for the same reason
325
- # none of the others do.
326
- #
327
- # Nothing here identifies the visitor. No IP address and no visitor token crosses
328
- # this boundary. Country, Device and Browser are coarse buckets derived at the
329
- # edge and are absent whenever the request did not supply enough to derive them.
330
- payload: nil,
331
- # The event-specific body.
332
- request_id: nil,
333
- # When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
334
- # time, not the time the underlying change happened. Use the timestamp inside the
335
- # payload for the latter.
336
- timestamp: nil
337
- )
338
- end
339
-
340
- sig do
341
- override.returns(
342
- {
343
- event: T.nilable(String),
344
- field: String,
345
- payload:
346
- T.nilable(
347
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::Payload
348
- ),
349
- request_id: T.nilable(String),
350
- timestamp: String
351
- }
352
- )
353
- end
354
- def to_hash
355
- end
356
-
357
- class Payload < Sentdm::Internal::Type::BaseModel
358
- OrHash =
359
- T.type_alias do
360
- T.any(
361
- Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload::Payload,
362
- Sentdm::Internal::AnyHash
363
- )
364
- end
365
-
366
- # The link's public identifier — the eight-character code in the short URL, for
367
- # example A78B2BU0. Unique across both kinds, and never reused, so it is the
368
- # stable key to group one link's events by.
369
- sig { returns(String) }
370
- attr_accessor :record_id
371
-
372
- # Where the request appeared to come from, as an ISO 3166-1 alpha-2 code. Named
373
- # separately from the country on a channel event, which is a destination market
374
- # the customer registered for — this one is a property of a single visitor and is
375
- # absent when the edge could not resolve it.
376
- sig { returns(T.nilable(String)) }
377
- attr_accessor :access_country
378
-
379
- # How the request was served, when the edge recorded it. Free text describing the
380
- # outcome — show it to a human rather than branching on it.
381
- sig { returns(T.nilable(String)) }
382
- attr_accessor :access_outcome
383
-
384
- # The requesting browser family, for example chrome or safari, or unknown. Derived
385
- # from the user agent.
386
- sig { returns(T.nilable(String)) }
387
- attr_accessor :browser
388
-
389
- # How many bytes were served, for a file access. A ranged request reports the
390
- # bytes in that range, not the size of the file, so several accesses of one file
391
- # can each report a part.
392
- sig { returns(T.nilable(Integer)) }
393
- attr_accessor :bytes_served
394
-
395
- # The channel the message carrying this link went out on: sms, whatsapp, or rcs.
396
- sig { returns(T.nilable(String)) }
397
- attr_accessor :channel
398
-
399
- # The organization the link belongs to. Always the parent account, never a sender
400
- # profile — read SenderProfileId for that.
401
- #
402
- # This family publishes the owner as an explicit pair rather than the single
403
- # account_id the other families use. The pair says which organization and which
404
- # profile without the subscriber deriving either, which is the trade: one more key
405
- # against not having to know that account_id silently becomes the profile when one
406
- # exists.
407
- sig { returns(T.nilable(String)) }
408
- attr_reader :customer_id
409
-
410
- sig { params(customer_id: String).void }
411
- attr_writer :customer_id
412
-
413
- # The requesting device class: mobile, tablet, desktop or unknown. Derived from
414
- # the user agent.
415
- sig { returns(T.nilable(String)) }
416
- attr_accessor :device
417
-
418
- # What the link points at: url for a destination the customer supplied, file for
419
- # media Sent hosts. Always present, and implied by the event — link.clicked is
420
- # always url and link.downloaded always file — but published as its own field so a
421
- # subscriber can branch on the kind without parsing the event name, the same
422
- # separation the channel family keeps between its event and its status.
423
- sig { returns(T.nilable(String)) }
424
- attr_reader :link_kind
425
-
426
- sig { params(link_kind: String).void }
427
- attr_writer :link_kind
428
-
429
- # The message the link was published in.
430
- #
431
- # The event can arrive before the message is readable through GET /v3/messages: a
432
- # provider may fetch a link within milliseconds of the send, and nothing here
433
- # waits for the message row. Retry the read rather than treating an unknown id as
434
- # an error.
435
- sig { returns(T.nilable(String)) }
436
- attr_accessor :message_id
437
-
438
- # When the access or lifecycle change actually happened, in UTC
439
- # (yyyy-MM-ddTHH:mm:ssZ). The envelope's timestamp is when Sent emitted the event;
440
- # this is when the thing occurred, and the two differ by the ingest delay.
441
- sig { returns(T.nilable(String)) }
442
- attr_reader :occurred_at
443
-
444
- sig { params(occurred_at: String).void }
445
- attr_writer :occurred_at
446
-
447
- # The caller-supplied label tying this link back to a position in the message, for
448
- # example body:0 for the first link in the body. Present when the link was created
449
- # with one.
450
- sig { returns(T.nilable(String)) }
451
- attr_accessor :reference_key
452
-
453
- # The host of the page that linked here, when the request supplied one. The host
454
- # only — never a full referring URL.
455
- sig { returns(T.nilable(String)) }
456
- attr_accessor :referrer_host
457
-
458
- # The HTTP method of the request that was served, for an access event. Omitted on
459
- # link.expired and link.revoked, which describe no request.
460
- sig { returns(T.nilable(String)) }
461
- attr_accessor :request_method
462
-
463
- # The sender profile that owns the link, or null when the organization owns it
464
- # directly. Always on the wire so a handler reads one shape rather than branching
465
- # on whether the key arrived.
466
- #
467
- # sender_profile_id, not profile_id: the API already publishes
468
- # messaging_profile_id and sending_phone_number_profile_id for provider-side
469
- # profiles, which are a different thing entirely. The unqualified name would read
470
- # as one of those.
471
- sig { returns(T.nilable(String)) }
472
- attr_accessor :sender_profile_id
473
-
474
- # The HTTP status Sent answered the request with: 302 for a link, 200 or 206 for a
475
- # file. Omitted on lifecycle events.
476
- sig { returns(T.nilable(Integer)) }
477
- attr_accessor :status_code
478
-
479
- # A coarse guess at what made the request: likely_human, provider (a messaging
480
- # platform prefetching the link), bot, or unknown. Derived from the user agent, so
481
- # it is a hint for filtering noise rather than a fact to bill or report on.
482
- sig { returns(T.nilable(String)) }
483
- attr_accessor :traffic_class
484
-
485
- # Body of a link event: something happened to a tracked link Sent published on the
486
- # customer's behalf. A link points either at a URL the customer supplied or at a
487
- # file Sent hosts for them; LinkKind says which. Delivered when an eligible
488
- # request is served, or when a published link reaches the end of its life.
489
- #
490
- # A click is a request, not a read receipt. link.clicked means the redirect was
491
- # served; link.downloaded means bytes went out. Neither proves a person saw
492
- # anything — messaging providers and link scanners fetch URLs on their own, which
493
- # is what TrafficClass exists to tell apart. Filter on it before reporting a
494
- # click-through rate; treat likely_human as a hint, never as delivery
495
- # confirmation.
496
- #
497
- # RecordId identifies the link; the X-Webhook-Event-ID header identifies the
498
- # delivery. One link is hit many times, so those are the two keys a subscriber
499
- # needs: group by the first, deduplicate on the second — exactly as on every other
500
- # family. The payload carries no event identifier of its own, for the same reason
501
- # none of the others do.
502
- #
503
- # Nothing here identifies the visitor. No IP address and no visitor token crosses
504
- # this boundary. Country, Device and Browser are coarse buckets derived at the
505
- # edge and are absent whenever the request did not supply enough to derive them.
506
- sig do
507
- params(
508
- record_id: String,
509
- access_country: T.nilable(String),
510
- access_outcome: T.nilable(String),
511
- browser: T.nilable(String),
512
- bytes_served: T.nilable(Integer),
513
- channel: T.nilable(String),
514
- customer_id: String,
515
- device: T.nilable(String),
516
- link_kind: String,
517
- message_id: T.nilable(String),
518
- occurred_at: String,
519
- reference_key: T.nilable(String),
520
- referrer_host: T.nilable(String),
521
- request_method: T.nilable(String),
522
- sender_profile_id: T.nilable(String),
523
- status_code: T.nilable(Integer),
524
- traffic_class: T.nilable(String)
525
- ).returns(T.attached_class)
526
- end
527
- def self.new(
528
- # The link's public identifier — the eight-character code in the short URL, for
529
- # example A78B2BU0. Unique across both kinds, and never reused, so it is the
530
- # stable key to group one link's events by.
531
- record_id:,
532
- # Where the request appeared to come from, as an ISO 3166-1 alpha-2 code. Named
533
- # separately from the country on a channel event, which is a destination market
534
- # the customer registered for — this one is a property of a single visitor and is
535
- # absent when the edge could not resolve it.
536
- access_country: nil,
537
- # How the request was served, when the edge recorded it. Free text describing the
538
- # outcome — show it to a human rather than branching on it.
539
- access_outcome: nil,
540
- # The requesting browser family, for example chrome or safari, or unknown. Derived
541
- # from the user agent.
542
- browser: nil,
543
- # How many bytes were served, for a file access. A ranged request reports the
544
- # bytes in that range, not the size of the file, so several accesses of one file
545
- # can each report a part.
546
- bytes_served: nil,
547
- # The channel the message carrying this link went out on: sms, whatsapp, or rcs.
548
- channel: nil,
549
- # The organization the link belongs to. Always the parent account, never a sender
550
- # profile — read SenderProfileId for that.
551
- #
552
- # This family publishes the owner as an explicit pair rather than the single
553
- # account_id the other families use. The pair says which organization and which
554
- # profile without the subscriber deriving either, which is the trade: one more key
555
- # against not having to know that account_id silently becomes the profile when one
556
- # exists.
557
- customer_id: nil,
558
- # The requesting device class: mobile, tablet, desktop or unknown. Derived from
559
- # the user agent.
560
- device: nil,
561
- # What the link points at: url for a destination the customer supplied, file for
562
- # media Sent hosts. Always present, and implied by the event — link.clicked is
563
- # always url and link.downloaded always file — but published as its own field so a
564
- # subscriber can branch on the kind without parsing the event name, the same
565
- # separation the channel family keeps between its event and its status.
566
- link_kind: nil,
567
- # The message the link was published in.
568
- #
569
- # The event can arrive before the message is readable through GET /v3/messages: a
570
- # provider may fetch a link within milliseconds of the send, and nothing here
571
- # waits for the message row. Retry the read rather than treating an unknown id as
572
- # an error.
573
- message_id: nil,
574
- # When the access or lifecycle change actually happened, in UTC
575
- # (yyyy-MM-ddTHH:mm:ssZ). The envelope's timestamp is when Sent emitted the event;
576
- # this is when the thing occurred, and the two differ by the ingest delay.
577
- occurred_at: nil,
578
- # The caller-supplied label tying this link back to a position in the message, for
579
- # example body:0 for the first link in the body. Present when the link was created
580
- # with one.
581
- reference_key: nil,
582
- # The host of the page that linked here, when the request supplied one. The host
583
- # only — never a full referring URL.
584
- referrer_host: nil,
585
- # The HTTP method of the request that was served, for an access event. Omitted on
586
- # link.expired and link.revoked, which describe no request.
587
- request_method: nil,
588
- # The sender profile that owns the link, or null when the organization owns it
589
- # directly. Always on the wire so a handler reads one shape rather than branching
590
- # on whether the key arrived.
591
- #
592
- # sender_profile_id, not profile_id: the API already publishes
593
- # messaging_profile_id and sending_phone_number_profile_id for provider-side
594
- # profiles, which are a different thing entirely. The unqualified name would read
595
- # as one of those.
596
- sender_profile_id: nil,
597
- # The HTTP status Sent answered the request with: 302 for a link, 200 or 206 for a
598
- # file. Omitted on lifecycle events.
599
- status_code: nil,
600
- # A coarse guess at what made the request: likely_human, provider (a messaging
601
- # platform prefetching the link), bot, or unknown. Derived from the user agent, so
602
- # it is a hint for filtering noise rather than a fact to bill or report on.
603
- traffic_class: nil
604
- )
605
- end
606
-
607
- sig do
608
- override.returns(
609
- {
610
- record_id: String,
611
- access_country: T.nilable(String),
612
- access_outcome: T.nilable(String),
613
- browser: T.nilable(String),
614
- bytes_served: T.nilable(Integer),
615
- channel: T.nilable(String),
616
- customer_id: String,
617
- device: T.nilable(String),
618
- link_kind: String,
619
- message_id: T.nilable(String),
620
- occurred_at: String,
621
- reference_key: T.nilable(String),
622
- referrer_host: T.nilable(String),
623
- request_method: T.nilable(String),
624
- sender_profile_id: T.nilable(String),
625
- status_code: T.nilable(Integer),
626
- traffic_class: T.nilable(String)
627
- }
628
- )
629
- end
630
- def to_hash
631
- end
632
- end
633
- end
634
-
635
- sig do
636
- override.returns(
637
- T::Array[
638
- Sentdm::Models::WebhookListEventsResponse::EventData::Variants
639
- ]
640
- )
641
- end
642
- def self.variants
643
- end
644
- end
645
- end
646
- end
647
- end