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,409 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ class MarketCompliance < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute brand
8
+ # Business identity. The identity the registration is filed against. Omit to have
9
+ # none; { "inherit": true } to register under your organization's.
10
+ #
11
+ # @return [Sentdm::Models::Channels::MarketCompliance::Brand, nil]
12
+ optional :brand, -> { Sentdm::Channels::MarketCompliance::Brand }
13
+
14
+ # @!attribute campaign
15
+ # Messaging campaign. What the programme sends and how recipients consented. Omit
16
+ # to run on your organization's; supplying it takes one of your own. { "inherit":
17
+ # true } says so outright. Required when `compliance.campaign.inherit != true`.
18
+ #
19
+ # @return [Sentdm::Models::Channels::MarketCompliance::Campaign, nil]
20
+ optional :campaign, -> { Sentdm::Channels::MarketCompliance::Campaign }
21
+
22
+ # @!method initialize(brand: nil, campaign: nil)
23
+ # Some parameter documentations has been truncated, see
24
+ # {Sentdm::Models::Channels::MarketCompliance} for more details.
25
+ #
26
+ # The compliance values a market registers with. `brand` and `campaign` apply to
27
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
28
+ # requirements name.
29
+ #
30
+ # @param brand [Sentdm::Models::Channels::MarketCompliance::Brand] Business identity. The identity the registration is filed against. Omit to have
31
+ #
32
+ # @param campaign [Sentdm::Models::Channels::MarketCompliance::Campaign] Messaging campaign. What the programme sends and how recipients consented. Omit
33
+
34
+ # @see Sentdm::Models::Channels::MarketCompliance#brand
35
+ class Brand < Sentdm::Internal::Type::BaseModel
36
+ # @!attribute business_name
37
+ # Public-facing name. TCR displayName — the name recipients would recognise. Named
38
+ # for what it holds rather than for TCR's field, which is why it is not
39
+ # `display_name`. Required when `compliance.brand.inherit != true`.
40
+ #
41
+ # @return [String, nil]
42
+ optional :business_name, String
43
+
44
+ # @!attribute city
45
+ # City. Required when `compliance.brand.inherit != true`.
46
+ #
47
+ # @return [String, nil]
48
+ optional :city, String
49
+
50
+ # @!attribute contact_email
51
+ # Contact email. TCR email. Required when `compliance.brand.inherit != true`.
52
+ #
53
+ # @return [String, nil]
54
+ optional :contact_email, String
55
+
56
+ # @!attribute contact_name
57
+ # Responsible contact. Split into TCR's firstName/lastName on submission.
58
+ # BrandService refuses a blank one, so a missing name is reported here rather than
59
+ # thrown after the profile was written. Required when
60
+ # `compliance.brand.inherit != true`.
61
+ #
62
+ # @return [String, nil]
63
+ optional :contact_name, String
64
+
65
+ # @!attribute contact_phone
66
+ # Contact phone. TCR sends it as both phone and mobilePhone, so it is asked for
67
+ # once. Named for the contact it belongs to rather than as a bare `phone` on a
68
+ # block that also carries an address. Required when
69
+ # `compliance.brand.inherit != true`.
70
+ #
71
+ # @return [String, nil]
72
+ optional :contact_phone, String
73
+
74
+ # @!attribute country
75
+ # Country of registration. Two letters — US. The country spelled out in full is
76
+ # accepted too and stored as its code, which is what a read answers with and what
77
+ # is filed. Required when `compliance.brand.inherit != true`.
78
+ #
79
+ # @return [String, nil]
80
+ optional :country, String
81
+
82
+ # @!attribute ein_issuing_country
83
+ # Country that issued the tax id. TCR einIssuingCountry — where the tax id was
84
+ # issued, which is not always where the business trades. Defaults to `country`
85
+ # when omitted, which is right for most. Takes the code or the country spelled
86
+ # out, as `country` does.
87
+ #
88
+ # @return [String, nil]
89
+ optional :ein_issuing_country, String
90
+
91
+ # @!attribute entity_type
92
+ # Entity type. TCR entityType. Decides which vetting TCR applies and, for
93
+ # SOLE_PROPRIETOR, fixes the campaign fee regardless of volume. Also refused at
94
+ # submission if absent. Required when `compliance.brand.inherit != true`.
95
+ #
96
+ # @return [Symbol, Sentdm::Models::Channels::MarketCompliance::Brand::EntityType, nil]
97
+ optional :entity_type, enum: -> { Sentdm::Channels::MarketCompliance::Brand::EntityType }
98
+
99
+ # @!attribute inherit
100
+ # Run on the organization's brand. True to register under the parent
101
+ # organization's identity rather than one of this profile's own; every field below
102
+ # is then neither asked for nor accepted. Omitted, the brand is the organization's
103
+ # unless this block supplies identity fields, which says plainly enough that it
104
+ # wants one of its own.
105
+ #
106
+ # @return [Boolean, nil]
107
+ optional :inherit, Sentdm::Internal::Type::Boolean
108
+
109
+ # @!attribute legal_name
110
+ # Registered legal name. TCR companyName — the name on the incorporation
111
+ # documents, which is often not the name recipients would recognise. Required when
112
+ # `compliance.brand.inherit != true`.
113
+ #
114
+ # @return [String, nil]
115
+ optional :legal_name, String
116
+
117
+ # @!attribute postal_code
118
+ # Postal code. Required when `compliance.brand.inherit != true`.
119
+ #
120
+ # @return [String, nil]
121
+ optional :postal_code, String
122
+
123
+ # @!attribute state
124
+ # State or region. TCR state. Two letters for a US registration. Required when
125
+ # `compliance.brand.inherit != true`.
126
+ #
127
+ # @return [String, nil]
128
+ optional :state, String
129
+
130
+ # @!attribute street
131
+ # Street address. Required when `compliance.brand.inherit != true`.
132
+ #
133
+ # @return [String, nil]
134
+ optional :street, String
135
+
136
+ # @!attribute tax_id
137
+ # Tax identifier. TCR ein. TcrBrandSubmissionValidator refuses a submission
138
+ # without one, so it is wanted here rather than discovered at filing time.
139
+ # Required when `compliance.brand.inherit != true`.
140
+ #
141
+ # @return [String, nil]
142
+ optional :tax_id, String
143
+
144
+ # @!attribute tax_id_type
145
+ # Kind of tax identifier. Which kind of identifier `tax_id` is, e.g. us_ein.
146
+ # Derived onto the brand form, and not itself sent to TCR. Required when
147
+ # `compliance.brand.inherit != true`.
148
+ #
149
+ # @return [String, nil]
150
+ optional :tax_id_type, String
151
+
152
+ # @!attribute website
153
+ # Website. TCR website. Optional, and worth sending: carriers weigh it when
154
+ # vetting, so a brand that has one and omits it is vetted on less than it could
155
+ # be.
156
+ #
157
+ # @return [String, nil]
158
+ optional :website, String
159
+
160
+ # @!method initialize(business_name: nil, city: nil, contact_email: nil, contact_name: nil, contact_phone: nil, country: nil, ein_issuing_country: nil, entity_type: nil, inherit: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, website: nil)
161
+ # Some parameter documentations has been truncated, see
162
+ # {Sentdm::Models::Channels::MarketCompliance::Brand} for more details.
163
+ #
164
+ # Business identity. The identity the registration is filed against. Omit to have
165
+ # none; { "inherit": true } to register under your organization's.
166
+ #
167
+ # @param business_name [String] Public-facing name. TCR displayName — the name recipients would recognise. Named
168
+ #
169
+ # @param city [String] City. Required when `compliance.brand.inherit != true`.
170
+ #
171
+ # @param contact_email [String] Contact email. TCR email. Required when `compliance.brand.inherit != true`.
172
+ #
173
+ # @param contact_name [String] Responsible contact. Split into TCR's firstName/lastName on submission. BrandSer
174
+ #
175
+ # @param contact_phone [String] Contact phone. TCR sends it as both phone and mobilePhone, so it is asked for on
176
+ #
177
+ # @param country [String] Country of registration. Two letters — US. The country spelled out in full is ac
178
+ #
179
+ # @param ein_issuing_country [String] Country that issued the tax id. TCR einIssuingCountry — where the tax id was iss
180
+ #
181
+ # @param entity_type [Symbol, Sentdm::Models::Channels::MarketCompliance::Brand::EntityType] Entity type. TCR entityType. Decides which vetting TCR applies and, for SOLE_PRO
182
+ #
183
+ # @param inherit [Boolean] Run on the organization's brand. True to register under the parent organization'
184
+ #
185
+ # @param legal_name [String] Registered legal name. TCR companyName — the name on the incorporation documents
186
+ #
187
+ # @param postal_code [String] Postal code. Required when `compliance.brand.inherit != true`.
188
+ #
189
+ # @param state [String] State or region. TCR state. Two letters for a US registration. Required when `co
190
+ #
191
+ # @param street [String] Street address. Required when `compliance.brand.inherit != true`.
192
+ #
193
+ # @param tax_id [String] Tax identifier. TCR ein. TcrBrandSubmissionValidator refuses a submission withou
194
+ #
195
+ # @param tax_id_type [String] Kind of tax identifier. Which kind of identifier `tax_id` is, e.g. us_ein. Deriv
196
+ #
197
+ # @param website [String] Website. TCR website. Optional, and worth sending: carriers weigh it when vettin
198
+
199
+ # Entity type. TCR entityType. Decides which vetting TCR applies and, for
200
+ # SOLE_PROPRIETOR, fixes the campaign fee regardless of volume. Also refused at
201
+ # submission if absent. Required when `compliance.brand.inherit != true`.
202
+ #
203
+ # @see Sentdm::Models::Channels::MarketCompliance::Brand#entity_type
204
+ module EntityType
205
+ extend Sentdm::Internal::Type::Enum
206
+
207
+ PRIVATE_PROFIT = :PRIVATE_PROFIT
208
+ PUBLIC_PROFIT = :PUBLIC_PROFIT
209
+ NON_PROFIT = :NON_PROFIT
210
+ SOLE_PROPRIETOR = :SOLE_PROPRIETOR
211
+ GOVERNMENT = :GOVERNMENT
212
+
213
+ # @!method self.values
214
+ # @return [Array<Symbol>]
215
+ end
216
+ end
217
+
218
+ # @see Sentdm::Models::Channels::MarketCompliance#campaign
219
+ class Campaign < Sentdm::Internal::Type::BaseModel
220
+ # @!attribute description
221
+ # What this programme sends. TCR description: what recipients will get and why, in
222
+ # a sentence. The only one of these TCR takes verbatim as a description of the
223
+ # programme, which is why it is asked for rather than derived from the customer's
224
+ # name. Required when `compliance.campaign.inherit != true`.
225
+ #
226
+ # @return [String, nil]
227
+ optional :description, String
228
+
229
+ # @!attribute help_keywords
230
+ # Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
231
+ # `compliance.campaign.inherit != true`.
232
+ #
233
+ # @return [String, nil]
234
+ optional :help_keywords, String
235
+
236
+ # @!attribute help_message
237
+ # Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
238
+ # when `compliance.campaign.inherit != true`.
239
+ #
240
+ # @return [String, nil]
241
+ optional :help_message, String
242
+
243
+ # @!attribute inherit
244
+ # Run on the organization's campaign. True to register under the parent
245
+ # organization's programme rather than one of this profile's own; every field
246
+ # below is then neither asked for nor accepted. Owning the identity and inheriting
247
+ # the campaign is refused — a campaign is filed against an identity registration,
248
+ # and chk_tcr_inheritance forbids that pairing outright.
249
+ #
250
+ # @return [Boolean, nil]
251
+ optional :inherit, Sentdm::Internal::Type::Boolean
252
+
253
+ # @!attribute message_flow
254
+ # Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40
255
+ # characters is refused, and carriers reject vague descriptions — say where opt-in
256
+ # happens, that the box is unchecked by default, and that consent is not a
257
+ # condition of purchase. Required when `compliance.campaign.inherit != true`.
258
+ #
259
+ # @return [String, nil]
260
+ optional :message_flow, String
261
+
262
+ # @!attribute opt_in_keywords
263
+ # Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required
264
+ # when `compliance.campaign.inherit != true`.
265
+ #
266
+ # @return [String, nil]
267
+ optional :opt_in_keywords, String
268
+
269
+ # @!attribute opt_in_message
270
+ # Opt-in confirmation. TCR optinMessage. Should state message frequency and that
271
+ # rates may apply. Its presence is what sets subscriberOptin. Required when
272
+ # `compliance.campaign.inherit != true`.
273
+ #
274
+ # @return [String, nil]
275
+ optional :opt_in_message, String
276
+
277
+ # @!attribute opt_out_keywords
278
+ # Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL,
279
+ # UNSUBSCRIBE and QUIT are honoured regardless of what is declared. Required when
280
+ # `compliance.campaign.inherit != true`.
281
+ #
282
+ # @return [String, nil]
283
+ optional :opt_out_keywords, String
284
+
285
+ # @!attribute opt_out_message
286
+ # Opt-out confirmation. TCR optoutMessage. Its presence is what sets
287
+ # subscriberOptout. Required when `compliance.campaign.inherit != true`.
288
+ #
289
+ # @return [String, nil]
290
+ optional :opt_out_message, String
291
+
292
+ # @!attribute privacy_policy_link
293
+ # Privacy policy URL. TCR privacyPolicyLink. Required when
294
+ # `compliance.campaign.inherit != true`.
295
+ #
296
+ # @return [String, nil]
297
+ optional :privacy_policy_link, String
298
+
299
+ # @!attribute terms_and_conditions_link
300
+ # Terms and conditions URL. TCR termsAndConditionsLink. Required when
301
+ # `compliance.campaign.inherit != true`.
302
+ #
303
+ # @return [String, nil]
304
+ optional :terms_and_conditions_link, String
305
+
306
+ # @!attribute use_cases
307
+ # Use cases. What the campaign sends, and an example of each. One to five entries;
308
+ # how they register is decided by volume, never declared. Required when
309
+ # `compliance.campaign.inherit != true`.
310
+ #
311
+ # @return [Array<Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase>, nil]
312
+ optional :use_cases,
313
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::MarketCompliance::Campaign::UseCase] }
314
+
315
+ # @!attribute volume
316
+ # Expected monthly volume. Decides how the campaign registers and which fee tier
317
+ # applies: below the low-volume threshold it registers as LOW_VOLUME with
318
+ # sub-use-cases, above it as a single use case or MIXED. Omitting it registers the
319
+ # campaign at the higher-fee standard tier.
320
+ #
321
+ # @return [String, nil]
322
+ optional :volume, String
323
+
324
+ # @!method initialize(description: nil, help_keywords: nil, help_message: nil, inherit: nil, message_flow: nil, opt_in_keywords: nil, opt_in_message: nil, opt_out_keywords: nil, opt_out_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil, use_cases: nil, volume: nil)
325
+ # Some parameter documentations has been truncated, see
326
+ # {Sentdm::Models::Channels::MarketCompliance::Campaign} for more details.
327
+ #
328
+ # Messaging campaign. What the programme sends and how recipients consented. Omit
329
+ # to run on your organization's; supplying it takes one of your own. { "inherit":
330
+ # true } says so outright. Required when `compliance.campaign.inherit != true`.
331
+ #
332
+ # @param description [String] What this programme sends. TCR description: what recipients will get and why, in
333
+ #
334
+ # @param help_keywords [String] Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
335
+ #
336
+ # @param help_message [String] Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
337
+ #
338
+ # @param inherit [Boolean] Run on the organization's campaign. True to register under the parent organizati
339
+ #
340
+ # @param message_flow [String] Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40 ch
341
+ #
342
+ # @param opt_in_keywords [String] Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required wh
343
+ #
344
+ # @param opt_in_message [String] Opt-in confirmation. TCR optinMessage. Should state message frequency and that r
345
+ #
346
+ # @param opt_out_keywords [String] Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL, UNSUBS
347
+ #
348
+ # @param opt_out_message [String] Opt-out confirmation. TCR optoutMessage. Its presence is what sets subscriberOpt
349
+ #
350
+ # @param privacy_policy_link [String] Privacy policy URL. TCR privacyPolicyLink. Required when `compliance.campaign.in
351
+ #
352
+ # @param terms_and_conditions_link [String] Terms and conditions URL. TCR termsAndConditionsLink. Required when `compliance.
353
+ #
354
+ # @param use_cases [Array<Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase>] Use cases. What the campaign sends, and an example of each. One to five entries;
355
+ #
356
+ # @param volume [String] Expected monthly volume. Decides how the campaign registers and which fee tier a
357
+
358
+ class UseCase < Sentdm::Internal::Type::BaseModel
359
+ # @!attribute sample_messages
360
+ # Sample messages. TCR sample1..sample5 for this use case. One to five, each
361
+ # carrying the brand name and an opt-out instruction.
362
+ #
363
+ # @return [Array<Object>]
364
+ required :sample_messages, Sentdm::Internal::Type::ArrayOf[Sentdm::Internal::Type::Unknown]
365
+
366
+ # @!attribute use_case
367
+ # Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume
368
+ # decides those.
369
+ #
370
+ # @return [Symbol, Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase::UseCase]
371
+ required :use_case, enum: -> { Sentdm::Channels::MarketCompliance::Campaign::UseCase::UseCase }
372
+
373
+ # @!method initialize(sample_messages:, use_case:)
374
+ # Some parameter documentations has been truncated, see
375
+ # {Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase} for more
376
+ # details.
377
+ #
378
+ # @param sample_messages [Array<Object>] Sample messages. TCR sample1..sample5 for this use case. One to five, each carry
379
+ #
380
+ # @param use_case [Symbol, Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase::UseCase] Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume decid
381
+
382
+ # Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume
383
+ # decides those.
384
+ #
385
+ # @see Sentdm::Models::Channels::MarketCompliance::Campaign::UseCase#use_case
386
+ module UseCase
387
+ extend Sentdm::Internal::Type::Enum
388
+
389
+ MARKETING = :MARKETING
390
+ ACCOUNT_NOTIFICATION = :ACCOUNT_NOTIFICATION
391
+ CUSTOMER_CARE = :CUSTOMER_CARE
392
+ FRAUD_ALERT = :FRAUD_ALERT
393
+ USE_CASE_2_FA = :"2FA"
394
+ DELIVERY_NOTIFICATION = :DELIVERY_NOTIFICATION
395
+ SECURITY_ALERT = :SECURITY_ALERT
396
+ M2_M = :M2M
397
+ HIGHER_EDUCATION = :HIGHER_EDUCATION
398
+ POLLING_VOTING = :POLLING_VOTING
399
+ PUBLIC_SERVICE_ANNOUNCEMENT = :PUBLIC_SERVICE_ANNOUNCEMENT
400
+
401
+ # @!method self.values
402
+ # @return [Array<Symbol>]
403
+ end
404
+ end
405
+ end
406
+ end
407
+ end
408
+ end
409
+ end
@@ -0,0 +1,260 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Channels
6
+ # @see Sentdm::Resources::Channels::Rcs#create
7
+ class RcCreateParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!attribute agent_use_case
12
+ # Which kind of traffic the agent carries. One of the accepted use cases; the
13
+ # error names the set.
14
+ #
15
+ # @return [Symbol, Sentdm::Models::Channels::RcCreateParams::AgentUseCase, nil]
16
+ optional :agent_use_case, enum: -> { Sentdm::Channels::RcCreateParams::AgentUseCase }
17
+
18
+ # @!attribute banner_url
19
+ #
20
+ # @return [String, nil]
21
+ optional :banner_url, String
22
+
23
+ # @!attribute brand_color
24
+ # Primary brand colour, as #RRGGBB. Three-digit shorthand is refused: the value is
25
+ # submitted verbatim, so two spellings of one colour is only a way for the stored
26
+ # value to disagree with the form.
27
+ #
28
+ # @return [String, nil]
29
+ optional :brand_color, String
30
+
31
+ # @!attribute brand_email
32
+ #
33
+ # @return [String, nil]
34
+ optional :brand_email, String
35
+
36
+ # @!attribute brand_name
37
+ # The brand this agent presents over RCS.
38
+ #
39
+ # Not taken from your compliance.brand: a business may present a different brand
40
+ # on RCS than the one its 10DLC registration is filed against, and the carriers
41
+ # vet this one.
42
+ #
43
+ # @return [String, nil]
44
+ optional :brand_name, String
45
+
46
+ # @!attribute brand_phone_number
47
+ # The brand's own number. Also becomes the agent's canonical sending number for
48
+ # routing, which is why it is normalised to E.164 rather than stored as sent.
49
+ #
50
+ # @return [String, nil]
51
+ optional :brand_phone_number, String
52
+
53
+ # @!attribute brief_company_description
54
+ #
55
+ # @return [String, nil]
56
+ optional :brief_company_description, String
57
+
58
+ # @!attribute company_ein
59
+ #
60
+ # @return [String, nil]
61
+ optional :company_ein, String
62
+
63
+ # @!attribute contact_name_and_title
64
+ #
65
+ # @return [String, nil]
66
+ optional :contact_name_and_title, String
67
+
68
+ # @!attribute customer_support_email
69
+ #
70
+ # @return [String, nil]
71
+ optional :customer_support_email, String
72
+
73
+ # @!attribute customer_support_phone_number
74
+ #
75
+ # @return [String, nil]
76
+ optional :customer_support_phone_number, String
77
+
78
+ # @!attribute description
79
+ # What the agent is for, shown to recipients. Capped by the carriers, not by us.
80
+ #
81
+ # @return [String, nil]
82
+ optional :description, String
83
+
84
+ # @!attribute display_name
85
+ # The name the agent shows in the messaging client.
86
+ #
87
+ # @return [String, nil]
88
+ optional :display_name, String
89
+
90
+ # @!attribute entity_type
91
+ #
92
+ # @return [String, nil]
93
+ optional :entity_type, String
94
+
95
+ # @!attribute help_message
96
+ #
97
+ # @return [String, nil]
98
+ optional :help_message, String
99
+
100
+ # @!attribute logo_url
101
+ # Publicly reachable logo. It has to be fetchable without authentication at review
102
+ # time, so a URL behind a login passes this call and fails the review.
103
+ #
104
+ # @return [String, nil]
105
+ optional :logo_url, String
106
+
107
+ # @!attribute official_address
108
+ # The registered address of the company behind the agent.
109
+ #
110
+ # @return [Sentdm::Models::Channels::RcsAddress, nil]
111
+ optional :official_address, -> { Sentdm::Channels::RcsAddress }
112
+
113
+ # @!attribute opt_in_process_description
114
+ # How recipients opt in, in prose. The carriers read this one.
115
+ #
116
+ # @return [String, nil]
117
+ optional :opt_in_process_description, String
118
+
119
+ # @!attribute opt_in_screenshot_url
120
+ # A screenshot of the opt-in, as a publicly fetchable URL.
121
+ #
122
+ # @return [String, nil]
123
+ optional :opt_in_screenshot_url, String, nil?: true
124
+
125
+ # @!attribute privacy_policy_url
126
+ # Required by US carriers. Must be an absolute http(s) URL they can fetch.
127
+ #
128
+ # @return [String, nil]
129
+ optional :privacy_policy_url, String
130
+
131
+ # @!attribute sample_messages
132
+ # Examples of what the agent will send, for the review.
133
+ #
134
+ # @return [Array<String>, nil]
135
+ optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String]
136
+
137
+ # @!attribute sandbox
138
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
139
+ # for testing integrations without actual execution
140
+ #
141
+ # @return [Boolean, nil]
142
+ optional :sandbox, Sentdm::Internal::Type::Boolean
143
+
144
+ # @!attribute start_message
145
+ #
146
+ # @return [String, nil]
147
+ optional :start_message, String
148
+
149
+ # @!attribute stop_message
150
+ #
151
+ # @return [String, nil]
152
+ optional :stop_message, String
153
+
154
+ # @!attribute terms_and_conditions_url
155
+ #
156
+ # @return [String, nil]
157
+ optional :terms_and_conditions_url, String
158
+
159
+ # @!attribute website_url
160
+ # The brand's own site.
161
+ #
162
+ # @return [String, nil]
163
+ optional :website_url, String
164
+
165
+ # @!attribute idempotency_key
166
+ #
167
+ # @return [String, nil]
168
+ optional :idempotency_key, String
169
+
170
+ # @!attribute x_profile_id
171
+ #
172
+ # @return [String, nil]
173
+ optional :x_profile_id, String
174
+
175
+ # @!method initialize(agent_use_case: nil, banner_url: nil, brand_color: nil, brand_email: nil, brand_name: nil, brand_phone_number: nil, brief_company_description: nil, company_ein: nil, contact_name_and_title: nil, customer_support_email: nil, customer_support_phone_number: nil, description: nil, display_name: nil, entity_type: nil, help_message: nil, logo_url: nil, official_address: nil, opt_in_process_description: nil, opt_in_screenshot_url: nil, privacy_policy_url: nil, sample_messages: nil, sandbox: nil, start_message: nil, stop_message: nil, terms_and_conditions_url: nil, website_url: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
176
+ # Some parameter documentations has been truncated, see
177
+ # {Sentdm::Models::Channels::RcCreateParams} for more details.
178
+ #
179
+ # @param agent_use_case [Symbol, Sentdm::Models::Channels::RcCreateParams::AgentUseCase] Which kind of traffic the agent carries. One of the accepted use cases; the erro
180
+ #
181
+ # @param banner_url [String]
182
+ #
183
+ # @param brand_color [String] Primary brand colour, as #RRGGBB. Three-digit shorthand is refused: the value is
184
+ #
185
+ # @param brand_email [String]
186
+ #
187
+ # @param brand_name [String] The brand this agent presents over RCS.
188
+ #
189
+ # @param brand_phone_number [String] The brand's own number. Also becomes the agent's canonical sending number for ro
190
+ #
191
+ # @param brief_company_description [String]
192
+ #
193
+ # @param company_ein [String]
194
+ #
195
+ # @param contact_name_and_title [String]
196
+ #
197
+ # @param customer_support_email [String]
198
+ #
199
+ # @param customer_support_phone_number [String]
200
+ #
201
+ # @param description [String] What the agent is for, shown to recipients. Capped by the carriers, not by us.
202
+ #
203
+ # @param display_name [String] The name the agent shows in the messaging client.
204
+ #
205
+ # @param entity_type [String]
206
+ #
207
+ # @param help_message [String]
208
+ #
209
+ # @param logo_url [String] Publicly reachable logo. It has to be fetchable without authentication at review
210
+ #
211
+ # @param official_address [Sentdm::Models::Channels::RcsAddress] The registered address of the company behind the agent.
212
+ #
213
+ # @param opt_in_process_description [String] How recipients opt in, in prose. The carriers read this one.
214
+ #
215
+ # @param opt_in_screenshot_url [String, nil] A screenshot of the opt-in, as a publicly fetchable URL.
216
+ #
217
+ # @param privacy_policy_url [String] Required by US carriers. Must be an absolute http(s) URL they can fetch.
218
+ #
219
+ # @param sample_messages [Array<String>] Examples of what the agent will send, for the review.
220
+ #
221
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
222
+ #
223
+ # @param start_message [String]
224
+ #
225
+ # @param stop_message [String]
226
+ #
227
+ # @param terms_and_conditions_url [String]
228
+ #
229
+ # @param website_url [String] The brand's own site.
230
+ #
231
+ # @param idempotency_key [String]
232
+ #
233
+ # @param x_profile_id [String]
234
+ #
235
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
236
+
237
+ # Which kind of traffic the agent carries. One of the accepted use cases; the
238
+ # error names the set.
239
+ module AgentUseCase
240
+ extend Sentdm::Internal::Type::Enum
241
+
242
+ # One-time passcodes and identity checks. Expects no reply, and is held to the strictest delivery review.
243
+ VERIFICATION = :VERIFICATION
244
+
245
+ # Transactional updates the recipient asked for — orders, deliveries, appointments, account activity.
246
+ NOTIFICATIONS = :NOTIFICATIONS
247
+
248
+ # Promotional content. Requires the clearest opt-in evidence of the four, because the carriers review consent hardest here.
249
+ MARKETING = :MARKETING
250
+
251
+ # More than one of the above from a single agent. Vetted against the strictest use case it covers, so declare it only if you genuinely need one agent to do several jobs.
252
+ MULTI_USE = :MULTI_USE
253
+
254
+ # @!method self.values
255
+ # @return [Array<Symbol>]
256
+ end
257
+ end
258
+ end
259
+ end
260
+ end