sentdm 0.45.0 → 0.47.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 (483) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -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 +148 -0
  54. data/lib/sentdm/models/channels/sms_number.rb +52 -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_campaign.rb +10 -0
  59. data/lib/sentdm/models/channels/supplied_compliance.rb +115 -0
  60. data/lib/sentdm/models/channels/supplied_document.rb +35 -0
  61. data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
  62. data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
  63. data/lib/sentdm/models/channels_state.rb +89 -0
  64. data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
  65. data/lib/sentdm/models/compliance_requirement.rb +112 -0
  66. data/lib/sentdm/models/compliance_requirements.rb +98 -0
  67. data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
  68. data/lib/sentdm/models/compliance_setup_step.rb +78 -0
  69. data/lib/sentdm/models/contact_message_summary.rb +3 -34
  70. data/lib/sentdm/models/contacts_list.rb +26 -0
  71. data/lib/sentdm/models/conversation_messages_list.rb +3 -430
  72. data/lib/sentdm/models/entity_type.rb +18 -0
  73. data/lib/sentdm/models/inbound_media.rb +53 -0
  74. data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
  75. data/lib/sentdm/models/link_event.rb +79 -0
  76. data/lib/sentdm/models/link_event_payload.rb +211 -0
  77. data/lib/sentdm/models/message.rb +168 -0
  78. data/lib/sentdm/models/message_activities.rb +34 -0
  79. data/lib/sentdm/models/message_activity.rb +105 -0
  80. data/lib/sentdm/models/message_body.rb +79 -0
  81. data/lib/sentdm/models/message_button.rb +33 -0
  82. data/lib/sentdm/models/message_cancel_params.rb +32 -0
  83. data/lib/sentdm/models/message_channel_options.rb +43 -0
  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 +14 -16
  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_header.rb +3 -37
  118. data/lib/sentdm/models/template_header_location.rb +38 -0
  119. data/lib/sentdm/models/template_media_item.rb +34 -0
  120. data/lib/sentdm/models/template_mms_body_content.rb +49 -0
  121. data/lib/sentdm/models/template_ref.rb +51 -0
  122. data/lib/sentdm/models/template_variable.rb +3 -64
  123. data/lib/sentdm/models/template_variable_props.rb +65 -0
  124. data/lib/sentdm/models/templates_list.rb +26 -0
  125. data/lib/sentdm/models/users_list.rb +26 -0
  126. data/lib/sentdm/models/voice/call.rb +7 -57
  127. data/lib/sentdm/models/voice/call_leg.rb +58 -0
  128. data/lib/sentdm/models/webhook_create_params.rb +3 -25
  129. data/lib/sentdm/models/webhook_delivery.rb +160 -0
  130. data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
  131. data/lib/sentdm/models/webhook_events_list.rb +26 -0
  132. data/lib/sentdm/models/webhook_response.rb +3 -28
  133. data/lib/sentdm/models/webhook_secret.rb +15 -0
  134. data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
  135. data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
  136. data/lib/sentdm/models/webhook_test.rb +21 -0
  137. data/lib/sentdm/models/webhook_update_params.rb +3 -25
  138. data/lib/sentdm/models/webhooks_list.rb +26 -0
  139. data/lib/sentdm/models.rb +188 -0
  140. data/lib/sentdm/resources/channels/rcs.rb +177 -0
  141. data/lib/sentdm/resources/channels/sms.rb +420 -0
  142. data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
  143. data/lib/sentdm/resources/channels.rb +162 -0
  144. data/lib/sentdm/resources/compliance.rb +127 -0
  145. data/lib/sentdm/resources/conversations.rb +4 -4
  146. data/lib/sentdm/resources/me.rb +2 -2
  147. data/lib/sentdm/resources/messages.rb +71 -6
  148. data/lib/sentdm/resources/numbers.rb +2 -2
  149. data/lib/sentdm/resources/profiles/campaigns.rb +4 -1
  150. data/lib/sentdm/resources/profiles.rb +4 -4
  151. data/lib/sentdm/resources/sender_profiles.rb +465 -0
  152. data/lib/sentdm/resources/users.rb +2 -2
  153. data/lib/sentdm/resources/voice/calls/participants.rb +5 -5
  154. data/lib/sentdm/resources/webhooks.rb +10 -10
  155. data/lib/sentdm/version.rb +1 -1
  156. data/lib/sentdm.rb +121 -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 +235 -0
  206. data/rbi/sentdm/models/channels/sms_number.rbi +74 -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_campaign.rbi +13 -0
  211. data/rbi/sentdm/models/channels/supplied_compliance.rbi +180 -0
  212. data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
  213. data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
  214. data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
  215. data/rbi/sentdm/models/channels_state.rbi +151 -0
  216. data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
  217. data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
  218. data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
  219. data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
  220. data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
  221. data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
  222. data/rbi/sentdm/models/contacts_list.rbi +50 -0
  223. data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
  224. data/rbi/sentdm/models/entity_type.rbi +23 -0
  225. data/rbi/sentdm/models/inbound_media.rbi +76 -0
  226. data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
  227. data/rbi/sentdm/models/link_event.rbi +128 -0
  228. data/rbi/sentdm/models/link_event_payload.rbi +279 -0
  229. data/rbi/sentdm/models/message.rbi +214 -0
  230. data/rbi/sentdm/models/message_activities.rbi +63 -0
  231. data/rbi/sentdm/models/message_activity.rbi +145 -0
  232. data/rbi/sentdm/models/message_body.rbi +104 -0
  233. data/rbi/sentdm/models/message_button.rbi +52 -0
  234. data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
  235. data/rbi/sentdm/models/message_channel_options.rbi +65 -0
  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 +18 -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_header.rbi +4 -53
  270. data/rbi/sentdm/models/template_header_location.rbi +47 -0
  271. data/rbi/sentdm/models/template_media_item.rbi +51 -0
  272. data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
  273. data/rbi/sentdm/models/template_ref.rbi +79 -0
  274. data/rbi/sentdm/models/template_variable.rbi +4 -80
  275. data/rbi/sentdm/models/template_variable_props.rbi +81 -0
  276. data/rbi/sentdm/models/templates_list.rbi +50 -0
  277. data/rbi/sentdm/models/users_list.rbi +50 -0
  278. data/rbi/sentdm/models/voice/call.rbi +11 -92
  279. data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
  280. data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
  281. data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
  282. data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
  283. data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
  284. data/rbi/sentdm/models/webhook_response.rbi +4 -50
  285. data/rbi/sentdm/models/webhook_secret.rbi +24 -0
  286. data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
  287. data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
  288. data/rbi/sentdm/models/webhook_test.rbi +32 -0
  289. data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
  290. data/rbi/sentdm/models/webhooks_list.rbi +50 -0
  291. data/rbi/sentdm/models.rbi +197 -0
  292. data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
  293. data/rbi/sentdm/resources/channels/sms.rbi +440 -0
  294. data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
  295. data/rbi/sentdm/resources/channels.rbi +149 -0
  296. data/rbi/sentdm/resources/compliance.rbi +121 -0
  297. data/rbi/sentdm/resources/conversations.rbi +2 -10
  298. data/rbi/sentdm/resources/me.rbi +1 -1
  299. data/rbi/sentdm/resources/messages.rbi +64 -7
  300. data/rbi/sentdm/resources/numbers.rbi +1 -1
  301. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -1
  302. data/rbi/sentdm/resources/profiles.rbi +2 -2
  303. data/rbi/sentdm/resources/sender_profiles.rbi +463 -0
  304. data/rbi/sentdm/resources/users.rbi +1 -1
  305. data/rbi/sentdm/resources/voice/calls/participants.rbi +5 -5
  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 +80 -0
  356. data/sig/sentdm/models/channels/sms_number.rbs +37 -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_campaign.rbs +9 -0
  361. data/sig/sentdm/models/channels/supplied_compliance.rbs +37 -0
  362. data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
  363. data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
  364. data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
  365. data/sig/sentdm/models/channels_state.rbs +55 -0
  366. data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
  367. data/sig/sentdm/models/compliance_requirement.rbs +76 -0
  368. data/sig/sentdm/models/compliance_requirements.rbs +66 -0
  369. data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
  370. data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
  371. data/sig/sentdm/models/contact_message_summary.rbs +6 -35
  372. data/sig/sentdm/models/contacts_list.rbs +31 -0
  373. data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
  374. data/sig/sentdm/models/entity_type.rbs +22 -0
  375. data/sig/sentdm/models/inbound_media.rbs +35 -0
  376. data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
  377. data/sig/sentdm/models/link_event.rbs +44 -0
  378. data/sig/sentdm/models/link_event_payload.rbs +106 -0
  379. data/sig/sentdm/models/message.rbs +130 -0
  380. data/sig/sentdm/models/message_activities.rbs +38 -0
  381. data/sig/sentdm/models/message_activity.rbs +66 -0
  382. data/sig/sentdm/models/message_body.rbs +52 -0
  383. data/sig/sentdm/models/message_button.rbs +34 -0
  384. data/sig/sentdm/models/message_cancel_params.rbs +38 -0
  385. data/sig/sentdm/models/message_channel_options.rbs +26 -0
  386. data/sig/sentdm/models/message_header_media.rbs +19 -0
  387. data/sig/sentdm/models/message_media.rbs +40 -0
  388. data/sig/sentdm/models/message_recipient.rbs +34 -0
  389. data/sig/sentdm/models/message_send_params.rbs +8 -54
  390. data/sig/sentdm/models/message_send_response.rbs +4 -77
  391. data/sig/sentdm/models/message_send_result.rbs +45 -0
  392. data/sig/sentdm/models/message_status_event.rbs +40 -0
  393. data/sig/sentdm/models/mms_market.rbs +35 -0
  394. data/sig/sentdm/models/number_lookup_result.rbs +64 -0
  395. data/sig/sentdm/models/pagination_cursors.rbs +15 -0
  396. data/sig/sentdm/models/pagination_meta.rbs +4 -16
  397. data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
  398. data/sig/sentdm/models/profile_completion_result.rbs +19 -0
  399. data/sig/sentdm/models/profile_detail.rbs +8 -315
  400. data/sig/sentdm/models/profiles/brand_campaign.rbs +11 -16
  401. data/sig/sentdm/models/profiles_list.rbs +31 -0
  402. data/sig/sentdm/models/sender_profile.rbs +76 -0
  403. data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
  404. data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
  405. data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
  406. data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
  407. data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
  408. data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
  409. data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
  410. data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
  411. data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
  412. data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
  413. data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
  414. data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
  415. data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
  416. data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
  417. data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
  418. data/sig/sentdm/models/template_body.rbs +4 -43
  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/users.rbs +1 -1
  454. data/sig/sentdm/resources/webhooks.rbs +6 -6
  455. metadata +365 -35
  456. data/lib/sentdm/models/me_retrieve_response.rb +0 -409
  457. data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
  458. data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
  459. data/lib/sentdm/models/number_lookup_response.rb +0 -104
  460. data/lib/sentdm/models/profile_complete_response.rb +0 -74
  461. data/lib/sentdm/models/profile_list_response.rb +0 -65
  462. data/lib/sentdm/models/user_list_response.rb +0 -65
  463. data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
  464. data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
  465. data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
  466. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
  467. data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
  468. data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
  469. data/rbi/sentdm/models/profile_list_response.rbi +0 -128
  470. data/rbi/sentdm/models/user_list_response.rbi +0 -128
  471. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
  472. data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
  473. data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
  474. data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
  475. data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
  476. data/sig/sentdm/models/number_lookup_response.rbs +0 -100
  477. data/sig/sentdm/models/profile_complete_response.rbs +0 -55
  478. data/sig/sentdm/models/profile_list_response.rbs +0 -67
  479. data/sig/sentdm/models/user_list_response.rbs +0 -67
  480. data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
  481. data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
  482. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
  483. data/sig/sentdm/models/webhook_test_response.rbs +0 -55
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfWebhookSecret < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::APIResponseOfWebhookSecret, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The response data (null if error)
12
+ sig { returns(T.nilable(Sentdm::WebhookSecret)) }
13
+ attr_reader :data
14
+
15
+ sig { params(data: T.nilable(Sentdm::WebhookSecret::OrHash)).void }
16
+ attr_writer :data
17
+
18
+ # Error information
19
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
20
+ attr_reader :error
21
+
22
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
23
+ attr_writer :error
24
+
25
+ # Request and response metadata
26
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
27
+ attr_reader :meta
28
+
29
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
30
+ attr_writer :meta
31
+
32
+ # Indicates whether the request was successful
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :success
35
+
36
+ sig { params(success: T::Boolean).void }
37
+ attr_writer :success
38
+
39
+ # Standard API response envelope for all v3 endpoints
40
+ sig do
41
+ params(
42
+ data: T.nilable(Sentdm::WebhookSecret::OrHash),
43
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
44
+ meta: Sentdm::APIMeta::OrHash,
45
+ success: T::Boolean
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # The response data (null if error)
50
+ data: nil,
51
+ # Error information
52
+ error: nil,
53
+ # Request and response metadata
54
+ meta: nil,
55
+ # Indicates whether the request was successful
56
+ success: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ data: T.nilable(Sentdm::WebhookSecret),
64
+ error: T.nilable(Sentdm::ErrorDetail),
65
+ meta: Sentdm::APIMeta,
66
+ success: T::Boolean
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfWebhookTest < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::APIResponseOfWebhookTest, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The response data (null if error)
12
+ sig { returns(T.nilable(Sentdm::WebhookTest)) }
13
+ attr_reader :data
14
+
15
+ sig { params(data: T.nilable(Sentdm::WebhookTest::OrHash)).void }
16
+ attr_writer :data
17
+
18
+ # Error information
19
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
20
+ attr_reader :error
21
+
22
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
23
+ attr_writer :error
24
+
25
+ # Request and response metadata
26
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
27
+ attr_reader :meta
28
+
29
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
30
+ attr_writer :meta
31
+
32
+ # Indicates whether the request was successful
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :success
35
+
36
+ sig { params(success: T::Boolean).void }
37
+ attr_writer :success
38
+
39
+ # Standard API response envelope for all v3 endpoints
40
+ sig do
41
+ params(
42
+ data: T.nilable(Sentdm::WebhookTest::OrHash),
43
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
44
+ meta: Sentdm::APIMeta::OrHash,
45
+ success: T::Boolean
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # The response data (null if error)
50
+ data: nil,
51
+ # Error information
52
+ error: nil,
53
+ # Request and response metadata
54
+ meta: nil,
55
+ # Indicates whether the request was successful
56
+ success: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ data: T.nilable(Sentdm::WebhookTest),
64
+ error: T.nilable(Sentdm::ErrorDetail),
65
+ meta: Sentdm::APIMeta,
66
+ success: T::Boolean
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfWebhooksList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::APIResponseOfWebhooksList, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # A paginated list of webhooks.
12
+ sig { returns(T.nilable(Sentdm::WebhooksList)) }
13
+ attr_reader :data
14
+
15
+ sig { params(data: T.nilable(Sentdm::WebhooksList::OrHash)).void }
16
+ attr_writer :data
17
+
18
+ # Error information
19
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
20
+ attr_reader :error
21
+
22
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
23
+ attr_writer :error
24
+
25
+ # Request and response metadata
26
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
27
+ attr_reader :meta
28
+
29
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
30
+ attr_writer :meta
31
+
32
+ # Indicates whether the request was successful
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_reader :success
35
+
36
+ sig { params(success: T::Boolean).void }
37
+ attr_writer :success
38
+
39
+ # Standard API response envelope for all v3 endpoints
40
+ sig do
41
+ params(
42
+ data: T.nilable(Sentdm::WebhooksList::OrHash),
43
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
44
+ meta: Sentdm::APIMeta::OrHash,
45
+ success: T::Boolean
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # A paginated list of webhooks.
50
+ data: nil,
51
+ # Error information
52
+ error: nil,
53
+ # Request and response metadata
54
+ meta: nil,
55
+ # Indicates whether the request was successful
56
+ success: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ data: T.nilable(Sentdm::WebhooksList),
64
+ error: T.nilable(Sentdm::ErrorDetail),
65
+ meta: Sentdm::APIMeta,
66
+ success: T::Boolean
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BillingContact < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BillingContact, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_accessor :address
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :email
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :name
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :phone
22
+
23
+ # Billing contact info returned in profile responses
24
+ sig do
25
+ params(
26
+ address: T.nilable(String),
27
+ email: T.nilable(String),
28
+ name: T.nilable(String),
29
+ phone: T.nilable(String)
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(address: nil, email: nil, name: nil, phone: nil)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ address: T.nilable(String),
39
+ email: T.nilable(String),
40
+ name: T.nilable(String),
41
+ phone: T.nilable(String)
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandBusiness < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::BrandBusiness, Sentdm::Internal::AnyHash) }
8
+
9
+ # City
10
+ sig { returns(T.nilable(String)) }
11
+ attr_accessor :city
12
+
13
+ # Country code (e.g., US, CA)
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :country
16
+
17
+ # Country where the business is registered
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :country_of_registration
20
+
21
+ # Business entity type
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :entity_type
24
+
25
+ # Legal business name
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :legal_name
28
+
29
+ # Postal/ZIP code
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :postal_code
32
+
33
+ # State/province code
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :state
36
+
37
+ # Street address
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :street
40
+
41
+ # Tax ID/EIN number
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :tax_id
44
+
45
+ # Type of tax ID (e.g., us_ein, ca_bn)
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :tax_id_type
48
+
49
+ # Business website URL
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :url
52
+
53
+ sig do
54
+ params(
55
+ city: T.nilable(String),
56
+ country: T.nilable(String),
57
+ country_of_registration: T.nilable(String),
58
+ entity_type: T.nilable(String),
59
+ legal_name: T.nilable(String),
60
+ postal_code: T.nilable(String),
61
+ state: T.nilable(String),
62
+ street: T.nilable(String),
63
+ tax_id: T.nilable(String),
64
+ tax_id_type: T.nilable(String),
65
+ url: T.nilable(String)
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ # City
70
+ city: nil,
71
+ # Country code (e.g., US, CA)
72
+ country: nil,
73
+ # Country where the business is registered
74
+ country_of_registration: nil,
75
+ # Business entity type
76
+ entity_type: nil,
77
+ # Legal business name
78
+ legal_name: nil,
79
+ # Postal/ZIP code
80
+ postal_code: nil,
81
+ # State/province code
82
+ state: nil,
83
+ # Street address
84
+ street: nil,
85
+ # Tax ID/EIN number
86
+ tax_id: nil,
87
+ # Type of tax ID (e.g., us_ein, ca_bn)
88
+ tax_id_type: nil,
89
+ # Business website URL
90
+ url: nil
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ city: T.nilable(String),
98
+ country: T.nilable(String),
99
+ country_of_registration: T.nilable(String),
100
+ entity_type: T.nilable(String),
101
+ legal_name: T.nilable(String),
102
+ postal_code: T.nilable(String),
103
+ state: T.nilable(String),
104
+ street: T.nilable(String),
105
+ tax_id: T.nilable(String),
106
+ tax_id_type: T.nilable(String),
107
+ url: T.nilable(String)
108
+ }
109
+ )
110
+ end
111
+ def to_hash
112
+ end
113
+ end
114
+ end
115
+ end
@@ -20,9 +20,7 @@ module Sentdm
20
20
  sig { returns(T.nilable(String)) }
21
21
  attr_accessor :country_of_registration
22
22
 
23
- sig do
24
- returns(T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol))
25
- end
23
+ sig { returns(T.nilable(Sentdm::EntityType::OrSymbol)) }
26
24
  attr_accessor :entity_type
