sentdm 0.2.0 → 0.3.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 (355) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +96 -39
  4. data/lib/sentdm/client.rb +28 -36
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/internal/type/enum.rb +25 -0
  7. data/lib/sentdm/models/api_error.rb +42 -0
  8. data/lib/sentdm/models/api_meta.rb +42 -0
  9. data/lib/sentdm/models/api_response_brand_with_kyc.rb +43 -0
  10. data/lib/sentdm/models/api_response_contact.rb +43 -0
  11. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  12. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  13. data/lib/sentdm/models/api_response_template.rb +43 -0
  14. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  15. data/lib/sentdm/models/brand_create_params.rb +41 -0
  16. data/lib/sentdm/models/brand_data.rb +237 -0
  17. data/lib/sentdm/models/brand_delete_params.rb +27 -0
  18. data/lib/sentdm/models/brand_list_params.rb +14 -0
  19. data/lib/sentdm/models/brand_list_response.rb +43 -0
  20. data/lib/sentdm/models/brand_update_params.rb +41 -0
  21. data/lib/sentdm/models/brand_with_kyc.rb +335 -0
  22. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +45 -0
  23. data/lib/sentdm/models/brands/base_dto.rb +32 -0
  24. data/lib/sentdm/models/brands/campaign_create_params.rb +43 -0
  25. data/lib/sentdm/models/brands/campaign_data.rb +123 -0
  26. data/lib/sentdm/models/brands/campaign_delete_params.rb +36 -0
  27. data/lib/sentdm/models/brands/campaign_list_params.rb +16 -0
  28. data/lib/sentdm/models/brands/campaign_list_response.rb +47 -0
  29. data/lib/sentdm/models/brands/campaign_update_params.rb +50 -0
  30. data/lib/sentdm/models/brands/messaging_use_case_us.rb +28 -0
  31. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
  32. data/lib/sentdm/models/brands/tcr_campaign_with_use_cases.rb +236 -0
  33. data/lib/sentdm/models/contact.rb +122 -0
  34. data/lib/sentdm/models/contact_create_params.rb +41 -0
  35. data/lib/sentdm/models/contact_delete_params.rb +27 -0
  36. data/lib/sentdm/models/contact_list_params.rb +28 -5
  37. data/lib/sentdm/models/contact_list_response.rb +46 -21
  38. data/lib/sentdm/models/{message_retrieve_params.rb → contact_retrieve_params.rb} +2 -2
  39. data/lib/sentdm/models/contact_update_params.rb +49 -0
  40. data/lib/sentdm/models/destination_country.rb +21 -0
  41. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +14 -0
  42. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +104 -0
  43. data/lib/sentdm/models/me_retrieve_params.rb +14 -0
  44. data/lib/sentdm/models/me_retrieve_response.rb +200 -0
  45. data/lib/sentdm/models/message_retrieve_activities_params.rb +14 -0
  46. data/lib/sentdm/models/message_retrieve_activities_response.rb +103 -0
  47. data/lib/sentdm/models/message_retrieve_status_params.rb +14 -0
  48. data/lib/sentdm/models/message_retrieve_status_response.rb +237 -0
  49. data/lib/sentdm/models/message_send_params.rb +88 -0
  50. data/lib/sentdm/models/message_send_response.rb +123 -0
  51. data/lib/sentdm/models/mutation_request.rb +20 -0
  52. data/lib/sentdm/models/pagination_meta.rb +80 -0
  53. data/lib/sentdm/models/profile_complete_params.rb +41 -0
  54. data/lib/sentdm/models/profile_complete_response.rb +8 -0
  55. data/lib/sentdm/models/profile_create_params.rb +122 -0
  56. data/lib/sentdm/models/profile_delete_params.rb +34 -0
  57. data/lib/sentdm/models/profile_detail.rb +200 -0
  58. data/lib/sentdm/models/profile_list_params.rb +14 -0
  59. data/lib/sentdm/models/profile_list_response.rb +57 -0
  60. data/lib/sentdm/models/profile_retrieve_params.rb +14 -0
  61. data/lib/sentdm/models/profile_settings.rb +66 -0
  62. data/lib/sentdm/models/profile_update_params.rb +169 -0
  63. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  64. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
  65. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  66. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  67. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  68. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  69. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  70. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  71. data/lib/sentdm/models/template.rb +90 -0
  72. data/lib/sentdm/models/template_create_params.rb +40 -19
  73. data/lib/sentdm/models/template_definition.rb +15 -255
  74. data/lib/sentdm/models/template_delete_params.rb +22 -1
  75. data/lib/sentdm/models/template_list_params.rb +9 -10
  76. data/lib/sentdm/models/template_list_response.rb +46 -21
  77. data/lib/sentdm/models/template_update_params.rb +73 -0
  78. data/lib/sentdm/models/user_invite_params.rb +57 -0
  79. data/lib/sentdm/models/user_list_params.rb +14 -0
  80. data/lib/sentdm/models/user_list_response.rb +57 -0
  81. data/lib/sentdm/models/user_remove_params.rb +34 -0
  82. data/lib/sentdm/models/user_response.rb +82 -0
  83. data/lib/sentdm/models/user_retrieve_params.rb +14 -0
  84. data/lib/sentdm/models/user_update_role_params.rb +49 -0
  85. data/lib/sentdm/models/webhook_create_params.rb +68 -0
  86. data/lib/sentdm/models/webhook_delete_params.rb +14 -0
  87. data/lib/sentdm/models/webhook_list_event_types_params.rb +14 -0
  88. data/lib/sentdm/models/webhook_list_event_types_response.rb +85 -0
  89. data/lib/sentdm/models/webhook_list_events_params.rb +32 -0
  90. data/lib/sentdm/models/webhook_list_events_response.rb +135 -0
  91. data/lib/sentdm/models/webhook_list_params.rb +38 -0
  92. data/lib/sentdm/models/webhook_list_response.rb +64 -0
  93. data/lib/sentdm/models/webhook_response.rb +87 -0
  94. data/lib/sentdm/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/sentdm/models/webhook_rotate_secret_params.rb +30 -0
  96. data/lib/sentdm/models/webhook_rotate_secret_response.rb +56 -0
  97. data/lib/sentdm/models/webhook_test_params.rb +40 -0
  98. data/lib/sentdm/models/webhook_test_response.rb +62 -0
  99. data/lib/sentdm/models/webhook_toggle_status_params.rb +40 -0
  100. data/lib/sentdm/models/webhook_update_params.rb +68 -0
  101. data/lib/sentdm/models.rb +124 -10
  102. data/lib/sentdm/resources/brands/campaigns.rb +144 -0
  103. data/lib/sentdm/resources/brands.rb +128 -0
  104. data/lib/sentdm/resources/contacts.rb +111 -38
  105. data/lib/sentdm/resources/lookup.rb +35 -0
  106. data/lib/sentdm/resources/me.rb +34 -0
  107. data/lib/sentdm/resources/messages.rb +42 -77
  108. data/lib/sentdm/resources/profiles.rb +254 -0
  109. data/lib/sentdm/resources/templates.rb +94 -45
  110. data/lib/sentdm/resources/users.rb +158 -0
  111. data/lib/sentdm/resources/webhooks.rb +295 -0
  112. data/lib/sentdm/version.rb +1 -1
  113. data/lib/sentdm.rb +94 -12
  114. data/rbi/sentdm/client.rbi +20 -25
  115. data/rbi/sentdm/models/api_error.rbi +66 -0
  116. data/rbi/sentdm/models/api_meta.rbi +69 -0
  117. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +74 -0
  118. data/rbi/sentdm/models/api_response_contact.rbi +74 -0
  119. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  120. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  121. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  122. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  123. data/rbi/sentdm/models/brand_create_params.rbi +68 -0
  124. data/rbi/sentdm/models/brand_data.rbi +266 -0
  125. data/rbi/sentdm/models/brand_delete_params.rbi +62 -0
  126. data/rbi/sentdm/models/brand_list_params.rbi +27 -0
  127. data/rbi/sentdm/models/brand_list_response.rbi +71 -0
  128. data/rbi/sentdm/models/brand_update_params.rbi +68 -0
  129. data/rbi/sentdm/models/brand_with_kyc.rbi +398 -0
  130. data/rbi/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbi +83 -0
  131. data/rbi/sentdm/models/brands/base_dto.rbi +53 -0
  132. data/rbi/sentdm/models/brands/campaign_create_params.rbi +73 -0
  133. data/rbi/sentdm/models/brands/campaign_data.rbi +148 -0
  134. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +78 -0
  135. data/rbi/sentdm/models/brands/campaign_list_params.rbi +29 -0
  136. data/rbi/sentdm/models/brands/campaign_list_response.rbi +82 -0
  137. data/rbi/sentdm/models/brands/campaign_update_params.rbi +79 -0
  138. data/rbi/sentdm/models/brands/messaging_use_case_us.rbi +69 -0
  139. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +52 -0
  140. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +404 -0
  141. data/rbi/sentdm/models/contact.rbi +179 -0
  142. data/rbi/sentdm/models/contact_create_params.rbi +68 -0
  143. data/rbi/sentdm/models/contact_delete_params.rbi +62 -0
  144. data/rbi/sentdm/models/contact_list_params.rbi +26 -4
  145. data/rbi/sentdm/models/contact_list_response.rbi +91 -37
  146. data/rbi/sentdm/models/{message_retrieve_params.rbi → contact_retrieve_params.rbi} +2 -2
  147. data/rbi/sentdm/models/contact_update_params.rbi +73 -0
  148. data/rbi/sentdm/models/destination_country.rbi +32 -0
  149. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +30 -0
  150. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +183 -0
  151. data/rbi/sentdm/models/me_retrieve_params.rbi +27 -0
  152. data/rbi/sentdm/models/me_retrieve_response.rbi +314 -0
  153. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +30 -0
  154. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +234 -0
  155. data/rbi/sentdm/models/message_retrieve_status_params.rbi +27 -0
  156. data/rbi/sentdm/models/message_retrieve_status_response.rbi +434 -0
  157. data/rbi/sentdm/models/message_send_params.rbi +143 -0
  158. data/rbi/sentdm/models/message_send_response.rbi +231 -0
  159. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  160. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  161. data/rbi/sentdm/models/profile_complete_params.rbi +65 -0
  162. data/rbi/sentdm/models/profile_complete_response.rbi +8 -0
  163. data/rbi/sentdm/models/profile_create_params.rbi +156 -0
  164. data/rbi/sentdm/models/profile_delete_params.rbi +59 -0
  165. data/rbi/sentdm/models/profile_detail.rbi +273 -0
  166. data/rbi/sentdm/models/profile_list_params.rbi +27 -0
  167. data/rbi/sentdm/models/profile_list_response.rbi +111 -0
  168. data/rbi/sentdm/models/profile_retrieve_params.rbi +27 -0
  169. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  170. data/rbi/sentdm/models/profile_update_params.rbi +196 -0
  171. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  172. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
  173. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
  174. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  175. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
  176. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
  177. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  178. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  179. data/rbi/sentdm/models/template.rbi +129 -0
  180. data/rbi/sentdm/models/template_create_params.rbi +47 -23
  181. data/rbi/sentdm/models/template_definition.rbi +74 -405
  182. data/rbi/sentdm/models/template_delete_params.rbi +36 -5
  183. data/rbi/sentdm/models/template_list_params.rbi +8 -10
  184. data/rbi/sentdm/models/template_list_response.rbi +91 -37
  185. data/rbi/sentdm/models/template_update_params.rbi +105 -0
  186. data/rbi/sentdm/models/user_invite_params.rbi +90 -0
  187. data/rbi/sentdm/models/user_list_params.rbi +27 -0
  188. data/rbi/sentdm/models/user_list_response.rbi +111 -0
  189. data/rbi/sentdm/models/user_remove_params.rbi +59 -0
  190. data/rbi/sentdm/models/user_response.rbi +118 -0
  191. data/rbi/sentdm/models/user_retrieve_params.rbi +27 -0
  192. data/rbi/sentdm/models/user_update_role_params.rbi +79 -0
  193. data/rbi/sentdm/models/webhook_create_params.rbi +102 -0
  194. data/rbi/sentdm/models/webhook_delete_params.rbi +27 -0
  195. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +27 -0
  196. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +206 -0
  197. data/rbi/sentdm/models/webhook_list_events_params.rbi +48 -0
  198. data/rbi/sentdm/models/webhook_list_events_response.rbi +263 -0
  199. data/rbi/sentdm/models/webhook_list_params.rbi +59 -0
  200. data/rbi/sentdm/models/webhook_list_response.rbi +126 -0
  201. data/rbi/sentdm/models/webhook_response.rbi +134 -0
  202. data/rbi/sentdm/models/webhook_retrieve_params.rbi +27 -0
  203. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +67 -0
  204. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +112 -0
  205. data/rbi/sentdm/models/webhook_test_params.rbi +66 -0
  206. data/rbi/sentdm/models/webhook_test_response.rbi +111 -0
  207. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +66 -0
  208. data/rbi/sentdm/models/webhook_update_params.rbi +102 -0
  209. data/rbi/sentdm/models.rbi +125 -10
  210. data/rbi/sentdm/resources/brands/campaigns.rbi +108 -0
  211. data/rbi/sentdm/resources/brands.rbi +93 -0
  212. data/rbi/sentdm/resources/contacts.rbi +89 -26
  213. data/rbi/sentdm/resources/lookup.rbi +24 -0
  214. data/rbi/sentdm/resources/me.rbi +23 -0
  215. data/rbi/sentdm/resources/messages.rbi +41 -60
  216. data/rbi/sentdm/resources/profiles.rbi +238 -0
  217. data/rbi/sentdm/resources/templates.rbi +94 -41
  218. data/rbi/sentdm/resources/users.rbi +116 -0
  219. data/rbi/sentdm/resources/webhooks.rbi +218 -0
  220. data/sig/sentdm/client.rbs +11 -8
  221. data/sig/sentdm/models/api_error.rbs +39 -0
  222. data/sig/sentdm/models/api_meta.rbs +41 -0
  223. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +39 -0
  224. data/sig/sentdm/models/api_response_contact.rbs +39 -0
  225. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  226. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  227. data/sig/sentdm/models/api_response_template.rbs +39 -0
  228. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  229. data/sig/sentdm/models/brand_create_params.rbs +36 -0
  230. data/sig/sentdm/models/brand_data.rbs +164 -0
  231. data/sig/sentdm/models/brand_delete_params.rbs +32 -0
  232. data/sig/sentdm/models/brand_list_params.rbs +14 -0
  233. data/sig/sentdm/models/brand_list_response.rbs +39 -0
  234. data/sig/sentdm/models/brand_update_params.rbs +36 -0
  235. data/sig/sentdm/models/brand_with_kyc.rbs +237 -0
  236. data/sig/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbs +41 -0
  237. data/sig/sentdm/models/brands/base_dto.rbs +27 -0
  238. data/sig/sentdm/models/brands/campaign_create_params.rbs +42 -0
  239. data/sig/sentdm/models/brands/campaign_data.rbs +82 -0
  240. data/sig/sentdm/models/brands/campaign_delete_params.rbs +38 -0
  241. data/sig/sentdm/models/brands/campaign_list_params.rbs +17 -0
  242. data/sig/sentdm/models/brands/campaign_list_response.rbs +41 -0
  243. data/sig/sentdm/models/brands/campaign_update_params.rbs +47 -0
  244. data/sig/sentdm/models/brands/messaging_use_case_us.rbs +40 -0
  245. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  246. data/sig/sentdm/models/brands/tcr_campaign_with_use_cases.rbs +285 -0
  247. data/sig/sentdm/models/{contact_list_item.rbs → contact.rbs} +31 -5
  248. data/sig/sentdm/models/contact_create_params.rbs +38 -0
  249. data/sig/sentdm/models/contact_delete_params.rbs +32 -0
  250. data/sig/sentdm/models/contact_list_params.rbs +19 -1
  251. data/sig/sentdm/models/contact_list_response.rbs +44 -31
  252. data/sig/sentdm/models/{message_retrieve_params.rbs → contact_retrieve_params.rbs} +2 -2
  253. data/sig/sentdm/models/contact_update_params.rbs +45 -0
  254. data/sig/sentdm/models/destination_country.rbs +19 -0
  255. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +15 -0
  256. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +102 -0
  257. data/sig/sentdm/models/me_retrieve_params.rbs +14 -0
  258. data/sig/sentdm/models/me_retrieve_response.rbs +162 -0
  259. data/sig/sentdm/models/message_retrieve_activities_params.rbs +15 -0
  260. data/sig/sentdm/models/message_retrieve_activities_response.rbs +105 -0
  261. data/sig/sentdm/models/message_retrieve_status_params.rbs +15 -0
  262. data/sig/sentdm/models/message_retrieve_status_response.rbs +224 -0
  263. data/sig/sentdm/models/message_send_params.rbs +79 -0
  264. data/sig/sentdm/models/message_send_response.rbs +108 -0
  265. data/sig/sentdm/models/mutation_request.rbs +15 -0
  266. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  267. data/sig/sentdm/models/profile_complete_params.rbs +36 -0
  268. data/sig/sentdm/models/profile_complete_response.rbs +5 -0
  269. data/sig/sentdm/models/profile_create_params.rbs +96 -0
  270. data/sig/sentdm/models/profile_delete_params.rbs +32 -0
  271. data/sig/sentdm/models/profile_detail.rbs +168 -0
  272. data/sig/sentdm/models/profile_list_params.rbs +14 -0
  273. data/sig/sentdm/models/profile_list_response.rbs +53 -0
  274. data/sig/sentdm/models/profile_retrieve_params.rbs +15 -0
  275. data/sig/sentdm/models/profile_settings.rbs +50 -0
  276. data/sig/sentdm/models/profile_update_params.rbs +122 -0
  277. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  278. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
  279. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
  280. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  281. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
  282. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
  283. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  284. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  285. data/sig/sentdm/models/{template_response_v2.rbs → template.rbs} +18 -31
  286. data/sig/sentdm/models/template_create_params.rbs +29 -6
  287. data/sig/sentdm/models/template_definition.rbs +20 -233
  288. data/sig/sentdm/models/template_delete_params.rbs +18 -3
  289. data/sig/sentdm/models/template_list_response.rbs +44 -31
  290. data/sig/sentdm/models/template_update_params.rbs +62 -0
  291. data/sig/sentdm/models/user_invite_params.rbs +56 -0
  292. data/sig/sentdm/models/user_list_params.rbs +14 -0
  293. data/sig/sentdm/models/user_list_response.rbs +53 -0
  294. data/sig/sentdm/models/user_remove_params.rbs +32 -0
  295. data/sig/sentdm/models/user_response.rbs +72 -0
  296. data/sig/sentdm/models/user_retrieve_params.rbs +15 -0
  297. data/sig/sentdm/models/user_update_role_params.rbs +49 -0
  298. data/sig/sentdm/models/webhook_create_params.rbs +70 -0
  299. data/sig/sentdm/models/webhook_delete_params.rbs +15 -0
  300. data/sig/sentdm/models/webhook_list_event_types_params.rbs +15 -0
  301. data/sig/sentdm/models/webhook_list_event_types_response.rbs +98 -0
  302. data/sig/sentdm/models/webhook_list_events_params.rbs +32 -0
  303. data/sig/sentdm/models/webhook_list_events_response.rbs +146 -0
  304. data/sig/sentdm/models/webhook_list_params.rbs +36 -0
  305. data/sig/sentdm/models/webhook_list_response.rbs +67 -0
  306. data/sig/sentdm/models/webhook_response.rbs +98 -0
  307. data/sig/sentdm/models/webhook_retrieve_params.rbs +15 -0
  308. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +38 -0
  309. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +51 -0
  310. data/sig/sentdm/models/webhook_test_params.rbs +38 -0
  311. data/sig/sentdm/models/webhook_test_response.rbs +55 -0
  312. data/sig/sentdm/models/webhook_toggle_status_params.rbs +38 -0
  313. data/sig/sentdm/models/webhook_update_params.rbs +70 -0
  314. data/sig/sentdm/models.rbs +118 -10
  315. data/sig/sentdm/resources/brands/campaigns.rbs +38 -0
  316. data/sig/sentdm/resources/brands.rbs +34 -0
  317. data/sig/sentdm/resources/contacts.rbs +28 -8
  318. data/sig/sentdm/resources/lookup.rbs +12 -0
  319. data/sig/sentdm/resources/{number_lookup.rbs → me.rbs} +2 -3
  320. data/sig/sentdm/resources/messages.rbs +12 -18
  321. data/sig/sentdm/resources/profiles.rbs +72 -0
  322. data/sig/sentdm/resources/templates.rbs +24 -4
  323. data/sig/sentdm/resources/users.rbs +41 -0
  324. data/sig/sentdm/resources/webhooks.rbs +80 -0
  325. metadata +284 -38
  326. data/lib/sentdm/models/contact_list_item.rb +0 -96
  327. data/lib/sentdm/models/contact_retrieve_by_phone_params.rb +0 -22
  328. data/lib/sentdm/models/contact_retrieve_id_params.rb +0 -22
  329. data/lib/sentdm/models/message_retrieve_response.rb +0 -227
  330. data/lib/sentdm/models/message_send_quick_message_params.rb +0 -34
  331. data/lib/sentdm/models/message_send_to_contact_params.rb +0 -46
  332. data/lib/sentdm/models/message_send_to_phone_params.rb +0 -47
  333. data/lib/sentdm/models/number_lookup_retrieve_params.rb +0 -20
  334. data/lib/sentdm/models/number_lookup_retrieve_response.rb +0 -83
  335. data/lib/sentdm/models/template_response_v2.rb +0 -100
  336. data/lib/sentdm/resources/number_lookup.rb +0 -37
  337. data/rbi/sentdm/models/contact_list_item.rbi +0 -144
  338. data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
  339. data/rbi/sentdm/models/contact_retrieve_id_params.rbi +0 -40
  340. data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
  341. data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
  342. data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
  343. data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
  344. data/rbi/sentdm/models/number_lookup_retrieve_params.rbi +0 -35
  345. data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
  346. data/rbi/sentdm/models/template_response_v2.rbi +0 -149
  347. data/rbi/sentdm/resources/number_lookup.rbi +0 -24
  348. data/sig/sentdm/models/contact_retrieve_by_phone_params.rbs +0 -23
  349. data/sig/sentdm/models/contact_retrieve_id_params.rbs +0 -20
  350. data/sig/sentdm/models/message_retrieve_response.rbs +0 -188
  351. data/sig/sentdm/models/message_send_quick_message_params.rbs +0 -28
  352. data/sig/sentdm/models/message_send_to_contact_params.rbs +0 -36
  353. data/sig/sentdm/models/message_send_to_phone_params.rbs +0 -36
  354. data/sig/sentdm/models/number_lookup_retrieve_params.rbs +0 -23
  355. data/sig/sentdm/models/number_lookup_retrieve_response.rbs +0 -78
