sentdm 0.44.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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -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_event_payload.rb +3 -2
  84. data/lib/sentdm/models/message_header_media.rb +31 -0
  85. data/lib/sentdm/models/message_media.rb +74 -0
  86. data/lib/sentdm/models/message_recipient.rb +46 -0
  87. data/lib/sentdm/models/message_send_params.rb +6 -90
  88. data/lib/sentdm/models/message_send_response.rb +3 -95
  89. data/lib/sentdm/models/message_send_result.rb +55 -0
  90. data/lib/sentdm/models/message_status_event.rb +54 -0
  91. data/lib/sentdm/models/mms_market.rb +48 -0
  92. data/lib/sentdm/models/number_lookup_result.rb +63 -0
  93. data/lib/sentdm/models/pagination_cursors.rb +27 -0
  94. data/lib/sentdm/models/pagination_meta.rb +3 -27
  95. data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
  96. data/lib/sentdm/models/profile_completion_result.rb +31 -0
  97. data/lib/sentdm/models/profile_detail.rb +6 -408
  98. data/lib/sentdm/models/profiles/brand_campaign.rb +3 -15
  99. data/lib/sentdm/models/profiles_list.rb +26 -0
  100. data/lib/sentdm/models/sender_profile.rb +138 -0
  101. data/lib/sentdm/models/sender_profile_billing.rb +21 -0
  102. data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
  103. data/lib/sentdm/models/sender_profile_channels.rb +90 -0
  104. data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
  105. data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
  106. data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
  107. data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
  108. data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
  109. data/lib/sentdm/models/sender_profile_sms.rb +106 -0
  110. data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
  111. data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
  112. data/lib/sentdm/models/sender_profiles_list.rb +26 -0
  113. data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
  114. data/lib/sentdm/models/tcr_brand_status.rb +16 -0
  115. data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
  116. data/lib/sentdm/models/template_body.rb +3 -70
  117. data/lib/sentdm/models/template_create_params.rb +11 -1
  118. data/lib/sentdm/models/template_header.rb +3 -37
  119. data/lib/sentdm/models/template_header_location.rb +38 -0
  120. data/lib/sentdm/models/template_media_item.rb +34 -0
  121. data/lib/sentdm/models/template_mms_body_content.rb +49 -0
  122. data/lib/sentdm/models/template_ref.rb +51 -0
  123. data/lib/sentdm/models/template_variable.rb +3 -64
  124. data/lib/sentdm/models/template_variable_props.rb +65 -0
  125. data/lib/sentdm/models/templates_list.rb +26 -0
  126. data/lib/sentdm/models/users_list.rb +26 -0
  127. data/lib/sentdm/models/voice/call.rb +3 -54
  128. data/lib/sentdm/models/voice/call_leg.rb +58 -0
  129. data/lib/sentdm/models/webhook_create_params.rb +3 -25
  130. data/lib/sentdm/models/webhook_delivery.rb +160 -0
  131. data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
  132. data/lib/sentdm/models/webhook_events_list.rb +26 -0
  133. data/lib/sentdm/models/webhook_response.rb +3 -28
  134. data/lib/sentdm/models/webhook_secret.rb +15 -0
  135. data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
  136. data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
  137. data/lib/sentdm/models/webhook_test.rb +21 -0
  138. data/lib/sentdm/models/webhook_update_params.rb +3 -25
  139. data/lib/sentdm/models/webhooks_list.rb +26 -0
  140. data/lib/sentdm/models.rb +188 -0
  141. data/lib/sentdm/resources/channels/rcs.rb +177 -0
  142. data/lib/sentdm/resources/channels/sms.rb +417 -0
  143. data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
  144. data/lib/sentdm/resources/channels.rb +162 -0
  145. data/lib/sentdm/resources/compliance.rb +127 -0
  146. data/lib/sentdm/resources/conversations.rb +4 -4
  147. data/lib/sentdm/resources/me.rb +2 -2
  148. data/lib/sentdm/resources/messages.rb +73 -7
  149. data/lib/sentdm/resources/numbers.rb +2 -2
  150. data/lib/sentdm/resources/profiles.rb +4 -4
  151. data/lib/sentdm/resources/sender_profiles.rb +463 -0
  152. data/lib/sentdm/resources/templates.rb +5 -3
  153. data/lib/sentdm/resources/users.rb +2 -2
  154. data/lib/sentdm/resources/webhooks.rb +10 -10
  155. data/lib/sentdm/version.rb +1 -1
  156. data/lib/sentdm.rb +120 -11
  157. data/rbi/sentdm/client.rbi +64 -0
  158. data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
  159. data/rbi/sentdm/models/account.rbi +242 -0
  160. data/rbi/sentdm/models/account_channels.rbi +66 -0
  161. data/rbi/sentdm/models/account_profile.rbi +116 -0
  162. data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
  163. data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
  164. data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
  165. data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
  166. data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
  167. data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
  168. data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
  169. data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
  170. data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
  171. data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
  172. data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
  173. data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
  174. data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
  175. data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
  176. data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
  177. data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
  178. data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
  179. data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
  180. data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
  181. data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
  182. data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
  183. data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
  184. data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
  185. data/rbi/sentdm/models/billing_contact.rbi +49 -0
  186. data/rbi/sentdm/models/brand_business.rbi +115 -0
  187. data/rbi/sentdm/models/brand_business_info.rbi +3 -49
  188. data/rbi/sentdm/models/brand_compliance.rbi +108 -0
  189. data/rbi/sentdm/models/brand_contact.rbi +78 -0
  190. data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
  191. data/rbi/sentdm/models/cancelled_message.rbi +37 -0
  192. data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
  193. data/rbi/sentdm/models/channel_list_params.rbi +38 -0
  194. data/rbi/sentdm/models/channel_score.rbi +56 -0
  195. data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
  196. data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
  197. data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
  198. data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
  199. data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
  200. data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
  201. data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
  202. data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
  203. data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
  204. data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
  205. data/rbi/sentdm/models/channels/sms_market.rbi +247 -0
  206. data/rbi/sentdm/models/channels/sms_number.rbi +60 -0
  207. data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
  208. data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
  209. data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
  210. data/rbi/sentdm/models/channels/supplied_compliance.rbi +140 -0
  211. data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
  212. data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
  213. data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
  214. data/rbi/sentdm/models/channels_state.rbi +151 -0
  215. data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
  216. data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
  217. data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
  218. data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
  219. data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
  220. data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
  221. data/rbi/sentdm/models/contacts_list.rbi +50 -0
  222. data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
  223. data/rbi/sentdm/models/entity_type.rbi +23 -0
  224. data/rbi/sentdm/models/inbound_media.rbi +76 -0
  225. data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
  226. data/rbi/sentdm/models/link_event.rbi +128 -0
  227. data/rbi/sentdm/models/link_event_payload.rbi +279 -0
  228. data/rbi/sentdm/models/message.rbi +214 -0
  229. data/rbi/sentdm/models/message_activities.rbi +63 -0
  230. data/rbi/sentdm/models/message_activity.rbi +145 -0
  231. data/rbi/sentdm/models/message_body.rbi +104 -0
  232. data/rbi/sentdm/models/message_button.rbi +52 -0
  233. data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
  234. data/rbi/sentdm/models/message_channel_options.rbi +65 -0
  235. data/rbi/sentdm/models/message_event_payload.rbi +4 -2
  236. data/rbi/sentdm/models/message_header_media.rbi +44 -0
  237. data/rbi/sentdm/models/message_media.rbi +95 -0
  238. data/rbi/sentdm/models/message_recipient.rbi +70 -0
  239. data/rbi/sentdm/models/message_send_params.rbi +7 -155
  240. data/rbi/sentdm/models/message_send_response.rbi +4 -163
  241. data/rbi/sentdm/models/message_send_result.rbi +85 -0
  242. data/rbi/sentdm/models/message_status_event.rbi +70 -0
  243. data/rbi/sentdm/models/mms_market.rbi +66 -0
  244. data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
  245. data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
  246. data/rbi/sentdm/models/pagination_meta.rbi +4 -43
  247. data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
  248. data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
  249. data/rbi/sentdm/models/profile_detail.rbi +8 -621
  250. data/rbi/sentdm/models/profiles/brand_campaign.rbi +3 -45
  251. data/rbi/sentdm/models/profiles_list.rbi +50 -0
  252. data/rbi/sentdm/models/sender_profile.rbi +204 -0
  253. data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
  254. data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
  255. data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
  256. data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
  257. data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
  258. data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
  259. data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
  260. data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
  261. data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
  262. data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
  263. data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
  264. data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
  265. data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
  266. data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
  267. data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
  268. data/rbi/sentdm/models/template_body.rbi +6 -114
  269. data/rbi/sentdm/models/template_create_params.rbi +12 -0
  270. data/rbi/sentdm/models/template_header.rbi +4 -53
  271. data/rbi/sentdm/models/template_header_location.rbi +47 -0
  272. data/rbi/sentdm/models/template_media_item.rbi +51 -0
  273. data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
  274. data/rbi/sentdm/models/template_ref.rbi +79 -0
  275. data/rbi/sentdm/models/template_variable.rbi +4 -80
  276. data/rbi/sentdm/models/template_variable_props.rbi +81 -0
  277. data/rbi/sentdm/models/templates_list.rbi +50 -0
  278. data/rbi/sentdm/models/users_list.rbi +50 -0
  279. data/rbi/sentdm/models/voice/call.rbi +3 -86
  280. data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
  281. data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
  282. data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
  283. data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
  284. data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
  285. data/rbi/sentdm/models/webhook_response.rbi +4 -50
  286. data/rbi/sentdm/models/webhook_secret.rbi +24 -0
  287. data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
  288. data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
  289. data/rbi/sentdm/models/webhook_test.rbi +32 -0
  290. data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
  291. data/rbi/sentdm/models/webhooks_list.rbi +50 -0
  292. data/rbi/sentdm/models.rbi +197 -0
  293. data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
  294. data/rbi/sentdm/resources/channels/sms.rbi +437 -0
  295. data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
  296. data/rbi/sentdm/resources/channels.rbi +149 -0
  297. data/rbi/sentdm/resources/compliance.rbi +121 -0
  298. data/rbi/sentdm/resources/conversations.rbi +2 -10
  299. data/rbi/sentdm/resources/me.rbi +1 -1
  300. data/rbi/sentdm/resources/messages.rbi +66 -8
  301. data/rbi/sentdm/resources/numbers.rbi +1 -1
  302. data/rbi/sentdm/resources/profiles.rbi +2 -2
  303. data/rbi/sentdm/resources/sender_profiles.rbi +461 -0
  304. data/rbi/sentdm/resources/templates.rbi +7 -2
  305. data/rbi/sentdm/resources/users.rbi +1 -1
  306. data/rbi/sentdm/resources/webhooks.rbi +6 -12
  307. data/sig/sentdm/client.rbs +4 -0
  308. data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
  309. data/sig/sentdm/models/account.rbs +111 -0
  310. data/sig/sentdm/models/account_channels.rbs +38 -0
  311. data/sig/sentdm/models/account_profile.rbs +68 -0
  312. data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
  313. data/sig/sentdm/models/account_sms_channel.rbs +17 -0
  314. data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
  315. data/sig/sentdm/models/api_response_of_account.rbs +39 -0
  316. data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
  317. data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
  318. data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
  319. data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
  320. data/sig/sentdm/models/api_response_of_message.rbs +39 -0
  321. data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
  322. data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
  323. data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
  324. data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
  325. data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
  326. data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
  327. data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
  328. data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
  329. data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
  330. data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
  331. data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
  332. data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
  333. data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
  334. data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
  335. data/sig/sentdm/models/billing_contact.rbs +30 -0
  336. data/sig/sentdm/models/brand_business.rbs +70 -0
  337. data/sig/sentdm/models/brand_business_info.rbs +4 -23
  338. data/sig/sentdm/models/brand_compliance.rbs +56 -0
  339. data/sig/sentdm/models/brand_contact.rbs +47 -0
  340. data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
  341. data/sig/sentdm/models/cancelled_message.rbs +15 -0
  342. data/sig/sentdm/models/channel_event_payload.rbs +4 -56
  343. data/sig/sentdm/models/channel_list_params.rbs +25 -0
  344. data/sig/sentdm/models/channel_score.rbs +32 -0
  345. data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
  346. data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
  347. data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
  348. data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
  349. data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
  350. data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
  351. data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
  352. data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
  353. data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
  354. data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
  355. data/sig/sentdm/models/channels/sms_market.rbs +85 -0
  356. data/sig/sentdm/models/channels/sms_number.rbs +28 -0
  357. data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
  358. data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
  359. data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
  360. data/sig/sentdm/models/channels/supplied_compliance.rbs +32 -0
  361. data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
  362. data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
  363. data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
  364. data/sig/sentdm/models/channels_state.rbs +55 -0
  365. data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
  366. data/sig/sentdm/models/compliance_requirement.rbs +76 -0
  367. data/sig/sentdm/models/compliance_requirements.rbs +66 -0
  368. data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
  369. data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
  370. data/sig/sentdm/models/contact_message_summary.rbs +6 -35
  371. data/sig/sentdm/models/contacts_list.rbs +31 -0
  372. data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
  373. data/sig/sentdm/models/entity_type.rbs +22 -0
  374. data/sig/sentdm/models/inbound_media.rbs +35 -0
  375. data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
  376. data/sig/sentdm/models/link_event.rbs +44 -0
  377. data/sig/sentdm/models/link_event_payload.rbs +106 -0
  378. data/sig/sentdm/models/message.rbs +130 -0
  379. data/sig/sentdm/models/message_activities.rbs +38 -0
  380. data/sig/sentdm/models/message_activity.rbs +66 -0
  381. data/sig/sentdm/models/message_body.rbs +52 -0
  382. data/sig/sentdm/models/message_button.rbs +34 -0
  383. data/sig/sentdm/models/message_cancel_params.rbs +38 -0
  384. data/sig/sentdm/models/message_channel_options.rbs +26 -0
  385. data/sig/sentdm/models/message_header_media.rbs +19 -0
  386. data/sig/sentdm/models/message_media.rbs +40 -0
  387. data/sig/sentdm/models/message_recipient.rbs +34 -0
  388. data/sig/sentdm/models/message_send_params.rbs +8 -54
  389. data/sig/sentdm/models/message_send_response.rbs +4 -77
  390. data/sig/sentdm/models/message_send_result.rbs +45 -0
  391. data/sig/sentdm/models/message_status_event.rbs +40 -0
  392. data/sig/sentdm/models/mms_market.rbs +35 -0
  393. data/sig/sentdm/models/number_lookup_result.rbs +64 -0
  394. data/sig/sentdm/models/pagination_cursors.rbs +15 -0
  395. data/sig/sentdm/models/pagination_meta.rbs +4 -16
  396. data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
  397. data/sig/sentdm/models/profile_completion_result.rbs +19 -0
  398. data/sig/sentdm/models/profile_detail.rbs +8 -315
  399. data/sig/sentdm/models/profiles/brand_campaign.rbs +4 -16
  400. data/sig/sentdm/models/profiles_list.rbs +31 -0
  401. data/sig/sentdm/models/sender_profile.rbs +76 -0
  402. data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
  403. data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
  404. data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
  405. data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
  406. data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
  407. data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
  408. data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
  409. data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
  410. data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
  411. data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
  412. data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
  413. data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
  414. data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
  415. data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
  416. data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
  417. data/sig/sentdm/models/template_body.rbs +4 -43
  418. data/sig/sentdm/models/template_create_params.rbs +5 -0
  419. data/sig/sentdm/models/template_header.rbs +4 -31
  420. data/sig/sentdm/models/template_header_location.rbs +30 -0
  421. data/sig/sentdm/models/template_media_item.rbs +17 -0
  422. data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
  423. data/sig/sentdm/models/template_ref.rbs +26 -0
  424. data/sig/sentdm/models/template_variable.rbs +4 -51
  425. data/sig/sentdm/models/template_variable_props.rbs +50 -0
  426. data/sig/sentdm/models/templates_list.rbs +29 -0
  427. data/sig/sentdm/models/users_list.rbs +31 -0
  428. data/sig/sentdm/models/voice/call.rbs +4 -49
  429. data/sig/sentdm/models/voice/call_leg.rbs +50 -0
  430. data/sig/sentdm/models/webhook_create_params.rbs +4 -28
  431. data/sig/sentdm/models/webhook_delivery.rbs +99 -0
  432. data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
  433. data/sig/sentdm/models/webhook_events_list.rbs +31 -0
  434. data/sig/sentdm/models/webhook_response.rbs +4 -28
  435. data/sig/sentdm/models/webhook_secret.rbs +15 -0
  436. data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
  437. data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
  438. data/sig/sentdm/models/webhook_test.rbs +19 -0
  439. data/sig/sentdm/models/webhook_update_params.rbs +4 -28
  440. data/sig/sentdm/models/webhooks_list.rbs +31 -0
  441. data/sig/sentdm/models.rbs +188 -0
  442. data/sig/sentdm/resources/channels/rcs.rbs +41 -0
  443. data/sig/sentdm/resources/channels/sms.rbs +44 -0
  444. data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
  445. data/sig/sentdm/resources/channels.rbs +11 -0
  446. data/sig/sentdm/resources/compliance.rbs +15 -0
  447. data/sig/sentdm/resources/conversations.rbs +2 -2
  448. data/sig/sentdm/resources/me.rbs +1 -1
  449. data/sig/sentdm/resources/messages.rbs +12 -4
  450. data/sig/sentdm/resources/numbers.rbs +1 -1
  451. data/sig/sentdm/resources/profiles.rbs +2 -2
  452. data/sig/sentdm/resources/sender_profiles.rbs +44 -0
  453. data/sig/sentdm/resources/templates.rbs +1 -0
  454. data/sig/sentdm/resources/users.rbs +1 -1
  455. data/sig/sentdm/resources/webhooks.rbs +6 -6
  456. metadata +362 -35
  457. data/lib/sentdm/models/me_retrieve_response.rb +0 -409
  458. data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
  459. data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
  460. data/lib/sentdm/models/number_lookup_response.rb +0 -104
  461. data/lib/sentdm/models/profile_complete_response.rb +0 -74
  462. data/lib/sentdm/models/profile_list_response.rb +0 -65
  463. data/lib/sentdm/models/user_list_response.rb +0 -65
  464. data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
  465. data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
  466. data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
  467. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
  468. data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
  469. data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
  470. data/rbi/sentdm/models/profile_list_response.rbi +0 -128
  471. data/rbi/sentdm/models/user_list_response.rbi +0 -128
  472. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
  473. data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
  474. data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
  475. data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
  476. data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
  477. data/sig/sentdm/models/number_lookup_response.rbs +0 -100
  478. data/sig/sentdm/models/profile_complete_response.rbs +0 -55
  479. data/sig/sentdm/models/profile_list_response.rbs +0 -67
  480. data/sig/sentdm/models/user_list_response.rbs +0 -67
  481. data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
  482. data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
  483. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
  484. data/sig/sentdm/models/webhook_test_response.rbs +0 -55
