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,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageChannelOptions < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute country
7
+ # Recipient country this entry is meant for (ISO 3166-1 alpha-2, e.g. US).
8
+ # Optional. Accepted and stored, not acted on yet.
9
+ #
10
+ # @return [String, nil]
11
+ optional :country, String, nil?: true
12
+
13
+ # @!attribute from
14
+ # Sender numbers in E.164. Each must be an active sender on your account for this
15
+ # channel. That is account state rather than request shape, so it is decided per
16
+ # message: the request is accepted with 202 and a message naming an unusable
17
+ # number is recorded BLOCKED with error code BUSINESS_029.
18
+ #
19
+ # @return [Array<String>, nil]
20
+ optional :from, Sentdm::Internal::Type::ArrayOf[String], nil?: true
21
+
22
+ # @!attribute strategy
23
+ # How to pick a number from From, e.g. sticky or geo. Optional. Accepted and
24
+ # stored, not acted on yet.
25
+ #
26
+ # @return [String, nil]
27
+ optional :strategy, String, nil?: true
28
+
29
+ # @!method initialize(country: nil, from: nil, strategy: nil)
30
+ # Some parameter documentations has been truncated, see
31
+ # {Sentdm::Models::MessageChannelOptions} for more details.
32
+ #
33
+ # One entry of a channel's list in Channels, e.g. {"country": "US", "from":
34
+ # ["+15559990002", "+15559990003"], "strategy": "sticky"}.
35
+ #
36
+ # @param country [String, nil] Recipient country this entry is meant for (ISO 3166-1 alpha-2, e.g. US). Optiona
37
+ #
38
+ # @param from [Array<String>, nil] Sender numbers in E.164. Each must be an active sender on your account for this
39
+ #
40
+ # @param strategy [String, nil] How to pick a number from From, e.g. sticky or geo. Optional. Accepted
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageHeaderMedia < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute type
7
+ # "image", "video" or "document" — taken from the header's media variable.
8
+ #
9
+ # @return [String, nil]
10
+ optional :type, String
11
+
12
+ # @!attribute url
13
+ # The https URL the caller supplied for this send. Never the template's stored
14
+ # props.sample, which is Meta's expiring header_handle rather than what was
15
+ # delivered.
16
+ #
17
+ # @return [String, nil]
18
+ optional :url, String
19
+
20
+ # @!method initialize(type: nil, url: nil)
21
+ # Some parameter documentations has been truncated, see
22
+ # {Sentdm::Models::MessageHeaderMedia} for more details.
23
+ #
24
+ # The media asset that rode a message's header, recorded as sent.
25
+ #
26
+ # @param type [String] "image", "video" or "document" — taken from the header's media variable.
27
+ #
28
+ # @param url [String] The https URL the caller supplied for this send. Never the template's stored
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageMedia < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute media_type
7
+ # One of MmsMediaTypes when the content type is known. Advisory — a reader should
8
+ # trust the fetched object's own Content-Type.
9
+ #
10
+ # @return [String, nil]
11
+ optional :media_type, String, api_name: :mediaType, nil?: true
12
+
13
+ # @!attribute mime_type
14
+ # Content type as the provider declared it. Null when it declared none.
15
+ #
16
+ # @return [String, nil]
17
+ optional :mime_type, String, api_name: :mimeType, nil?: true
18
+
19
+ # @!attribute size_bytes
20
+ # Size as the provider declared it. Never measured here — nothing downloads the
21
+ # file.
22
+ #
23
+ # @return [Integer, nil]
24
+ optional :size_bytes, Integer, api_name: :sizeBytes, nil?: true
25
+
26
+ # @!attribute source_hash_sha256
27
+ # Inbound only: the SHA-256 the provider declared alongside the attachment, when
28
+ # it declared one. Relayed to the customer so they can verify what they fetch
29
+ # matches what the carrier said it sent. It is the only integrity signal available
30
+ # on an attachment nobody here has read.
31
+ #
32
+ # @return [String, nil]
33
+ optional :source_hash_sha256, String, api_name: :sourceHashSha256, nil?: true
34
+
35
+ # @!attribute url
36
+ # Where the file lives. Outbound: the URL the customer gave us and the carrier
37
+ # fetched. Inbound: the URL the carrier hosts it at, relayed unchanged.
38
+ #
39
+ # @return [String, nil]
40
+ optional :url, String, nil?: true
41
+
42
+ # @!method initialize(media_type: nil, mime_type: nil, size_bytes: nil, source_hash_sha256: nil, url: nil)
43
+ # Some parameter documentations has been truncated, see
44
+ # {Sentdm::Models::MessageMedia} for more details.
45
+ #
46
+ # One attachment on a message, in either direction — and in both, a URL somebody
47
+ # else hosts.
48
+ #
49
+ # Outbound: the customer supplied a public URL and we handed it to the carrier.
50
+ # Inbound: the carrier hosts the file and we record where. sent.dm never holds the
51
+ # bytes, so there is no key, no expiry bookkeeping and nothing minted per read —
52
+ # what is stored is what is served.
53
+ #
54
+ # An inbound link expires on the carrier's own schedule and is unauthenticated.
55
+ # That is the customer's to manage, and it is documented where they will see it
56
+ # rather than only here — a recipient who needs an attachment to outlive that
57
+ # window copies it on receipt.
58
+ #
59
+ # Storing a presigned URL is the specific mistake this shape still avoids:
60
+ # M260826130000 and M260826140000 exist because RCS assets were stored as signed
61
+ # URLs and went stale. Nothing here is signed.
62
+ #
63
+ # @param media_type [String, nil] One of MmsMediaTypes when the content type is known. Advisory — a reader should
64
+ #
65
+ # @param mime_type [String, nil] Content type as the provider declared it. Null when it declared none.
66
+ #
67
+ # @param size_bytes [Integer, nil] Size as the provider declared it. Never measured here — nothing downloads the fi
68
+ #
69
+ # @param source_hash_sha256 [String, nil] Inbound only: the SHA-256 the provider declared alongside the attachment, when i
70
+ #
71
+ # @param url [String, nil] Where the file lives. Outbound: the URL the customer gave us and the carrier fet
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageRecipient < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute body
7
+ # Resolved template body for this recipient's channel, or null when the channel is
8
+ # auto-detected.
9
+ #
10
+ # @return [String, nil]
11
+ optional :body, String, nil?: true
12
+
13
+ # @!attribute channel
14
+ # Channel this message will be sent on — sms, whatsapp — or null to auto-detect.
15
+ #
16
+ # @return [String, nil]
17
+ optional :channel, String, nil?: true
18
+
19
+ # @!attribute message_id
20
+ # Identifier for tracking this recipient's message.
21
+ #
22
+ # @return [String, nil]
23
+ optional :message_id, String
24
+
25
+ # @!attribute to
26
+ # Phone number in E.164 format.
27
+ #
28
+ # @return [String, nil]
29
+ optional :to, String
30
+
31
+ # @!method initialize(body: nil, channel: nil, message_id: nil, to: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Sentdm::Models::MessageRecipient} for more details.
34
+ #
35
+ # What one recipient of a send got, as the API reports it.
36
+ #
37
+ # @param body [String, nil] Resolved template body for this recipient's channel, or null when the channel is
38
+ #
39
+ # @param channel [String, nil] Channel this message will be sent on — sms, whatsapp — or null to auto-detect.
40
+ #
41
+ # @param message_id [String] Identifier for tracking this recipient's message.
42
+ #
43
+ # @param to [String] Phone number in E.164 format.
44
+ end
45
+ end
46
+ end
@@ -40,10 +40,10 @@ module Sentdm
40
40
  # decided per message, so each affected message is recorded BLOCKED with error
