sentdm 0.45.0 → 0.47.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 (483) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -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 +148 -0
  54. data/lib/sentdm/models/channels/sms_number.rb +52 -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_campaign.rb +10 -0
  59. data/lib/sentdm/models/channels/supplied_compliance.rb +115 -0
  60. data/lib/sentdm/models/channels/supplied_document.rb +35 -0
  61. data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
  62. data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
  63. data/lib/sentdm/models/channels_state.rb +89 -0
  64. data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
  65. data/lib/sentdm/models/compliance_requirement.rb +112 -0
  66. data/lib/sentdm/models/compliance_requirements.rb +98 -0
  67. data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
  68. data/lib/sentdm/models/compliance_setup_step.rb +78 -0
  69. data/lib/sentdm/models/contact_message_summary.rb +3 -34
  70. data/lib/sentdm/models/contacts_list.rb +26 -0
  71. data/lib/sentdm/models/conversation_messages_list.rb +3 -430
  72. data/lib/sentdm/models/entity_type.rb +18 -0
  73. data/lib/sentdm/models/inbound_media.rb +53 -0
  74. data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
  75. data/lib/sentdm/models/link_event.rb +79 -0
  76. data/lib/sentdm/models/link_event_payload.rb +211 -0
  77. data/lib/sentdm/models/message.rb +168 -0
  78. data/lib/sentdm/models/message_activities.rb +34 -0
  79. data/lib/sentdm/models/message_activity.rb +105 -0
  80. data/lib/sentdm/models/message_body.rb +79 -0
  81. data/lib/sentdm/models/message_button.rb +33 -0
  82. data/lib/sentdm/models/message_cancel_params.rb +32 -0
  83. data/lib/sentdm/models/message_channel_options.rb +43 -0
  84. data/lib/sentdm/models/message_header_media.rb +31 -0
  85. data/lib/sentdm/models/message_media.rb +74 -0
  86. data/lib/sentdm/models/message_recipient.rb +46 -0
  87. data/lib/sentdm/models/message_send_params.rb +6 -90
  88. data/lib/sentdm/models/message_send_response.rb +3 -95
  89. data/lib/sentdm/models/message_send_result.rb +55 -0
  90. data/lib/sentdm/models/message_status_event.rb +54 -0
  91. data/lib/sentdm/models/mms_market.rb +48 -0
  92. data/lib/sentdm/models/number_lookup_result.rb +63 -0
  93. data/lib/sentdm/models/pagination_cursors.rb +27 -0
  94. data/lib/sentdm/models/pagination_meta.rb +3 -27
  95. data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
  96. data/lib/sentdm/models/profile_completion_result.rb +31 -0
  97. data/lib/sentdm/models/profile_detail.rb +6 -408
  98. data/lib/sentdm/models/profiles/brand_campaign.rb +14 -16
  99. data/lib/sentdm/models/profiles_list.rb +26 -0
  100. data/lib/sentdm/models/sender_profile.rb +138 -0
  101. data/lib/sentdm/models/sender_profile_billing.rb +21 -0
  102. data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
  103. data/lib/sentdm/models/sender_profile_channels.rb +90 -0
  104. data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
  105. data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
  106. data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
  107. data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
  108. data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
  109. data/lib/sentdm/models/sender_profile_sms.rb +106 -0
  110. data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
  111. data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
  112. data/lib/sentdm/models/sender_profiles_list.rb +26 -0
  113. data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
  114. data/lib/sentdm/models/tcr_brand_status.rb +16 -0
  115. data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
  116. data/lib/sentdm/models/template_body.rb +3 -70
  117. data/lib/sentdm/models/template_header.rb +3 -37
  118. data/lib/sentdm/models/template_header_location.rb +38 -0
  119. data/lib/sentdm/models/template_media_item.rb +34 -0
  120. data/lib/sentdm/models/template_mms_body_content.rb +49 -0
  121. data/lib/sentdm/models/template_ref.rb +51 -0
  122. data/lib/sentdm/models/template_variable.rb +3 -64
  123. data/lib/sentdm/models/template_variable_props.rb +65 -0
  124. data/lib/sentdm/models/templates_list.rb +26 -0
  125. data/lib/sentdm/models/users_list.rb +26 -0
  126. data/lib/sentdm/models/voice/call.rb +7 -57
  127. data/lib/sentdm/models/voice/call_leg.rb +58 -0
  128. data/lib/sentdm/models/webhook_create_params.rb +3 -25
  129. data/lib/sentdm/models/webhook_delivery.rb +160 -0
  130. data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
  131. data/lib/sentdm/models/webhook_events_list.rb +26 -0
  132. data/lib/sentdm/models/webhook_response.rb +3 -28
  133. data/lib/sentdm/models/webhook_secret.rb +15 -0
  134. data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
  135. data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
  136. data/lib/sentdm/models/webhook_test.rb +21 -0
  137. data/lib/sentdm/models/webhook_update_params.rb +3 -25
  138. data/lib/sentdm/models/webhooks_list.rb +26 -0
  139. data/lib/sentdm/models.rb +188 -0
  140. data/lib/sentdm/resources/channels/rcs.rb +177 -0
  141. data/lib/sentdm/resources/channels/sms.rb +420 -0
  142. data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
  143. data/lib/sentdm/resources/channels.rb +162 -0
  144. data/lib/sentdm/resources/compliance.rb +127 -0
  145. data/lib/sentdm/resources/conversations.rb +4 -4
  146. data/lib/sentdm/resources/me.rb +2 -2
  147. data/lib/sentdm/resources/messages.rb +71 -6
  148. data/lib/sentdm/resources/numbers.rb +2 -2
  149. data/lib/sentdm/resources/profiles/campaigns.rb +4 -1
  150. data/lib/sentdm/resources/profiles.rb +4 -4
  151. data/lib/sentdm/resources/sender_profiles.rb +465 -0
  152. data/lib/sentdm/resources/users.rb +2 -2
  153. data/lib/sentdm/resources/voice/calls/participants.rb +5 -5
  154. data/lib/sentdm/resources/webhooks.rb +10 -10
  155. data/lib/sentdm/version.rb +1 -1
  156. data/lib/sentdm.rb +121 -11
  157. data/rbi/sentdm/client.rbi +64 -0
  158. data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
  159. data/rbi/sentdm/models/account.rbi +242 -0
  160. data/rbi/sentdm/models/account_channels.rbi +66 -0
  161. data/rbi/sentdm/models/account_profile.rbi +116 -0
  162. data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
  163. data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
  164. data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
  165. data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
  166. data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
  167. data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
  168. data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
  169. data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
  170. data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
  171. data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
  172. data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
  173. data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
  174. data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
  175. data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
  176. data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
  177. data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
  178. data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
  179. data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
  180. data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
  181. data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
  182. data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
  183. data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
  184. data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
  185. data/rbi/sentdm/models/billing_contact.rbi +49 -0
  186. data/rbi/sentdm/models/brand_business.rbi +115 -0
  187. data/rbi/sentdm/models/brand_business_info.rbi +3 -49
  188. data/rbi/sentdm/models/brand_compliance.rbi +108 -0
  189. data/rbi/sentdm/models/brand_contact.rbi +78 -0
  190. data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
  191. data/rbi/sentdm/models/cancelled_message.rbi +37 -0
  192. data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
  193. data/rbi/sentdm/models/channel_list_params.rbi +38 -0
  194. data/rbi/sentdm/models/channel_score.rbi +56 -0
  195. data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
  196. data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
  197. data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
  198. data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
  199. data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
  200. data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
  201. data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
  202. data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
  203. data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
  204. data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
  205. data/rbi/sentdm/models/channels/sms_market.rbi +235 -0
  206. data/rbi/sentdm/models/channels/sms_number.rbi +74 -0
  207. data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
  208. data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
  209. data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
  210. data/rbi/sentdm/models/channels/supplied_campaign.rbi +13 -0
  211. data/rbi/sentdm/models/channels/supplied_compliance.rbi +180 -0
  212. data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
  213. data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
  214. data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
  215. data/rbi/sentdm/models/channels_state.rbi +151 -0
  216. data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
  217. data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
  218. data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
  219. data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
  220. data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
  221. data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
  222. data/rbi/sentdm/models/contacts_list.rbi +50 -0
  223. data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
  224. data/rbi/sentdm/models/entity_type.rbi +23 -0
  225. data/rbi/sentdm/models/inbound_media.rbi +76 -0
  226. data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
  227. data/rbi/sentdm/models/link_event.rbi +128 -0
  228. data/rbi/sentdm/models/link_event_payload.rbi +279 -0
  229. data/rbi/sentdm/models/message.rbi +214 -0
  230. data/rbi/sentdm/models/message_activities.rbi +63 -0
  231. data/rbi/sentdm/models/message_activity.rbi +145 -0
  232. data/rbi/sentdm/models/message_body.rbi +104 -0
  233. data/rbi/sentdm/models/message_button.rbi +52 -0
  234. data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
  235. data/rbi/sentdm/models/message_channel_options.rbi +65 -0
  236. data/rbi/sentdm/models/message_header_media.rbi +44 -0
  237. data/rbi/sentdm/models/message_media.rbi +95 -0
  238. data/rbi/sentdm/models/message_recipient.rbi +70 -0
  239. data/rbi/sentdm/models/message_send_params.rbi +7 -155
  240. data/rbi/sentdm/models/message_send_response.rbi +4 -163
  241. data/rbi/sentdm/models/message_send_result.rbi +85 -0
  242. data/rbi/sentdm/models/message_status_event.rbi +70 -0
  243. data/rbi/sentdm/models/mms_market.rbi +66 -0
  244. data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
  245. data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
  246. data/rbi/sentdm/models/pagination_meta.rbi +4 -43
  247. data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
  248. data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
  249. data/rbi/sentdm/models/profile_detail.rbi +8 -621
  250. data/rbi/sentdm/models/profiles/brand_campaign.rbi +18 -45
  251. data/rbi/sentdm/models/profiles_list.rbi +50 -0
  252. data/rbi/sentdm/models/sender_profile.rbi +204 -0
  253. data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
  254. data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
  255. data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
  256. data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
  257. data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
  258. data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
  259. data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
  260. data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
  261. data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
  262. data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
  263. data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
  264. data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
  265. data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
  266. data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
  267. data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
  268. data/rbi/sentdm/models/template_body.rbi +6 -114
  269. data/rbi/sentdm/models/template_header.rbi +4 -53
  270. data/rbi/sentdm/models/template_header_location.rbi +47 -0
  271. data/rbi/sentdm/models/template_media_item.rbi +51 -0
  272. data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
  273. data/rbi/sentdm/models/template_ref.rbi +79 -0
  274. data/rbi/sentdm/models/template_variable.rbi +4 -80
  275. data/rbi/sentdm/models/template_variable_props.rbi +81 -0
  276. data/rbi/sentdm/models/templates_list.rbi +50 -0
  277. data/rbi/sentdm/models/users_list.rbi +50 -0
  278. data/rbi/sentdm/models/voice/call.rbi +11 -92
  279. data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
  280. data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
  281. data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
  282. data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
  283. data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
  284. data/rbi/sentdm/models/webhook_response.rbi +4 -50
  285. data/rbi/sentdm/models/webhook_secret.rbi +24 -0
  286. data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
  287. data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
  288. data/rbi/sentdm/models/webhook_test.rbi +32 -0
  289. data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
  290. data/rbi/sentdm/models/webhooks_list.rbi +50 -0
  291. data/rbi/sentdm/models.rbi +197 -0
  292. data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
  293. data/rbi/sentdm/resources/channels/sms.rbi +440 -0
  294. data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
  295. data/rbi/sentdm/resources/channels.rbi +149 -0
  296. data/rbi/sentdm/resources/compliance.rbi +121 -0
  297. data/rbi/sentdm/resources/conversations.rbi +2 -10
  298. data/rbi/sentdm/resources/me.rbi +1 -1
  299. data/rbi/sentdm/resources/messages.rbi +64 -7
  300. data/rbi/sentdm/resources/numbers.rbi +1 -1
  301. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -1
  302. data/rbi/sentdm/resources/profiles.rbi +2 -2
  303. data/rbi/sentdm/resources/sender_profiles.rbi +463 -0
  304. data/rbi/sentdm/resources/users.rbi +1 -1
  305. data/rbi/sentdm/resources/voice/calls/participants.rbi +5 -5
  306. data/rbi/sentdm/resources/webhooks.rbi +6 -12
  307. data/sig/sentdm/client.rbs +4 -0
  308. data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
  309. data/sig/sentdm/models/account.rbs +111 -0
  310. data/sig/sentdm/models/account_channels.rbs +38 -0
  311. data/sig/sentdm/models/account_profile.rbs +68 -0
  312. data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
  313. data/sig/sentdm/models/account_sms_channel.rbs +17 -0
  314. data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
  315. data/sig/sentdm/models/api_response_of_account.rbs +39 -0
  316. data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
  317. data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
  318. data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
  319. data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
  320. data/sig/sentdm/models/api_response_of_message.rbs +39 -0
  321. data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
  322. data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
  323. data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
  324. data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
  325. data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
  326. data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
  327. data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
  328. data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
  329. data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
  330. data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
  331. data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
  332. data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
  333. data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
  334. data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
  335. data/sig/sentdm/models/billing_contact.rbs +30 -0
  336. data/sig/sentdm/models/brand_business.rbs +70 -0
  337. data/sig/sentdm/models/brand_business_info.rbs +4 -23
  338. data/sig/sentdm/models/brand_compliance.rbs +56 -0
  339. data/sig/sentdm/models/brand_contact.rbs +47 -0
  340. data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
  341. data/sig/sentdm/models/cancelled_message.rbs +15 -0
  342. data/sig/sentdm/models/channel_event_payload.rbs +4 -56
  343. data/sig/sentdm/models/channel_list_params.rbs +25 -0
  344. data/sig/sentdm/models/channel_score.rbs +32 -0
  345. data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
  346. data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
  347. data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
  348. data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
  349. data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
  350. data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
  351. data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
  352. data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
  353. data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
  354. data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
  355. data/sig/sentdm/models/channels/sms_market.rbs +80 -0
  356. data/sig/sentdm/models/channels/sms_number.rbs +37 -0
  357. data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
  358. data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
  359. data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
  360. data/sig/sentdm/models/channels/supplied_campaign.rbs +9 -0
  361. data/sig/sentdm/models/channels/supplied_compliance.rbs +37 -0
  362. data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
  363. data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
  364. data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
  365. data/sig/sentdm/models/channels_state.rbs +55 -0
  366. data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
  367. data/sig/sentdm/models/compliance_requirement.rbs +76 -0
  368. data/sig/sentdm/models/compliance_requirements.rbs +66 -0
  369. data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
  370. data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
  371. data/sig/sentdm/models/contact_message_summary.rbs +6 -35
  372. data/sig/sentdm/models/contacts_list.rbs +31 -0
  373. data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
  374. data/sig/sentdm/models/entity_type.rbs +22 -0
  375. data/sig/sentdm/models/inbound_media.rbs +35 -0
  376. data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
  377. data/sig/sentdm/models/link_event.rbs +44 -0
  378. data/sig/sentdm/models/link_event_payload.rbs +106 -0
  379. data/sig/sentdm/models/message.rbs +130 -0
  380. data/sig/sentdm/models/message_activities.rbs +38 -0
  381. data/sig/sentdm/models/message_activity.rbs +66 -0
  382. data/sig/sentdm/models/message_body.rbs +52 -0
  383. data/sig/sentdm/models/message_button.rbs +34 -0
  384. data/sig/sentdm/models/message_cancel_params.rbs +38 -0
  385. data/sig/sentdm/models/message_channel_options.rbs +26 -0
  386. data/sig/sentdm/models/message_header_media.rbs +19 -0
  387. data/sig/sentdm/models/message_media.rbs +40 -0
  388. data/sig/sentdm/models/message_recipient.rbs +34 -0
  389. data/sig/sentdm/models/message_send_params.rbs +8 -54
  390. data/sig/sentdm/models/message_send_response.rbs +4 -77
  391. data/sig/sentdm/models/message_send_result.rbs +45 -0
  392. data/sig/sentdm/models/message_status_event.rbs +40 -0
  393. data/sig/sentdm/models/mms_market.rbs +35 -0
  394. data/sig/sentdm/models/number_lookup_result.rbs +64 -0
  395. data/sig/sentdm/models/pagination_cursors.rbs +15 -0
  396. data/sig/sentdm/models/pagination_meta.rbs +4 -16
  397. data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
  398. data/sig/sentdm/models/profile_completion_result.rbs +19 -0
  399. data/sig/sentdm/models/profile_detail.rbs +8 -315
  400. data/sig/sentdm/models/profiles/brand_campaign.rbs +11 -16
  401. data/sig/sentdm/models/profiles_list.rbs +31 -0
  402. data/sig/sentdm/models/sender_profile.rbs +76 -0
  403. data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
  404. data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
  405. data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
  406. data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
  407. data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
  408. data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
  409. data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
  410. data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
  411. data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
  412. data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
  413. data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
  414. data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
  415. data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
  416. data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
  417. data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
  418. data/sig/sentdm/models/template_body.rbs +4 -43
  419. data/sig/sentdm/models/template_header.rbs +4 -31
  420. data/sig/sentdm/models/template_header_location.rbs +30 -0
  421. data/sig/sentdm/models/template_media_item.rbs +17 -0
  422. data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
  423. data/sig/sentdm/models/template_ref.rbs +26 -0
  424. data/sig/sentdm/models/template_variable.rbs +4 -51
  425. data/sig/sentdm/models/template_variable_props.rbs +50 -0
  426. data/sig/sentdm/models/templates_list.rbs +29 -0
  427. data/sig/sentdm/models/users_list.rbs +31 -0
  428. data/sig/sentdm/models/voice/call.rbs +4 -49
  429. data/sig/sentdm/models/voice/call_leg.rbs +50 -0
  430. data/sig/sentdm/models/webhook_create_params.rbs +4 -28
  431. data/sig/sentdm/models/webhook_delivery.rbs +99 -0
  432. data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
  433. data/sig/sentdm/models/webhook_events_list.rbs +31 -0
  434. data/sig/sentdm/models/webhook_response.rbs +4 -28
  435. data/sig/sentdm/models/webhook_secret.rbs +15 -0
  436. data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
  437. data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
  438. data/sig/sentdm/models/webhook_test.rbs +19 -0
  439. data/sig/sentdm/models/webhook_update_params.rbs +4 -28
  440. data/sig/sentdm/models/webhooks_list.rbs +31 -0
  441. data/sig/sentdm/models.rbs +188 -0
  442. data/sig/sentdm/resources/channels/rcs.rbs +41 -0
  443. data/sig/sentdm/resources/channels/sms.rbs +44 -0
  444. data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
  445. data/sig/sentdm/resources/channels.rbs +11 -0
  446. data/sig/sentdm/resources/compliance.rbs +15 -0
  447. data/sig/sentdm/resources/conversations.rbs +2 -2
  448. data/sig/sentdm/resources/me.rbs +1 -1
  449. data/sig/sentdm/resources/messages.rbs +12 -4
  450. data/sig/sentdm/resources/numbers.rbs +1 -1
  451. data/sig/sentdm/resources/profiles.rbs +2 -2
  452. data/sig/sentdm/resources/sender_profiles.rbs +44 -0
  453. data/sig/sentdm/resources/users.rbs +1 -1
  454. data/sig/sentdm/resources/webhooks.rbs +6 -6
  455. metadata +365 -35
  456. data/lib/sentdm/models/me_retrieve_response.rb +0 -409
  457. data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
  458. data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
  459. data/lib/sentdm/models/number_lookup_response.rb +0 -104
  460. data/lib/sentdm/models/profile_complete_response.rb +0 -74
  461. data/lib/sentdm/models/profile_list_response.rb +0 -65
  462. data/lib/sentdm/models/user_list_response.rb +0 -65
  463. data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
  464. data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
  465. data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
  466. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
  467. data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
  468. data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
  469. data/rbi/sentdm/models/profile_list_response.rbi +0 -128
  470. data/rbi/sentdm/models/user_list_response.rbi +0 -128
  471. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
  472. data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
  473. data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
  474. data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
  475. data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
  476. data/sig/sentdm/models/number_lookup_response.rbs +0 -100
  477. data/sig/sentdm/models/profile_complete_response.rbs +0 -55
  478. data/sig/sentdm/models/profile_list_response.rbs +0 -67
  479. data/sig/sentdm/models/user_list_response.rbs +0 -67
  480. data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
  481. data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
  482. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
  483. data/sig/sentdm/models/webhook_test_response.rbs +0 -55
