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
@@ -0,0 +1,96 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileUpdateParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::SenderProfileUpdateParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :description
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :name
22
+
23
+ sig { params(name: String).void }
24
+ attr_writer :name
25
+
26
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
27
+ # ORGANIZATION_AND_SENDER_PROFILE. Cannot be cleared — a supplied value must be
28
+ # one of those.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :notifications
31
+
32
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
33
+ # for testing integrations without actual execution
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :sandbox
36
+
37
+ sig { params(sandbox: T::Boolean).void }
38
+ attr_writer :sandbox
39
+
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :short_name
42
+
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :idempotency_key
45
+
46
+ sig { params(idempotency_key: String).void }
47
+ attr_writer :idempotency_key
48
+
49
+ sig do
50
+ params(
51
+ id: String,
52
+ description: T.nilable(String),
53
+ name: String,
54
+ notifications: T.nilable(String),
55
+ sandbox: T::Boolean,
56
+ short_name: T.nilable(String),
57
+ idempotency_key: String,
58
+ request_options: Sentdm::RequestOptions::OrHash
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ id:,
63
+ description: nil,
64
+ name: nil,
65
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
66
+ # ORGANIZATION_AND_SENDER_PROFILE. Cannot be cleared — a supplied value must be
67
+ # one of those.
68
+ notifications: nil,
69
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
70
+ # for testing integrations without actual execution
71
+ sandbox: nil,
72
+ short_name: nil,
73
+ idempotency_key: nil,
74
+ request_options: {}
75
+ )
76
+ end
77
+
78
+ sig do
79
+ override.returns(
80
+ {
81
+ id: String,
82
+ description: T.nilable(String),
83
+ name: String,
84
+ notifications: T.nilable(String),
85
+ sandbox: T::Boolean,
86
+ short_name: T.nilable(String),
87
+ idempotency_key: String,
88
+ request_options: Sentdm::RequestOptions
89
+ }
90
+ )
91
+ end
92
+ def to_hash
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileWhatsapp < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::SenderProfileWhatsapp, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The Meta phone-number id this profile sends from. Must already be registered
12
+ # under WabaId.
13
+ #
14
+ # Optional. Omit it to attach the account now and settle the number later: the
15
+ # channel reads as ACTION_NEEDED with CHANNEL_007, and the profile's WhatsApp
16
+ # messages fail until a number is named. They do not fall back to the
17
+ # organization's account. Nothing picks one on your behalf.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :phone_number_id
20
+
21
+ # WhatsApp Business Account id — one of the accounts shared into your
22
+ # organization. Required: the organization holds one per client, and nothing but
23
+ # the caller says which belongs to this profile.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :waba_id
26
+
27
+ # The profile's own WhatsApp Business Account, named by the two identifiers the
28
+ # organization cannot answer for you.
29
+ #
30
+ # No mode: a profile's WABA is its own or it has none. Sharing the organization's
31
+ # would mean sharing its inbox and its throughput, which makes the two
32
+ # indistinguishable to a recipient — so inheriting is not offered rather than
33
+ # refused.
34
+ #
35
+ # Everything derivable is derived. Whenever this block is present, the solution
36
+ # the account arrived through, the client business portfolio that owns it, the
37
+ # access token and that token's expiry are all resolved from the organization by
38
+ # IPartnerSolutionService.ResolveAccountCredentialsAsync — the first two off the
39
+ # org's shared-account listing, the token minted against the org's own solution.
40
+ # They were previously asked for and are no longer accepted: solution_id and
41
+ # owner_business_id are Meta's answer about provenance, so taking them from the
42
+ # caller let a request assert a partnership Meta disagreed with, and the listing
43
+ # has to be consulted regardless because it is what proves the account is one this
44
+ # organization may reach.
45
+ #
46
+ # No access token, and there never was one here: it is minted per client business
47
+ # portfolio and rotates roughly every sixty days, so a pasted value would be stale
48
+ # before it was useful. Asking a customer to mint a System User token in Meta
49
+ # Business Manager is skilled work in a console they were never meant to see, and
50
+ # it would say nothing about which solution the account came from or when it is
51
+ # revoked.
52
+ sig do
53
+ params(
54
+ phone_number_id: T.nilable(String),
55
+ waba_id: T.nilable(String)
56
+ ).returns(T.attached_class)
57
+ end
58
+ def self.new(
59
+ # The Meta phone-number id this profile sends from. Must already be registered
60
+ # under WabaId.
61
+ #
62
+ # Optional. Omit it to attach the account now and settle the number later: the
63
+ # channel reads as ACTION_NEEDED with CHANNEL_007, and the profile's WhatsApp
64
+ # messages fail until a number is named. They do not fall back to the
65
+ # organization's account. Nothing picks one on your behalf.
66
+ phone_number_id: nil,
67
+ # WhatsApp Business Account id — one of the accounts shared into your
68
+ # organization. Required: the organization holds one per client, and nothing but
69
+ # the caller says which belongs to this profile.
70
+ waba_id: nil
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ { phone_number_id: T.nilable(String), waba_id: T.nilable(String) }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfilesList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::SenderProfilesList, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Pagination metadata for list responses
12
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
13
+ attr_reader :pagination
14
+
15
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
16
+ attr_writer :pagination
17
+
18
+ # The sender_profiles on this page.
19
+ sig { returns(T.nilable(T::Array[Sentdm::SenderProfile])) }
20
+ attr_reader :sender_profiles
21
+
22
+ sig do
23
+ params(sender_profiles: T::Array[Sentdm::SenderProfile::OrHash]).void
24
+ end
25
+ attr_writer :sender_profiles
26
+
27
+ # A paginated list of sender profiles.
28
+ sig do
29
+ params(
30
+ pagination: Sentdm::PaginationMeta::OrHash,
31
+ sender_profiles: T::Array[Sentdm::SenderProfile::OrHash]
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # Pagination metadata for list responses
36
+ pagination: nil,
37
+ # The sender_profiles on this page.
38
+ sender_profiles: nil
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ pagination: Sentdm::PaginationMeta,
46
+ sender_profiles: T::Array[Sentdm::SenderProfile]
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module TcrBrandIdentityStatus
6
+ extend Sentdm::Internal::Type::Enum
7
+
8
+ TaggedSymbol =
9
+ T.type_alias { T.all(Symbol, Sentdm::TcrBrandIdentityStatus) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ SELF_DECLARED =
13
+ T.let(:SELF_DECLARED, Sentdm::TcrBrandIdentityStatus::TaggedSymbol)
14
+ UNVERIFIED =
15
+ T.let(:UNVERIFIED, Sentdm::TcrBrandIdentityStatus::TaggedSymbol)
16
+ VERIFIED = T.let(:VERIFIED, Sentdm::TcrBrandIdentityStatus::TaggedSymbol)
17
+ VETTED_VERIFIED =
18
+ T.let(:VETTED_VERIFIED, Sentdm::TcrBrandIdentityStatus::TaggedSymbol)
19
+
20
+ sig do
21
+ override.returns(T::Array[Sentdm::TcrBrandIdentityStatus::TaggedSymbol])
22
+ end
23
+ def self.values
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module TcrBrandStatus
6
+ extend Sentdm::Internal::Type::Enum
7
+
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, Sentdm::TcrBrandStatus) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
+
11
+ ACTIVE = T.let(:ACTIVE, Sentdm::TcrBrandStatus::TaggedSymbol)
12
+ INACTIVE = T.let(:INACTIVE, Sentdm::TcrBrandStatus::TaggedSymbol)
13
+ SUSPENDED = T.let(:SUSPENDED, Sentdm::TcrBrandStatus::TaggedSymbol)
14
+
15
+ sig { override.returns(T::Array[Sentdm::TcrBrandStatus::TaggedSymbol]) }
16
+ def self.values
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module TcrCampaignStatus
6
+ extend Sentdm::Internal::Type::Enum
7
+
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, Sentdm::TcrCampaignStatus) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
+
11
+ SENT_CREATED =
12
+ T.let(:SENT_CREATED, Sentdm::TcrCampaignStatus::TaggedSymbol)
13
+ ACTIVE = T.let(:ACTIVE, Sentdm::TcrCampaignStatus::TaggedSymbol)
14
+ EXPIRED = T.let(:EXPIRED, Sentdm::TcrCampaignStatus::TaggedSymbol)
15
+
16
+ sig do
17
+ override.returns(T::Array[Sentdm::TcrCampaignStatus::TaggedSymbol])
18
+ end
19
+ def self.values
20
+ end
21
+ end
22
+ end
23
+ end
@@ -13,10 +13,12 @@ module Sentdm
13
13
  # this slot MMS renders the shared or SMS body, so it is only needed for
14
14
  # MMS-specific copy, a subject or attachments. When present it replaces that body
15
15
  # on MMS rather than adding to it.
16
- sig { returns(T.nilable(Sentdm::TemplateBody::Mms)) }
16
+ sig { returns(T.nilable(Sentdm::TemplateMmsBodyContent)) }
17
17
  attr_reader :mms
18
18
 
19
- sig { params(mms: T.nilable(Sentdm::TemplateBody::Mms::OrHash)).void }
19
+ sig do
20
+ params(mms: T.nilable(Sentdm::TemplateMmsBodyContent::OrHash)).void
21
+ end
20
22
  attr_writer :mms
21
23
 
22
24
  # The shared body, used for every channel. One half of the choice described above.
@@ -67,7 +69,7 @@ module Sentdm
67
69
  # the copy, but cannot stand alone.
68
70
  sig do
69
71
  params(
70
- mms: T.nilable(Sentdm::TemplateBody::Mms::OrHash),
72
+ mms: T.nilable(Sentdm::TemplateMmsBodyContent::OrHash),
71
73
  multi_channel: T.nilable(Sentdm::TemplateBodyContent::OrHash),
72
74
  rcs: T.nilable(Sentdm::TemplateBodyContent::OrHash),
73
75
  sms: T.nilable(Sentdm::TemplateBodyContent::OrHash),
@@ -99,7 +101,7 @@ module Sentdm
99
101
  sig do
100
102
  override.returns(
101
103
  {
102
- mms: T.nilable(Sentdm::TemplateBody::Mms),
104
+ mms: T.nilable(Sentdm::TemplateMmsBodyContent),
103
105
  multi_channel: T.nilable(Sentdm::TemplateBodyContent),
104
106
  rcs: T.nilable(Sentdm::TemplateBodyContent),
105
107
  sms: T.nilable(Sentdm::TemplateBodyContent),
@@ -109,116 +111,6 @@ module Sentdm
109
111
  end
110
112
  def to_hash
111
113
  end
112
-
113
- class Mms < Sentdm::Models::TemplateBodyContent
114
- OrHash =
115
- T.type_alias do
116
- T.any(Sentdm::TemplateBody::Mms, Sentdm::Internal::AnyHash)
117
- end
118
-
119
- # Attachments carried by every send on this template, in order. A per-send
120
- # media_urls on the request replaces this list rather than adding to it, so a
121
- # template can hold a default creative and a caller can still send something
122
- # recipient-specific.
123
- sig { returns(T.nilable(T::Array[Sentdm::TemplateBody::Mms::Media])) }
124
- attr_accessor :media
125
-
126
- # MMS subject line. Optional — most handsets render it above the body, some ignore
127
- # it entirely. Deliberately its own field rather than riding TemplateHeader: the
128
- # header is authored once and shared across every channel, and carries Meta's
129
- # 60-character cap plus its no-newline, no-emoji text rules, none of which
130
- # describe an MMS subject.
131
- sig { returns(T.nilable(String)) }
132
- attr_accessor :subject
133
-
134
- # MMS-specific content — subject, text and attachments.
135
- #
136
- # Like Rcs, an override that cannot stand on its own: a template still needs a
137
- # MultiChannel body or the Sms + Whatsapp pair to be deliverable at all. Without
138
- # this slot MMS renders the shared or SMS body, so it is only needed for
139
- # MMS-specific copy, a subject or attachments. When present it replaces that body
140
- # on MMS rather than adding to it.
141
- sig do
142
- params(
143
- media:
144
- T.nilable(T::Array[Sentdm::TemplateBody::Mms::Media::OrHash]),
145
- subject: T.nilable(String)
146
- ).returns(T.attached_class)
147
- end
148
- def self.new(
149
- # Attachments carried by every send on this template, in order. A per-send
150
- # media_urls on the request replaces this list rather than adding to it, so a
151
- # template can hold a default creative and a caller can still send something
152
- # recipient-specific.
153
- media: nil,
154
- # MMS subject line. Optional — most handsets render it above the body, some ignore
155
- # it entirely. Deliberately its own field rather than riding TemplateHeader: the
156
- # header is authored once and shared across every channel, and carries Meta's
157
- # 60-character cap plus its no-newline, no-emoji text rules, none of which
158
- # describe an MMS subject.
159
- subject: nil
160
- )
161
- end
162
-
163
- sig do
164
- override.returns(
165
- {
166
- media: T.nilable(T::Array[Sentdm::TemplateBody::Mms::Media]),
167
- subject: T.nilable(String)
168
- }
169
- )
170
- end
171
- def to_hash
172
- end
173
-
174
- class Media < Sentdm::Internal::Type::BaseModel
175
- OrHash =
176
- T.type_alias do
177
- T.any(Sentdm::TemplateBody::Mms::Media, Sentdm::Internal::AnyHash)
178
- end
179
-
180
- # One of MmsMediaTypes. Advisory: the carrier reads the Content-Type off the
181
- # fetched object, not this field. It exists so an authoring UI can render the
182
- # right preview and so a reviewer can see what was intended.
183
- sig { returns(T.nilable(String)) }
184
- attr_accessor :media_type
185
-
186
- # Publicly fetchable https URL. The carrier's MMSC fetches this at send time, so
187
- # it has to stay reachable and unauthenticated for the life of the send —
188
- # including retries and a DLQ replay — which is why a presigned URL is not a valid
189
- # value here.
190
- sig { returns(T.nilable(String)) }
191
- attr_reader :url
192
-
193
- sig { params(url: String).void }
194
- attr_writer :url
195
-
196
- # One attachment on an MMS template body.
197
- sig do
198
- params(media_type: T.nilable(String), url: String).returns(
199
- T.attached_class
200
- )
201
- end
202
- def self.new(
203
- # One of MmsMediaTypes. Advisory: the carrier reads the Content-Type off the
204
- # fetched object, not this field. It exists so an authoring UI can render the
205
- # right preview and so a reviewer can see what was intended.
206
- media_type: nil,
207
- # Publicly fetchable https URL. The carrier's MMSC fetches this at send time, so
208
- # it has to stay reachable and unauthenticated for the life of the send —
209
- # including retries and a DLQ replay — which is why a presigned URL is not a valid
210
- # value here.
211
- url: nil
212
- )
213
- end
214
-
215
- sig do
216
- override.returns({ media_type: T.nilable(String), url: String })
217
- end
218
- def to_hash
219
- end
220
- end
221
- end
222
114
  end
223
115
  end
224
116
  end
@@ -31,13 +31,11 @@ module Sentdm
31
31
  # component is just {"type":"header","format":"location"} — so these values exist
32
32
  # for Sent: a preview, and the default a StaticResource header falls back to at
33
33
  # send.
34
- sig { returns(T.nilable(Sentdm::TemplateHeader::Location)) }
34
+ sig { returns(T.nilable(Sentdm::TemplateHeaderLocation)) }
35
35
  attr_reader :location
36
36
 
37
37
  sig do
38
- params(
39
- location: T.nilable(Sentdm::TemplateHeader::Location::OrHash)
40
- ).void
38
+ params(location: T.nilable(Sentdm::TemplateHeaderLocation::OrHash)).void
41
39
  end
42
40
  attr_writer :location
43
41
 
@@ -78,7 +76,7 @@ module Sentdm
78
76
  params(
79
77
  template: String,
80
78
  example_url: T.nilable(String),
81
- location: T.nilable(Sentdm::TemplateHeader::Location::OrHash),
79
+ location: T.nilable(Sentdm::TemplateHeaderLocation::OrHash),
82
80
  static_resource: T::Boolean,
83
81
  type: T.nilable(String),
84
82
  variables: T.nilable(T::Array[Sentdm::TemplateVariable::OrHash])
@@ -136,7 +134,7 @@ module Sentdm
136
134
  {
137
135
  template: String,
138
136
  example_url: T.nilable(String),
139
- location: T.nilable(Sentdm::TemplateHeader::Location),
137
+ location: T.nilable(Sentdm::TemplateHeaderLocation),
140
138
  static_resource: T::Boolean,
141
139
  type: T.nilable(String),
142
140
  variables: T.nilable(T::Array[Sentdm::TemplateVariable])
@@ -145,53 +143,6 @@ module Sentdm
145
143
  end
146
144
  def to_hash
147
145
  end
148
-
149
- class Location < Sentdm::Internal::Type::BaseModel
150
- OrHash =
151
- T.type_alias do
152
- T.any(Sentdm::TemplateHeader::Location, Sentdm::Internal::AnyHash)
153
- end
154
-
155
- sig { returns(String) }
156
- attr_accessor :address
157
-
158
- sig { returns(String) }
159
- attr_accessor :latitude
160
-
161
- sig { returns(String) }
162
- attr_accessor :longitude
163
-
164
- sig { returns(String) }
165
- attr_accessor :name
166
-
167
- # The map pin a location header drops. Meta wants none of this at creation — the
168
- # component is just {"type":"header","format":"location"} — so these values exist
169
- # for Sent: a preview, and the default a StaticResource header falls back to at
170
- # send.
171
- sig do
172
- params(
173
- address: String,
174
- latitude: String,
175
- longitude: String,
176
- name: String
177
- ).returns(T.attached_class)
178
- end
179
- def self.new(address:, latitude:, longitude:, name:)
180
- end
181
-
182
- sig do
183
- override.returns(
184
- {
185
- address: String,
186
- latitude: String,
187
- longitude: String,
188
- name: String
189
- }
190
- )
191
- end
192
- def to_hash
193
- end
194
- end
195
146
  end
196
147
  end
197
148
  end
@@ -0,0 +1,47 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateHeaderLocation < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateHeaderLocation, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :address
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :latitude
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :longitude
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ # The map pin a location header drops. Meta wants none of this at creation — the
24
+ # component is just {"type":"header","format":"location"} — so these values exist
25
+ # for Sent: a preview, and the default a StaticResource header falls back to at
26
+ # send.
27
+ sig do
28
+ params(
29
+ address: String,
30
+ latitude: String,
31
+ longitude: String,
32
+ name: String
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(address:, latitude:, longitude:, name:)
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ { address: String, latitude: String, longitude: String, name: String }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateMediaItem < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateMediaItem, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # One of MmsMediaTypes. Advisory: the carrier reads the Content-Type off the
12
+ # fetched object, not this field. It exists so an authoring UI can render the
13
+ # right preview and so a reviewer can see what was intended.
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :media_type
16
+
17
+ # Publicly fetchable https URL. The carrier's MMSC fetches this at send time, so
18
+ # it has to stay reachable and unauthenticated for the life of the send —
19
+ # including retries and a DLQ replay — which is why a presigned URL is not a valid
20
+ # value here.
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :url
23
+
24
+ sig { params(url: String).void }
25
+ attr_writer :url
26
+
27
+ # One attachment on an MMS template body.
28
+ sig do
29
+ params(media_type: T.nilable(String), url: String).returns(
30
+ T.attached_class
31
+ )
32
+ end
33
+ def self.new(
34
+ # One of MmsMediaTypes. Advisory: the carrier reads the Content-Type off the
35
+ # fetched object, not this field. It exists so an authoring UI can render the
36
+ # right preview and so a reviewer can see what was intended.
37
+ media_type: nil,
38
+ # Publicly fetchable https URL. The carrier's MMSC fetches this at send time, so
39
+ # it has to stay reachable and unauthenticated for the life of the send —
40
+ # including retries and a DLQ replay — which is why a presigned URL is not a valid
41
+ # value here.
42
+ url: nil
43
+ )
44
+ end
45
+
46
+ sig { override.returns({ media_type: T.nilable(String), url: String }) }
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end