41
41
  # code BUSINESS_029 and reported on GET /v3/messages and the status webhook.
42
42
  #
43
- # @return [Hash{Symbol=>Array<Sentdm::Models::MessageSendParams::Channel>}, nil]
43
+ # @return [Hash{Symbol=>Array<Sentdm::Models::MessageChannelOptions>}, nil]
44
44
  optional :channels,
45
45
  -> {
46
- Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[Sentdm::MessageSendParams::Channel]]
46
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[Sentdm::MessageChannelOptions]]
47
47
  },
48
48
  nil?: true
49
49
 
@@ -102,8 +102,8 @@ module Sentdm
102
102
  # SDK-style template reference: resolve by ID or by name, with optional
103
103
  # parameters.
104
104
  #
105
- # @return [Sentdm::Models::MessageSendParams::Template, nil]
106
- optional :template, -> { Sentdm::MessageSendParams::Template }, nil?: true
105
+ # @return [Sentdm::Models::TemplateRef, nil]
106
+ optional :template, -> { Sentdm::TemplateRef }, nil?: true
107
107
 
108
108
  # @!attribute text
109
109
  # Plain-text (free-form) message body. Provide either Template or this.
@@ -133,7 +133,7 @@ module Sentdm
133
133
  #
134
134
  # @param channel [Array<String>, nil] Channels to broadcast on, e.g. ["whatsapp", "sms"].
