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,320 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class RcsAgent < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Channels::RcsAgent, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # The agent record. Stable across the whole approval, and what support will ask
13
+ # for.
14
+ #
15
+ # Nullable and omitted when absent: a sender profile with RCS intent records the
16
+ # channel but has no agent until the order form is submitted, so no id exists to
17
+ # report. A zero GUID is not a valid id and is worse than the field being absent.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :id
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :agent_use_case
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :brand_color
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :brand_email
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :brand_name
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :brand_phone_number
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_accessor :brief_company_description
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :company_ein
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :contact_name_and_title
44
+
45
+ # Omitted when no real agent record exists — the intent-only path has no creation
46
+ # timestamp.
47
+ sig { returns(T.nilable(Time)) }
48
+ attr_accessor :created_at
49
+
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :customer_support_email
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :customer_support_phone_number
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_accessor :description
58
+
59
+ sig { returns(T.nilable(String)) }
60
+ attr_accessor :display_name
61
+
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :entity_type
64
+
65
+ sig { returns(T.nilable(String)) }
66
+ attr_accessor :help_message
67
+
68
+ # The registered address of the company behind the agent.
69
+ sig { returns(T.nilable(Sentdm::Channels::RcsAddress)) }
70
+ attr_reader :official_address
71
+
72
+ sig do
73
+ params(
74
+ official_address: T.nilable(Sentdm::Channels::RcsAddress::OrHash)
75
+ ).void
76
+ end
77
+ attr_writer :official_address
78
+
79
+ sig { returns(T.nilable(String)) }
80
+ attr_accessor :opt_in_process_description
81
+
82
+ # The number the agent sends from, derived from brand_phone_number.
83
+ sig { returns(T.nilable(String)) }
84
+ attr_accessor :phone_number
85
+
86
+ sig { returns(T.nilable(String)) }
87
+ attr_accessor :privacy_policy_url
88
+
89
+ # A sentence for reason_code, saying what to do where it is yours. Omitted while
90
+ # ACTIVE.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :reason
93
+
94
+ # Why the agent is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
95
+ # such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
96
+ # this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
97
+ # specific is known it is the generic reason for the status.
98
+ sig { returns(T.nilable(String)) }
99
+ attr_accessor :reason_code
100
+
101
+ sig { returns(T.nilable(T::Array[String])) }
102
+ attr_accessor :sample_messages
103
+
104
+ sig { returns(T.nilable(String)) }
105
+ attr_accessor :start_message
106
+
107
+ # Where the agent stands, in terms of who is holding it up — PROVISIONING,
108
+ # ACTION_NEEDED, PENDING_REVIEW or ACTIVE.
109
+ #
110
+ # Resolved from both of the provider's axes rather than reported raw: an agent
111
+ # whose resubmission we have asked for reads ACTION_NEEDED however its carrier
112
+ # status still reads, and an agent not yet handed over reads PROVISIONING rather
113
+ # than pending a review nobody has started.
114
+ sig do
115
+ returns(T.nilable(Sentdm::Channels::RcsAgent::Status::TaggedSymbol))
116
+ end
117
+ attr_accessor :status
118
+
119
+ sig { returns(T.nilable(String)) }
120
+ attr_accessor :stop_message
121
+
122
+ sig { returns(T.nilable(String)) }
123
+ attr_accessor :terms_and_conditions_url
124
+
125
+ sig { returns(T.nilable(String)) }
126
+ attr_accessor :website_url
127
+
128
+ # An RCS agent as its owner sees it: the order form back, plus where the
129
+ # submission stands.
130
+ #
131
+ # Not RcsSenderResponse. That one is the admin projection and carries the pipeline
132
+ # we track about a customer's request — internalStatus, statusReason, isLaunched —
133
+ # and the S3 keys behind the assets. None of that is the customer's to read: an
134
+ # internal status is a note to ourselves, and an S3 key is a storage detail that
135
+ # would become a contract the moment it was published.
136
+ #
137
+ # What is here is what the caller sent, in the names it sent them under, plus the
138
+ # three things only we can answer: the record's id, its status, and the number it
139
+ # sends from. So a read after a write shows the form as stored rather than as
140
+ # echoed.
141
+ sig do
142
+ params(
143
+ id: T.nilable(String),
144
+ agent_use_case: T.nilable(String),
145
+ brand_color: T.nilable(String),
146
+ brand_email: T.nilable(String),
147
+ brand_name: T.nilable(String),
148
+ brand_phone_number: T.nilable(String),
149
+ brief_company_description: T.nilable(String),
150
+ company_ein: T.nilable(String),
151
+ contact_name_and_title: T.nilable(String),
152
+ created_at: T.nilable(Time),
153
+ customer_support_email: T.nilable(String),
154
+ customer_support_phone_number: T.nilable(String),
155
+ description: T.nilable(String),
156
+ display_name: T.nilable(String),
157
+ entity_type: T.nilable(String),
158
+ help_message: T.nilable(String),
159
+ official_address: T.nilable(Sentdm::Channels::RcsAddress::OrHash),
160
+ opt_in_process_description: T.nilable(String),
161
+ phone_number: T.nilable(String),
162
+ privacy_policy_url: T.nilable(String),
163
+ reason: T.nilable(String),
164
+ reason_code: T.nilable(String),
165
+ sample_messages: T.nilable(T::Array[String]),
166
+ start_message: T.nilable(String),
167
+ status: T.nilable(Sentdm::Channels::RcsAgent::Status::OrSymbol),
168
+ stop_message: T.nilable(String),
169
+ terms_and_conditions_url: T.nilable(String),
170
+ website_url: T.nilable(String)
171
+ ).returns(T.attached_class)
172
+ end
173
+ def self.new(
174
+ # The agent record. Stable across the whole approval, and what support will ask
175
+ # for.
176
+ #
177
+ # Nullable and omitted when absent: a sender profile with RCS intent records the
178
+ # channel but has no agent until the order form is submitted, so no id exists to
179
+ # report. A zero GUID is not a valid id and is worse than the field being absent.
180
+ id: nil,
181
+ agent_use_case: nil,
182
+ brand_color: nil,
183
+ brand_email: nil,
184
+ brand_name: nil,
185
+ brand_phone_number: nil,
186
+ brief_company_description: nil,
187
+ company_ein: nil,
188
+ contact_name_and_title: nil,
189
+ # Omitted when no real agent record exists — the intent-only path has no creation
190
+ # timestamp.
191
+ created_at: nil,
192
+ customer_support_email: nil,
193
+ customer_support_phone_number: nil,
194
+ description: nil,
195
+ display_name: nil,
196
+ entity_type: nil,
197
+ help_message: nil,
198
+ # The registered address of the company behind the agent.
199
+ official_address: nil,
200
+ opt_in_process_description: nil,
201
+ # The number the agent sends from, derived from brand_phone_number.
202
+ phone_number: nil,
203
+ privacy_policy_url: nil,
204
+ # A sentence for reason_code, saying what to do where it is yours. Omitted while
205
+ # ACTIVE.
206
+ reason: nil,
207
+ # Why the agent is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
208
+ # such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
209
+ # this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
210
+ # specific is known it is the generic reason for the status.
211
+ reason_code: nil,
212
+ sample_messages: nil,
213
+ start_message: nil,
214
+ # Where the agent stands, in terms of who is holding it up — PROVISIONING,
215
+ # ACTION_NEEDED, PENDING_REVIEW or ACTIVE.
216
+ #
217
+ # Resolved from both of the provider's axes rather than reported raw: an agent
218
+ # whose resubmission we have asked for reads ACTION_NEEDED however its carrier
219
+ # status still reads, and an agent not yet handed over reads PROVISIONING rather
220
+ # than pending a review nobody has started.
221
+ status: nil,
222
+ stop_message: nil,
223
+ terms_and_conditions_url: nil,
224
+ website_url: nil
225
+ )
226
+ end
227
+
228
+ sig do
229
+ override.returns(
230
+ {
231
+ id: T.nilable(String),
232
+ agent_use_case: T.nilable(String),
233
+ brand_color: T.nilable(String),
234
+ brand_email: T.nilable(String),
235
+ brand_name: T.nilable(String),
236
+ brand_phone_number: T.nilable(String),
237
+ brief_company_description: T.nilable(String),
238
+ company_ein: T.nilable(String),
239
+ contact_name_and_title: T.nilable(String),
240
+ created_at: T.nilable(Time),
241
+ customer_support_email: T.nilable(String),
242
+ customer_support_phone_number: T.nilable(String),
243
+ description: T.nilable(String),
244
+ display_name: T.nilable(String),
245
+ entity_type: T.nilable(String),
246
+ help_message: T.nilable(String),
247
+ official_address: T.nilable(Sentdm::Channels::RcsAddress),
248
+ opt_in_process_description: T.nilable(String),
249
+ phone_number: T.nilable(String),
250
+ privacy_policy_url: T.nilable(String),
251
+ reason: T.nilable(String),
252
+ reason_code: T.nilable(String),
253
+ sample_messages: T.nilable(T::Array[String]),
254
+ start_message: T.nilable(String),
255
+ status:
256
+ T.nilable(Sentdm::Channels::RcsAgent::Status::TaggedSymbol),
257
+ stop_message: T.nilable(String),
258
+ terms_and_conditions_url: T.nilable(String),
259
+ website_url: T.nilable(String)
260
+ }
261
+ )
262
+ end
263
+ def to_hash
264
+ end
265
+
266
+ # Where the agent stands, in terms of who is holding it up — PROVISIONING,
267
+ # ACTION_NEEDED, PENDING_REVIEW or ACTIVE.
268
+ #
269
+ # Resolved from both of the provider's axes rather than reported raw: an agent
270
+ # whose resubmission we have asked for reads ACTION_NEEDED however its carrier
271
+ # status still reads, and an agent not yet handed over reads PROVISIONING rather
272
+ # than pending a review nobody has started.
273
+ module Status
274
+ extend Sentdm::Internal::Type::Enum
275
+
276
+ TaggedSymbol =
277
+ T.type_alias { T.all(Symbol, Sentdm::Channels::RcsAgent::Status) }
278
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
279
+
280
+ # 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.
281
+ PROVISIONING =
282
+ T.let(
283
+ :PROVISIONING,
284
+ Sentdm::Channels::RcsAgent::Status::TaggedSymbol
285
+ )
286
+
287
+ # **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.
288
+ ACTION_NEEDED =
289
+ T.let(
290
+ :ACTION_NEEDED,
291
+ Sentdm::Channels::RcsAgent::Status::TaggedSymbol
292
+ )
293
+
294
+ # 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.
295
+ PENDING_REVIEW =
296
+ T.let(
297
+ :PENDING_REVIEW,
298
+ Sentdm::Channels::RcsAgent::Status::TaggedSymbol
299
+ )
300
+
301
+ # 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.
302
+ ACTIVE =
303
+ T.let(:ACTIVE, Sentdm::Channels::RcsAgent::Status::TaggedSymbol)
304
+
305
+ # **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`.
306
+ INACTIVE =
307
+ T.let(:INACTIVE, Sentdm::Channels::RcsAgent::Status::TaggedSymbol)
308
+
309
+ sig do
310
+ override.returns(
311
+ T::Array[Sentdm::Channels::RcsAgent::Status::TaggedSymbol]
312
+ )
313
+ end
314
+ def self.values
315
+ end
316
+ end
317
+ end
318
+ end
319
+ end
320
+ end
@@ -0,0 +1,291 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSCreateParams < 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::SMSCreateParams, Sentdm::Internal::AnyHash)
13
+ end
14
+
15
+ # Sender type. Decides the provisioning flow and what compliance is asked for.
16
+ #
17
+ # [Required] so the published document says so. The validator has always demanded
18
+ # it, but requiredness reached the schema by matching a rule to a property name —
19
+ # which works for country, whose wire name is its camel-cased C# name, and
20
+ # silently does not for number_type. A client generating a request from our
21
+ # OpenAPI therefore sent what the document called sufficient and was answered 400.
22
+ sig { returns(Sentdm::Channels::SMSCreateParams::NumberType::OrSymbol) }
23
+ attr_accessor :number_type
24
+
25
+ # The area codes to put this sender in, in your own order of preference, e.g.
26
+ # ["415", "628"] for the US or ["20"] for London. Omit it and a number is claimed
27
+ # anywhere in the country.
28
+ #
29
+ # Ordered, and the order is the request. The claim tries each code in turn and
30
+ # stops at the first that yields a number. Nothing sorts the list and a code
31
+ # listed twice is refused.
32
+ #
33
+ # One to fifty entries, each the area code as digits: 415, with the trunk prefix
34
+ # as 020, or with the country's dialing prefix as +1415 (all are stored as the
35
+ # bare code). A dialing prefix from a different country than country is refused.
36
+ # Each code is checked against the country's numbering plan: it must start real
37
+ # local or mobile numbers there, so toll-free and premium ranges, service codes
38
+ # and another country's codes are refused with a reason.
39
+ #
40
+ # LOCAL senders in any country, and US TEN_DLC senders. No other sender type has a
41
+ # geographic area code, and the list is refused with one rather than accepted and
42
+ # dropped.
43
+ #
44
+ # Honoured exactly or not at all. Ask for 415 and you get a 415 number or you get
45
+ # none, never a neighbouring code you did not name. A miss leaves the market with
46
+ # no sender yet and the codes recorded on it, so it is filled when stock appears
47
+ # rather than filled now from somewhere else. Many countries outside North America
48
+ # require address or business documents before a local number can be bought, which
49
+ # can delay or prevent the fill.
50
+ sig { returns(T.nilable(T::Array[String])) }
51
+ attr_accessor :area_codes
52
+
53
+ # The compliance values a market registers with. `brand` and `campaign` apply to
54
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
55
+ # requirements name.
56
+ sig { returns(T.nilable(Sentdm::Channels::MarketCompliance)) }
57
+ attr_reader :compliance
58
+
59
+ sig do
60
+ params(compliance: Sentdm::Channels::MarketCompliance::OrHash).void
61
+ end
62
+ attr_writer :compliance
63
+
64
+ # ISO 3166-1 alpha-2 country the sender operates in.
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :country
67
+
68
+ sig { params(country: String).void }
69
+ attr_writer :country
70
+
71
+ # The numbers to assign, one entry per area code, e.g. [{"area_code": "212",
72
+ # "quantity": 2}, {"area_code": "415"}, {"quantity": 1}]: two numbers in 212, one
73
+ # in 415 and one in any area code. quantity defaults to 1, and an entry without
74
+ # area_code means any area code. Omit numbers for one number.
75
+ #
76
+ # Only with LOCAL or TEN_DLC, and not together with area_codes. Each area code is
77
+ # validated against country the same way area_codes is and may appear once, and at
78
+ # most one entry may leave area_code out. On a LOCAL market you already hold, this
79
+ # adds the numbers to it. US TEN_DLC numbers are assigned when the campaign is
80
+ # approved, not at request time. Not available when the profile inherits the
81
+ # organization's campaign.
82
+ sig { returns(T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest])) }
83
+ attr_accessor :numbers
84
+
85
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
86
+ # for testing integrations without actual execution
87
+ sig { returns(T.nilable(T::Boolean)) }
88
+ attr_reader :sandbox
89
+
90
+ sig { params(sandbox: T::Boolean).void }
91
+ attr_writer :sandbox
92
+
93
+ # The sender's identity where the caller chooses it. Required when number_type is
94
+ # ALPHANUMERIC; optional for carrier-assigned types, which are procured
95
+ # afterwards.
96
+ sig { returns(T.nilable(String)) }
97
+ attr_accessor :sender_value
98
+
99
+ sig { returns(T.nilable(String)) }
100
+ attr_reader :idempotency_key
101
+
102
+ sig { params(idempotency_key: String).void }
103
+ attr_writer :idempotency_key
104
+
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :x_profile_id
107
+
108
+ sig { params(x_profile_id: String).void }
109
+ attr_writer :x_profile_id
110
+
111
+ sig do
112
+ params(
113
+ number_type:
114
+ Sentdm::Channels::SMSCreateParams::NumberType::OrSymbol,
115
+ area_codes: T.nilable(T::Array[String]),
116
+ compliance: Sentdm::Channels::MarketCompliance::OrHash,
117
+ country: String,
118
+ numbers:
119
+ T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest::OrHash]),
120
+ sandbox: T::Boolean,
121
+ sender_value: T.nilable(String),
122
+ idempotency_key: String,
123
+ x_profile_id: String,
124
+ request_options: Sentdm::RequestOptions::OrHash
125
+ ).returns(T.attached_class)
126
+ end
127
+ def self.new(
128
+ # Sender type. Decides the provisioning flow and what compliance is asked for.
129
+ #
130
+ # [Required] so the published document says so. The validator has always demanded
131
+ # it, but requiredness reached the schema by matching a rule to a property name —
132
+ # which works for country, whose wire name is its camel-cased C# name, and
133
+ # silently does not for number_type. A client generating a request from our
134
+ # OpenAPI therefore sent what the document called sufficient and was answered 400.
135
+ number_type:,
136
+ # The area codes to put this sender in, in your own order of preference, e.g.
137
+ # ["415", "628"] for the US or ["20"] for London. Omit it and a number is claimed
138
+ # anywhere in the country.
139
+ #
140
+ # Ordered, and the order is the request. The claim tries each code in turn and
141
+ # stops at the first that yields a number. Nothing sorts the list and a code
142
+ # listed twice is refused.
143
+ #
144
+ # One to fifty entries, each the area code as digits: 415, with the trunk prefix
145
+ # as 020, or with the country's dialing prefix as +1415 (all are stored as the
146
+ # bare code). A dialing prefix from a different country than country is refused.
147
+ # Each code is checked against the country's numbering plan: it must start real
148
+ # local or mobile numbers there, so toll-free and premium ranges, service codes
149
+ # and another country's codes are refused with a reason.
150
+ #
151
+ # LOCAL senders in any country, and US TEN_DLC senders. No other sender type has a
152
+ # geographic area code, and the list is refused with one rather than accepted and
153
+ # dropped.
154
+ #
155
+ # Honoured exactly or not at all. Ask for 415 and you get a 415 number or you get
156
+ # none, never a neighbouring code you did not name. A miss leaves the market with
157
+ # no sender yet and the codes recorded on it, so it is filled when stock appears
158
+ # rather than filled now from somewhere else. Many countries outside North America
159
+ # require address or business documents before a local number can be bought, which
160
+ # can delay or prevent the fill.
161
+ area_codes: nil,
162
+ # The compliance values a market registers with. `brand` and `campaign` apply to
163
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
164
+ # requirements name.
165
+ compliance: nil,
166
+ # ISO 3166-1 alpha-2 country the sender operates in.
167
+ country: nil,
168
+ # The numbers to assign, one entry per area code, e.g. [{"area_code": "212",
169
+ # "quantity": 2}, {"area_code": "415"}, {"quantity": 1}]: two numbers in 212, one
170
+ # in 415 and one in any area code. quantity defaults to 1, and an entry without
171
+ # area_code means any area code. Omit numbers for one number.
172
+ #
173
+ # Only with LOCAL or TEN_DLC, and not together with area_codes. Each area code is
174
+ # validated against country the same way area_codes is and may appear once, and at
175
+ # most one entry may leave area_code out. On a LOCAL market you already hold, this
176
+ # adds the numbers to it. US TEN_DLC numbers are assigned when the campaign is
177
+ # approved, not at request time. Not available when the profile inherits the
178
+ # organization's campaign.
179
+ numbers: nil,
180
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
181
+ # for testing integrations without actual execution
182
+ sandbox: nil,
183
+ # The sender's identity where the caller chooses it. Required when number_type is
184
+ # ALPHANUMERIC; optional for carrier-assigned types, which are procured
185
+ # afterwards.
186
+ sender_value: nil,
187
+ idempotency_key: nil,
188
+ x_profile_id: nil,
189
+ request_options: {}
190
+ )
191
+ end
192
+
193
+ sig do
194
+ override.returns(
195
+ {
196
+ number_type:
197
+ Sentdm::Channels::SMSCreateParams::NumberType::OrSymbol,
198
+ area_codes: T.nilable(T::Array[String]),
199
+ compliance: Sentdm::Channels::MarketCompliance,
200
+ country: String,
201
+ numbers: T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest]),
202
+ sandbox: T::Boolean,
203
+ sender_value: T.nilable(String),
204
+ idempotency_key: String,
205
+ x_profile_id: String,
206
+ request_options: Sentdm::RequestOptions
207
+ }
208
+ )
209
+ end
210
+ def to_hash
211
+ end
212
+
213
+ # Sender type. Decides the provisioning flow and what compliance is asked for.
214
+ #
215
+ # [Required] so the published document says so. The validator has always demanded
216
+ # it, but requiredness reached the schema by matching a rule to a property name —
217
+ # which works for country, whose wire name is its camel-cased C# name, and
218
+ # silently does not for number_type. A client generating a request from our
219
+ # OpenAPI therefore sent what the document called sufficient and was answered 400.
220
+ module NumberType
221
+ extend Sentdm::Internal::Type::Enum
222
+
223
+ TaggedSymbol =
224
+ T.type_alias do
225
+ T.all(Symbol, Sentdm::Channels::SMSCreateParams::NumberType)
226
+ end
227
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
228
+
229
+ # A geographic number for the country. The ordinary choice: recognisable to recipients, and available almost everywhere.
230
+ LOCAL =
231
+ T.let(
232
+ :LOCAL,
233
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
234
+ )
235
+
236
+ # A toll-free number. High throughput and no per-country registration, but US toll-free traffic goes through its own verification.
237
+ TOLL_FREE =
238
+ T.let(
239
+ :TOLL_FREE,
240
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
241
+ )
242
+
243
+ # A short code — five or six digits, leased rather than provisioned. Highest throughput, longest lead time, and the most expensive.
244
+ SHORT_CODE =
245
+ T.let(
246
+ :SHORT_CODE,
247
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
248
+ )
249
+
250
+ # A sender name rather than a number, up to 11 characters. Recipients cannot reply. Not available in every country, and several require it to be pre-registered with documents.
251
+ ALPHANUMERIC =
252
+ T.let(
253
+ :ALPHANUMERIC,
254
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
255
+ )
256
+
257
+ # A US 10-digit long code registered with The Campaign Registry. The only sender type that registers with a compliance regime, so it is the only one whose market declares `compliance.brand` and `compliance.campaign`.
258
+ TEN_DLC =
259
+ T.let(
260
+ :TEN_DLC,
261
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
262
+ )
263
+
264
+ # A mobile number. Where a country distinguishes it from a landline, some carriers treat mobile traffic differently.
265
+ MOBILE =
266
+ T.let(
267
+ :MOBILE,
268
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
269
+ )
270
+
271
+ # The industry's spelling of `TEN_DLC`, accepted so an integrator can send the term it knows. Resolves to the same market.
272
+ NUMBER_TYPE_10_DLC =
273
+ T.let(
274
+ :"10DLC",
275
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
276
+ )
277
+
278
+ sig do
279
+ override.returns(
280
+ T::Array[
281
+ Sentdm::Channels::SMSCreateParams::NumberType::TaggedSymbol
282
+ ]
283
+ )
284
+ end
285
+ def self.values
286
+ end
287
+ end
288
+ end
289
+ end
290
+ end
291
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class SMSListParams < 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::SMSListParams, Sentdm::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :x_profile_id
17
+
18
+ sig { params(x_profile_id: String).void }
19
+ attr_writer :x_profile_id
20
+
21
+ sig do
22
+ params(
23
+ x_profile_id: String,
24
+ request_options: Sentdm::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(x_profile_id: nil, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { x_profile_id: String, request_options: Sentdm::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end