27
25
 
28
26
  # Legal business name
@@ -59,8 +57,7 @@ module Sentdm
59
57
  city: T.nilable(String),
60
58
  country: T.nilable(String),
61
59
  country_of_registration: T.nilable(String),
62
- entity_type:
63
- T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
60
+ entity_type: T.nilable(Sentdm::EntityType::OrSymbol),
64
61
  legal_name: T.nilable(String),
65
62
  postal_code: T.nilable(String),
66
63
  state: T.nilable(String),
@@ -101,8 +98,7 @@ module Sentdm
101
98
  city: T.nilable(String),
102
99
  country: T.nilable(String),
103
100
  country_of_registration: T.nilable(String),
104
- entity_type:
105
- T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
101
+ entity_type: T.nilable(Sentdm::EntityType::OrSymbol),
106
102
  legal_name: T.nilable(String),
107
103
  postal_code: T.nilable(String),
108
104
  state: T.nilable(String),
@@ -115,48 +111,6 @@ module Sentdm
115
111
  end
116
112
  def to_hash
117
113
  end
118
-
119
- module EntityType
120
- extend Sentdm::Internal::Type::Enum
121
-
122
- TaggedSymbol =
123
- T.type_alias { T.all(Symbol, Sentdm::BrandBusinessInfo::EntityType) }
124
- OrSymbol = T.type_alias { T.any(Symbol, String) }
125
-
126
- PRIVATE_PROFIT =
127
- T.let(
128
- :PRIVATE_PROFIT,
129
- Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
130
- )
131
- PUBLIC_PROFIT =
132
- T.let(
133
- :PUBLIC_PROFIT,
134
- Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
135
- )
136
- NON_PROFIT =
137
- T.let(
138
- :NON_PROFIT,
139
- Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
140
- )
141
- SOLE_PROPRIETOR =
142
- T.let(
143
- :SOLE_PROPRIETOR,
144
- Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
145
- )
146
- GOVERNMENT =
147
- T.let(
148
- :GOVERNMENT,
149
- Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
150
- )
151
-
152
- sig do
153
- override.returns(
154
- T::Array[Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol]
155
- )
156
- end
157
- def self.values
158
- end
159
- end
160
114
  end