135
135
  #
136
- # @param channels [Hash{Symbol=>Array<Sentdm::Models::MessageSendParams::Channel>}, nil] Which of your own numbers to send from, keyed by channel, each channel holding a
136
+ # @param channels [Hash{Symbol=>Array<Sentdm::Models::MessageChannelOptions>}, nil] Which of your own numbers to send from, keyed by channel, each channel holding a
137
137
  #
138
138
  # @param media_urls [Array<String>, nil] Attachments for this send, as publicly fetchable https URLs. Used by the MMS cha
139
139
  #
@@ -143,7 +143,7 @@ module Sentdm
143
143
  #
144
144
  # @param subject [String, nil] Subject line for this send, overriding the template's. MMS only; ignored on ever
145
145
  #
146
- # @param template [Sentdm::Models::MessageSendParams::Template, nil] SDK-style template reference: resolve by ID or by name, with optional parameters
146
+ # @param template [Sentdm::Models::TemplateRef, nil] SDK-style template reference: resolve by ID or by name, with optional parameters
147
147
  #
148
148
  # @param text [String, nil] Plain-text (free-form) message body. Provide either Template or this.
149
149
  #
@@ -154,90 +154,6 @@ module Sentdm
154
154
  # @param x_profile_id [String]
155
155
  #
156
156
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
157
-
158
- class Channel < Sentdm::Internal::Type::BaseModel
159
- # @!attribute country
160
- # Recipient country this entry is meant for (ISO 3166-1 alpha-2, e.g. US).
161
- # Optional. Accepted and stored, not acted on yet.
162
- #
163
- # @return [String, nil]
164
- optional :country, String, nil?: true
165
-
166
- # @!attribute from
167
- # Sender numbers in E.164. Each must be an active sender on your account for this
168
- # channel. That is account state rather than request shape, so it is decided per
169
- # message: the request is accepted with 202 and a message naming an unusable
170
- # number is recorded BLOCKED with error code BUSINESS_029.
171
- #
172
- # @return [Array<String>, nil]
173
- optional :from, Sentdm::Internal::Type::ArrayOf[String], nil?: true
174
-
175
- # @!attribute strategy
176
- # How to pick a number from From, e.g. sticky or geo. Optional. Accepted and
177
- # stored, not acted on yet.
178
- #
179
- # @return [String, nil]
180
- optional :strategy, String, nil?: true
181
-
182
- # @!method initialize(country: nil, from: nil, strategy: nil)
183
- # Some parameter documentations has been truncated, see
184
- # {Sentdm::Models::MessageSendParams::Channel} for more details.
185
- #
186
- # One entry of a channel's list in Channels, e.g. {"country": "US", "from":
187
- # ["+15559990002", "+15559990003"], "strategy": "sticky"}.
188
- #
189
- # @param country [String, nil] Recipient country this entry is meant for (ISO 3166-1 alpha-2, e.g. US). Optiona
190
- #
191
- # @param from [Array<String>, nil] Sender numbers in E.164. Each must be an active sender on your account for this
192
- #
193
- # @param strategy [String, nil] How to pick a number from From, e.g. sticky or geo. Optional. Accepted
194
- end
195
-
196
- class Template < Sentdm::Internal::Type::BaseModel
197
- # @!attribute id
198
- # Template ID (mutually exclusive with name)
199
- #
200
- # @return [String, nil]
201
- optional :id, String, nil?: true
202
-
203
- # @!attribute name
204
- # Template name (mutually exclusive with id)
205
- #
206
- # @return [String, nil]
207
- optional :name, String, nil?: true
208
-
209
- # @!attribute parameters
210
- # Template variable parameters for personalization, keyed by variable name.
211
- #
212
- # Every variable the template declares is required; GET /v3/templates/{id} lists
213
- # them. Supplying a key the template does not declare is ignored.
214
- #
215
- # Media headers. A template whose header is an image (designed in WhatsApp Manager
216
- # and imported into Sent) declares a reserved header_image key. Its value is a
217
- # publicly reachable https URL that Meta fetches at send time — Sent does not host
218
- # the asset, and the sample approved with the template is not reused. The key is
219
- # derived from the header's media type, so header_video and header_document follow
220
- # the same shape when those formats ship.
221
- #
222
- # "parameters": { "header_image": "https://cdn.example.com/banner.jpg", "name":
223
- # "John Doe" }
224
- #
225
- # @return [Hash{Symbol=>String}, nil]
226
- optional :parameters, Sentdm::Internal::Type::HashOf[String], nil?: true
227
-
228
- # @!method initialize(id: nil, name: nil, parameters: nil)
229
- # Some parameter documentations has been truncated, see
230
- # {Sentdm::Models::MessageSendParams::Template} for more details.
231
- #
232
- # SDK-style template reference: resolve by ID or by name, with optional
233
- # parameters.
234
- #
235
- # @param id [String, nil] Template ID (mutually exclusive with name)
236
- #
237
- # @param name [String, nil] Template name (mutually exclusive with id)
238
- #
239
- # @param parameters [Hash{Symbol=>String}, nil] Template variable parameters for personalization, keyed by variable name.
240
- end
241
157
  end
