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,247 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSMarket < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Channels::SMSMarket, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # What a market has been given: the identity it registers under, its programme,
13
+ # and any documents attached.
14
+ #
15
+ # What it does not carry is what the market asks for. That is the subject of GET
16
+ # /v3/compliance/requirements, and it is the same answer for every caller — a
17
+ # description of what a compliance regime wants, not a record of one customer's
18
+ # progress through it. It was reported here as well for a while, which put the
19
+ # same array in six response shapes and left a caller deciding which of two
20
+ # sources to believe.
21
+ #
22
+ # Present on a list read for markets that register (carrying brand and campaign),
23
+ # but with documents absent — documents are not fetched for a list, because a
24
+ # catalog lookup and a document read per market would multiply across a page.
25
+ # Absent documents is distinct from an empty list: absent says they were not
26
+ # fetched; empty says the market has been given none. The parent object is null
27
+ # only when the market registers with nobody and compliance was not computed —
28
+ # nothing to show at all.
29
+ sig { returns(T.nilable(Sentdm::Channels::SuppliedCompliance)) }
30
+ attr_reader :compliance
31
+
32
+ sig do
33
+ params(
34
+ compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash)
35
+ ).void
36
+ end
37
+ attr_writer :compliance
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :country
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :number_type
44
+
45
+ # Every number this market holds or is still owed, each with its area code and its
46
+ # own status (ACTIVE once it can send, PROVISIONING while it is still to be
47
+ # assigned, INACTIVE once it could send and no longer can). One entry for a market
48
+ # holding one number. US 10DLC numbers are assigned when the campaign is approved,
49
+ # so they read as owed until then. Read-only.
50
+ sig { returns(T.nilable(T::Array[Sentdm::Channels::SMSNumber])) }
51
+ attr_reader :numbers
52
+
53
+ sig do
54
+ params(numbers: T::Array[Sentdm::Channels::SMSNumber::OrHash]).void
55
+ end
56
+ attr_writer :numbers
57
+
58
+ # A sentence for reason_code: this market's own explanation, naming what is
59
+ # outstanding where that is you. Omitted while ACTIVE.
60
+ sig { returns(T.nilable(String)) }
61
+ attr_accessor :reason
62
+
63
+ # Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
64
+ # such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
65
+ # this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
66
+ # specific is known it is the generic reason for the status.
67
+ sig { returns(T.nilable(String)) }
68
+ attr_accessor :reason_code
69
+
70
+ # The sender itself. Null until a carrier-assigned number is procured. For a
71
+ # market holding several numbers, the first active one (the first assigned while
72
+ # none is active) — every number is in numbers.
73
+ sig { returns(T.nilable(String)) }
74
+ attr_accessor :sender_value
75
+
76
+ # Where this market's sender stands, in terms of who is holding it up —
77
+ # PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
78
+ #
79
+ # Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
80
+ # owes, a market with outstanding requirements or an open resubmission request
81
+ # reads ACTION_NEEDED, and a market that registers with a regime reads
82
+ # PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
83
+ # to do and need not have happened yet, so a dedicated brand created through this
84
+ # API reads PENDING_REVIEW from the moment it is stored.
85
+ #
86
+ # Describes whether the market can send, not each number: a market holding several
87
+ # numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
88
+ # Each number's own status is in numbers.
89
+ sig do
90
+ returns(T.nilable(Sentdm::Channels::SMSMarket::Status::TaggedSymbol))
91
+ end
92
+ attr_accessor :status
93
+
94
+ # One SMS market the profile sends in — its sender, where that sender stands, and
95
+ # what the market wants.
96
+ #
97
+ # A profile may send in several: it is a tenant, not a market. Each carries its
98
+ # own status, because a profile can be live in one country and mid-registration in
99
+ # another — and each carries what it still owes, rather than that being reported
100
+ # in a separate array a caller has to join on.
101
+ sig do
102
+ params(
103
+ compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash),
104
+ country: T.nilable(String),
105
+ number_type: T.nilable(String),
106
+ numbers: T::Array[Sentdm::Channels::SMSNumber::OrHash],
107
+ reason: T.nilable(String),
108
+ reason_code: T.nilable(String),
109
+ sender_value: T.nilable(String),
110
+ status: T.nilable(Sentdm::Channels::SMSMarket::Status::OrSymbol)
111
+ ).returns(T.attached_class)
112
+ end
113
+ def self.new(
114
+ # What a market has been given: the identity it registers under, its programme,
115
+ # and any documents attached.
116
+ #
117
+ # What it does not carry is what the market asks for. That is the subject of GET
118
+ # /v3/compliance/requirements, and it is the same answer for every caller — a
119
+ # description of what a compliance regime wants, not a record of one customer's
120
+ # progress through it. It was reported here as well for a while, which put the
121
+ # same array in six response shapes and left a caller deciding which of two
122
+ # sources to believe.
123
+ #
124
+ # Present on a list read for markets that register (carrying brand and campaign),
125
+ # but with documents absent — documents are not fetched for a list, because a
126
+ # catalog lookup and a document read per market would multiply across a page.
127
+ # Absent documents is distinct from an empty list: absent says they were not
128
+ # fetched; empty says the market has been given none. The parent object is null
129
+ # only when the market registers with nobody and compliance was not computed —
130
+ # nothing to show at all.
131
+ compliance: nil,
132
+ country: nil,
133
+ number_type: nil,
134
+ # Every number this market holds or is still owed, each with its area code and its
135
+ # own status (ACTIVE once it can send, PROVISIONING while it is still to be
136
+ # assigned, INACTIVE once it could send and no longer can). One entry for a market
137
+ # holding one number. US 10DLC numbers are assigned when the campaign is approved,
138
+ # so they read as owed until then. Read-only.
139
+ numbers: nil,
140
+ # A sentence for reason_code: this market's own explanation, naming what is
141
+ # outstanding where that is you. Omitted while ACTIVE.
142
+ reason: nil,
143
+ # Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
144
+ # such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
145
+ # this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
146
+ # specific is known it is the generic reason for the status.
147
+ reason_code: nil,
148
+ # The sender itself. Null until a carrier-assigned number is procured. For a
149
+ # market holding several numbers, the first active one (the first assigned while
150
+ # none is active) — every number is in numbers.
151
+ sender_value: nil,
152
+ # Where this market's sender stands, in terms of who is holding it up —
153
+ # PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
154
+ #
155
+ # Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
156
+ # owes, a market with outstanding requirements or an open resubmission request
157
+ # reads ACTION_NEEDED, and a market that registers with a regime reads
158
+ # PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
159
+ # to do and need not have happened yet, so a dedicated brand created through this
160
+ # API reads PENDING_REVIEW from the moment it is stored.
161
+ #
162
+ # Describes whether the market can send, not each number: a market holding several
163
+ # numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
164
+ # Each number's own status is in numbers.
165
+ status: nil
166
+ )
167
+ end
168
+
169
+ sig do
170
+ override.returns(
171
+ {
172
+ compliance: T.nilable(Sentdm::Channels::SuppliedCompliance),
173
+ country: T.nilable(String),
174
+ number_type: T.nilable(String),
175
+ numbers: T::Array[Sentdm::Channels::SMSNumber],
176
+ reason: T.nilable(String),
177
+ reason_code: T.nilable(String),
178
+ sender_value: T.nilable(String),
179
+ status:
180
+ T.nilable(Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
181
+ }
182
+ )
183
+ end
184
+ def to_hash
185
+ end
186
+
187
+ # Where this market's sender stands, in terms of who is holding it up —
188
+ # PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
189
+ #
190
+ # Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
191
+ # owes, a market with outstanding requirements or an open resubmission request
192
+ # reads ACTION_NEEDED, and a market that registers with a regime reads
193
+ # PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
194
+ # to do and need not have happened yet, so a dedicated brand created through this
195
+ # API reads PENDING_REVIEW from the moment it is stored.
196
+ #
197
+ # Describes whether the market can send, not each number: a market holding several
198
+ # numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
199
+ # Each number's own status is in numbers.
200
+ module Status
201
+ extend Sentdm::Internal::Type::Enum
202
+
203
+ TaggedSymbol =
204
+ T.type_alias { T.all(Symbol, Sentdm::Channels::SMSMarket::Status) }
205
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
206
+
207
+ # We are working on it and there is nothing for you to do — a number is being procured, or a registration is being assembled. Minutes to hours.
208
+ PROVISIONING =
209
+ T.let(
210
+ :PROVISIONING,
211
+ Sentdm::Channels::SMSMarket::Status::TaggedSymbol
212
+ )
213
+
214
+ # **Waiting on you.** Something the market asks for has not been supplied, a regulator rejected what was, or we have asked you to correct and resubmit your identity data. Nothing progresses until you act. For an SMS market, `GET /v3/channels/sms/{country}/{type}` names what it wants and `PATCH` on the same path supplies it — compliance values, documents and numbers alike.
215
+ ACTION_NEEDED =
216
+ T.let(
217
+ :ACTION_NEEDED,
218
+ Sentdm::Channels::SMSMarket::Status::TaggedSymbol
219
+ )
220
+
221
+ # With a regulator or carrier — filed, or assembled and queued for us to file — and their answer is what moves it, to `ACTIVE` or back to `ACTION_NEEDED`. Nothing on your side changes it. Days for SMS, weeks for RCS.
222
+ PENDING_REVIEW =
223
+ T.let(
224
+ :PENDING_REVIEW,
225
+ Sentdm::Channels::SMSMarket::Status::TaggedSymbol
226
+ )
227
+
228
+ # Can carry traffic now. A channel a sender profile runs on its organization's reads `ACTIVE` too — it sends, which is what the field is about.
229
+ ACTIVE =
230
+ T.let(:ACTIVE, Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
231
+
232
+ # **It had a working sender and no longer does** — the number was released, or the campaign it carried lapsed. Distinct from `PROVISIONING`, which means it has never sent yet: the same absence of a sender, opposite news. Sends will fail until it returns to `ACTIVE`.
233
+ INACTIVE =
234
+ T.let(:INACTIVE, Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
235
+
236
+ sig do
237
+ override.returns(
238
+ T::Array[Sentdm::Channels::SMSMarket::Status::TaggedSymbol]
239
+ )
240
+ end
241
+ def self.values
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSNumber < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Channels::SMSNumber, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # The number's area code, e.g. 212. While the number is still to be assigned, the
13
+ # area code it was asked for, or null when it was asked for in any area code.
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :area_code
16
+
17
+ # The number, or null while it is still to be assigned.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :sender_value
20
+
21
+ # ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
22
+ # INACTIVE once it could send and no longer can.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :status
25
+
26
+ # One number of an SMS market.
27
+ sig do
28
+ params(
29
+ area_code: T.nilable(String),
30
+ sender_value: T.nilable(String),
31
+ status: T.nilable(String)
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # The number's area code, e.g. 212. While the number is still to be assigned, the
36
+ # area code it was asked for, or null when it was asked for in any area code.
37
+ area_code: nil,
38
+ # The number, or null while it is still to be assigned.
39
+ sender_value: nil,
40
+ # ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
41
+ # INACTIVE once it could send and no longer can.
42
+ status: nil
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ area_code: T.nilable(String),
50
+ sender_value: T.nilable(String),
51
+ status: T.nilable(String)
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSNumberRequest < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Channels::SMSNumberRequest, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # The area code, e.g. 212, validated against the request's country. Omit it for
13
+ # numbers in any area code.
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :area_code
16
+
17
+ # How many numbers. At least 1; omitted means 1.
18
+ sig { returns(T.nilable(Integer)) }
19
+ attr_accessor :quantity
20
+
21
+ # One entry of numbers: how many numbers to assign in one area code, or in any
22
+ # area code when AreaCode is omitted.
23
+ sig do
24
+ params(
25
+ area_code: T.nilable(String),
26
+ quantity: T.nilable(Integer)
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # The area code, e.g. 212, validated against the request's country. Omit it for
31
+ # numbers in any area code.
32
+ area_code: nil,
33
+ # How many numbers. At least 1; omitted means 1.
34
+ quantity: nil
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ { area_code: T.nilable(String), quantity: T.nilable(Integer) }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSRetrieveParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Sentdm::Channels::SMSRetrieveParams,
14
+ Sentdm::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :country
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :type
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :x_profile_id
26
+
27
+ sig { params(x_profile_id: String).void }
28
+ attr_writer :x_profile_id
29
+
30
+ sig do
31
+ params(
32
+ country: String,
33
+ type: String,
34
+ x_profile_id: String,
35
+ request_options: Sentdm::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(country:, type:, x_profile_id: nil, request_options: {})
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ country: String,
45
+ type: String,
46
+ x_profile_id: String,
47
+ request_options: Sentdm::RequestOptions
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,93 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSUpdateParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(Sentdm::Channels::SMSUpdateParams, Sentdm::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :country
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :type
20
+
21
+ # The compliance values a market registers with. `brand` and `campaign` apply to
22
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
23
+ # requirements name.
24
+ sig { returns(T.nilable(Sentdm::Channels::MarketCompliance)) }
25
+ attr_reader :compliance
26
+
27
+ sig do
28
+ params(compliance: Sentdm::Channels::MarketCompliance::OrHash).void
29
+ end
30
+ attr_writer :compliance
31
+
32
+ sig { returns(T.nilable(T::Boolean)) }
33
+ attr_reader :sandbox
34
+
35
+ sig { params(sandbox: T::Boolean).void }
36
+ attr_writer :sandbox
37
+
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :idempotency_key
40
+
41
+ sig { params(idempotency_key: String).void }
42
+ attr_writer :idempotency_key
43
+
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :x_profile_id
46
+
47
+ sig { params(x_profile_id: String).void }
48
+ attr_writer :x_profile_id
49
+
50
+ sig do
51
+ params(
52
+ country: String,
53
+ type: String,
54
+ compliance: Sentdm::Channels::MarketCompliance::OrHash,
55
+ sandbox: T::Boolean,
56
+ idempotency_key: String,
57
+ x_profile_id: String,
58
+ request_options: Sentdm::RequestOptions::OrHash
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ country:,
63
+ type:,
64
+ # The compliance values a market registers with. `brand` and `campaign` apply to
65
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
66
+ # requirements name.
67
+ compliance: nil,
68
+ sandbox: nil,
69
+ idempotency_key: nil,
70
+ x_profile_id: nil,
71
+ request_options: {}
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ country: String,
79
+ type: String,
80
+ compliance: Sentdm::Channels::MarketCompliance,
81
+ sandbox: T::Boolean,
82
+ idempotency_key: String,
83
+ x_profile_id: String,
84
+ request_options: Sentdm::RequestOptions
85
+ }
86
+ )
87
+ end
88
+ def to_hash
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,140 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SuppliedCompliance < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Channels::SuppliedCompliance,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The identity this market registers under, with inherit saying whose it is.
16
+ #
17
+ # Reported here rather than on the profile because it belongs to the registration
18
+ # this market files, and only one market files one. It was a top-level block for a
19
+ # while, which put a per-registration value beside a list of markets and left a
20
+ # caller to work out which market it belonged to.
21
+ #
22
+ # Absent for a market that registers with nobody — such a market asks for no
23
+ # identity, so there is none to report. Absent and null mean different things:
24
+ # absent says this market does not ask, null would say it asks and nothing was
25
+ # supplied.
26
+ #
27
+ # Untyped, like the request side, because its members are declared by the market's
28
+ # own schema rather than by a C# class. A typed pair here would be a second
29
+ # definition of what a market wants, free to drift from the one that validates.
30
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
31
+ attr_accessor :brand
32
+
33
+ # The programme this market registers, with inherit saying whose it is.
34
+ #
35
+ # One, not a list. TcrCampaigns permits several and an account built on the admin
36
+ # side may hold them, but this surface offers one — which is what lets the
37
+ # market's PATCH be an upsert rather than a collection with an addressable create
38
+ # behind it. An account holding several is reported as its first and refused on
39
+ # write, rather than half-edited.
40
+ #
41
+ # Carries no id. Nothing addresses a campaign, and an undeclared key would be
42
+ # refused if the caller sent this object back — which it is meant to be able to
43
+ # do.
44
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
45
+ attr_accessor :campaign
46
+
47
+ # What has been supplied for this market.
48
+ #
49
+ # Files, not values — the declared halves above carry the values. A document
50
+ # cannot be a JSON value, so it is sent as multipart on the channel call and
51
+ # reported here as a reference.
52
+ #
53
+ # Absent on a list read, which fetches identity but does not compute compliance
54
+ # documents per market. Absent and empty mean different things: absent says the
55
+ # documents were not fetched; empty says the market has been given none.
56
+ sig { returns(T.nilable(T::Array[Sentdm::Channels::SuppliedDocument])) }
57
+ attr_accessor :documents
58
+
59
+ # What a market has been given: the identity it registers under, its programme,
60
+ # and any documents attached.
61
+ #
62
+ # What it does not carry is what the market asks for. That is the subject of GET
63
+ # /v3/compliance/requirements, and it is the same answer for every caller — a
64
+ # description of what a compliance regime wants, not a record of one customer's
65
+ # progress through it. It was reported here as well for a while, which put the
66
+ # same array in six response shapes and left a caller deciding which of two
67
+ # sources to believe.
68
+ #
69
+ # Present on a list read for markets that register (carrying brand and campaign),
70
+ # but with documents absent — documents are not fetched for a list, because a
71
+ # catalog lookup and a document read per market would multiply across a page.
72
+ # Absent documents is distinct from an empty list: absent says they were not
73
+ # fetched; empty says the market has been given none. The parent object is null
74
+ # only when the market registers with nobody and compliance was not computed —
75
+ # nothing to show at all.
76
+ sig do
77
+ params(
78
+ brand: T.nilable(T::Hash[Symbol, T.anything]),
79
+ campaign: T.nilable(T::Hash[Symbol, T.anything]),
80
+ documents:
81
+ T.nilable(T::Array[Sentdm::Channels::SuppliedDocument::OrHash])
82
+ ).returns(T.attached_class)
83
+ end
84
+ def self.new(
85
+ # The identity this market registers under, with inherit saying whose it is.
86
+ #
87
+ # Reported here rather than on the profile because it belongs to the registration
88
+ # this market files, and only one market files one. It was a top-level block for a
89
+ # while, which put a per-registration value beside a list of markets and left a
90
+ # caller to work out which market it belonged to.
91
+ #
92
+ # Absent for a market that registers with nobody — such a market asks for no
93
+ # identity, so there is none to report. Absent and null mean different things:
94
+ # absent says this market does not ask, null would say it asks and nothing was
95
+ # supplied.
96
+ #
97
+ # Untyped, like the request side, because its members are declared by the market's
98
+ # own schema rather than by a C# class. A typed pair here would be a second
99
+ # definition of what a market wants, free to drift from the one that validates.
100
+ brand: nil,
101
+ # The programme this market registers, with inherit saying whose it is.
102
+ #
103
+ # One, not a list. TcrCampaigns permits several and an account built on the admin
104
+ # side may hold them, but this surface offers one — which is what lets the
105
+ # market's PATCH be an upsert rather than a collection with an addressable create
106
+ # behind it. An account holding several is reported as its first and refused on
107
+ # write, rather than half-edited.
108
+ #
109
+ # Carries no id. Nothing addresses a campaign, and an undeclared key would be
110
+ # refused if the caller sent this object back — which it is meant to be able to
111
+ # do.
112
+ campaign: nil,
113
+ # What has been supplied for this market.
114
+ #
115
+ # Files, not values — the declared halves above carry the values. A document
116
+ # cannot be a JSON value, so it is sent as multipart on the channel call and
117
+ # reported here as a reference.
118
+ #
119
+ # Absent on a list read, which fetches identity but does not compute compliance
120
+ # documents per market. Absent and empty mean different things: absent says the
121
+ # documents were not fetched; empty says the market has been given none.
122
+ documents: nil
123
+ )
124
+ end
125
+
126
+ sig do
127
+ override.returns(
128
+ {
129
+ brand: T.nilable(T::Hash[Symbol, T.anything]),
130
+ campaign: T.nilable(T::Hash[Symbol, T.anything]),
131
+ documents: T.nilable(T::Array[Sentdm::Channels::SuppliedDocument])
132
+ }
133
+ )
134
+ end
135
+ def to_hash
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end