@@ -0,0 +1,165 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ComplianceRequirements < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::ComplianceRequirements, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Channel the requirements apply to — sms, whatsapp or rcs.
12
+ #
13
+ # Echoed so the document says which channel it describes. It always described one:
14
+ # setup's last step is a specific channel path, and every type is an SMS sender
15
+ # type — but a caller reading the payload had to infer that from the path to know
16
+ # it.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :channel
19
+
20
+ sig { params(channel: String).void }
21
+ attr_writer :channel
22
+
23
+ # ISO 3166-1 alpha-2 country the requirements apply to.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :country
26
+
27
+ sig { params(country: String).void }
28
+ attr_writer :country
29
+
30
+ # Whether this market demands anything before a sender can be registered. When
31
+ # false, the compliance array may be omitted entirely and the profile is ready
32
+ # once provisioned.
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :required
35
+
36
+ sig { params(required: T::Boolean).void }
37
+ attr_writer :required
38
+
39
+ # Values to supply in compliance. Empty when the market demands nothing. Values
40
+ # Sent supplies on your behalf are never listed, and neither are ones it derives
41
+ # from what you send.
42
+ sig { returns(T.nilable(T::Array[Sentdm::ComplianceRequirement])) }
43
+ attr_reader :requirements
44
+
45
+ sig do
46
+ params(
47
+ requirements: T::Array[Sentdm::ComplianceRequirement::OrHash]
48
+ ).void
49
+ end
50
+ attr_writer :requirements
51
+
52
+ # Pattern the sender's own value must match, where the market dictates one —
53
+ # alphanumeric sender ids and short codes. Null when the value is
54
+ # carrier-assigned.
55
+ sig { returns(T.nilable(String)) }
56
+ attr_accessor :sender_id_pattern
57
+
58
+ # The calls that set this market up, in the order they have to be made, each
59
+ # carrying a body that can be sent as it stands.
60
+ #
61
+ # This is the answer to "what do I actually do". Requirements describes each value
62
+ # the market wants; this assembles those descriptions into the requests that
63
+ # supply them, so a caller — or an agent acting for one — copies a body out and
64
+ # sends it rather than building one from a table.
65
+ #
66
+ # The last step is always the channel itself, and it is where the regime's own
67
+ # values are supplied. The one before it, where there is one, is the brand a
68
+ # registering market files against — so it is a step of its own and the channel
69
+ # call refuses until it exists. A market that registers with nobody has one step.
70
+ sig { returns(T.nilable(T::Array[Sentdm::ComplianceSetupStep])) }
71
+ attr_reader :setup
72
+
73
+ sig { params(setup: T::Array[Sentdm::ComplianceSetupStep::OrHash]).void }
74
+ attr_writer :setup
75
+
76
+ # Sender type the requirements apply to.
77
+ #
78
+ # Non-nullable while sms is the only channel answered here, because it is the only
79
+ # channel whose senders have a type — the day another one is answered, this
80
+ # becomes nullable along with it. Not nullable in advance: nothing can emit null
81
+ # today, and publishing a shape the API never sends is the same mistake as
82
+ # publishing a field it does not have.
83
+ sig { returns(T.nilable(String)) }
84
+ attr_reader :type
85
+
86
+ sig { params(type: String).void }
87
+ attr_writer :type
88
+
89
+ # Everything a market expects of a sender, for one channel, country and sender
90
+ # type.
91
+ sig do
92
+ params(
93
+ channel: String,
94
+ country: String,
95
+ required: T::Boolean,
96
+ requirements: T::Array[Sentdm::ComplianceRequirement::OrHash],
97
+ sender_id_pattern: T.nilable(String),
98
+ setup: T::Array[Sentdm::ComplianceSetupStep::OrHash],
99
+ type: String
100
+ ).returns(T.attached_class)
101
+ end
102
+ def self.new(
103
+ # Channel the requirements apply to — sms, whatsapp or rcs.
104
+ #
105
+ # Echoed so the document says which channel it describes. It always described one:
106
+ # setup's last step is a specific channel path, and every type is an SMS sender
107
+ # type — but a caller reading the payload had to infer that from the path to know
108
+ # it.
109
+ channel: nil,
110
+ # ISO 3166-1 alpha-2 country the requirements apply to.
111
+ country: nil,
112
+ # Whether this market demands anything before a sender can be registered. When
113
+ # false, the compliance array may be omitted entirely and the profile is ready
114
+ # once provisioned.
115
+ required: nil,
116
+ # Values to supply in compliance. Empty when the market demands nothing. Values
117
+ # Sent supplies on your behalf are never listed, and neither are ones it derives
118
+ # from what you send.
119
+ requirements: nil,
120
+ # Pattern the sender's own value must match, where the market dictates one —
121
+ # alphanumeric sender ids and short codes. Null when the value is
122
+ # carrier-assigned.
123
+ sender_id_pattern: nil,
124
+ # The calls that set this market up, in the order they have to be made, each
125
+ # carrying a body that can be sent as it stands.
126
+ #
127
+ # This is the answer to "what do I actually do". Requirements describes each value
128
+ # the market wants; this assembles those descriptions into the requests that
129
+ # supply them, so a caller — or an agent acting for one — copies a body out and
130
+ # sends it rather than building one from a table.
131
+ #
132
+ # The last step is always the channel itself, and it is where the regime's own
133
+ # values are supplied. The one before it, where there is one, is the brand a
134
+ # registering market files against — so it is a step of its own and the channel
135
+ # call refuses until it exists. A market that registers with nobody has one step.
136
+ setup: nil,
137
+ # Sender type the requirements apply to.
138
+ #
139
+ # Non-nullable while sms is the only channel answered here, because it is the only
140
+ # channel whose senders have a type — the day another one is answered, this
141
+ # becomes nullable along with it. Not nullable in advance: nothing can emit null
142
+ # today, and publishing a shape the API never sends is the same mistake as
143
+ # publishing a field it does not have.
144
+ type: nil
145
+ )
146
+ end
147
+
148
+ sig do
149
+ override.returns(
150
+ {
151
+ channel: String,
152
+ country: String,
153
+ required: T::Boolean,
154
+ requirements: T::Array[Sentdm::ComplianceRequirement],
155
+ sender_id_pattern: T.nilable(String),
156
+ setup: T::Array[Sentdm::ComplianceSetupStep],
157
+ type: String
158
+ }
159
+ )
160
+ end
161
+ def to_hash
162
+ end
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ComplianceRetrieveRequirementsParams < 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(
12
+ Sentdm::ComplianceRetrieveRequirementsParams,
13
+ Sentdm::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Channel the sender is for: sms, whatsapp or rcs. Defaults to sms, which is the
18
+ # only one answered today — the other two are 501 until their requirements are
19
+ # declared.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :channel
22
+
23
+ # ISO 3166-1 alpha-2 country code, e.g. US, XK, IN
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :country
26
+
27
+ # Sender type: LOCAL, MOBILE, TEN_DLC, TOLL_FREE, SHORT_CODE, ALPHANUMERIC. 10DLC
28
+ # is accepted as a synonym of TEN_DLC, the same as on POST /v3/sender-profiles.
29
+ # Applies to channel=sms, the only channel whose senders have a type.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :type
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :x_profile_id
35
+
36
+ sig { params(x_profile_id: String).void }
37
+ attr_writer :x_profile_id
38
+
39
+ sig do
40
+ params(
41
+ channel: T.nilable(String),
42
+ country: T.nilable(String),
43
+ type: T.nilable(String),
44
+ x_profile_id: String,
45
+ request_options: Sentdm::RequestOptions::OrHash
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Channel the sender is for: sms, whatsapp or rcs. Defaults to sms, which is the
50
+ # only one answered today — the other two are 501 until their requirements are
51
+ # declared.
52
+ channel: nil,
53
+ # ISO 3166-1 alpha-2 country code, e.g. US, XK, IN
54
+ country: nil,
55
+ # Sender type: LOCAL, MOBILE, TEN_DLC, TOLL_FREE, SHORT_CODE, ALPHANUMERIC. 10DLC
56
+ # is accepted as a synonym of TEN_DLC, the same as on POST /v3/sender-profiles.
57
+ # Applies to channel=sms, the only channel whose senders have a type.
58
+ type: nil,
59
+ x_profile_id: nil,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ channel: T.nilable(String),
68
+ country: T.nilable(String),
69
+ type: T.nilable(String),
70
+ x_profile_id: String,
71
+ request_options: Sentdm::RequestOptions
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ComplianceSetupStep < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::ComplianceSetupStep, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Files to attach as multipart, when this call takes any. Absent when it does not.
12
+ sig { returns(T.nilable(T::Array[Sentdm::ComplianceAttachmentTemplate])) }
13
+ attr_accessor :attachments
14
+
15
+ # The request body, with every key this market wants already present and the
16
+ # values left blank. Send it as it stands and the response names each blank that
17
+ # still has to be filled.
18
+ sig { returns(T.nilable(T.anything)) }
19
+ attr_reader :body
20
+
21
+ sig { params(body: T.anything).void }
22
+ attr_writer :body
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :method_
26
+
27
+ sig { params(method_: String).void }
28
+ attr_writer :method_
29
+
30
+ # Path to call. Add the x-profile-id header with an organization key to make the
31
+ # same call for one of your sender profiles — there is no separate path for that.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :path
34
+
35
+ sig { params(path: String).void }
36
+ attr_writer :path
37
+
38
+ # What this call sets up: brand or channel.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :resource
41
+
42
+ sig { params(resource: String).void }
43
+ attr_writer :resource
44
+
45
+ # Position in the sequence, from 1. Steps must be performed in this order.
46
+ sig { returns(T.nilable(Integer)) }
47
+ attr_reader :step
48
+
49
+ sig { params(step: Integer).void }
50
+ attr_writer :step
51
+
52
+ # Why this market needs this call, in one sentence.
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :why
55
+
56
+ sig { params(why: String).void }
57
+ attr_writer :why
58
+
59
+ # One call to make, with a body that can be sent as it stands.
60
+ #
61
+ # The steps are ordered and the order is load-bearing: a channel that registers
62
+ # with a regime is filed against a brand, so the brand call comes first and the
63
+ # channel call refuses until it has been made. Doing them in order is the whole of
64
+ # setting a market up.
65
+ sig do
66
+ params(
67
+ attachments:
68
+ T.nilable(T::Array[Sentdm::ComplianceAttachmentTemplate::OrHash]),
69
+ body: T.anything,
70
+ method_: String,
71
+ path: String,
72
+ resource: String,
73
+ step: Integer,
74
+ why: String
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(
78
+ # Files to attach as multipart, when this call takes any. Absent when it does not.
79
+ attachments: nil,
80
+ # The request body, with every key this market wants already present and the
81
+ # values left blank. Send it as it stands and the response names each blank that
82
+ # still has to be filled.
83
+ body: nil,
84
+ method_: nil,
85
+ # Path to call. Add the x-profile-id header with an organization key to make the
86
+ # same call for one of your sender profiles — there is no separate path for that.
87
+ path: nil,
88
+ # What this call sets up: brand or channel.
89
+ resource: nil,
90
+ # Position in the sequence, from 1. Steps must be performed in this order.
91
+ step: nil,
92
+ # Why this market needs this call, in one sentence.
93
+ why: nil
94
+ )
95
+ end
96
+
97
+ sig do
98
+ override.returns(
99
+ {
100
+ attachments:
101
+ T.nilable(T::Array[Sentdm::ComplianceAttachmentTemplate]),
102
+ body: T.anything,
103
+ method_: String,
104
+ path: String,
105
+ resource: String,
106
+ step: Integer,
107
+ why: String
108
+ }
109
+ )
110
+ end
111
+ def to_hash
112
+ end
113
+ end
114
+ end
115
+ end
@@ -8,18 +8,11 @@ module Sentdm
8
8
  T.any(Sentdm::ContactMessageSummary, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
- sig do
12
- returns(
13
- T.nilable(T::Array[Sentdm::ContactMessageSummary::ChannelScore])
14
- )
15
- end
11
+ sig { returns(T.nilable(T::Array[Sentdm::ChannelScore])) }
16
12
  attr_reader :channel_scores
17
13
 
18
14
  sig do
19
- params(
20
- channel_scores:
21
- T::Array[Sentdm::ContactMessageSummary::ChannelScore::OrHash]
22
- ).void
15
+ params(channel_scores: T::Array[Sentdm::ChannelScore::OrHash]).void
23
16
  end
24
17
  attr_writer :channel_scores
25
18
 
@@ -49,8 +42,7 @@ module Sentdm
49
42
 
50
43
  sig do
51
44
  params(
52
- channel_scores:
53
- T::Array[Sentdm::ContactMessageSummary::ChannelScore::OrHash],
45
+ channel_scores: T::Array[Sentdm::ChannelScore::OrHash],
54
46
  channels_used: T::Array[String],
55
47
  contact_id: String,
56
48
  first_message_at: T.nilable(Time),
@@ -71,8 +63,7 @@ module Sentdm
71
63
  sig do
72
64
  override.returns(
73
65
  {
74
- channel_scores:
75
- T::Array[Sentdm::ContactMessageSummary::ChannelScore],
66
+ channel_scores: T::Array[Sentdm::ChannelScore],
76
67
  channels_used: T::Array[String],
77
68
  contact_id: String,
78
69
  first_message_at: T.nilable(Time),
@@ -83,62 +74,6 @@ module Sentdm
83
74
  end
84
75
  def to_hash
85
76
  end
86
-
87
- class ChannelScore < Sentdm::Internal::Type::BaseModel
88
- OrHash =
89
- T.type_alias do
90
- T.any(
91
- Sentdm::ContactMessageSummary::ChannelScore,
92
- Sentdm::Internal::AnyHash
93
- )
94
- end
95
-
96
- sig { returns(T.nilable(String)) }
97
- attr_reader :channel
98
-
99
- sig { params(channel: String).void }
100
- attr_writer :channel
101
-
102
- # Percentage (0-100) of messages on this channel that ended in FAILED.
103
- sig { returns(T.nilable(Integer)) }
104
- attr_reader :fail_score
105
-
106
- sig { params(fail_score: Integer).void }
107
- attr_writer :fail_score
108
-
109
- # Percentage (0-100) of messages on this channel that reached a successful
110
- # terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
111
- sig { returns(T.nilable(Integer)) }
112
- attr_reader :success_score
113
-
114
- sig { params(success_score: Integer).void }
115
- attr_writer :success_score
116
-
117
- sig do
118
- params(
119
- channel: String,
120
- fail_score: Integer,
121
- success_score: Integer
122
- ).returns(T.attached_class)
123
- end
124
- def self.new(
125
- channel: nil,
126
- # Percentage (0-100) of messages on this channel that ended in FAILED.
127
- fail_score: nil,
128
- # Percentage (0-100) of messages on this channel that reached a successful
129
- # terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
130
- success_score: nil
131
- )
132
- end
133
-
134
- sig do
135
- override.returns(
136
- { channel: String, fail_score: Integer, success_score: Integer }
137
- )
138
- end
139
- def to_hash
140
- end
141
- end
142
77
  end
143
78
  end
144
79
  end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactsList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::ContactsList, Sentdm::Internal::AnyHash) }
8
+
9
+ # The contacts on this page.
10
+ sig { returns(T.nilable(T::Array[Sentdm::ContactResponse])) }
11
+ attr_reader :contacts
12
+
13
+ sig { params(contacts: T::Array[Sentdm::ContactResponse::OrHash]).void }
14
+ attr_writer :contacts
15
+
16
+ # Pagination metadata for list responses
17
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
18
+ attr_reader :pagination
19
+
20
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
21
+ attr_writer :pagination
22
+
23
+ # A paginated list of contacts.
24
+ sig do
25
+ params(
26
+ contacts: T::Array[Sentdm::ContactResponse::OrHash],
27
+ pagination: Sentdm::PaginationMeta::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ # The contacts on this page.
32
+ contacts: nil,
33
+ # Pagination metadata for list responses
34
+ pagination: nil
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ contacts: T::Array[Sentdm::ContactResponse],
42
+ pagination: Sentdm::PaginationMeta
43
+ }
44
+ )
45
+ end
46
+ def to_hash
47
+ end
48
+ end
49
+ end
50
+ end