161
115
  end
162
116
  end
@@ -0,0 +1,108 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandCompliance < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::BrandCompliance, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol)) }
12
+ attr_accessor :brand_relationship
13
+
14
+ # List of destination countries for messaging
15
+ sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
16
+ attr_reader :destination_countries
17
+
18
+ sig do
19
+ params(
20
+ destination_countries: T::Array[Sentdm::DestinationCountry::OrHash]
21
+ ).void
22
+ end
23
+ attr_writer :destination_countries
24
+
25
+ # Whether this is a TCR (Campaign Registry) application
26
+ sig { returns(T.nilable(T::Boolean)) }
27
+ attr_reader :is_tcr_application
28
+
29
+ sig { params(is_tcr_application: T::Boolean).void }
30
+ attr_writer :is_tcr_application
31
+
32
+ # Additional notes about the business or use case
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :notes
35
+
36
+ # Phone number prefix for messaging (e.g., "+1")
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :phone_number_prefix
39
+
40
+ # Always null. The brand's free-text primary use case is no longer stored: it
41
+ # reached neither TCR nor any decision, and its column is dropped with no
42
+ # backfill, because the values were prose and the typed equivalent is the
43
+ # campaign's MessagingUseCaseUS.
44
+ #
45
+ # Retained so existing v3 clients reading primary_use_case keep deserializing.
46
+ # Unlike the profile sharing flags, which can answer false truthfully, there is no
47
+ # value to report here — the field is present and empty rather than present and
48
+ # wrong.
49
+ sig { returns(T.nilable(String)) }
50
+ attr_accessor :primary_use_case
51
+
52
+ sig { returns(T.nilable(Sentdm::TcrVertical::TaggedSymbol)) }
53
+ attr_accessor :vertical
54
+
55
+ sig do
56
+ params(
57
+ brand_relationship: T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
58
+ destination_countries: T::Array[Sentdm::DestinationCountry::OrHash],
59
+ is_tcr_application: T::Boolean,
60
+ notes: T.nilable(String),
61
+ phone_number_prefix: T.nilable(String),
62
+ primary_use_case: T.nilable(String),
63
+ vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
64
+ ).returns(T.attached_class)
65
+ end
66
+ def self.new(
67
+ brand_relationship: nil,
68
+ # List of destination countries for messaging
69
+ destination_countries: nil,
70
+ # Whether this is a TCR (Campaign Registry) application
71
+ is_tcr_application: nil,
72
+ # Additional notes about the business or use case
73
+ notes: nil,
74
+ # Phone number prefix for messaging (e.g., "+1")
75
+ phone_number_prefix: nil,
76
+ # Always null. The brand's free-text primary use case is no longer stored: it
77
+ # reached neither TCR nor any decision, and its column is dropped with no
78
+ # backfill, because the values were prose and the typed equivalent is the
79
+ # campaign's MessagingUseCaseUS.
80
+ #
81
+ # Retained so existing v3 clients reading primary_use_case keep deserializing.
82
+ # Unlike the profile sharing flags, which can answer false truthfully, there is no
83
+ # value to report here — the field is present and empty rather than present and
84
+ # wrong.
85
+ primary_use_case: nil,
86
+ vertical: nil
87
+ )
88
+ end
89
+
90
+ sig do
91
+ override.returns(
92
+ {
93
+ brand_relationship:
94
+ T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
95
+ destination_countries: T::Array[Sentdm::DestinationCountry],
96
+ is_tcr_application: T::Boolean,
97
+ notes: T.nilable(String),
98
+ phone_number_prefix: T.nilable(String),
99
+ primary_use_case: T.nilable(String),
100
+ vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
101
+ }
102
+ )
103
+ end
104
+ def to_hash
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandContact < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::BrandContact, Sentdm::Internal::AnyHash) }
8
+
9
+ # Business/brand name
10
+ sig { returns(T.nilable(String)) }
11
+ attr_accessor :business_name
12
+
13
+ # Contact email address
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :email
16
+
17
+ # Primary contact name
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :name
20
+
21
+ sig { params(name: String).void }
22
+ attr_writer :name
23
+
24
+ # Contact phone number in E.164 format
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :phone
27
+
28
+ # Contact phone country code (e.g., "1" for US)
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :phone_country_code
31
+
32
+ # Contact's role in the business
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :role
35
+
36
+ sig do
37
+ params(
38
+ business_name: T.nilable(String),
39
+ email: T.nilable(String),
40
+ name: String,
41
+ phone: T.nilable(String),
42
+ phone_country_code: T.nilable(String),
43
+ role: T.nilable(String)
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # Business/brand name
48
+ business_name: nil,
49
+ # Contact email address
50
+ email: nil,
51
+ # Primary contact name
52
+ name: nil,
53
+ # Contact phone number in E.164 format
54
+ phone: nil,
55
+ # Contact phone country code (e.g., "1" for US)
56
+ phone_country_code: nil,
57
+ # Contact's role in the business
58
+ role: nil
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ business_name: T.nilable(String),
66
+ email: T.nilable(String),
67
+ name: String,
68
+ phone: T.nilable(String),
69
+ phone_country_code: T.nilable(String),
70
+ role: T.nilable(String)
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+ end
77
+ end
78
+ end