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,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ProfilesList < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute pagination
7
+ # Pagination metadata for list responses
8
+ #
9
+ # @return [Sentdm::Models::PaginationMeta, nil]
10
+ optional :pagination, -> { Sentdm::PaginationMeta }
11
+
12
+ # @!attribute profiles
13
+ # The profiles on this page.
14
+ #
15
+ # @return [Array<Sentdm::Models::ProfileDetail>, nil]
16
+ optional :profiles, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ProfileDetail] }
17
+
18
+ # @!method initialize(pagination: nil, profiles: nil)
19
+ # The profiles in the organization.
20
+ #
21
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
22
+ #
23
+ # @param profiles [Array<Sentdm::Models::ProfileDetail>] The profiles on this page.
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::SenderProfiles#list
6
+ class SenderProfile < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute api_key
13
+ # The API key for this profile.
14
+ #
15
+ # Returned by create and by nothing else. It is shown once; a read that repeated
16
+ # it would turn every profile list into a credential dump and put the key into any
17
+ # log or cache that keeps a response body.
18
+ #
19
+ # Omitted rather than null on a read. A key field that is always present and
20
+ # always empty suggests it could be populated, which is an invitation to populate
21
+ # it; absent says there is nothing to look for. Doing it with a serializer
22
+ # condition rather than a second response type keeps create and read on one shape,
23
+ # which is what stops them drifting.
24
+ #
25
+ # @return [String, nil]
26
+ optional :api_key, String, nil?: true
27
+
28
+ # @!attribute billing
29
+ # Who pays for a sender profile's traffic, as a read reports it.
30
+ #
31
+ # Its own type, field for field the same as BillingRequest. Same reason as the
32
+ # brand: a response is not a request, whatever it carries.
33
+ #
34
+ # @return [Sentdm::Models::SenderProfileBilling, nil]
35
+ optional :billing, -> { Sentdm::SenderProfileBilling }, nil?: true
36
+
37
+ # @!attribute channels
38
+ # The channels a profile sends on. SMS is a list because a profile can send in
39
+ # several markets; WhatsApp and RCS are single, because a profile has one business
40
+ # account and one agent.
41
+ #
42
+ # @return [Sentdm::Models::ChannelsState, nil]
43
+ optional :channels, -> { Sentdm::ChannelsState }, nil?: true
44
+
45
+ # @!attribute compliance
46
+ # What a market has been given: the identity it registers under, its programme,
47
+ # and any documents attached.
48
+ #
49
+ # What it does not carry is what the market asks for. That is the subject of GET
50
+ # /v3/compliance/requirements, and it is the same answer for every caller — a
51
+ # description of what a compliance regime wants, not a record of one customer's
52
+ # progress through it. It was reported here as well for a while, which put the
53
+ # same array in six response shapes and left a caller deciding which of two
54
+ # sources to believe.
55
+ #
56
+ # Present on a list read for markets that register (carrying brand and campaign),
57
+ # but with documents absent — documents are not fetched for a list, because a
58
+ # catalog lookup and a document read per market would multiply across a page.
59
+ # Absent documents is distinct from an empty list: absent says they were not
60
+ # fetched; empty says the market has been given none. The parent object is null
61
+ # only when the market registers with nobody and compliance was not computed —
62
+ # nothing to show at all.
63
+ #
64
+ # @return [Sentdm::Models::Channels::SuppliedCompliance, nil]
65
+ optional :compliance, -> { Sentdm::Channels::SuppliedCompliance }, nil?: true
66
+
67
+ # @!attribute created_at
68
+ #
69
+ # @return [Time, nil]
70
+ optional :created_at, Time
71
+
72
+ # @!attribute description
73
+ #
74
+ # @return [String, nil]
75
+ optional :description, String, nil?: true
76
+
77
+ # @!attribute name
78
+ #
79
+ # @return [String, nil]
80
+ optional :name, String
81
+
82
+ # @!attribute notifications
83
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
84
+ # ORGANIZATION_AND_SENDER_PROFILE. Always present — a profile that never chose
85
+ # reports as ORGANIZATION, the value a create would send to get the default
86
+ # behaviour.
87
+ #
88
+ # @return [String, nil]
89
+ optional :notifications, String, nil?: true
90
+
91
+ # @!attribute organization_id
92
+ #
93
+ # @return [String, nil]
94
+ optional :organization_id, String, nil?: true
95
+
96
+ # @!attribute short_name
97
+ #
98
+ # @return [String, nil]
99
+ optional :short_name, String, nil?: true
100
+
101
+ # @!method initialize(id: nil, api_key: nil, billing: nil, channels: nil, compliance: nil, created_at: nil, description: nil, name: nil, notifications: nil, organization_id: nil, short_name: nil)
102
+ # Some parameter documentations has been truncated, see
103
+ # {Sentdm::Models::SenderProfile} for more details.
104
+ #
105
+ # A sender profile as the API reports it — the same document the create call
106
+ # accepts, plus the read-only facts it cannot: each market's status and what it
107
+ # still owes.
108
+ #
109
+ # No status at the profile, brand or campaign level. Brand and campaign are
110
+ # identity, and identity has no lifecycle. What has one is the registration of a
111
+ # sender in a market, and the approval of a channel — so status lives there, where
112
+ # it says which specific thing is blocked rather than flattening several answers
113
+ # into one.
114
+ #
115
+ # @param id [String]
116
+ #
117
+ # @param api_key [String, nil] The API key for this profile.
118
+ #
119
+ # @param billing [Sentdm::Models::SenderProfileBilling, nil] Who pays for a sender profile's traffic, as a read reports it.
120
+ #
121
+ # @param channels [Sentdm::Models::ChannelsState, nil] The channels a profile sends on. SMS is a list because a profile can send in sev
122
+ #
123
+ # @param compliance [Sentdm::Models::Channels::SuppliedCompliance, nil] What a market has been given: the identity it registers under, its programme, an
124
+ #
125
+ # @param created_at [Time]
126
+ #
127
+ # @param description [String, nil]
128
+ #
129
+ # @param name [String]
130
+ #
131
+ # @param notifications [String, nil] Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
132
+ #
133
+ # @param organization_id [String, nil]
134
+ #
135
+ # @param short_name [String, nil]
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileBilling < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute inherit
7
+ # Whether the organization pays, rather than the profile.
8
+ #
9
+ # @return [Boolean, nil]
10
+ optional :inherit, Sentdm::Internal::Type::Boolean
11
+
12
+ # @!method initialize(inherit: nil)
13
+ # Who pays for a sender profile's traffic, as a read reports it.
14
+ #
15
+ # Its own type, field for field the same as BillingRequest. Same reason as the
16
+ # brand: a response is not a request, whatever it carries.
17
+ #
18
+ # @param inherit [Boolean] Whether the organization pays, rather than the profile.
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileBillingRequest < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute inherit
7
+ # Whether the parent organization pays. false is the profile paying for itself.
8
+ #
9
+ # @return [Boolean, nil]
10
+ optional :inherit, Sentdm::Internal::Type::Boolean
11
+
12
+ # @!method initialize(inherit: nil)
13
+ # Who pays for what a sender profile sends.
14
+ #
15
+ # Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
16
+ # is the organization paying; inherit: false (or an empty block) is the profile
17
+ # paying for itself.
18
+ #
19
+ # An absent block is the one place billing differs from brand and campaign: a
20
+ # profile still has to be paid for, so omitting billing stores
21
+ # ProfileAndOrganizationBilling — the profile pays first and its organization
22
+ # covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
23
+ # stays a complete request.
24
+ #
25
+ # Billing carries no fields of its own yet, so a profile paying for itself is {
26
+ # "inherit": false } — or an empty block, which means the same. That is thinner
27
+ # than brand and campaign, where supplying data is the act of owning; it becomes
28
+ # ordinary the moment billing gains a contact or a payment method to carry.
29
+ #
30
+ # @param inherit [Boolean] Whether the parent organization pays. false is the profile paying for itself.
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileChannels < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute rcs
7
+ # Asks for an RCS agent of the profile's own, optionally with the full order form
8
+ # inline.
9
+ #
10
+ # Two modes, distinguished by whether any field is populated: "rcs": {} — intent
11
+ # only. Records that the profile wants its own agent; the order form is submitted
12
+ # separately through POST /v3/channels/rcs once the fields are ready. "rcs": {
13
+ # ...fields... } — full form. All required fields must be present; the agent is
14
+ # created alongside the profile in one call. Omitting opt_in_screenshot_url is
15
+ # allowed.
16
+ #
17
+ # @return [Sentdm::Models::SenderProfileRcs, nil]
18
+ optional :rcs, -> { Sentdm::SenderProfileRcs }, nil?: true
19
+
20
+ # @!attribute sms
21
+ # One SMS market a profile sends in — a country and a sender type.
22
+ #
23
+ # A profile may have several. It is a tenant, not a market: a business sending to
24
+ # two countries is one customer of yours, and forcing it into two profiles would
25
+ # give it two API keys, two inboxes and two contact lists for one business. The
26
+ # platform already assumes many — CustomerChannelProviders is unique on (customer,
27
+ # channel, iso, number).
28
+ #
29
+ # No mode: a sender is the profile's own or it has none. Listing a market is the
30
+ # request for one.
31
+ #
32
+ # Also the discriminator for everything else: the compliance catalog is keyed on
33
+ # (country, number type), and that pair decides which fields brand accepts and
34
+ # what compliance is asked for.
35
+ #
36
+ # @return [Sentdm::Models::SenderProfileSMS, nil]
37
+ optional :sms, -> { Sentdm::SenderProfileSMS }, nil?: true
38
+
39
+ # @!attribute whatsapp
40
+ # The profile's own WhatsApp Business Account, named by the two identifiers the
41
+ # organization cannot answer for you.
42
+ #
43
+ # No mode: a profile's WABA is its own or it has none. Sharing the organization's
44
+ # would mean sharing its inbox and its throughput, which makes the two
45
+ # indistinguishable to a recipient — so inheriting is not offered rather than
46
+ # refused.
47
+ #
48
+ # Everything derivable is derived. Whenever this block is present, the solution
49
+ # the account arrived through, the client business portfolio that owns it, the
50
+ # access token and that token's expiry are all resolved from the organization by
51
+ # IPartnerSolutionService.ResolveAccountCredentialsAsync — the first two off the
52
+ # org's shared-account listing, the token minted against the org's own solution.
53
+ # They were previously asked for and are no longer accepted: solution_id and
54
+ # owner_business_id are Meta's answer about provenance, so taking them from the
55
+ # caller let a request assert a partnership Meta disagreed with, and the listing
56
+ # has to be consulted regardless because it is what proves the account is one this
57
+ # organization may reach.
58
+ #
59
+ # No access token, and there never was one here: it is minted per client business
60
+ # portfolio and rotates roughly every sixty days, so a pasted value would be stale
61
+ # before it was useful. Asking a customer to mint a System User token in Meta
62
+ # Business Manager is skilled work in a console they were never meant to see, and
63
+ # it would say nothing about which solution the account came from or when it is
64
+ # revoked.
65
+ #
66
+ # @return [Sentdm::Models::SenderProfileWhatsapp, nil]
67
+ optional :whatsapp, -> { Sentdm::SenderProfileWhatsapp }, nil?: true
68
+
69
+ # @!method initialize(rcs: nil, sms: nil, whatsapp: nil)
70
+ # Some parameter documentations has been truncated, see
71
+ # {Sentdm::Models::SenderProfileChannels} for more details.
72
+ #
73
+ # The channels the profile sends on. Each is independently the profile's own or
74
+ # absent — none can be inherited, so none carries a mode and presence is the whole
75
+ # of the request.
76
+ #
77
+ # A profile can send SMS in several markets, but create takes one — the market it
78
+ # starts in. Further markets are added through POST /v3/channels/sms with
79
+ # x-profile-id, and a read returns them all as a list. Create stays singular
80
+ # permanently rather than being a list that accepts one entry: the constraint is
81
+ # in the type, and there is no later widening to break the contract.
82
+ #
83
+ # @param rcs [Sentdm::Models::SenderProfileRcs, nil] Asks for an RCS agent of the profile's own, optionally with the full order form
84
+ #
85
+ # @param sms [Sentdm::Models::SenderProfileSMS, nil] One SMS market a profile sends in — a country and a sender type.
86
+ #
87
+ # @param whatsapp [Sentdm::Models::SenderProfileWhatsapp, nil] The profile's own WhatsApp Business Account, named by the two identifiers the or
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::SenderProfiles#create
6
+ class SenderProfileCreateParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute billing
11
+ # Who pays for what a sender profile sends.
12
+ #
13
+ # Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
14
+ # is the organization paying; inherit: false (or an empty block) is the profile
15
+ # paying for itself.
16
+ #
17
+ # An absent block is the one place billing differs from brand and campaign: a
18
+ # profile still has to be paid for, so omitting billing stores
19
+ # ProfileAndOrganizationBilling — the profile pays first and its organization
20
+ # covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
21
+ # stays a complete request.
22
+ #
23
+ # Billing carries no fields of its own yet, so a profile paying for itself is {
24
+ # "inherit": false } — or an empty block, which means the same. That is thinner
25
+ # than brand and campaign, where supplying data is the act of owning; it becomes
26
+ # ordinary the moment billing gains a contact or a payment method to carry.
27
+ #
28
+ # @return [Sentdm::Models::SenderProfileBillingRequest, nil]
29
+ optional :billing, -> { Sentdm::SenderProfileBillingRequest }, nil?: true
30
+
31
+ # @!attribute channels
32
+ # The channels the profile sends on. Each is independently the profile's own or
33
+ # absent — none can be inherited, so none carries a mode and presence is the whole
34
+ # of the request.
35
+ #
36
+ # A profile can send SMS in several markets, but create takes one — the market it
37
+ # starts in. Further markets are added through POST /v3/channels/sms with
38
+ # x-profile-id, and a read returns them all as a list. Create stays singular
39
+ # permanently rather than being a list that accepts one entry: the constraint is
40
+ # in the type, and there is no later widening to break the contract.
41
+ #
42
+ # @return [Sentdm::Models::SenderProfileChannels, nil]
43
+ optional :channels, -> { Sentdm::SenderProfileChannels }, nil?: true
44
+
45
+ # @!attribute compliance
46
+ # The compliance values a market registers with. `brand` and `campaign` apply to
47
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
48
+ # requirements name.
49
+ #
50
+ # @return [Sentdm::Models::Channels::MarketCompliance, nil]
51
+ optional :compliance, -> { Sentdm::Channels::MarketCompliance }
52
+
53
+ # @!attribute description
54
+ #
55
+ # @return [String, nil]
56
+ optional :description, String, nil?: true
57
+
58
+ # @!attribute name
59
+ # Display name for the profile. Required.
60
+ #
61
+ # @return [String, nil]
62
+ optional :name, String
63
+
64
+ # @!attribute notifications
65
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
66
+ # ORGANIZATION_AND_SENDER_PROFILE. Omitting it leaves the profile on the
67
+ # Organization default.
68
+ #
69
+ # @return [String, nil]
70
+ optional :notifications, String, nil?: true
71
+
72
+ # @!attribute sandbox
73
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
74
+ # for testing integrations without actual execution
75
+ #
76
+ # @return [Boolean, nil]
77
+ optional :sandbox, Sentdm::Internal::Type::Boolean
78
+
79
+ # @!attribute short_name
80
+ # Short name, which is also the SMS sender id — required. 3–11 characters of
81
+ # letters, numbers and spaces, with at least one letter.
82
+ #
83
+ # @return [String, nil]
84
+ optional :short_name, String
85
+
86
+ # @!attribute idempotency_key
87
+ #
88
+ # @return [String, nil]
89
+ optional :idempotency_key, String
90
+
91
+ # @!method initialize(billing: nil, channels: nil, compliance: nil, description: nil, name: nil, notifications: nil, sandbox: nil, short_name: nil, idempotency_key: nil, request_options: {})
92
+ # Some parameter documentations has been truncated, see
93
+ # {Sentdm::Models::SenderProfileCreateParams} for more details.
94
+ #
95
+ # @param billing [Sentdm::Models::SenderProfileBillingRequest, nil] Who pays for what a sender profile sends.
96
+ #
97
+ # @param channels [Sentdm::Models::SenderProfileChannels, nil] The channels the profile sends on. Each is independently the profile's own or ab
98
+ #
99
+ # @param compliance [Sentdm::Models::Channels::MarketCompliance] The compliance values a market registers with. `brand` and `campaign` apply to U
100
+ #
101
+ # @param description [String, nil]
102
+ #
103
+ # @param name [String] Display name for the profile. Required.
104
+ #
105
+ # @param notifications [String, nil] Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
106
+ #
107
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
108
+ #
109
+ # @param short_name [String] Short name, which is also the SMS sender id — required. 3–11 characters of lette
110
+ #
111
+ # @param idempotency_key [String]
112
+ #
113
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::SenderProfiles#delete
6
+ class SenderProfileDeleteParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::SenderProfiles#list
6
+ class SenderProfileListParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute page
11
+ # Page number, 1-indexed.
12
+ #
13
+ # @return [Integer, nil]
14
+ optional :page, Integer
15
+
16
+ # @!attribute page_size
17
+ # Profiles per page. Between 1 and 100.
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :page_size, Integer
21
+
22
+ # @!method initialize(page: nil, page_size: nil, request_options: {})
23
+ # @param page [Integer] Page number, 1-indexed.
24
+ #
25
+ # @param page_size [Integer] Profiles per page. Between 1 and 100.
26
+ #
27
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,209 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileRcs < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute description
7
+ #
8
+ # @return [String]
9
+ required :description, String
10
+
11
+ # @!attribute agent_use_case
12
+ #
13
+ # @return [String, nil]
14
+ optional :agent_use_case, String, nil?: true
15
+
16
+ # @!attribute banner_url
17
+ #
18
+ # @return [String, nil]
19
+ optional :banner_url, String, nil?: true
20
+
21
+ # @!attribute billing_category
22
+ #
23
+ # @return [String, nil]
24
+ optional :billing_category, String, nil?: true
25
+
26
+ # @!attribute brand_color
27
+ #
28
+ # @return [String, nil]
29
+ optional :brand_color, String, nil?: true
30
+
31
+ # @!attribute brand_email
32
+ #
33
+ # @return [String, nil]
34
+ optional :brand_email, String, nil?: true
35
+
36
+ # @!attribute brand_name
37
+ #
38
+ # @return [String, nil]
39
+ optional :brand_name, String, nil?: true
40
+
41
+ # @!attribute brand_phone_number
42
+ #
43
+ # @return [String, nil]
44
+ optional :brand_phone_number, String, nil?: true
45
+
46
+ # @!attribute brief_company_description
47
+ #
48
+ # @return [String, nil]
49
+ optional :brief_company_description, String, nil?: true
50
+
51
+ # @!attribute company_ein
52
+ #
53
+ # @return [String, nil]
54
+ optional :company_ein, String, nil?: true
55
+
56
+ # @!attribute contact_name_and_title
57
+ #
58
+ # @return [String, nil]
59
+ optional :contact_name_and_title, String, nil?: true
60
+
61
+ # @!attribute customer_support_email
62
+ #
63
+ # @return [String, nil]
64
+ optional :customer_support_email, String, nil?: true
65
+
66
+ # @!attribute customer_support_phone_number
67
+ #
68
+ # @return [String, nil]
69
+ optional :customer_support_phone_number, String, nil?: true
70
+
71
+ # @!attribute display_name
72
+ #
73
+ # @return [String, nil]
74
+ optional :display_name, String, nil?: true
75
+
76
+ # @!attribute entity_type
77
+ #
78
+ # @return [String, nil]
79
+ optional :entity_type, String, nil?: true
80
+
81
+ # @!attribute help_message
82
+ #
83
+ # @return [String, nil]
84
+ optional :help_message, String, nil?: true
85
+
86
+ # @!attribute hosting_region
87
+ #
88
+ # @return [String, nil]
89
+ optional :hosting_region, String, nil?: true
90
+
91
+ # @!attribute logo_url
92
+ #
93
+ # @return [String, nil]
94
+ optional :logo_url, String, nil?: true
95
+
96
+ # @!attribute official_address
97
+ # The registered address of the company behind the agent.
98
+ #
99
+ # @return [Sentdm::Models::Channels::RcsAddress, nil]
100
+ optional :official_address, -> { Sentdm::Channels::RcsAddress }, nil?: true
101
+
102
+ # @!attribute opt_in_process_description
103
+ #
104
+ # @return [String, nil]
105
+ optional :opt_in_process_description, String, nil?: true
106
+
107
+ # @!attribute opt_in_screenshot_url
108
+ # Optional — uploaded separately and its URL may not be known at submission time.
109
+ #
110
+ # @return [String, nil]
111
+ optional :opt_in_screenshot_url, String, nil?: true
112
+
113
+ # @!attribute privacy_policy_url
114
+ #
115
+ # @return [String, nil]
116
+ optional :privacy_policy_url, String, nil?: true
117
+
118
+ # @!attribute sample_messages
119
+ #
120
+ # @return [Array<String>, nil]
121
+ optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], nil?: true
122
+
123
+ # @!attribute start_message
124
+ #
125
+ # @return [String, nil]
126
+ optional :start_message, String, nil?: true
127
+
128
+ # @!attribute stop_message
129
+ #
130
+ # @return [String, nil]
131
+ optional :stop_message, String, nil?: true
132
+
133
+ # @!attribute terms_and_conditions_url
134
+ #
135
+ # @return [String, nil]
136
+ optional :terms_and_conditions_url, String, nil?: true
137
+
138
+ # @!attribute website_url
139
+ #
140
+ # @return [String, nil]
141
+ optional :website_url, String, nil?: true
142
+
143
+ # @!method initialize(description:, agent_use_case: nil, banner_url: nil, billing_category: 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, display_name: nil, entity_type: nil, help_message: nil, hosting_region: nil, logo_url: nil, official_address: nil, opt_in_process_description: nil, opt_in_screenshot_url: nil, privacy_policy_url: nil, sample_messages: nil, start_message: nil, stop_message: nil, terms_and_conditions_url: nil, website_url: nil)
144
+ # Asks for an RCS agent of the profile's own, optionally with the full order form
145
+ # inline.
146
+ #
147
+ # Two modes, distinguished by whether any field is populated: "rcs": {} — intent
148
+ # only. Records that the profile wants its own agent; the order form is submitted
149
+ # separately through POST /v3/channels/rcs once the fields are ready. "rcs": {
150
+ # ...fields... } — full form. All required fields must be present; the agent is
151
+ # created alongside the profile in one call. Omitting opt_in_screenshot_url is
152
+ # allowed.
153
+ #
154
+ # @param description [String]
155
+ #
156
+ # @param agent_use_case [String, nil]
157
+ #
158
+ # @param banner_url [String, nil]
159
+ #
160
+ # @param billing_category [String, nil]
161
+ #
162
+ # @param brand_color [String, nil]
163
+ #
164
+ # @param brand_email [String, nil]
165
+ #
166
+ # @param brand_name [String, nil]
167
+ #
168
+ # @param brand_phone_number [String, nil]
169
+ #
170
+ # @param brief_company_description [String, nil]
171
+ #
172
+ # @param company_ein [String, nil]
173
+ #
174
+ # @param contact_name_and_title [String, nil]
175
+ #
176
+ # @param customer_support_email [String, nil]
177
+ #
178
+ # @param customer_support_phone_number [String, nil]
179
+ #
180
+ # @param display_name [String, nil]
181
+ #
182
+ # @param entity_type [String, nil]
183
+ #
184
+ # @param help_message [String, nil]
185
+ #
186
+ # @param hosting_region [String, nil]
187
+ #
188
+ # @param logo_url [String, nil]
189
+ #
190
+ # @param official_address [Sentdm::Models::Channels::RcsAddress, nil] The registered address of the company behind the agent.
191
+ #
192
+ # @param opt_in_process_description [String, nil]
193
+ #
194
+ # @param opt_in_screenshot_url [String, nil] Optional — uploaded separately and its URL may not be known at submission time.
195
+ #
196
+ # @param privacy_policy_url [String, nil]
197
+ #
198
+ # @param sample_messages [Array<String>, nil]
199
+ #
200
+ # @param start_message [String, nil]
201
+ #
202
+ # @param stop_message [String, nil]
203
+ #
204
+ # @param terms_and_conditions_url [String, nil]
205
+ #
206
+ # @param website_url [String, nil]
207
+ end
208
+ end
209
+ end