@@ -0,0 +1,335 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandWithKYC < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Unique identifier for the brand
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute brand_relationship
13
+ # Brand relationship level with TCR
14
+ #
15
+ # @return [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
16
+ optional :brand_relationship,
17
+ enum: -> { Sentdm::TcrBrandRelationship },
18
+ api_name: :brandRelationship,
19
+ nil?: true
20
+
21
+ # @!attribute business_legal_name
22
+ # Legal business name
23
+ #
24
+ # @return [String, nil]
25
+ optional :business_legal_name, String, api_name: :businessLegalName, nil?: true
26
+
27
+ # @!attribute business_name
28
+ # Business/brand name
29
+ #
30
+ # @return [String, nil]
31
+ optional :business_name, String, api_name: :businessName, nil?: true
32
+
33
+ # @!attribute business_role
34
+ # Contact's role in the business
35
+ #
36
+ # @return [String, nil]
37
+ optional :business_role, String, api_name: :businessRole, nil?: true
38
+
39
+ # @!attribute business_url
40
+ # Business website URL
41
+ #
42
+ # @return [String, nil]
43
+ optional :business_url, String, api_name: :businessUrl, nil?: true
44
+
45
+ # @!attribute city
46
+ # City
47
+ #
48
+ # @return [String, nil]
49
+ optional :city, String, nil?: true
50
+
51
+ # @!attribute contact_email
52
+ # Contact email address
53
+ #
54
+ # @return [String, nil]
55
+ optional :contact_email, String, api_name: :contactEmail, nil?: true
56
+
57
+ # @!attribute contact_name
58
+ # Primary contact name
59
+ #
60
+ # @return [String, nil]
61
+ optional :contact_name, String, api_name: :contactName
62
+
63
+ # @!attribute contact_phone
64
+ # Contact phone number
65
+ #
66
+ # @return [String, nil]
67
+ optional :contact_phone, String, api_name: :contactPhone, nil?: true
68
+
69
+ # @!attribute contact_phone_country_code
70
+ # Contact phone country code
71
+ #
72
+ # @return [String, nil]
73
+ optional :contact_phone_country_code, String, api_name: :contactPhoneCountryCode, nil?: true
74
+
75
+ # @!attribute country
76
+ # Country code
77
+ #
78
+ # @return [String, nil]
79
+ optional :country, String, nil?: true
80
+
81
+ # @!attribute country_of_registration
82
+ # Country where the business is registered
83
+ #
84
+ # @return [String, nil]
85
+ optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
86
+
87
+ # @!attribute created_at
88
+ # When the brand was created
89
+ #
90
+ # @return [Time, nil]
91
+ optional :created_at, Time, api_name: :createdAt
92
+
93
+ # @!attribute csp_id
94
+ # CSP (Campaign Service Provider) ID
95
+ #
96
+ # @return [String, nil]
97
+ optional :csp_id, String, api_name: :cspId, nil?: true
98
+
99
+ # @!attribute destination_countries
100
+ # List of destination countries for messaging
101
+ #
102
+ # @return [Array<Sentdm::Models::DestinationCountry>, nil]
103
+ optional :destination_countries,
104
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] },
105
+ api_name: :destinationCountries
106
+
107
+ # @!attribute entity_type
108
+ # Business entity type
109
+ #
110
+ # @return [String, nil]
111
+ optional :entity_type, String, api_name: :entityType, nil?: true
112
+
113
+ # @!attribute expected_messaging_volume
114
+ # Expected daily messaging volume
115
+ #
116
+ # @return [String, nil]
117
+ optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
118
+
119
+ # @!attribute identity_status
120
+ # TCR brand identity verification status
121
+ #
122
+ # @return [Symbol, Sentdm::Models::BrandWithKYC::IdentityStatus, nil]
123
+ optional :identity_status,
124
+ enum: -> { Sentdm::BrandWithKYC::IdentityStatus },
125
+ api_name: :identityStatus,
126
+ nil?: true
127
+
128
+ # @!attribute is_inherited
129
+ # Whether this brand is inherited from parent organization
130
+ #
131
+ # @return [Boolean, nil]
132
+ optional :is_inherited, Sentdm::Internal::Type::Boolean, api_name: :isInherited
133
+
134
+ # @!attribute is_tcr_application
135
+ # Whether this is a TCR application
136
+ #
137
+ # @return [Boolean, nil]
138
+ optional :is_tcr_application, Sentdm::Internal::Type::Boolean, api_name: :isTcrApplication
139
+
140
+ # @!attribute notes
141
+ # Additional notes
142
+ #
143
+ # @return [String, nil]
144
+ optional :notes, String, nil?: true
145
+
146
+ # @!attribute phone_number_prefix
147
+ # Phone number prefix for messaging
148
+ #
149
+ # @return [String, nil]
150
+ optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
151
+
152
+ # @!attribute postal_code
153
+ # Postal/ZIP code
154
+ #
155
+ # @return [String, nil]
156
+ optional :postal_code, String, api_name: :postalCode, nil?: true
157
+
158
+ # @!attribute primary_use_case
159
+ # Primary messaging use case description
160
+ #
161
+ # @return [String, nil]
162
+ optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
163
+
164
+ # @!attribute state
165
+ # State/province code
166
+ #
167
+ # @return [String, nil]
168
+ optional :state, String, nil?: true
169
+
170
+ # @!attribute status
171
+ # TCR brand status
172
+ #
173
+ # @return [Symbol, Sentdm::Models::BrandWithKYC::Status, nil]
174
+ optional :status, enum: -> { Sentdm::BrandWithKYC::Status }, nil?: true
175
+
176
+ # @!attribute street
177
+ # Street address
178
+ #
179
+ # @return [String, nil]
180
+ optional :street, String, nil?: true
181
+
182
+ # @!attribute submitted_at
183
+ # When the brand was submitted to TCR
184
+ #
185
+ # @return [Time, nil]
186
+ optional :submitted_at, Time, api_name: :submittedAt, nil?: true
187
+
188
+ # @!attribute submitted_to_tcr
189
+ # Whether this brand was submitted to TCR
190
+ #
191
+ # @return [Boolean, nil]
192
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean, api_name: :submittedToTCR
193
+
194
+ # @!attribute tax_id
195
+ # Tax ID/EIN number
196
+ #
197
+ # @return [String, nil]
198
+ optional :tax_id, String, api_name: :taxId, nil?: true
199
+
200
+ # @!attribute tax_id_type
201
+ # Type of tax ID
202
+ #
203
+ # @return [String, nil]
204
+ optional :tax_id_type, String, api_name: :taxIdType, nil?: true
205
+
206
+ # @!attribute tcr_brand_id
207
+ # TCR brand ID (populated after TCR submission)
208
+ #
209
+ # @return [String, nil]
210
+ optional :tcr_brand_id, String, api_name: :tcrBrandId, nil?: true
211
+
212
+ # @!attribute universal_ein
213
+ # Universal EIN from TCR
214
+ #
215
+ # @return [String, nil]
216
+ optional :universal_ein, String, api_name: :universalEin, nil?: true
217
+
218
+ # @!attribute updated_at
219
+ # When the brand was last updated
220
+ #
221
+ # @return [Time, nil]
222
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
223
+
224
+ # @!attribute vertical
225
+ # Business vertical/industry category
226
+ #
227
+ # @return [Symbol, Sentdm::Models::TcrVertical, nil]
228
+ optional :vertical, enum: -> { Sentdm::TcrVertical }, nil?: true
229
+
230
+ # @!method initialize(id: nil, brand_relationship: nil, business_legal_name: nil, business_name: nil, business_role: nil, business_url: nil, city: nil, contact_email: nil, contact_name: nil, contact_phone: nil, contact_phone_country_code: nil, country: nil, country_of_registration: nil, created_at: nil, csp_id: nil, destination_countries: nil, entity_type: nil, expected_messaging_volume: nil, identity_status: nil, is_inherited: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, postal_code: nil, primary_use_case: nil, state: nil, status: nil, street: nil, submitted_at: nil, submitted_to_tcr: nil, tax_id: nil, tax_id_type: nil, tcr_brand_id: nil, universal_ein: nil, updated_at: nil, vertical: nil)
231
+ # Flattened brand response with embedded KYC information
232
+ #
233
+ # @param id [String] Unique identifier for the brand
234
+ #
235
+ # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship, nil] Brand relationship level with TCR
236
+ #
237
+ # @param business_legal_name [String, nil] Legal business name
238
+ #
239
+ # @param business_name [String, nil] Business/brand name
240
+ #
241
+ # @param business_role [String, nil] Contact's role in the business
242
+ #
243
+ # @param business_url [String, nil] Business website URL
244
+ #
245
+ # @param city [String, nil] City
246
+ #
247
+ # @param contact_email [String, nil] Contact email address
248
+ #
249
+ # @param contact_name [String] Primary contact name
250
+ #
251
+ # @param contact_phone [String, nil] Contact phone number
252
+ #
253
+ # @param contact_phone_country_code [String, nil] Contact phone country code
254
+ #
255
+ # @param country [String, nil] Country code
256
+ #
257
+ # @param country_of_registration [String, nil] Country where the business is registered
258
+ #
259
+ # @param created_at [Time] When the brand was created
260
+ #
261
+ # @param csp_id [String, nil] CSP (Campaign Service Provider) ID
262
+ #
263
+ # @param destination_countries [Array<Sentdm::Models::DestinationCountry>] List of destination countries for messaging
264
+ #
265
+ # @param entity_type [String, nil] Business entity type
266
+ #
267
+ # @param expected_messaging_volume [String, nil] Expected daily messaging volume
268
+ #
269
+ # @param identity_status [Symbol, Sentdm::Models::BrandWithKYC::IdentityStatus, nil] TCR brand identity verification status
270
+ #
271
+ # @param is_inherited [Boolean] Whether this brand is inherited from parent organization
272
+ #
273
+ # @param is_tcr_application [Boolean] Whether this is a TCR application
274
+ #
275
+ # @param notes [String, nil] Additional notes
276
+ #
277
+ # @param phone_number_prefix [String, nil] Phone number prefix for messaging
278
+ #
279
+ # @param postal_code [String, nil] Postal/ZIP code
280
+ #
281
+ # @param primary_use_case [String, nil] Primary messaging use case description
282
+ #
283
+ # @param state [String, nil] State/province code
284
+ #
285
+ # @param status [Symbol, Sentdm::Models::BrandWithKYC::Status, nil] TCR brand status
286
+ #
287
+ # @param street [String, nil] Street address
288
+ #
289
+ # @param submitted_at [Time, nil] When the brand was submitted to TCR
290
+ #
291
+ # @param submitted_to_tcr [Boolean] Whether this brand was submitted to TCR
292
+ #
293
+ # @param tax_id [String, nil] Tax ID/EIN number
294
+ #
295
+ # @param tax_id_type [String, nil] Type of tax ID
296
+ #
297
+ # @param tcr_brand_id [String, nil] TCR brand ID (populated after TCR submission)
298
+ #
299
+ # @param universal_ein [String, nil] Universal EIN from TCR
300
+ #
301
+ # @param updated_at [Time, nil] When the brand was last updated
302
+ #
303
+ # @param vertical [Symbol, Sentdm::Models::TcrVertical, nil] Business vertical/industry category
304
+
305
+ # TCR brand identity verification status
306
+ #
307
+ # @see Sentdm::Models::BrandWithKYC#identity_status
308
+ module IdentityStatus
309
+ extend Sentdm::Internal::Type::Enum
310
+
311
+ SELF_DECLARED = :SELF_DECLARED
312
+ UNVERIFIED = :UNVERIFIED
313
+ VERIFIED = :VERIFIED
314
+ VETTED_VERIFIED = :VETTED_VERIFIED
315
+
316
+ # @!method self.values
317
+ # @return [Array<Symbol>]
318
+ end
319
+
320
+ # TCR brand status
321
+ #
322
+ # @see Sentdm::Models::BrandWithKYC#status
323
+ module Status
324
+ extend Sentdm::Internal::Type::Enum
325
+
326
+ ACTIVE = :ACTIVE
327
+ INACTIVE = :INACTIVE
328
+ SUSPENDED = :SUSPENDED
329
+
330
+ # @!method self.values
331
+ # @return [Array<Symbol>]
332
+ end
333
+ end
334
+ end
335
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#create
7
+ class APIResponseTcrCampaignWithUseCases < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ # The response data (null if error)
10
+ #
11
+ # @return [Sentdm::Models::Brands::TcrCampaignWithUseCases, nil]
12
+ optional :data, -> { Sentdm::Brands::TcrCampaignWithUseCases }, nil?: true
13
+
14
+ # @!attribute error
15
+ # Error details (null if successful)
16
+ #
17
+ # @return [Sentdm::Models::APIError, nil]
18
+ optional :error, -> { Sentdm::APIError }, nil?: true
19
+
20
+ # @!attribute meta
21
+ # Metadata about the request and response
22
+ #
23
+ # @return [Sentdm::Models::APIMeta, nil]
24
+ optional :meta, -> { Sentdm::APIMeta }
25
+
26
+ # @!attribute success
27
+ # Indicates whether the request was successful
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :success, Sentdm::Internal::Type::Boolean
31
+
32
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
33
+ # Standard API response envelope for all v3 endpoints
34
+ #
35
+ # @param data [Sentdm::Models::Brands::TcrCampaignWithUseCases, nil] The response data (null if error)
36
+ #
37
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
38
+ #
39
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
40
+ #
41
+ # @param success [Boolean] Indicates whether the request was successful
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ class BaseDto < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # Unique identifier
9
+ #
10
+ # @return [String, nil]
11
+ optional :id, String
12
+
13
+ # @!attribute created_at
14
+ #
15
+ # @return [Time, nil]
16
+ optional :created_at, Time, api_name: :createdAt
17
+
18
+ # @!attribute updated_at
19
+ #
20
+ # @return [Time, nil]
21
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
22
+
23
+ # @!method initialize(id: nil, created_at: nil, updated_at: nil)
24
+ # @param id [String] Unique identifier
25
+ #
26
+ # @param created_at [Time]
27
+ #
28
+ # @param updated_at [Time, nil]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#create
7
+ class CampaignCreateParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!attribute campaign
12
+ # Campaign data
13
+ #
14
+ # @return [Sentdm::Models::Brands::CampaignData]
15
+ required :campaign, -> { Sentdm::Brands::CampaignData }
16
+
17
+ # @!attribute test_mode
18
+ # Test mode flag - when true, the operation is simulated without side effects
19
+ # Useful for testing integrations without actual execution
20
+ #
21
+ # @return [Boolean, nil]
22
+ optional :test_mode, Sentdm::Internal::Type::Boolean
23
+
24
+ # @!attribute idempotency_key
25
+ #
26
+ # @return [String, nil]
27
+ optional :idempotency_key, String
28
+
29
+ # @!method initialize(campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
30
+ # Some parameter documentations has been truncated, see
31
+ # {Sentdm::Models::Brands::CampaignCreateParams} for more details.
32
+ #
33
+ # @param campaign [Sentdm::Models::Brands::CampaignData] Campaign data
34
+ #
35
+ # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
36
+ #
37
+ # @param idempotency_key [String]
38
+ #
39
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,123 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ class CampaignData < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute description
8
+ # Campaign description
9
+ #
10
+ # @return [String]
11
+ required :description, String
12
+
13
+ # @!attribute name
14
+ # Campaign name
15
+ #
16
+ # @return [String]
17
+ required :name, String
18
+
19
+ # @!attribute type
20
+ # Campaign type (e.g., "KYC", "App")
21
+ #
22
+ # @return [String]
23
+ required :type, String
24
+
25
+ # @!attribute use_cases
26
+ # List of use cases with sample messages
27
+ #
28
+ # @return [Array<Sentdm::Models::Brands::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData>]
29
+ required :use_cases,
30
+ -> {
31
+ Sentdm::Internal::Type::ArrayOf[Sentdm::Brands::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData]
32
+ },
33
+ api_name: :useCases
34
+
35
+ # @!attribute help_keywords
36
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
37
+ #
38
+ # @return [String, nil]
39
+ optional :help_keywords, String, api_name: :helpKeywords, nil?: true
40
+
41
+ # @!attribute help_message
42
+ # Message sent when user requests help
43
+ #
44
+ # @return [String, nil]
45
+ optional :help_message, String, api_name: :helpMessage, nil?: true
46
+
47
+ # @!attribute message_flow
48
+ # Description of how messages flow in the campaign
49
+ #
50
+ # @return [String, nil]
51
+ optional :message_flow, String, api_name: :messageFlow, nil?: true
52
+
53
+ # @!attribute optin_keywords
54
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
55
+ #
56
+ # @return [String, nil]
57
+ optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
58
+
59
+ # @!attribute optin_message
60
+ # Message sent when user opts in
61
+ #
62
+ # @return [String, nil]
63
+ optional :optin_message, String, api_name: :optinMessage, nil?: true
64
+
65
+ # @!attribute optout_keywords
66
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
67
+ #
68
+ # @return [String, nil]
69
+ optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
70
+
71
+ # @!attribute optout_message
72
+ # Message sent when user opts out
73
+ #
74
+ # @return [String, nil]
75
+ optional :optout_message, String, api_name: :optoutMessage, nil?: true
76
+
77
+ # @!attribute privacy_policy_link
78
+ # URL to privacy policy
79
+ #
80
+ # @return [String, nil]
81
+ optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
82
+
83
+ # @!attribute terms_and_conditions_link
84
+ # URL to terms and conditions
85
+ #
86
+ # @return [String, nil]
87
+ optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
88
+
89
+ # @!method initialize(description:, name:, type:, use_cases:, help_keywords: nil, help_message: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil)
90
+ # Some parameter documentations has been truncated, see
91
+ # {Sentdm::Models::Brands::CampaignData} for more details.
92
+ #
93
+ # Campaign data for create or update operation
94
+ #
95
+ # @param description [String] Campaign description
96
+ #
97
+ # @param name [String] Campaign name
98
+ #
99
+ # @param type [String] Campaign type (e.g., "KYC", "App")
100
+ #
101
+ # @param use_cases [Array<Sentdm::Models::Brands::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData>] List of use cases with sample messages
102
+ #
103
+ # @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
104
+ #
105
+ # @param help_message [String, nil] Message sent when user requests help
106
+ #
107
+ # @param message_flow [String, nil] Description of how messages flow in the campaign
108
+ #
109
+ # @param optin_keywords [String, nil] Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
110
+ #
111
+ # @param optin_message [String, nil] Message sent when user opts in
112
+ #
113
+ # @param optout_keywords [String, nil] Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
114
+ #
115
+ # @param optout_message [String, nil] Message sent when user opts out
116
+ #
117
+ # @param privacy_policy_link [String, nil] URL to privacy policy
118
+ #
119
+ # @param terms_and_conditions_link [String, nil] URL to terms and conditions
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#delete
7
+ class CampaignDeleteParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!attribute brand_id
12
+ #
13
+ # @return [String]
14
+ required :brand_id, String
15
+
16
+ # @!attribute body
17
+ # Request to delete a campaign from a brand
18
+ #
19
+ # @return [Sentdm::Models::Brands::CampaignDeleteParams::Body]
20
+ required :body, -> { Sentdm::Brands::CampaignDeleteParams::Body }
21
+
22
+ # @!method initialize(brand_id:, body:, request_options: {})
23
+ # @param brand_id [String]
24
+ #
25
+ # @param body [Sentdm::Models::Brands::CampaignDeleteParams::Body] Request to delete a campaign from a brand
26
+ #
27
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
28
+
29
+ class Body < Sentdm::Models::MutationRequest
30
+ # @!method initialize
31
+ # Request to delete a campaign from a brand
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#list
7
+ class CampaignListParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!method initialize(request_options: {})
12
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#list
7
+ class CampaignListResponse < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ # The response data (null if error)
10
+ #
11
+ # @return [Array<Sentdm::Models::Brands::TcrCampaignWithUseCases>, nil]
12
+ optional :data,
13
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Brands::TcrCampaignWithUseCases] },
14
+ nil?: true
15
+
16
+ # @!attribute error
17
+ # Error details (null if successful)
18
+ #
19
+ # @return [Sentdm::Models::APIError, nil]
20
+ optional :error, -> { Sentdm::APIError }, nil?: true
21
+
22
+ # @!attribute meta
23
+ # Metadata about the request and response
24
+ #
25
+ # @return [Sentdm::Models::APIMeta, nil]
26
+ optional :meta, -> { Sentdm::APIMeta }
27
+
28
+ # @!attribute success
29
+ # Indicates whether the request was successful
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :success, Sentdm::Internal::Type::Boolean
33
+
34
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
35
+ # Standard API response envelope for all v3 endpoints
36
+ #
37
+ # @param data [Array<Sentdm::Models::Brands::TcrCampaignWithUseCases>, nil] The response data (null if error)
38
+ #
39
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
40
+ #
41
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
42
+ #
43
+ # @param success [Boolean] Indicates whether the request was successful
44
+ end
45
+ end
46
+ end
47
+ end