@@ -1,765 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- class MessageRetrieveStatusResponse < Sentdm::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(
9
- Sentdm::Models::MessageRetrieveStatusResponse,
10
- Sentdm::Internal::AnyHash
11
- )
12
- end
13
-
14
- # Message response for v3 API — same shape as v2 with snake_case JSON conventions.
15
- #
16
- # The shape of a message that was sent immediately: it never has a scheduled_at
17
- # key. A message that is or was held for a later instant is a
18
- # ScheduledMessageResponse, and the endpoint decides which of the two to answer
19
- # with. From always returns this type.
20
- sig do
21
- returns(T.nilable(Sentdm::Models::MessageRetrieveStatusResponse::Data))
22
- end
23
- attr_reader :data
24
-
25
- sig do
26
- params(
27
- data:
28
- T.nilable(
29
- Sentdm::Models::MessageRetrieveStatusResponse::Data::OrHash
30
- )
31
- ).void
32
- end
33
- attr_writer :data
34
-
35
- # Error information
36
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
37
- attr_reader :error
38
-
39
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
40
- attr_writer :error
41
-
42
- # Request and response metadata
43
- sig { returns(T.nilable(Sentdm::APIMeta)) }
44
- attr_reader :meta
45
-
46
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
47
- attr_writer :meta
48
-
49
- # Indicates whether the request was successful
50
- sig { returns(T.nilable(T::Boolean)) }
51
- attr_reader :success
52
-
53
- sig { params(success: T::Boolean).void }
54
- attr_writer :success
55
-
56
- # Standard API response envelope for all v3 endpoints
57
- sig do
58
- params(
59
- data:
60
- T.nilable(
61
- Sentdm::Models::MessageRetrieveStatusResponse::Data::OrHash
62
- ),
63
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
64
- meta: Sentdm::APIMeta::OrHash,
65
- success: T::Boolean
66
- ).returns(T.attached_class)
67
- end
68
- def self.new(
69
- # Message response for v3 API — same shape as v2 with snake_case JSON conventions.
70
- #
71
- # The shape of a message that was sent immediately: it never has a scheduled_at
72
- # key. A message that is or was held for a later instant is a
73
- # ScheduledMessageResponse, and the endpoint decides which of the two to answer
74
- # with. From always returns this type.
75
- data: nil,
76
- # Error information
77
- error: nil,
78
- # Request and response metadata
79
- meta: nil,
80
- # Indicates whether the request was successful
81
- success: nil
82
- )
83
- end
84
-
85
- sig do
86
- override.returns(
87
- {
88
- data:
89
- T.nilable(Sentdm::Models::MessageRetrieveStatusResponse::Data),
90
- error: T.nilable(Sentdm::ErrorDetail),
91
- meta: Sentdm::APIMeta,
92
- success: T::Boolean
93
- }
94
- )
95
- end
96
- def to_hash
97
- end
98
-
99
- class Data < Sentdm::Internal::Type::BaseModel
100
- OrHash =
101
- T.type_alias do
102
- T.any(
103
- Sentdm::Models::MessageRetrieveStatusResponse::Data,
104
- Sentdm::Internal::AnyHash
105
- )
106
- end
107
-
108
- sig { returns(T.nilable(String)) }
109
- attr_reader :id
110
-
111
- sig { params(id: String).void }
112
- attr_writer :id
113
-
114
- sig { returns(T.nilable(Float)) }
115
- attr_accessor :active_contact_price
116
-
117
- sig { returns(T.nilable(String)) }
118
- attr_reader :channel
119
-
120
- sig { params(channel: String).void }
121
- attr_writer :channel
122
-
123
- sig { returns(T.nilable(String)) }
124
- attr_reader :contact_id
125
-
126
- sig { params(contact_id: String).void }
127
- attr_writer :contact_id
128
-
129
- sig { returns(T.nilable(Time)) }
130
- attr_reader :created_at
131
-
132
- sig { params(created_at: Time).void }
133
- attr_writer :created_at
134
-
135
- sig { returns(T.nilable(String)) }
136
- attr_reader :customer_id
137
-
138
- sig { params(customer_id: String).void }
139
- attr_writer :customer_id
140
-
141
- sig { returns(T.nilable(String)) }
142
- attr_reader :direction
143
-
144
- sig { params(direction: String).void }
145
- attr_writer :direction
146
-
147
- sig do
148
- returns(
149
- T.nilable(
150
- T::Array[
151
- Sentdm::Models::MessageRetrieveStatusResponse::Data::Event
152
- ]
153
- )
154
- )
155
- end
156
- attr_accessor :events
157
-
158
- # Structured message body format for database storage. Preserves channel-specific
159
- # components (header, header media, body, footer, buttons, MMS subject and media).
160
- #
161
- # Persisted as the messageBody jsonb column on Messages. Every write path goes
162
- # through MessageUtils.MessageBodyJsonOptions, which writes nulls, so the envelope
163
- # shape is stable regardless of channel or status. Anything that rebuilds this
164
- # object field by field — the four IMessageBodyStrategy implementations and
165
- # MessageUtils.BuildSegmentBody — has to carry every member, or that member is
166
- # silently dropped on whichever path forgot it.
167
- sig do
168
- returns(
169
- T.nilable(
170
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody
171
- )
172
- )
173
- end
174
- attr_reader :message_body
175
-
176
- sig do
177
- params(
178
- message_body:
179
- T.nilable(
180
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::OrHash
181
- )
182
- ).void
183
- end
184
- attr_writer :message_body
185
-
186
- sig { returns(T.nilable(String)) }
187
- attr_reader :phone
188
-
189
- sig { params(phone: String).void }
190
- attr_writer :phone
191
-
192
- sig { returns(T.nilable(String)) }
193
- attr_reader :phone_international
194
-
195
- sig { params(phone_international: String).void }
196
- attr_writer :phone_international
197
-
198
- sig { returns(T.nilable(Float)) }
199
- attr_accessor :price
200
-
201
- # A human-readable sentence for reason_code, for example "Insufficient balance".
202
- # Omitted whenever reason_code is.
203
- sig { returns(T.nilable(String)) }
204
- attr_accessor :reason
205
-
206
- # Why the message is at its current status, as a stable platform code such as
207
- # DELIVERY_007, BUSINESS_003 or DELIVERY_003. Present when the current status is
208
- # FAILED, FILTERED or BLOCKED and the lifecycle was loaded; omitted otherwise.
209
- # Switch on this rather than on reason: the code is stable, the wording may be
210
- # improved. It is the platform's classification of the outcome, never a carrier or
211
- # vendor code.
212
- sig { returns(T.nilable(String)) }
213
- attr_accessor :reason_code
214
-
215
- sig { returns(T.nilable(String)) }
216
- attr_reader :region_code
217
-
218
- sig { params(region_code: String).void }
219
- attr_writer :region_code
220
-
221
- sig { returns(T.nilable(String)) }
222
- attr_reader :status
223
-
224
- sig { params(status: String).void }
225
- attr_writer :status
226
-
227
- sig { returns(T.nilable(String)) }
228
- attr_accessor :template_category
229
-
230
- sig { returns(T.nilable(String)) }
231
- attr_accessor :template_id
232
-
233
- sig { returns(T.nilable(String)) }
234
- attr_accessor :template_name
235
-
236
- # Message response for v3 API — same shape as v2 with snake_case JSON conventions.
237
- #
238
- # The shape of a message that was sent immediately: it never has a scheduled_at
239
- # key. A message that is or was held for a later instant is a
240
- # ScheduledMessageResponse, and the endpoint decides which of the two to answer
241
- # with. From always returns this type.
242
- sig do
243
- params(
244
- id: String,
245
- active_contact_price: T.nilable(Float),
246
- channel: String,
247
- contact_id: String,
248
- created_at: Time,
249
- customer_id: String,
250
- direction: String,
251
- events:
252
- T.nilable(
253
- T::Array[
254
- Sentdm::Models::MessageRetrieveStatusResponse::Data::Event::OrHash
255
- ]
256
- ),
257
- message_body:
258
- T.nilable(
259
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::OrHash
260
- ),
261
- phone: String,
262
- phone_international: String,
263
- price: T.nilable(Float),
264
- reason: T.nilable(String),
265
- reason_code: T.nilable(String),
266
- region_code: String,
267
- status: String,
268
- template_category: T.nilable(String),
269
- template_id: T.nilable(String),
270
- template_name: T.nilable(String)
271
- ).returns(T.attached_class)
272
- end
273
- def self.new(
274
- id: nil,
275
- active_contact_price: nil,
276
- channel: nil,
277
- contact_id: nil,
278
- created_at: nil,
279
- customer_id: nil,
280
- direction: nil,
281
- events: nil,
282
- # Structured message body format for database storage. Preserves channel-specific
283
- # components (header, header media, body, footer, buttons, MMS subject and media).
284
- #
285
- # Persisted as the messageBody jsonb column on Messages. Every write path goes
286
- # through MessageUtils.MessageBodyJsonOptions, which writes nulls, so the envelope
287
- # shape is stable regardless of channel or status. Anything that rebuilds this
288
- # object field by field — the four IMessageBodyStrategy implementations and
289
- # MessageUtils.BuildSegmentBody — has to carry every member, or that member is
290
- # silently dropped on whichever path forgot it.
291
- message_body: nil,
292
- phone: nil,
293
- phone_international: nil,
294
- price: nil,
295
- # A human-readable sentence for reason_code, for example "Insufficient balance".
296
- # Omitted whenever reason_code is.
297
- reason: nil,
298
- # Why the message is at its current status, as a stable platform code such as
299
- # DELIVERY_007, BUSINESS_003 or DELIVERY_003. Present when the current status is
300
- # FAILED, FILTERED or BLOCKED and the lifecycle was loaded; omitted otherwise.
301
- # Switch on this rather than on reason: the code is stable, the wording may be
302
- # improved. It is the platform's classification of the outcome, never a carrier or
303
- # vendor code.
304
- reason_code: nil,
305
- region_code: nil,
306
- status: nil,
307
- template_category: nil,
308
- template_id: nil,
309
- template_name: nil
310
- )
311
- end
312
-
313
- sig do
314
- override.returns(
315
- {
316
- id: String,
317
- active_contact_price: T.nilable(Float),
318
- channel: String,
319
- contact_id: String,
320
- created_at: Time,
321
- customer_id: String,
322
- direction: String,
323
- events:
324
- T.nilable(
325
- T::Array[
326
- Sentdm::Models::MessageRetrieveStatusResponse::Data::Event
327
- ]
328
- ),
329
- message_body:
330
- T.nilable(
331
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody
332
- ),
333
- phone: String,
334
- phone_international: String,
335
- price: T.nilable(Float),
336
- reason: T.nilable(String),
337
- reason_code: T.nilable(String),
338
- region_code: String,
339
- status: String,
340
- template_category: T.nilable(String),
341
- template_id: T.nilable(String),
342
- template_name: T.nilable(String)
343
- }
344
- )
345
- end
346
- def to_hash
347
- end
348
-
349
- class Event < Sentdm::Internal::Type::BaseModel
350
- OrHash =
351
- T.type_alias do
352
- T.any(
353
- Sentdm::Models::MessageRetrieveStatusResponse::Data::Event,
354
- Sentdm::Internal::AnyHash
355
- )
356
- end
357
-
358
- sig { returns(String) }
359
- attr_accessor :status
360
-
361
- sig { returns(Time) }
362
- attr_accessor :timestamp
363
-
364
- sig { returns(T.nilable(String)) }
365
- attr_accessor :description
366
-
367
- # A human-readable sentence for reason_code. Omitted whenever reason_code is.
368
- sig { returns(T.nilable(String)) }
369
- attr_accessor :reason
370
-
371
- # Why the message reached this status, as a stable platform code such as
372
- # DELIVERY_007. Present on FAILED, FILTERED and BLOCKED events; omitted on every
373
- # status that needs no explanation. Same wire name and vocabulary as on the
374
- # activities list and the webhook.
375
- sig { returns(T.nilable(String)) }
376
- attr_accessor :reason_code
377
-
378
- # Represents a status change event in a message's lifecycle (v3)
379
- sig do
380
- params(
381
- status: String,
382
- timestamp: Time,
383
- description: T.nilable(String),
384
- reason: T.nilable(String),
385
- reason_code: T.nilable(String)
386
- ).returns(T.attached_class)
387
- end
388
- def self.new(
389
- status:,
390
- timestamp:,
391
- description: nil,
392
- # A human-readable sentence for reason_code. Omitted whenever reason_code is.
393
- reason: nil,
394
- # Why the message reached this status, as a stable platform code such as
395
- # DELIVERY_007. Present on FAILED, FILTERED and BLOCKED events; omitted on every
396
- # status that needs no explanation. Same wire name and vocabulary as on the
397
- # activities list and the webhook.
398
- reason_code: nil
399
- )
400
- end
401
-
402
- sig do
403
- override.returns(
404
- {
405
- status: String,
406
- timestamp: Time,
407
- description: T.nilable(String),
408
- reason: T.nilable(String),
409
- reason_code: T.nilable(String)
410
- }
411
- )
412
- end
413
- def to_hash
414
- end
415
- end
416
-
417
- class MessageBody < Sentdm::Internal::Type::BaseModel
418
- OrHash =
419
- T.type_alias do
420
- T.any(
421
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody,
422
- Sentdm::Internal::AnyHash
423
- )
424
- end
425
-
426
- sig do
427
- returns(
428
- T.nilable(
429
- T::Array[
430
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Button
431
- ]
432
- )
433
- )
434
- end
435
- attr_accessor :buttons
436
-
437
- sig { returns(T.nilable(String)) }
438
- attr_reader :content
439
-
440
- sig { params(content: String).void }
441
- attr_writer :content
442
-
443
- sig { returns(T.nilable(String)) }
444
- attr_accessor :footer
445
-
446
- sig { returns(T.nilable(String)) }
447
- attr_accessor :header
448
-
449
- # The media asset that rode a message's header, recorded as sent.
450
- sig do
451
- returns(
452
- T.nilable(
453
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::HeaderMedia
454
- )
455
- )
456
- end
457
- attr_reader :header_media
458
-
459
- sig do
460
- params(
461
- header_media:
462
- T.nilable(
463
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::HeaderMedia::OrHash
464
- )
465
- ).void
466
- end
467
- attr_writer :header_media
468
-
469
- # MMS attachments, as the publicly fetchable URLs handed to the carrier. Null on
470
- # every other channel.
471
- #
472
- # Persisted rather than derived because a resend and a curfew release rebuild the
473
- # send from the stored row — MessageReplayCommandBuilder reads templateId and
474
- # templateVariables and nothing else — so media that lives only on the original
475
- # request would silently turn a replayed MMS into a text message.
476
- sig do
477
- returns(
478
- T.nilable(
479
- T::Array[
480
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Media
481
- ]
482
- )
483
- )
484
- end
485
- attr_accessor :media
486
-
487
- # MMS subject line. Null on every other channel.
488
- sig { returns(T.nilable(String)) }
489
- attr_accessor :subject
490
-
491
- # Structured message body format for database storage. Preserves channel-specific
492
- # components (header, header media, body, footer, buttons, MMS subject and media).
493
- #
494
- # Persisted as the messageBody jsonb column on Messages. Every write path goes
495
- # through MessageUtils.MessageBodyJsonOptions, which writes nulls, so the envelope
496
- # shape is stable regardless of channel or status. Anything that rebuilds this
497
- # object field by field — the four IMessageBodyStrategy implementations and
498
- # MessageUtils.BuildSegmentBody — has to carry every member, or that member is
499
- # silently dropped on whichever path forgot it.
500
- sig do
501
- params(
502
- buttons:
503
- T.nilable(
504
- T::Array[
505
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Button::OrHash
506
- ]
507
- ),
508
- content: String,
509
- footer: T.nilable(String),
510
- header: T.nilable(String),
511
- header_media:
512
- T.nilable(
513
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::HeaderMedia::OrHash
514
- ),
515
- media:
516
- T.nilable(
517
- T::Array[
518
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Media::OrHash
519
- ]
520
- ),
521
- subject: T.nilable(String)
522
- ).returns(T.attached_class)
523
- end
524
- def self.new(
525
- buttons: nil,
526
- content: nil,
527
- footer: nil,
528
- header: nil,
529
- # The media asset that rode a message's header, recorded as sent.
530
- header_media: nil,
531
- # MMS attachments, as the publicly fetchable URLs handed to the carrier. Null on
532
- # every other channel.
533
- #
534
- # Persisted rather than derived because a resend and a curfew release rebuild the
535
- # send from the stored row — MessageReplayCommandBuilder reads templateId and
536
- # templateVariables and nothing else — so media that lives only on the original
537
- # request would silently turn a replayed MMS into a text message.
538
- media: nil,
539
- # MMS subject line. Null on every other channel.
540
- subject: nil
541
- )
542
- end
543
-
544
- sig do
545
- override.returns(
546
- {
547
- buttons:
548
- T.nilable(
549
- T::Array[
550
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Button
551
- ]
552
- ),
553
- content: String,
554
- footer: T.nilable(String),
555
- header: T.nilable(String),
556
- header_media:
557
- T.nilable(
558
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::HeaderMedia
559
- ),
560
- media:
561
- T.nilable(
562
- T::Array[
563
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Media
564
- ]
565
- ),
566
- subject: T.nilable(String)
567
- }
568
- )
569
- end
570
- def to_hash
571
- end
572
-
573
- class Button < Sentdm::Internal::Type::BaseModel
574
- OrHash =
575
- T.type_alias do
576
- T.any(
577
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Button,
578
- Sentdm::Internal::AnyHash
579
- )
580
- end
581
-
582
- sig { returns(T.nilable(String)) }
583
- attr_accessor :postback_data
584
-
585
- sig { returns(T.nilable(String)) }
586
- attr_accessor :text
587
-
588
- sig { returns(T.nilable(String)) }
589
- attr_reader :type
590
-
591
- sig { params(type: String).void }
592
- attr_writer :type
593
-
594
- sig { returns(T.nilable(String)) }
595
- attr_reader :value
596
-
597
- sig { params(value: String).void }
598
- attr_writer :value
599
-
600
- sig do
601
- params(
602
- postback_data: T.nilable(String),
603
- text: T.nilable(String),
604
- type: String,
605
- value: String
606
- ).returns(T.attached_class)
607
- end
608
- def self.new(postback_data: nil, text: nil, type: nil, value: nil)
609
- end
610
-
611
- sig do
612
- override.returns(
613
- {
614
- postback_data: T.nilable(String),
615
- text: T.nilable(String),
616
- type: String,
617
- value: String
618
- }
619
- )
620
- end
621
- def to_hash
622
- end
623
- end
624
-
625
- class HeaderMedia < Sentdm::Internal::Type::BaseModel
626
- OrHash =
627
- T.type_alias do
628
- T.any(
629
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::HeaderMedia,
630
- Sentdm::Internal::AnyHash
631
- )
632
- end
633
-
634
- # "image", "video" or "document" — taken from the header's media variable.
635
- sig { returns(T.nilable(String)) }
636
- attr_reader :type
637
-
638
- sig { params(type: String).void }
639
- attr_writer :type
640
-
641
- # The https URL the caller supplied for this send. Never the template's stored
642
- # props.sample, which is Meta's expiring header_handle rather than what was
643
- # delivered.
644
- sig { returns(T.nilable(String)) }
645
- attr_reader :url
646
-
647
- sig { params(url: String).void }
648
- attr_writer :url
649
-
650
- # The media asset that rode a message's header, recorded as sent.
651
- sig { params(type: String, url: String).returns(T.attached_class) }
652
- def self.new(
653
- # "image", "video" or "document" — taken from the header's media variable.
654
- type: nil,
655
- # The https URL the caller supplied for this send. Never the template's stored
656
- # props.sample, which is Meta's expiring header_handle rather than what was
657
- # delivered.
658
- url: nil
659
- )
660
- end
661
-
662
- sig { override.returns({ type: String, url: String }) }
663
- def to_hash
664
- end
665
- end
666
-
667
- class Media < Sentdm::Internal::Type::BaseModel
668
- OrHash =
669
- T.type_alias do
670
- T.any(
671
- Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody::Media,
672
- Sentdm::Internal::AnyHash
673
- )
674
- end
675
-
676
- # One of MmsMediaTypes when the content type is known. Advisory — a reader should
677
- # trust the fetched object's own Content-Type.
678
- sig { returns(T.nilable(String)) }
679
- attr_accessor :media_type
680
-
681
- # Content type as the provider declared it. Null when it declared none.
682
- sig { returns(T.nilable(String)) }
683
- attr_accessor :mime_type
684
-
685
- # Size as the provider declared it. Never measured here — nothing downloads the
686
- # file.
687
- sig { returns(T.nilable(Integer)) }
688
- attr_accessor :size_bytes
689
-
690
- # Inbound only: the SHA-256 the provider declared alongside the attachment, when
691
- # it declared one. Relayed to the customer so they can verify what they fetch
692
- # matches what the carrier said it sent. It is the only integrity signal available
693
- # on an attachment nobody here has read.
694
- sig { returns(T.nilable(String)) }
695
- attr_accessor :source_hash_sha256
696
-
697
- # Where the file lives. Outbound: the URL the customer gave us and the carrier
698
- # fetched. Inbound: the URL the carrier hosts it at, relayed unchanged.
699
- sig { returns(T.nilable(String)) }
700
- attr_accessor :url
701
-
702
- # One attachment on a message, in either direction — and in both, a URL somebody
703
- # else hosts.
704
- #
705
- # Outbound: the customer supplied a public URL and we handed it to the carrier.
706
- # Inbound: the carrier hosts the file and we record where. sent.dm never holds the
707
- # bytes, so there is no key, no expiry bookkeeping and nothing minted per read —
708
- # what is stored is what is served.
709
- #
710
- # An inbound link expires on the carrier's own schedule and is unauthenticated.
711
- # That is the customer's to manage, and it is documented where they will see it
712
- # rather than only here — a recipient who needs an attachment to outlive that
713
- # window copies it on receipt.
714
- #
715
- # Storing a presigned URL is the specific mistake this shape still avoids:
716
- # M260826130000 and M260826140000 exist because RCS assets were stored as signed
717
- # URLs and went stale. Nothing here is signed.
718
- sig do
719
- params(
720
- media_type: T.nilable(String),
721
- mime_type: T.nilable(String),
722
- size_bytes: T.nilable(Integer),
723
- source_hash_sha256: T.nilable(String),
724
- url: T.nilable(String)
725
- ).returns(T.attached_class)
726
- end
727
- def self.new(
728
- # One of MmsMediaTypes when the content type is known. Advisory — a reader should
729
- # trust the fetched object's own Content-Type.
730
- media_type: nil,
731
- # Content type as the provider declared it. Null when it declared none.
732
- mime_type: nil,
733
- # Size as the provider declared it. Never measured here — nothing downloads the
734
- # file.
735
- size_bytes: nil,
736
- # Inbound only: the SHA-256 the provider declared alongside the attachment, when
737
- # it declared one. Relayed to the customer so they can verify what they fetch
738
- # matches what the carrier said it sent. It is the only integrity signal available
739
- # on an attachment nobody here has read.
740
- source_hash_sha256: nil,
741
- # Where the file lives. Outbound: the URL the customer gave us and the carrier
742
- # fetched. Inbound: the URL the carrier hosts it at, relayed unchanged.
743
- url: nil
744
- )
745
- end
746
-
747
- sig do
748
- override.returns(
749
- {
750
- media_type: T.nilable(String),
751
- mime_type: T.nilable(String),
752
- size_bytes: T.nilable(Integer),
753
- source_hash_sha256: T.nilable(String),
754
- url: T.nilable(String)
755
- }
756
- )
757
- end
758
- def to_hash
759
- end
760
- end
761
- end
762
- end
763
- end
764
- end
765
- end