242
158
  end
243
159
  end
@@ -18,8 +18,8 @@ module Sentdm
18
18
  # carried scheduled_at is a ScheduledSendMessageResponse, and the endpoint decides
19
19
  # which of the two to answer with. From always returns this type.
20
20
  #
21
- # @return [Sentdm::Models::MessageSendResponse::Data, nil]
22
- optional :data, -> { Sentdm::MessageSendResponse::Data }, nil?: true
21
+ # @return [Sentdm::Models::MessageSendResult, nil]
22
+ optional :data, -> { Sentdm::MessageSendResult }, nil?: true
23
23
 
24
24
  # @!attribute error
25
25
  # Error information
@@ -45,105 +45,13 @@ module Sentdm
45
45
  #
46
46
  # Standard API response envelope for all v3 endpoints
47
47
  #
48
- # @param data [Sentdm::Models::MessageSendResponse::Data, nil] The result of a multi-recipient send.
48
+ # @param data [Sentdm::Models::MessageSendResult, nil] The result of a multi-recipient send.
49
49
  #
50
50
  # @param error [Sentdm::Models::ErrorDetail, nil] Error information
51
51
  #
52
52
  # @param meta [Sentdm::Models::APIMeta] Request and response metadata
53
53
  #
54
54
  # @param success [Boolean] Indicates whether the request was successful
55
-
56
- # @see Sentdm::Models::MessageSendResponse#data
57
- class Data < Sentdm::Internal::Type::BaseModel
58
- # @!attribute recipients
59
- #
60
- # @return [Array<Sentdm::Models::MessageSendResponse::Data::Recipient>, nil]
61
- optional :recipients, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageSendResponse::Data::Recipient] }
62
-
63
- # @!attribute status
64
- # QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
65
- # here too; each message moves to SCHEDULED once it is held, as GET
66
- # /v3/messages/{id} and the message.scheduled webhook report.
67
- #
68
- # @return [String, nil]
69
- optional :status, String
70
-
71
- # @!attribute template_id
72
- #
73
- # @return [String, nil]
74
- optional :template_id, String
75
-
76
- # @!attribute template_name
77
- #
78
- # @return [String, nil]
79
- optional :template_name, String
80
-
81
- # @!method initialize(recipients: nil, status: nil, template_id: nil, template_name: nil)
82
- # Some parameter documentations has been truncated, see
83
- # {Sentdm::Models::MessageSendResponse::Data} for more details.
84
- #
85
- # The result of a multi-recipient send.
86
- #
87
- # Declared here rather than in the service layer. POST /v3/messages used to
88
- # publish MessageSendResult — a type in Common.Services.Messaging.Contracts — so
89
- # the public contract was whatever the send service happened to return, and
90
- # changing that service for an internal reason changed the API. The service keeps
91
- # its result; this is what a caller sees, and the mapping between them is a
92
- # decision the endpoint makes.
93
- #
94
- # The shape of an immediate send: it never has a scheduled_at key. A send that
95
- # carried scheduled_at is a ScheduledSendMessageResponse, and the endpoint decides
96
- # which of the two to answer with. From always returns this type.
97
- #
98
- # @param recipients [Array<Sentdm::Models::MessageSendResponse::Data::Recipient>]
99
- #
100
- # @param status [String] QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
101
- #
102
- # @param template_id [String]
103
- #
104
- # @param template_name [String]
105
-
106
- class Recipient < Sentdm::Internal::Type::BaseModel
107
- # @!attribute body
108
- # Resolved template body for this recipient's channel, or null when the channel is
109
- # auto-detected.
110
- #
111
- # @return [String, nil]
112
- optional :body, String, nil?: true
113
-
114
- # @!attribute channel
115
- # Channel this message will be sent on — sms, whatsapp — or null to auto-detect.
116
- #
117
- # @return [String, nil]
118
- optional :channel, String, nil?: true
119
-
120
- # @!attribute message_id
121
- # Identifier for tracking this recipient's message.
122
- #
123
- # @return [String, nil]
124
- optional :message_id, String
125
-
126
- # @!attribute to
127
- # Phone number in E.164 format.
128
- #
129
- # @return [String, nil]
130
- optional :to, String
131
-
132
- # @!method initialize(body: nil, channel: nil, message_id: nil, to: nil)
133
- # Some parameter documentations has been truncated, see
134
- # {Sentdm::Models::MessageSendResponse::Data::Recipient} for more details.
135
- #
136
- # What one recipient of a send got, as the API reports it.
137
- #
138
- # @param body [String, nil] Resolved template body for this recipient's channel, or null when the channel is
139
- #
140
- # @param channel [String, nil] Channel this message will be sent on — sms, whatsapp — or null to auto-detect.
141
- #
142
- # @param message_id [String] Identifier for tracking this recipient's message.
143
- #
144
- # @param to [String] Phone number in E.164 format.
145
- end
146
- end
147
55
  end
148
56
  end
149
57
  end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageSendResult < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute recipients
7
+ #
8
+ # @return [Array<Sentdm::Models::MessageRecipient>, nil]
9
+ optional :recipients, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageRecipient] }
10
+
11
+ # @!attribute status
12
+ # QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
13
+ # here too; each message moves to SCHEDULED once it is held, as GET
14
+ # /v3/messages/{id} and the message.scheduled webhook report.
15
+ #
16
+ # @return [String, nil]
17
+ optional :status, String
18
+
19
+ # @!attribute template_id
20
+ #
21
+ # @return [String, nil]
22
+ optional :template_id, String
23
+
24
+ # @!attribute template_name
25
+ #
26
+ # @return [String, nil]
27
+ optional :template_name, String
28
+
29
+ # @!method initialize(recipients: nil, status: nil, template_id: nil, template_name: nil)
30
+ # Some parameter documentations has been truncated, see
31
+ # {Sentdm::Models::MessageSendResult} for more details.
32
+ #
33
+ # The result of a multi-recipient send.
34
+ #
35
+ # Declared here rather than in the service layer. POST /v3/messages used to
36
+ # publish MessageSendResult — a type in Common.Services.Messaging.Contracts — so
37
+ # the public contract was whatever the send service happened to return, and
38
+ # changing that service for an internal reason changed the API. The service keeps
39
+ # its result; this is what a caller sees, and the mapping between them is a
40
+ # decision the endpoint makes.
41
+ #
42
+ # The shape of an immediate send: it never has a scheduled_at key. A send that
43
+ # carried scheduled_at is a ScheduledSendMessageResponse, and the endpoint decides
44
+ # which of the two to answer with. From always returns this type.
45
+ #
46
+ # @param recipients [Array<Sentdm::Models::MessageRecipient>]
47
+ #
48
+ # @param status [String] QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
49
+ #
50
+ # @param template_id [String]
51
+ #
52
+ # @param template_name [String]
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageStatusEvent < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute status
7
+ #
8
+ # @return [String]
9
+ required :status, String
10
+
11
+ # @!attribute timestamp
12
+ #
13
+ # @return [Time]
14
+ required :timestamp, Time
15
+
16
+ # @!attribute description
17
+ #
18
+ # @return [String, nil]
19
+ optional :description, String, nil?: true
20
+
21
+ # @!attribute reason
22
+ # A human-readable sentence for reason_code. Omitted whenever reason_code is.
23
+ #
24
+ # @return [String, nil]
25
+ optional :reason, String, nil?: true
26
+
27
+ # @!attribute reason_code
28
+ # Why the message reached this status, as a stable platform code such as
29
+ # DELIVERY_007. Present on FAILED, FILTERED and BLOCKED events; omitted on every
30
+ # status that needs no explanation. Same wire name and vocabulary as on the
31
+ # activities list and the webhook.
32
+ #
33
+ # @return [String, nil]
34
+ optional :reason_code, String, nil?: true
35
+
36
+ # @!method initialize(status:, timestamp:, description: nil, reason: nil, reason_code: nil)
37
+ # Some parameter documentations has been truncated, see
38
+ # {Sentdm::Models::MessageStatusEvent} for more details.
39
+ #
40
+ # Represents a status change event in a message's lifecycle (v3)
41
+ #
42
+ # @param status [String]
43
+ #
44
+ # @param timestamp [Time]
45
+ #
46
+ # @param description [String, nil]
47
+ #
48
+ # @param reason [String, nil] A human-readable sentence for reason_code. Omitted whenever reason_code is.
49
+ #
50
+ # @param reason_code [String, nil] Why the message reached this status, as a stable platform code such as
51
+ # DELIVERY\_
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MmsMarket < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute country
7
+ # ISO-3166 alpha-2 of the market.
8
+ #
9
+ # @return [String, nil]
10
+ optional :country, String, nil?: true
11
+
12
+ # @!attribute number_type
13
+ # The sender type the market sends from, mirroring the SMS sender.
14
+ #
15
+ # @return [String, nil]
16
+ optional :number_type, String, nil?: true
17
+
18
+ # @!attribute sender_value
19
+ # The sending number. Null while the market is still being provisioned.
20
+ #
21
+ # @return [String, nil]
22
+ optional :sender_value, String, nil?: true
23
+
24
+ # @!attribute status
25
+ # Where this market's MMS sender stands. Read-only.
26
+ #
27
+ # @return [String, nil]
28
+ optional :status, String, nil?: true
29
+
30
+ # @!method initialize(country: nil, number_type: nil, sender_value: nil, status: nil)
31
+ # One market the profile can send MMS in.
32
+ #
33
+ # Deliberately not SmsMarketState: an MMS market carries no compliance of its own.
34
+ # It is the same number, carrier and registration as the SMS market on it in that
35
+ # country — MMS files nothing separately — so a compliance block here would always
36
+ # be null and would invite the question of what an MMS market owes. It owes what
37
+ # the SMS market owes, reported there.
38
+ #
39
+ # @param country [String, nil] ISO-3166 alpha-2 of the market.
40
+ #
41
+ # @param number_type [String, nil] The sender type the market sends from, mirroring the SMS sender.
42
+ #
43
+ # @param sender_value [String, nil] The sending number. Null while the market is still being provisioned.
44
+ #
45
+ # @param status [String, nil] Where this market's MMS sender stands. Read-only.
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class NumberLookupResult < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute carrier_name
7
+ #
8
+ # @return [String, nil]
9
+ optional :carrier_name, String, nil?: true
10
+
11
+ # @!attribute country_code
12
+ #
13
+ # @return [String, nil]
14
+ optional :country_code, String, nil?: true
15
+
16
+ # @!attribute is_ported
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :is_ported, Sentdm::Internal::Type::Boolean, nil?: true
20
+
21
+ # @!attribute is_valid
22
+ #
23
+ # @return [Boolean, nil]
24
+ optional :is_valid, Sentdm::Internal::Type::Boolean
25
+
26
+ # @!attribute is_voip
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :is_voip, Sentdm::Internal::Type::Boolean, nil?: true
30
+
31
+ # @!attribute line_type
32
+ #
33
+ # @return [String, nil]
34
+ optional :line_type, String, nil?: true
35
+
36
+ # @!attribute mobile_country_code
37
+ #
38
+ # @return [String, nil]
39
+ optional :mobile_country_code, String, nil?: true
40
+
41
+ # @!attribute mobile_network_code
42
+ #
43
+ # @return [String, nil]
44
+ optional :mobile_network_code, String, nil?: true
45
+
46
+ # @!attribute phone_number
47
+ #
48
+ # @return [String, nil]
49
+ optional :phone_number, String
50
+
51
+ # @!method initialize(carrier_name: nil, country_code: nil, is_ported: nil, is_valid: nil, is_voip: nil, line_type: nil, mobile_country_code: nil, mobile_network_code: nil, phone_number: nil)
52
+ # @param carrier_name [String, nil]
53
+ # @param country_code [String, nil]
54
+ # @param is_ported [Boolean, nil]
55
+ # @param is_valid [Boolean]
56
+ # @param is_voip [Boolean, nil]
57
+ # @param line_type [String, nil]
58
+ # @param mobile_country_code [String, nil]
59
+ # @param mobile_network_code [String, nil]
60
+ # @param phone_number [String]
61
+ end
62
+ end
63
+ end