rcs 2.0.5.pre.rc.1 → 2.0.5

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 (819) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gemconfig.rb +14 -0
  3. data/lib/rcs/audiences/client.rb +347 -0
  4. data/lib/rcs/audiences/contacts/client.rb +177 -0
  5. data/lib/rcs/audiences/types/audiences_get_response.rb +58 -0
  6. data/lib/rcs/brands/client.rb +605 -0
  7. data/lib/rcs/brands/types/autofill_brand_options.rb +61 -0
  8. data/lib/rcs/brands/types/upsert_brand_schema_contact.rb +86 -0
  9. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +16 -0
  10. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +28 -0
  11. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +16 -0
  12. data/lib/rcs/campaigns/client.rb +44 -0
  13. data/lib/rcs/campaigns/dlc/client.rb +492 -0
  14. data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +74 -0
  15. data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +99 -0
  16. data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +74 -0
  17. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +74 -0
  18. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +74 -0
  19. data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +110 -0
  20. data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +76 -0
  21. data/lib/rcs/campaigns/rcs/client.rb +566 -0
  22. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +152 -0
  23. data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +73 -0
  24. data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +73 -0
  25. data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +73 -0
  26. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +246 -0
  27. data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +77 -0
  28. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +98 -0
  29. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +87 -0
  30. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +83 -0
  31. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +76 -0
  32. data/lib/rcs/campaigns/rcs/types/rcs_links.rb +74 -0
  33. data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +75 -0
  34. data/lib/rcs/campaigns/toll_free/client.rb +478 -0
  35. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +172 -0
  36. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +66 -0
  37. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +86 -0
  38. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +74 -0
  39. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +86 -0
  40. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +78 -0
  41. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +64 -0
  42. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +75 -0
  43. data/lib/rcs/contacts/client.rb +277 -0
  44. data/lib/rcs/conversations/client.rb +401 -0
  45. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +12 -0
  46. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +12 -0
  47. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +17 -0
  48. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +13 -0
  49. data/lib/rcs/messages/blast/client.rb +425 -0
  50. data/lib/rcs/messages/blast/types/blast_mms_options.rb +82 -0
  51. data/lib/rcs/messages/blast/types/blast_mms_response.rb +60 -0
  52. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +118 -0
  53. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +82 -0
  54. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
  55. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +15 -0
  56. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +60 -0
  57. data/lib/rcs/messages/blast/types/blast_sms_options.rb +70 -0
  58. data/lib/rcs/messages/blast/types/blast_sms_response.rb +60 -0
  59. data/lib/rcs/messages/client.rb +189 -0
  60. data/lib/rcs/messages/mms/client.rb +216 -0
  61. data/lib/rcs/messages/mms/types/mms_send_response.rb +60 -0
  62. data/lib/rcs/messages/mms/types/send_mms_options.rb +108 -0
  63. data/lib/rcs/messages/rcs/client.rb +286 -0
  64. data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +60 -0
  65. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +66 -0
  66. data/lib/rcs/messages/schedule/client.rb +103 -0
  67. data/lib/rcs/messages/sms/client.rb +198 -0
  68. data/lib/rcs/messages/sms/types/send_sms_options.rb +81 -0
  69. data/lib/rcs/messages/sms/types/sms_send_response.rb +60 -0
  70. data/lib/rcs/messages/types/react_message_options.rb +71 -0
  71. data/lib/rcs/phone_numbers/campaign/client.rb +197 -0
  72. data/lib/rcs/phone_numbers/client.rb +345 -0
  73. data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +62 -0
  74. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +16 -0
  75. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +58 -0
  76. data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +93 -0
  77. data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +81 -0
  78. data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +96 -0
  79. data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +62 -0
  80. data/lib/rcs/phone_numbers/webhook/client.rb +193 -0
  81. data/lib/rcs/rcs/client.rb +332 -0
  82. data/lib/rcs/status/client.rb +30 -0
  83. data/lib/rcs/status/get/client.rb +383 -0
  84. data/lib/rcs/tools/client.rb +44 -0
  85. data/lib/rcs/tools/contact_card/client.rb +295 -0
  86. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +67 -0
  87. data/lib/rcs/tools/file/client.rb +228 -0
  88. data/lib/rcs/tools/file/types/download_options.rb +66 -0
  89. data/lib/rcs/tools/file/types/upload_file_options.rb +88 -0
  90. data/lib/rcs/tools/url/client.rb +247 -0
  91. data/lib/rcs/types/advanced_phone_information.rb +147 -0
  92. data/lib/rcs/types/advanced_phone_information_carrier.rb +90 -0
  93. data/lib/rcs/types/advanced_phone_information_contact.rb +146 -0
  94. data/lib/rcs/types/advanced_phone_information_location.rb +142 -0
  95. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +73 -0
  96. data/lib/rcs/types/advanced_phone_information_location_country.rb +77 -0
  97. data/lib/rcs/types/advanced_phone_information_type.rb +97 -0
  98. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +15 -0
  99. data/lib/rcs/types/agent.rb +68 -0
  100. data/lib/rcs/types/attach_webhook_by_id_params.rb +77 -0
  101. data/lib/rcs/types/attach_webhook_params.rb +60 -0
  102. data/lib/rcs/types/attach_webhook_response_webhook.rb +88 -0
  103. data/lib/rcs/types/attached_phone_number_result.rb +75 -0
  104. data/lib/rcs/types/audience_count_only.rb +87 -0
  105. data/lib/rcs/types/audience_with_pagination.rb +114 -0
  106. data/lib/rcs/types/autofill_campaign_params.rb +81 -0
  107. data/lib/rcs/types/autofill_dlc_campaign_response.rb +173 -0
  108. data/lib/rcs/types/autofill_dlc_response_keywords.rb +93 -0
  109. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +70 -0
  110. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +70 -0
  111. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +70 -0
  112. data/lib/rcs/types/autofill_dlc_response_links.rb +70 -0
  113. data/lib/rcs/types/autofill_dlc_response_options.rb +106 -0
  114. data/lib/rcs/types/autofill_dlc_response_use_case.rb +72 -0
  115. data/lib/rcs/types/bad_request_error_body.rb +56 -0
  116. data/lib/rcs/types/base_rich_message.rb +82 -0
  117. data/lib/rcs/types/basic_phone_information.rb +127 -0
  118. data/lib/rcs/types/basic_phone_information_contact.rb +58 -0
  119. data/lib/rcs/types/basic_phone_information_location.rb +74 -0
  120. data/lib/rcs/types/basic_phone_information_location_country.rb +75 -0
  121. data/lib/rcs/types/blast_details.rb +110 -0
  122. data/lib/rcs/types/brand_status.rb +94 -0
  123. data/lib/rcs/types/brand_status_enum.rb +21 -0
  124. data/lib/rcs/types/button_clicked.rb +56 -0
  125. data/lib/rcs/types/button_clicked_data.rb +80 -0
  126. data/lib/rcs/types/button_clicked_data_button.rb +118 -0
  127. data/lib/rcs/types/button_clicked_data_button_raw.rb +58 -0
  128. data/lib/rcs/types/button_clicked_data_button_type.rb +15 -0
  129. data/lib/rcs/types/buy_response_capabilities.rb +77 -0
  130. data/lib/rcs/types/campaign_enum.rb +15 -0
  131. data/lib/rcs/types/campaign_query.rb +77 -0
  132. data/lib/rcs/types/campaign_submission_result.rb +57 -0
  133. data/lib/rcs/types/campaign_validation_response_errors_item.rb +76 -0
  134. data/lib/rcs/types/campaign_validation_result.rb +71 -0
  135. data/lib/rcs/types/company_entity_type_enum.rb +14 -0
  136. data/lib/rcs/types/company_sector_enum.rb +26 -0
  137. data/lib/rcs/types/company_type_enum.rb +14 -0
  138. data/lib/rcs/types/configured_webhook.rb +85 -0
  139. data/lib/rcs/types/contact.rb +107 -0
  140. data/lib/rcs/types/contact_id.rb +59 -0
  141. data/lib/rcs/types/conversation.rb +154 -0
  142. data/lib/rcs/types/conversation_by_id_params.rb +62 -0
  143. data/lib/rcs/types/conversation_by_participants_params.rb +72 -0
  144. data/lib/rcs/types/conversation_contact.rb +70 -0
  145. data/lib/rcs/types/conversation_list.rb +79 -0
  146. data/lib/rcs/types/conversation_sender.rb +60 -0
  147. data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +88 -0
  148. data/lib/rcs/types/create_url_options.rb +63 -0
  149. data/lib/rcs/types/delete_audience_response.rb +57 -0
  150. data/lib/rcs/types/detached_phone_number_result.rb +75 -0
  151. data/lib/rcs/types/detached_webhook_info.rb +76 -0
  152. data/lib/rcs/types/detailed_phone_number_enum.rb +25 -0
  153. data/lib/rcs/types/dlc_assignment_status_enum.rb +19 -0
  154. data/lib/rcs/types/dlc_campaign_status.rb +109 -0
  155. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +35 -0
  156. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +224 -0
  157. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +94 -0
  158. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +72 -0
  159. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +72 -0
  160. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +72 -0
  161. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +70 -0
  162. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +15 -0
  163. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +22 -0
  164. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +106 -0
  165. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +72 -0
  166. data/lib/rcs/types/enhanced_contact.rb +9 -0
  167. data/lib/rcs/types/enhanced_contact_item.rb +104 -0
  168. data/lib/rcs/types/error.rb +61 -0
  169. data/lib/rcs/types/extended_brand.rb +215 -0
  170. data/lib/rcs/types/extended_brand_with_vetting.rb +247 -0
  171. data/lib/rcs/types/extended_rcs_campaign.rb +267 -0
  172. data/lib/rcs/types/get_conversation_params.rb +57 -0
  173. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +96 -0
  174. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +92 -0
  175. data/lib/rcs/types/link_click_event.rb +449 -0
  176. data/lib/rcs/types/location_share_action.rb +63 -0
  177. data/lib/rcs/types/location_share_action_data.rb +89 -0
  178. data/lib/rcs/types/message.rb +176 -0
  179. data/lib/rcs/types/message_content.rb +85 -0
  180. data/lib/rcs/types/message_event.rb +143 -0
  181. data/lib/rcs/types/message_event_content.rb +127 -0
  182. data/lib/rcs/types/message_event_conversation.rb +82 -0
  183. data/lib/rcs/types/message_event_direction.rb +11 -0
  184. data/lib/rcs/types/message_event_mms_content.rb +94 -0
  185. data/lib/rcs/types/message_event_rcs_button_data.rb +104 -0
  186. data/lib/rcs/types/message_event_rcs_cards_content.rb +103 -0
  187. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +96 -0
  188. data/lib/rcs/types/message_event_rcs_location_data.rb +91 -0
  189. data/lib/rcs/types/message_event_rcs_media_content.rb +96 -0
  190. data/lib/rcs/types/message_event_rcs_text_content.rb +94 -0
  191. data/lib/rcs/types/message_event_sms_content.rb +81 -0
  192. data/lib/rcs/types/message_list.rb +79 -0
  193. data/lib/rcs/types/message_method_enum.rb +12 -0
  194. data/lib/rcs/types/message_protocol_enum.rb +12 -0
  195. data/lib/rcs/types/message_schedule.rb +121 -0
  196. data/lib/rcs/types/message_status_enum.rb +17 -0
  197. data/lib/rcs/types/message_volume_enum.rb +20 -0
  198. data/lib/rcs/types/message_with_reaction.rb +197 -0
  199. data/lib/rcs/types/message_with_reaction_direction.rb +11 -0
  200. data/lib/rcs/types/messaging_profile_enum.rb +11 -0
  201. data/lib/rcs/types/mms_content.rb +74 -0
  202. data/lib/rcs/types/mms_validation_response_segments.rb +85 -0
  203. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +75 -0
  204. data/lib/rcs/types/mms_validation_result.rb +82 -0
  205. data/lib/rcs/types/not_found_error_body.rb +59 -0
  206. data/lib/rcs/types/number_format.rb +79 -0
  207. data/lib/rcs/types/opt_in_method_enum.rb +13 -0
  208. data/lib/rcs/types/optional_brand_info.rb +154 -0
  209. data/lib/rcs/types/optional_contact.rb +83 -0
  210. data/lib/rcs/types/optional_contacts.rb +84 -0
  211. data/lib/rcs/types/pagination.rb +81 -0
  212. data/lib/rcs/types/phone.rb +101 -0
  213. data/lib/rcs/types/phone_capabilities.rb +75 -0
  214. data/lib/rcs/types/phone_enum.rb +13 -0
  215. data/lib/rcs/types/phone_feature_enum.rb +18 -0
  216. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +67 -0
  217. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +75 -0
  218. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +82 -0
  219. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +67 -0
  220. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +75 -0
  221. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +82 -0
  222. data/lib/rcs/types/phone_number_cost.rb +75 -0
  223. data/lib/rcs/types/phone_number_details.rb +110 -0
  224. data/lib/rcs/types/phone_number_enum.rb +18 -0
  225. data/lib/rcs/types/phone_number_region.rb +91 -0
  226. data/lib/rcs/types/phone_number_status.rb +90 -0
  227. data/lib/rcs/types/phone_number_status_enum.rb +16 -0
  228. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +100 -0
  229. data/lib/rcs/types/pinnacle_url_config.rb +71 -0
  230. data/lib/rcs/types/profile_status_enum.rb +17 -0
  231. data/lib/rcs/types/purchased_number.rb +75 -0
  232. data/lib/rcs/types/rcs_button_call.rb +77 -0
  233. data/lib/rcs/types/rcs_button_open_url.rb +104 -0
  234. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +19 -0
  235. data/lib/rcs/types/rcs_button_request_user_location.rb +70 -0
  236. data/lib/rcs/types/rcs_button_schedule_event.rb +106 -0
  237. data/lib/rcs/types/rcs_button_send_location.rb +94 -0
  238. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +68 -0
  239. data/lib/rcs/types/rcs_button_trigger.rb +80 -0
  240. data/lib/rcs/types/rcs_campaign.rb +234 -0
  241. data/lib/rcs/types/rcs_campaign_schema_agent.rb +134 -0
  242. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +69 -0
  243. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +69 -0
  244. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +69 -0
  245. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +134 -0
  246. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +70 -0
  247. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +70 -0
  248. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +71 -0
  249. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +94 -0
  250. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +71 -0
  251. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +73 -0
  252. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +73 -0
  253. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +70 -0
  254. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +72 -0
  255. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +71 -0
  256. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +94 -0
  257. data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +71 -0
  258. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +73 -0
  259. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +73 -0
  260. data/lib/rcs/types/rcs_campaign_schema_links.rb +70 -0
  261. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +72 -0
  262. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +71 -0
  263. data/lib/rcs/types/rcs_campaign_status.rb +88 -0
  264. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +23 -0
  265. data/lib/rcs/types/rcs_capabilities_result.rb +7 -0
  266. data/lib/rcs/types/rcs_capability.rb +82 -0
  267. data/lib/rcs/types/rcs_capability_actions.rb +105 -0
  268. data/lib/rcs/types/rcs_capability_cards.rb +67 -0
  269. data/lib/rcs/types/rcs_cards_content.rb +83 -0
  270. data/lib/rcs/types/rcs_cards_content_cards_item.rb +98 -0
  271. data/lib/rcs/types/rcs_content.rb +72 -0
  272. data/lib/rcs/types/rcs_link_result.rb +75 -0
  273. data/lib/rcs/types/rcs_media_content.rb +83 -0
  274. data/lib/rcs/types/rcs_media_details_content.rb +77 -0
  275. data/lib/rcs/types/rcs_messaging_type_enum.rb +17 -0
  276. data/lib/rcs/types/rcs_validate_content.rb +70 -0
  277. data/lib/rcs/types/rcs_validate_content_media.rb +75 -0
  278. data/lib/rcs/types/rcs_validation_result.rb +83 -0
  279. data/lib/rcs/types/rcs_whitelist_response.rb +58 -0
  280. data/lib/rcs/types/reaction_result.rb +71 -0
  281. data/lib/rcs/types/refreshed_file.rb +67 -0
  282. data/lib/rcs/types/rich_button.rb +148 -0
  283. data/lib/rcs/types/rich_card.rb +92 -0
  284. data/lib/rcs/types/rich_cards.rb +83 -0
  285. data/lib/rcs/types/rich_cards_message.rb +114 -0
  286. data/lib/rcs/types/rich_media_message.rb +112 -0
  287. data/lib/rcs/types/rich_message.rb +70 -0
  288. data/lib/rcs/types/rich_standalone_card_options.rb +80 -0
  289. data/lib/rcs/types/rich_text.rb +74 -0
  290. data/lib/rcs/types/rich_text_message.rb +108 -0
  291. data/lib/rcs/types/schedule_cancel_result.rb +58 -0
  292. data/lib/rcs/types/scheduled_blast_details.rb +76 -0
  293. data/lib/rcs/types/scheduled_blast_response_config.rb +89 -0
  294. data/lib/rcs/types/scheduled_message.rb +75 -0
  295. data/lib/rcs/types/scheduled_send_response_config.rb +89 -0
  296. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
  297. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +11 -0
  298. data/lib/rcs/types/send_rich_cards_options.rb +136 -0
  299. data/lib/rcs/types/send_rich_message_options.rb +111 -0
  300. data/lib/rcs/types/send_sms_response_segments.rb +69 -0
  301. data/lib/rcs/types/send_sms_response_segments_encoding.rb +11 -0
  302. data/lib/rcs/types/send_typing_indicator_response.rb +100 -0
  303. data/lib/rcs/types/sent_mms_details.rb +118 -0
  304. data/lib/rcs/types/sent_rich_message.rb +104 -0
  305. data/lib/rcs/types/sent_sms_details.rb +110 -0
  306. data/lib/rcs/types/shortened_url.rb +77 -0
  307. data/lib/rcs/types/shortened_url_with_click_data.rb +90 -0
  308. data/lib/rcs/types/sms_content.rb +58 -0
  309. data/lib/rcs/types/sms_validation_response_segments.rb +80 -0
  310. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +75 -0
  311. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +68 -0
  312. data/lib/rcs/types/sms_validation_response_total.rb +75 -0
  313. data/lib/rcs/types/sms_validation_result.rb +102 -0
  314. data/lib/rcs/types/sub_use_case_enum.rb +19 -0
  315. data/lib/rcs/types/submission_results.rb +57 -0
  316. data/lib/rcs/types/successful_conversation_update.rb +58 -0
  317. data/lib/rcs/types/toll_free_campaign.rb +160 -0
  318. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +82 -0
  319. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +62 -0
  320. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +74 -0
  321. data/lib/rcs/types/toll_free_campaign_schema_links.rb +70 -0
  322. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +78 -0
  323. data/lib/rcs/types/toll_free_campaign_schema_options.rb +60 -0
  324. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +71 -0
  325. data/lib/rcs/types/toll_free_campaign_status.rb +93 -0
  326. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +52 -0
  327. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +195 -0
  328. data/lib/rcs/types/toll_free_status_enum.rb +20 -0
  329. data/lib/rcs/types/tracking.rb +17 -0
  330. data/lib/rcs/types/updated_contact_id.rb +59 -0
  331. data/lib/rcs/types/upload_results.rb +80 -0
  332. data/lib/rcs/types/user_event.rb +83 -0
  333. data/lib/rcs/types/user_event_conversation.rb +78 -0
  334. data/lib/rcs/types/v_card_address_schema_type_item.rb +15 -0
  335. data/lib/rcs/types/v_card_data.rb +239 -0
  336. data/lib/rcs/types/v_card_data_file.rb +74 -0
  337. data/lib/rcs/types/v_card_data_file_metadata.rb +62 -0
  338. data/lib/rcs/types/v_card_email_schema_type_item.rb +21 -0
  339. data/lib/rcs/types/v_card_geo.rb +70 -0
  340. data/lib/rcs/types/v_card_name.rb +98 -0
  341. data/lib/rcs/types/v_card_organization.rb +70 -0
  342. data/lib/rcs/types/v_card_phone_schema_type_item.rb +21 -0
  343. data/lib/rcs/types/validate_campaign_params.rb +81 -0
  344. data/lib/rcs/types/validation_error_details.rb +76 -0
  345. data/lib/rcs/types/validation_results.rb +71 -0
  346. data/lib/rcs/types/vcard.rb +217 -0
  347. data/lib/rcs/types/vcard_address.rb +130 -0
  348. data/lib/rcs/types/vcard_content.rb +225 -0
  349. data/lib/rcs/types/vcard_email.rb +70 -0
  350. data/lib/rcs/types/vcard_phone.rb +70 -0
  351. data/lib/rcs/types/vcard_resource.rb +73 -0
  352. data/lib/rcs/types/vetting_feedback.rb +81 -0
  353. data/lib/rcs/types/vetting_history.rb +98 -0
  354. data/lib/rcs/types/vetting_history_vetting_status.rb +13 -0
  355. data/lib/rcs/types/vetting_results.rb +57 -0
  356. data/lib/rcs/types/webhook_event_enum.rb +14 -0
  357. data/lib/rcs/types/webhook_result.rb +64 -0
  358. data/lib/rcs/types/webhooks.rb +77 -0
  359. data/lib/rcs/types/zod_error.rb +73 -0
  360. data/lib/rcs/webhooks/client.rb +97 -0
  361. data/lib/rcs.rb +124 -0
  362. data/lib/requests.rb +163 -0
  363. data/lib/types_export.rb +334 -0
  364. metadata +456 -468
  365. data/.fern/metadata.json +0 -12
  366. data/.fernignore +0 -6
  367. data/.rubocop.yml +0 -60
  368. data/README.md +0 -121
  369. data/Rakefile +0 -20
  370. data/custom.gemspec.rb +0 -13
  371. data/lib/pinnacle/audiences/client.rb +0 -183
  372. data/lib/pinnacle/audiences/contacts/client.rb +0 -97
  373. data/lib/pinnacle/audiences/contacts/types/add_contacts_params.rb +0 -14
  374. data/lib/pinnacle/audiences/contacts/types/remove_contacts_params.rb +0 -14
  375. data/lib/pinnacle/audiences/types/audiences_delete_request.rb +0 -11
  376. data/lib/pinnacle/audiences/types/audiences_get_request.rb +0 -13
  377. data/lib/pinnacle/audiences/types/audiences_get_response.rb +0 -14
  378. data/lib/pinnacle/audiences/types/create_audience_params.rb +0 -13
  379. data/lib/pinnacle/audiences/types/update_audience_params.rb +0 -13
  380. data/lib/pinnacle/base_client.rb +0 -75
  381. data/lib/pinnacle/brands/client.rb +0 -245
  382. data/lib/pinnacle/brands/types/autofill_brand_options.rb +0 -11
  383. data/lib/pinnacle/brands/types/autofill_brand_params.rb +0 -14
  384. data/lib/pinnacle/brands/types/brands_get_request.rb +0 -12
  385. data/lib/pinnacle/brands/types/upsert_brand_params.rb +0 -22
  386. data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +0 -15
  387. data/lib/pinnacle/brands/types/upsert_brand_schema_entity_type.rb +0 -17
  388. data/lib/pinnacle/brands/types/upsert_brand_schema_sector.rb +0 -29
  389. data/lib/pinnacle/brands/types/upsert_brand_schema_type.rb +0 -17
  390. data/lib/pinnacle/brands/types/vet_brand_params.rb +0 -14
  391. data/lib/pinnacle/campaigns/client.rb +0 -29
  392. data/lib/pinnacle/campaigns/dlc/client.rb +0 -201
  393. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -15
  394. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -16
  395. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +0 -15
  396. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -15
  397. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -15
  398. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +0 -19
  399. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -15
  400. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +0 -23
  401. data/lib/pinnacle/campaigns/rcs/client.rb +0 -199
  402. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +0 -21
  403. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +0 -14
  404. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +0 -14
  405. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +0 -14
  406. data/lib/pinnacle/campaigns/rcs/types/rcs_autofill_response.rb +0 -13
  407. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -14
  408. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -15
  409. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -14
  410. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -14
  411. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -14
  412. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +0 -15
  413. data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +0 -15
  414. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +0 -28
  415. data/lib/pinnacle/campaigns/toll_free/client.rb +0 -201
  416. data/lib/pinnacle/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -13
  417. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -14
  418. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -15
  419. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -15
  420. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -16
  421. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -15
  422. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -14
  423. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -15
  424. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +0 -22
  425. data/lib/pinnacle/client.rb +0 -26
  426. data/lib/pinnacle/contacts/client.rb +0 -130
  427. data/lib/pinnacle/contacts/types/contacts_get_request.rb +0 -12
  428. data/lib/pinnacle/contacts/types/create_contact_params.rb +0 -15
  429. data/lib/pinnacle/contacts/types/update_contact_params.rb +0 -15
  430. data/lib/pinnacle/conversations/client.rb +0 -175
  431. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +0 -19
  432. data/lib/pinnacle/conversations/types/conversations_list_messages_request_direction.rb +0 -14
  433. data/lib/pinnacle/conversations/types/conversations_list_messages_request_sort_order.rb +0 -14
  434. data/lib/pinnacle/conversations/types/conversations_list_messages_request_status.rb +0 -19
  435. data/lib/pinnacle/conversations/types/conversations_list_messages_request_type.rb +0 -15
  436. data/lib/pinnacle/conversations/types/list_conversations_params.rb +0 -17
  437. data/lib/pinnacle/conversations/types/update_conversation_params.rb +0 -12
  438. data/lib/pinnacle/errors/api_error.rb +0 -8
  439. data/lib/pinnacle/errors/client_error.rb +0 -17
  440. data/lib/pinnacle/errors/redirect_error.rb +0 -8
  441. data/lib/pinnacle/errors/response_error.rb +0 -42
  442. data/lib/pinnacle/errors/server_error.rb +0 -11
  443. data/lib/pinnacle/errors/timeout_error.rb +0 -8
  444. data/lib/pinnacle/internal/errors/constraint_error.rb +0 -10
  445. data/lib/pinnacle/internal/errors/type_error.rb +0 -10
  446. data/lib/pinnacle/internal/http/base_request.rb +0 -31
  447. data/lib/pinnacle/internal/http/raw_client.rb +0 -116
  448. data/lib/pinnacle/internal/iterators/cursor_item_iterator.rb +0 -28
  449. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +0 -51
  450. data/lib/pinnacle/internal/iterators/item_iterator.rb +0 -59
  451. data/lib/pinnacle/internal/iterators/offset_item_iterator.rb +0 -30
  452. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +0 -83
  453. data/lib/pinnacle/internal/json/request.rb +0 -39
  454. data/lib/pinnacle/internal/json/serializable.rb +0 -25
  455. data/lib/pinnacle/internal/multipart/multipart_encoder.rb +0 -141
  456. data/lib/pinnacle/internal/multipart/multipart_form_data.rb +0 -78
  457. data/lib/pinnacle/internal/multipart/multipart_form_data_part.rb +0 -51
  458. data/lib/pinnacle/internal/multipart/multipart_request.rb +0 -38
  459. data/lib/pinnacle/internal/types/array.rb +0 -47
  460. data/lib/pinnacle/internal/types/boolean.rb +0 -34
  461. data/lib/pinnacle/internal/types/enum.rb +0 -56
  462. data/lib/pinnacle/internal/types/hash.rb +0 -36
  463. data/lib/pinnacle/internal/types/model/field.rb +0 -38
  464. data/lib/pinnacle/internal/types/model.rb +0 -208
  465. data/lib/pinnacle/internal/types/type.rb +0 -35
  466. data/lib/pinnacle/internal/types/union.rb +0 -161
  467. data/lib/pinnacle/internal/types/unknown.rb +0 -15
  468. data/lib/pinnacle/internal/types/utils.rb +0 -116
  469. data/lib/pinnacle/messages/blast/client.rb +0 -143
  470. data/lib/pinnacle/messages/blast/types/blast_mms.rb +0 -16
  471. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +0 -15
  472. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +0 -16
  473. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +0 -16
  474. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +0 -17
  475. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -20
  476. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
  477. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -16
  478. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +0 -16
  479. data/lib/pinnacle/messages/blast/types/blast_sms.rb +0 -16
  480. data/lib/pinnacle/messages/blast/types/blast_sms_options.rb +0 -14
  481. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +0 -16
  482. data/lib/pinnacle/messages/client.rb +0 -110
  483. data/lib/pinnacle/messages/mms/client.rb +0 -87
  484. data/lib/pinnacle/messages/mms/types/mms.rb +0 -17
  485. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +0 -16
  486. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +0 -17
  487. data/lib/pinnacle/messages/rcs/client.rb +0 -140
  488. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +0 -16
  489. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +0 -15
  490. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -14
  491. data/lib/pinnacle/messages/schedule/client.rb +0 -53
  492. data/lib/pinnacle/messages/sms/client.rb +0 -87
  493. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +0 -15
  494. data/lib/pinnacle/messages/sms/types/sms.rb +0 -16
  495. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +0 -16
  496. data/lib/pinnacle/messages/types/react_message_options.rb +0 -11
  497. data/lib/pinnacle/messages/types/react_message_params.rb +0 -13
  498. data/lib/pinnacle/phone_numbers/campaign/client.rb +0 -90
  499. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +0 -15
  500. data/lib/pinnacle/phone_numbers/campaign/types/detach_campaign_params.rb +0 -13
  501. data/lib/pinnacle/phone_numbers/client.rb +0 -133
  502. data/lib/pinnacle/phone_numbers/types/buy_phone_number_params.rb +0 -11
  503. data/lib/pinnacle/phone_numbers/types/enhanced_contact_info.rb +0 -12
  504. data/lib/pinnacle/phone_numbers/types/phone_details_schema_level.rb +0 -14
  505. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +0 -14
  506. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -14
  507. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +0 -13
  508. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +0 -14
  509. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +0 -17
  510. data/lib/pinnacle/phone_numbers/types/search_phone_number_options.rb +0 -12
  511. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +0 -15
  512. data/lib/pinnacle/phone_numbers/webhook/client.rb +0 -90
  513. data/lib/pinnacle/rcs/client.rb +0 -159
  514. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +0 -11
  515. data/lib/pinnacle/rcs/types/rcs_link_request.rb +0 -14
  516. data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +0 -12
  517. data/lib/pinnacle/status/client.rb +0 -19
  518. data/lib/pinnacle/status/get/client.rb +0 -188
  519. data/lib/pinnacle/tools/client.rb +0 -29
  520. data/lib/pinnacle/tools/contact_card/client.rb +0 -92
  521. data/lib/pinnacle/tools/contact_card/types/get_v_card_schema_options.rb +0 -13
  522. data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +0 -14
  523. data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +0 -29
  524. data/lib/pinnacle/tools/file/client.rb +0 -94
  525. data/lib/pinnacle/tools/file/types/download_options.rb +0 -14
  526. data/lib/pinnacle/tools/file/types/refresh_file_params.rb +0 -13
  527. data/lib/pinnacle/tools/file/types/upload_file_options.rb +0 -15
  528. data/lib/pinnacle/tools/file/types/upload_file_params.rb +0 -16
  529. data/lib/pinnacle/tools/url/client.rb +0 -128
  530. data/lib/pinnacle/tools/url/types/create_url_params.rb +0 -14
  531. data/lib/pinnacle/tools/url/types/update_url_params.rb +0 -15
  532. data/lib/pinnacle/types/advanced_phone_information.rb +0 -17
  533. data/lib/pinnacle/types/advanced_phone_information_carrier.rb +0 -13
  534. data/lib/pinnacle/types/advanced_phone_information_contact.rb +0 -19
  535. data/lib/pinnacle/types/advanced_phone_information_location.rb +0 -18
  536. data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +0 -11
  537. data/lib/pinnacle/types/advanced_phone_information_location_country.rb +0 -12
  538. data/lib/pinnacle/types/advanced_phone_information_type.rb +0 -13
  539. data/lib/pinnacle/types/advanced_phone_information_type_recommendation.rb +0 -13
  540. data/lib/pinnacle/types/agent.rb +0 -11
  541. data/lib/pinnacle/types/attach_webhook_by_id_params.rb +0 -11
  542. data/lib/pinnacle/types/attach_webhook_params.rb +0 -15
  543. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +0 -13
  544. data/lib/pinnacle/types/attached_phone_number_result.rb +0 -10
  545. data/lib/pinnacle/types/audience_count_only.rb +0 -12
  546. data/lib/pinnacle/types/audience_with_pagination.rb +0 -14
  547. data/lib/pinnacle/types/autofill_campaign_params.rb +0 -10
  548. data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +0 -19
  549. data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +0 -12
  550. data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +0 -11
  551. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +0 -11
  552. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +0 -11
  553. data/lib/pinnacle/types/autofill_dlc_response_links.rb +0 -11
  554. data/lib/pinnacle/types/autofill_dlc_response_options.rb +0 -15
  555. data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +0 -11
  556. data/lib/pinnacle/types/bad_request_error_body.rb +0 -12
  557. data/lib/pinnacle/types/base_rich_message.rb +0 -11
  558. data/lib/pinnacle/types/basic_phone_information.rb +0 -16
  559. data/lib/pinnacle/types/basic_phone_information_contact.rb +0 -10
  560. data/lib/pinnacle/types/basic_phone_information_location.rb +0 -11
  561. data/lib/pinnacle/types/basic_phone_information_location_country.rb +0 -12
  562. data/lib/pinnacle/types/blast_details.rb +0 -15
  563. data/lib/pinnacle/types/brand_status.rb +0 -12
  564. data/lib/pinnacle/types/brand_status_enum.rb +0 -16
  565. data/lib/pinnacle/types/button_clicked.rb +0 -12
  566. data/lib/pinnacle/types/button_clicked_data.rb +0 -11
  567. data/lib/pinnacle/types/button_clicked_data_button.rb +0 -14
  568. data/lib/pinnacle/types/button_clicked_data_button_raw.rb +0 -14
  569. data/lib/pinnacle/types/button_clicked_data_button_type.rb +0 -12
  570. data/lib/pinnacle/types/buy_response_capabilities.rb +0 -12
  571. data/lib/pinnacle/types/campaign_enum.rb +0 -13
  572. data/lib/pinnacle/types/campaign_query.rb +0 -11
  573. data/lib/pinnacle/types/campaign_submission_result.rb +0 -9
  574. data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +0 -11
  575. data/lib/pinnacle/types/campaign_validation_result.rb +0 -10
  576. data/lib/pinnacle/types/company_entity_type_enum.rb +0 -15
  577. data/lib/pinnacle/types/company_sector_enum.rb +0 -27
  578. data/lib/pinnacle/types/company_type_enum.rb +0 -15
  579. data/lib/pinnacle/types/configured_webhook.rb +0 -13
  580. data/lib/pinnacle/types/contact.rb +0 -14
  581. data/lib/pinnacle/types/contact_id.rb +0 -9
  582. data/lib/pinnacle/types/conversation.rb +0 -17
  583. data/lib/pinnacle/types/conversation_by_id_params.rb +0 -10
  584. data/lib/pinnacle/types/conversation_by_participants_params.rb +0 -11
  585. data/lib/pinnacle/types/conversation_contact.rb +0 -11
  586. data/lib/pinnacle/types/conversation_list.rb +0 -12
  587. data/lib/pinnacle/types/conversation_sender.rb +0 -16
  588. data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +0 -12
  589. data/lib/pinnacle/types/create_url_options.rb +0 -9
  590. data/lib/pinnacle/types/delete_audience_response.rb +0 -9
  591. data/lib/pinnacle/types/detached_phone_number_result.rb +0 -10
  592. data/lib/pinnacle/types/detached_webhook_info.rb +0 -11
  593. data/lib/pinnacle/types/detailed_phone_number_enum.rb +0 -22
  594. data/lib/pinnacle/types/dlc_assignment_status_enum.rb +0 -15
  595. data/lib/pinnacle/types/dlc_campaign_status.rb +0 -13
  596. data/lib/pinnacle/types/dlc_campaign_use_case_enum.rb +0 -36
  597. data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +0 -23
  598. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +0 -12
  599. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -11
  600. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -11
  601. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -11
  602. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +0 -11
  603. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -14
  604. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -20
  605. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +0 -15
  606. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +0 -11
  607. data/lib/pinnacle/types/enhanced_contact.rb +0 -23
  608. data/lib/pinnacle/types/enhanced_contact_item.rb +0 -13
  609. data/lib/pinnacle/types/error.rb +0 -10
  610. data/lib/pinnacle/types/extended_brand.rb +0 -13
  611. data/lib/pinnacle/types/extended_brand_with_vetting.rb +0 -11
  612. data/lib/pinnacle/types/extended_rcs_campaign.rb +0 -26
  613. data/lib/pinnacle/types/get_conversation_params.rb +0 -13
  614. data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +0 -15
  615. data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +0 -15
  616. data/lib/pinnacle/types/link_click_event.rb +0 -57
  617. data/lib/pinnacle/types/location_share_action.rb +0 -9
  618. data/lib/pinnacle/types/location_share_action_data.rb +0 -13
  619. data/lib/pinnacle/types/message.rb +0 -20
  620. data/lib/pinnacle/types/message_content.rb +0 -15
  621. data/lib/pinnacle/types/message_event.rb +0 -17
  622. data/lib/pinnacle/types/message_event_content.rb +0 -18
  623. data/lib/pinnacle/types/message_event_conversation.rb +0 -12
  624. data/lib/pinnacle/types/message_event_direction.rb +0 -12
  625. data/lib/pinnacle/types/message_event_mms_content.rb +0 -13
  626. data/lib/pinnacle/types/message_event_rcs_button_data.rb +0 -15
  627. data/lib/pinnacle/types/message_event_rcs_cards_content.rb +0 -16
  628. data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +0 -13
  629. data/lib/pinnacle/types/message_event_rcs_location_data.rb +0 -15
  630. data/lib/pinnacle/types/message_event_rcs_media_content.rb +0 -15
  631. data/lib/pinnacle/types/message_event_rcs_text_content.rb +0 -13
  632. data/lib/pinnacle/types/message_event_sms_content.rb +0 -12
  633. data/lib/pinnacle/types/message_list.rb +0 -12
  634. data/lib/pinnacle/types/message_method_enum.rb +0 -13
  635. data/lib/pinnacle/types/message_protocol_enum.rb +0 -13
  636. data/lib/pinnacle/types/message_schedule.rb +0 -13
  637. data/lib/pinnacle/types/message_status_enum.rb +0 -18
  638. data/lib/pinnacle/types/message_volume_enum.rb +0 -21
  639. data/lib/pinnacle/types/message_with_reaction.rb +0 -11
  640. data/lib/pinnacle/types/message_with_reaction_direction.rb +0 -12
  641. data/lib/pinnacle/types/messaging_profile_enum.rb +0 -12
  642. data/lib/pinnacle/types/mms_content.rb +0 -11
  643. data/lib/pinnacle/types/mms_validation_response_segments.rb +0 -12
  644. data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +0 -11
  645. data/lib/pinnacle/types/mms_validation_result.rb +0 -11
  646. data/lib/pinnacle/types/not_found_error_body.rb +0 -9
  647. data/lib/pinnacle/types/number_format.rb +0 -13
  648. data/lib/pinnacle/types/opt_in_method_enum.rb +0 -14
  649. data/lib/pinnacle/types/optional_brand_info.rb +0 -19
  650. data/lib/pinnacle/types/optional_contact.rb +0 -12
  651. data/lib/pinnacle/types/optional_contacts.rb +0 -13
  652. data/lib/pinnacle/types/pagination.rb +0 -12
  653. data/lib/pinnacle/types/phone.rb +0 -14
  654. data/lib/pinnacle/types/phone_capabilities.rb +0 -12
  655. data/lib/pinnacle/types/phone_enum.rb +0 -12
  656. data/lib/pinnacle/types/phone_feature_enum.rb +0 -18
  657. data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +0 -10
  658. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -10
  659. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -12
  660. data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +0 -10
  661. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -10
  662. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -12
  663. data/lib/pinnacle/types/phone_number_cost.rb +0 -12
  664. data/lib/pinnacle/types/phone_number_details.rb +0 -15
  665. data/lib/pinnacle/types/phone_number_enum.rb +0 -18
  666. data/lib/pinnacle/types/phone_number_region.rb +0 -13
  667. data/lib/pinnacle/types/phone_number_status.rb +0 -12
  668. data/lib/pinnacle/types/phone_number_status_enum.rb +0 -13
  669. data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +0 -12
  670. data/lib/pinnacle/types/pinnacle_url_config.rb +0 -10
  671. data/lib/pinnacle/types/profile_status_enum.rb +0 -14
  672. data/lib/pinnacle/types/purchased_number.rb +0 -12
  673. data/lib/pinnacle/types/rcs_button_call.rb +0 -12
  674. data/lib/pinnacle/types/rcs_button_open_url.rb +0 -13
  675. data/lib/pinnacle/types/rcs_button_open_url_webview_mode.rb +0 -13
  676. data/lib/pinnacle/types/rcs_button_request_user_location.rb +0 -11
  677. data/lib/pinnacle/types/rcs_button_schedule_event.rb +0 -15
  678. data/lib/pinnacle/types/rcs_button_send_location.rb +0 -13
  679. data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +0 -11
  680. data/lib/pinnacle/types/rcs_button_trigger.rb +0 -12
  681. data/lib/pinnacle/types/rcs_campaign.rb +0 -23
  682. data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +0 -17
  683. data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +0 -10
  684. data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +0 -10
  685. data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +0 -10
  686. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +0 -17
  687. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -10
  688. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -10
  689. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -10
  690. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +0 -11
  691. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +0 -10
  692. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -10
  693. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -10
  694. data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +0 -11
  695. data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +0 -10
  696. data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +0 -11
  697. data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +0 -11
  698. data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +0 -10
  699. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +0 -10
  700. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +0 -10
  701. data/lib/pinnacle/types/rcs_campaign_schema_links.rb +0 -11
  702. data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +0 -10
  703. data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +0 -11
  704. data/lib/pinnacle/types/rcs_campaign_status.rb +0 -12
  705. data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +0 -24
  706. data/lib/pinnacle/types/rcs_capabilities_result.rb +0 -23
  707. data/lib/pinnacle/types/rcs_capability.rb +0 -11
  708. data/lib/pinnacle/types/rcs_capability_actions.rb +0 -16
  709. data/lib/pinnacle/types/rcs_capability_cards.rb +0 -10
  710. data/lib/pinnacle/types/rcs_cards_content.rb +0 -13
  711. data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +0 -13
  712. data/lib/pinnacle/types/rcs_content.rb +0 -14
  713. data/lib/pinnacle/types/rcs_link_result.rb +0 -13
  714. data/lib/pinnacle/types/rcs_media_content.rb +0 -13
  715. data/lib/pinnacle/types/rcs_media_details_content.rb +0 -12
  716. data/lib/pinnacle/types/rcs_messaging_type_enum.rb +0 -14
  717. data/lib/pinnacle/types/rcs_validate_content.rb +0 -13
  718. data/lib/pinnacle/types/rcs_validate_content_media.rb +0 -13
  719. data/lib/pinnacle/types/rcs_validation_result.rb +0 -12
  720. data/lib/pinnacle/types/rcs_whitelist_response.rb +0 -10
  721. data/lib/pinnacle/types/reaction_result.rb +0 -10
  722. data/lib/pinnacle/types/refreshed_file.rb +0 -10
  723. data/lib/pinnacle/types/rich_button.rb +0 -18
  724. data/lib/pinnacle/types/rich_card.rb +0 -13
  725. data/lib/pinnacle/types/rich_cards.rb +0 -13
  726. data/lib/pinnacle/types/rich_cards_message.rb +0 -11
  727. data/lib/pinnacle/types/rich_media_message.rb +0 -10
  728. data/lib/pinnacle/types/rich_message.rb +0 -13
  729. data/lib/pinnacle/types/rich_standalone_card_options.rb +0 -17
  730. data/lib/pinnacle/types/rich_text.rb +0 -11
  731. data/lib/pinnacle/types/rich_text_message.rb +0 -7
  732. data/lib/pinnacle/types/schedule_cancel_result.rb +0 -10
  733. data/lib/pinnacle/types/scheduled_blast_details.rb +0 -11
  734. data/lib/pinnacle/types/scheduled_blast_response_config.rb +0 -13
  735. data/lib/pinnacle/types/scheduled_message.rb +0 -10
  736. data/lib/pinnacle/types/scheduled_send_response_config.rb +0 -13
  737. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
  738. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_orientation.rb +0 -12
  739. data/lib/pinnacle/types/send_rich_cards_options.rb +0 -9
  740. data/lib/pinnacle/types/send_rich_message_options.rb +0 -14
  741. data/lib/pinnacle/types/send_sms_response_segments.rb +0 -11
  742. data/lib/pinnacle/types/send_sms_response_segments_encoding.rb +0 -12
  743. data/lib/pinnacle/types/send_typing_indicator_response.rb +0 -14
  744. data/lib/pinnacle/types/sender.rb +0 -23
  745. data/lib/pinnacle/types/sent_mms_details.rb +0 -14
  746. data/lib/pinnacle/types/sent_rich_message.rb +0 -14
  747. data/lib/pinnacle/types/sent_sms_details.rb +0 -14
  748. data/lib/pinnacle/types/shortened_url.rb +0 -10
  749. data/lib/pinnacle/types/shortened_url_with_click_data.rb +0 -9
  750. data/lib/pinnacle/types/sms_content.rb +0 -10
  751. data/lib/pinnacle/types/sms_validation_response_segments.rb +0 -11
  752. data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +0 -12
  753. data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +0 -11
  754. data/lib/pinnacle/types/sms_validation_response_total.rb +0 -10
  755. data/lib/pinnacle/types/sms_validation_result.rb +0 -12
  756. data/lib/pinnacle/types/sub_use_case_enum.rb +0 -20
  757. data/lib/pinnacle/types/submission_results.rb +0 -9
  758. data/lib/pinnacle/types/successful_conversation_update.rb +0 -10
  759. data/lib/pinnacle/types/toll_free_campaign.rb +0 -17
  760. data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +0 -11
  761. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_help.rb +0 -10
  762. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -11
  763. data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +0 -11
  764. data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +0 -12
  765. data/lib/pinnacle/types/toll_free_campaign_schema_options.rb +0 -10
  766. data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +0 -11
  767. data/lib/pinnacle/types/toll_free_campaign_status.rb +0 -12
  768. data/lib/pinnacle/types/toll_free_campaign_use_case_enum.rb +0 -53
  769. data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -19
  770. data/lib/pinnacle/types/toll_free_status_enum.rb +0 -16
  771. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +0 -11
  772. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_help.rb +0 -10
  773. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +0 -11
  774. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +0 -11
  775. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +0 -12
  776. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_options.rb +0 -10
  777. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +0 -11
  778. data/lib/pinnacle/types/tracking.rb +0 -12
  779. data/lib/pinnacle/types/updated_contact_id.rb +0 -9
  780. data/lib/pinnacle/types/upload_results.rb +0 -11
  781. data/lib/pinnacle/types/user_event.rb +0 -12
  782. data/lib/pinnacle/types/user_event_conversation.rb +0 -12
  783. data/lib/pinnacle/types/v_card_address_schema_type_item.rb +0 -17
  784. data/lib/pinnacle/types/v_card_data.rb +0 -9
  785. data/lib/pinnacle/types/v_card_data_file.rb +0 -11
  786. data/lib/pinnacle/types/v_card_data_file_metadata.rb +0 -10
  787. data/lib/pinnacle/types/v_card_email_schema_type_item.rb +0 -23
  788. data/lib/pinnacle/types/v_card_geo.rb +0 -11
  789. data/lib/pinnacle/types/v_card_name.rb +0 -14
  790. data/lib/pinnacle/types/v_card_organization.rb +0 -11
  791. data/lib/pinnacle/types/v_card_phone_schema_type_item.rb +0 -23
  792. data/lib/pinnacle/types/validate_campaign_params.rb +0 -10
  793. data/lib/pinnacle/types/validation_error_details.rb +0 -11
  794. data/lib/pinnacle/types/validation_results.rb +0 -10
  795. data/lib/pinnacle/types/vcard.rb +0 -24
  796. data/lib/pinnacle/types/vcard_address.rb +0 -17
  797. data/lib/pinnacle/types/vcard_content.rb +0 -9
  798. data/lib/pinnacle/types/vcard_email.rb +0 -10
  799. data/lib/pinnacle/types/vcard_phone.rb +0 -10
  800. data/lib/pinnacle/types/vcard_resource.rb +0 -10
  801. data/lib/pinnacle/types/vetting_feedback.rb +0 -12
  802. data/lib/pinnacle/types/vetting_history.rb +0 -13
  803. data/lib/pinnacle/types/vetting_history_vetting_status.rb +0 -14
  804. data/lib/pinnacle/types/vetting_results.rb +0 -9
  805. data/lib/pinnacle/types/webhook_event_enum.rb +0 -12
  806. data/lib/pinnacle/types/webhook_result.rb +0 -11
  807. data/lib/pinnacle/types/webhooks.rb +0 -12
  808. data/lib/pinnacle/types/zod_error.rb +0 -10
  809. data/lib/pinnacle/version.rb +0 -5
  810. data/lib/pinnacle/webhooks/client.rb +0 -51
  811. data/lib/pinnacle/webhooks/types/get_webhook_params.rb +0 -11
  812. data/lib/pinnacle/wrapper/messages/client.rb +0 -72
  813. data/lib/pinnacle/wrapper/tools/client.rb +0 -14
  814. data/lib/pinnacle/wrapper/tools/file_uploader.rb +0 -149
  815. data/lib/pinnacle.rb +0 -449
  816. data/reference.md +0 -5956
  817. data/wiremock/docker-compose.test.yml +0 -14
  818. data/wiremock/wiremock-mappings.json +0 -1
  819. /data/lib/{pinnacle/environment.rb → environment.rb} +0 -0
@@ -0,0 +1,492 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../types/autofill_campaign_params"
5
+ require_relative "../../types/autofill_dlc_campaign_response"
6
+ require_relative "../../types/dlc_campaign_with_extended_brand_and_status"
7
+ require_relative "../../types/campaign_submission_result"
8
+ require_relative "types/dlc_campaign_keywords"
9
+ require_relative "types/dlc_campaign_links"
10
+ require_relative "types/dlc_campaign_options"
11
+ require_relative "types/dlc_campaign_use_case"
12
+ require_relative "../../types/validate_campaign_params"
13
+ require_relative "../../types/campaign_validation_result"
14
+ require "async"
15
+
16
+ module Pinnacle
17
+ module Campaigns
18
+ class DlcClient
19
+ # @return [Pinnacle::RequestClient]
20
+ attr_reader :request_client
21
+
22
+ # @param request_client [Pinnacle::RequestClient]
23
+ # @return [Pinnacle::Campaigns::DlcClient]
24
+ def initialize(request_client:)
25
+ @request_client = request_client
26
+ end
27
+
28
+ # Generate campaign details based off existing campaign and the brand it's
29
+ # connected to.
30
+ #
31
+ # @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
32
+ # * :additional_info (String)
33
+ # * :campaign_id (String)
34
+ # @param request_options [Pinnacle::RequestOptions]
35
+ # @return [Pinnacle::Types::AutofillDlcCampaignResponse]
36
+ # @example
37
+ # api = Pinnacle::Client.new(
38
+ # base_url: "https://api.example.com",
39
+ # environment: Pinnacle::Environment::DEFAULT,
40
+ # api_key: "YOUR_API_KEY"
41
+ # )
42
+ # api.campaigns.dlc.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
43
+ def autofill(request:, request_options: nil)
44
+ response = @request_client.conn.post do |req|
45
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
46
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
47
+ req.headers = {
48
+ **(req.headers || {}),
49
+ **@request_client.get_headers,
50
+ **(request_options&.additional_headers || {})
51
+ }.compact
52
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
53
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
54
+ end
55
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
56
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/autofill"
57
+ end
58
+ Pinnacle::Types::AutofillDlcCampaignResponse.from_json(json_object: response.body)
59
+ end
60
+
61
+ # Retrieve 10DLC campaign.
62
+ #
63
+ # @param campaign_id [String] Unique identifier of the 10DLC campaign. This identifier is a string that always
64
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
65
+ # @param request_options [Pinnacle::RequestOptions]
66
+ # @return [Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus]
67
+ # @example
68
+ # api = Pinnacle::Client.new(
69
+ # base_url: "https://api.example.com",
70
+ # environment: Pinnacle::Environment::DEFAULT,
71
+ # api_key: "YOUR_API_KEY"
72
+ # )
73
+ # api.campaigns.dlc.get(campaign_id: "dlc_1234567890")
74
+ def get(campaign_id:, request_options: nil)
75
+ response = @request_client.conn.get do |req|
76
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
77
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
78
+ req.headers = {
79
+ **(req.headers || {}),
80
+ **@request_client.get_headers,
81
+ **(request_options&.additional_headers || {})
82
+ }.compact
83
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
84
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
85
+ end
86
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
87
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
88
+ end
89
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/#{campaign_id}"
90
+ end
91
+ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus.from_json(json_object: response.body)
92
+ end
93
+
94
+ # Submit your 10DLC campaign for approval and activation with carriers.
95
+ #
96
+ # @param campaign_id [String] Unique identifier of the 10DLC campaign to submit.
97
+ # <br><br> This identifier is a string that always begins with the prefix `dlc_`,
98
+ # for example: `dlc_1234567890`.
99
+ # @param request_options [Pinnacle::RequestOptions]
100
+ # @return [Pinnacle::Types::CampaignSubmissionResult]
101
+ # @example
102
+ # api = Pinnacle::Client.new(
103
+ # base_url: "https://api.example.com",
104
+ # environment: Pinnacle::Environment::DEFAULT,
105
+ # api_key: "YOUR_API_KEY"
106
+ # )
107
+ # api.campaigns.dlc.submit(campaign_id: "dlc_1234567890")
108
+ def submit(campaign_id:, request_options: nil)
109
+ response = @request_client.conn.post do |req|
110
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
111
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
112
+ req.headers = {
113
+ **(req.headers || {}),
114
+ **@request_client.get_headers,
115
+ **(request_options&.additional_headers || {})
116
+ }.compact
117
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
118
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
119
+ end
120
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
121
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
122
+ end
123
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/submit/#{campaign_id}"
124
+ end
125
+ Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
126
+ end
127
+
128
+ # Create a new 10DLC campaign or updates an existing one. <br>
129
+ # Omit campaignId to create a campaign.
130
+ #
131
+ # @param auto_renew [Boolean] Whether the campaign renews automatically.
132
+ # @param brand [String] Brand id. This identifier is a string that always begins with the prefix `b_`,
133
+ # for example: `b_1234567890`.
134
+ # @param campaign_id [String] Unique identifier for the campaign. This identifier is a string that always
135
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
136
+ # @param description [String] Description of the campaign.
137
+ # @param keywords [Hash] Keyword response configuration.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignKeywords, as a Hash
138
+ # * :help (Hash)
139
+ # * :message (String)
140
+ # * :values (Array<String>)
141
+ # * :opt_in (Hash)
142
+ # * :message (String)
143
+ # * :values (Array<String>)
144
+ # * :opt_out (Hash)
145
+ # * :message (String)
146
+ # * :values (Array<String>)
147
+ # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignLinks, as a Hash
148
+ # * :privacy_policy (String)
149
+ # * :terms_of_service (String)
150
+ # @param message_flow [String] Describe the flow of how users will opt in to this campaign.
151
+ # @param name [String] Display name of the campaign.
152
+ # @param options [Hash] Campaign configuration options.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptions, as a Hash
153
+ # * :affiliate_marketing (Boolean)
154
+ # * :age_gated (Boolean)
155
+ # * :direct_lending (Boolean)
156
+ # * :embedded_link (String)
157
+ # * :embedded_phone (Boolean)
158
+ # * :number_pooling (Boolean)
159
+ # @param sample_messages [Array<String>] Example messages for the campaign. <br><br>
160
+ # **Limit:** 1 to 5
161
+ # @param use_case [Hash] Use case for the campaign.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase, as a Hash
162
+ # * :sub (Array<Pinnacle::Types::SubUseCaseEnum>)
163
+ # * :value (Pinnacle::Types::DlcCampaignUseCaseEnum)
164
+ # @param request_options [Pinnacle::RequestOptions]
165
+ # @return [Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus]
166
+ # @example
167
+ # api = Pinnacle::Client.new(
168
+ # base_url: "https://api.example.com",
169
+ # environment: Pinnacle::Environment::DEFAULT,
170
+ # api_key: "YOUR_API_KEY"
171
+ # )
172
+ # api.campaigns.dlc.upsert(
173
+ # auto_renew: true,
174
+ # brand: "b_1234567890",
175
+ # campaign_id: "dlc_1234567890",
176
+ # keywords: { help: { message: "Reply HELP for assistance, STOP to opt-out", values: ["HELP", "INFO", "SUPPORT"] }, opt_in: { message: "Welcome. You are now subscribed to Pinnacle.", values: ["JOIN", "START", "SUBSCRIBE"] }, opt_out: { message: "You have been unsubscribed. Reply START to rejoin.", values: ["STOP", "QUIT", "UNSUBSCRIBE"] } },
177
+ # links: { privacy_policy: "https://www.pinnacle.sh/privacy", terms_of_service: "https://www.pinnacle.sh/terms" },
178
+ # message_flow: "Customer initiates -> Automated response -> Agent follow-up if needed",
179
+ # name: "Account Notifications",
180
+ # options: { affiliate_marketing: false, age_gated: false, direct_lending: false, embedded_link: "https://www.pinnacle.sh/example", embedded_phone: false, number_pooling: false },
181
+ # sample_messages: ["Security alert: Unusual login detected from new device."],
182
+ # use_case: { sub: [FRAUD_ALERT], value: ACCOUNT_NOTIFICATION }
183
+ # )
184
+ def upsert(auto_renew: nil, brand: nil, campaign_id: nil, description: nil, keywords: nil, links: nil,
185
+ message_flow: nil, name: nil, options: nil, sample_messages: nil, use_case: nil, request_options: nil)
186
+ response = @request_client.conn.post do |req|
187
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
188
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
189
+ req.headers = {
190
+ **(req.headers || {}),
191
+ **@request_client.get_headers,
192
+ **(request_options&.additional_headers || {})
193
+ }.compact
194
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
195
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
196
+ end
197
+ req.body = {
198
+ **(request_options&.additional_body_parameters || {}),
199
+ autoRenew: auto_renew,
200
+ brand: brand,
201
+ campaignId: campaign_id,
202
+ description: description,
203
+ keywords: keywords,
204
+ links: links,
205
+ messageFlow: message_flow,
206
+ name: name,
207
+ options: options,
208
+ sampleMessages: sample_messages,
209
+ useCase: use_case
210
+ }.compact
211
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc"
212
+ end
213
+ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus.from_json(json_object: response.body)
214
+ end
215
+
216
+ # Validate your 10DLC campaign configuration against carrier requirements and
217
+ # compliance rules.
218
+ #
219
+ # @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
220
+ # * :additional_info (String)
221
+ # * :campaign_id (String)
222
+ # @param request_options [Pinnacle::RequestOptions]
223
+ # @return [Pinnacle::Types::CampaignValidationResult]
224
+ # @example
225
+ # api = Pinnacle::Client.new(
226
+ # base_url: "https://api.example.com",
227
+ # environment: Pinnacle::Environment::DEFAULT,
228
+ # api_key: "YOUR_API_KEY"
229
+ # )
230
+ # api.campaigns.dlc.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
231
+ def validate(request:, request_options: nil)
232
+ response = @request_client.conn.post do |req|
233
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
234
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
235
+ req.headers = {
236
+ **(req.headers || {}),
237
+ **@request_client.get_headers,
238
+ **(request_options&.additional_headers || {})
239
+ }.compact
240
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
241
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
242
+ end
243
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
244
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/validate"
245
+ end
246
+ Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
247
+ end
248
+ end
249
+
250
+ class AsyncDlcClient
251
+ # @return [Pinnacle::AsyncRequestClient]
252
+ attr_reader :request_client
253
+
254
+ # @param request_client [Pinnacle::AsyncRequestClient]
255
+ # @return [Pinnacle::Campaigns::AsyncDlcClient]
256
+ def initialize(request_client:)
257
+ @request_client = request_client
258
+ end
259
+
260
+ # Generate campaign details based off existing campaign and the brand it's
261
+ # connected to.
262
+ #
263
+ # @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
264
+ # * :additional_info (String)
265
+ # * :campaign_id (String)
266
+ # @param request_options [Pinnacle::RequestOptions]
267
+ # @return [Pinnacle::Types::AutofillDlcCampaignResponse]
268
+ # @example
269
+ # api = Pinnacle::Client.new(
270
+ # base_url: "https://api.example.com",
271
+ # environment: Pinnacle::Environment::DEFAULT,
272
+ # api_key: "YOUR_API_KEY"
273
+ # )
274
+ # api.campaigns.dlc.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
275
+ def autofill(request:, request_options: nil)
276
+ Async do
277
+ response = @request_client.conn.post do |req|
278
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
279
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
280
+ req.headers = {
281
+ **(req.headers || {}),
282
+ **@request_client.get_headers,
283
+ **(request_options&.additional_headers || {})
284
+ }.compact
285
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
286
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
287
+ end
288
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
289
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/autofill"
290
+ end
291
+ Pinnacle::Types::AutofillDlcCampaignResponse.from_json(json_object: response.body)
292
+ end
293
+ end
294
+
295
+ # Retrieve 10DLC campaign.
296
+ #
297
+ # @param campaign_id [String] Unique identifier of the 10DLC campaign. This identifier is a string that always
298
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
299
+ # @param request_options [Pinnacle::RequestOptions]
300
+ # @return [Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus]
301
+ # @example
302
+ # api = Pinnacle::Client.new(
303
+ # base_url: "https://api.example.com",
304
+ # environment: Pinnacle::Environment::DEFAULT,
305
+ # api_key: "YOUR_API_KEY"
306
+ # )
307
+ # api.campaigns.dlc.get(campaign_id: "dlc_1234567890")
308
+ def get(campaign_id:, request_options: nil)
309
+ Async do
310
+ response = @request_client.conn.get do |req|
311
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
312
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
313
+ req.headers = {
314
+ **(req.headers || {}),
315
+ **@request_client.get_headers,
316
+ **(request_options&.additional_headers || {})
317
+ }.compact
318
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
319
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
320
+ end
321
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
322
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
323
+ end
324
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/#{campaign_id}"
325
+ end
326
+ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus.from_json(json_object: response.body)
327
+ end
328
+ end
329
+
330
+ # Submit your 10DLC campaign for approval and activation with carriers.
331
+ #
332
+ # @param campaign_id [String] Unique identifier of the 10DLC campaign to submit.
333
+ # <br><br> This identifier is a string that always begins with the prefix `dlc_`,
334
+ # for example: `dlc_1234567890`.
335
+ # @param request_options [Pinnacle::RequestOptions]
336
+ # @return [Pinnacle::Types::CampaignSubmissionResult]
337
+ # @example
338
+ # api = Pinnacle::Client.new(
339
+ # base_url: "https://api.example.com",
340
+ # environment: Pinnacle::Environment::DEFAULT,
341
+ # api_key: "YOUR_API_KEY"
342
+ # )
343
+ # api.campaigns.dlc.submit(campaign_id: "dlc_1234567890")
344
+ def submit(campaign_id:, request_options: nil)
345
+ Async do
346
+ response = @request_client.conn.post do |req|
347
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
348
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
349
+ req.headers = {
350
+ **(req.headers || {}),
351
+ **@request_client.get_headers,
352
+ **(request_options&.additional_headers || {})
353
+ }.compact
354
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
355
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
356
+ end
357
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
358
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
359
+ end
360
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/submit/#{campaign_id}"
361
+ end
362
+ Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
363
+ end
364
+ end
365
+
366
+ # Create a new 10DLC campaign or updates an existing one. <br>
367
+ # Omit campaignId to create a campaign.
368
+ #
369
+ # @param auto_renew [Boolean] Whether the campaign renews automatically.
370
+ # @param brand [String] Brand id. This identifier is a string that always begins with the prefix `b_`,
371
+ # for example: `b_1234567890`.
372
+ # @param campaign_id [String] Unique identifier for the campaign. This identifier is a string that always
373
+ # begins with the prefix `dlc_`, for example: `dlc_1234567890`.
374
+ # @param description [String] Description of the campaign.
375
+ # @param keywords [Hash] Keyword response configuration.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignKeywords, as a Hash
376
+ # * :help (Hash)
377
+ # * :message (String)
378
+ # * :values (Array<String>)
379
+ # * :opt_in (Hash)
380
+ # * :message (String)
381
+ # * :values (Array<String>)
382
+ # * :opt_out (Hash)
383
+ # * :message (String)
384
+ # * :values (Array<String>)
385
+ # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignLinks, as a Hash
386
+ # * :privacy_policy (String)
387
+ # * :terms_of_service (String)
388
+ # @param message_flow [String] Describe the flow of how users will opt in to this campaign.
389
+ # @param name [String] Display name of the campaign.
390
+ # @param options [Hash] Campaign configuration options.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptions, as a Hash
391
+ # * :affiliate_marketing (Boolean)
392
+ # * :age_gated (Boolean)
393
+ # * :direct_lending (Boolean)
394
+ # * :embedded_link (String)
395
+ # * :embedded_phone (Boolean)
396
+ # * :number_pooling (Boolean)
397
+ # @param sample_messages [Array<String>] Example messages for the campaign. <br><br>
398
+ # **Limit:** 1 to 5
399
+ # @param use_case [Hash] Use case for the campaign.Request of type Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase, as a Hash
400
+ # * :sub (Array<Pinnacle::Types::SubUseCaseEnum>)
401
+ # * :value (Pinnacle::Types::DlcCampaignUseCaseEnum)
402
+ # @param request_options [Pinnacle::RequestOptions]
403
+ # @return [Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus]
404
+ # @example
405
+ # api = Pinnacle::Client.new(
406
+ # base_url: "https://api.example.com",
407
+ # environment: Pinnacle::Environment::DEFAULT,
408
+ # api_key: "YOUR_API_KEY"
409
+ # )
410
+ # api.campaigns.dlc.upsert(
411
+ # auto_renew: true,
412
+ # brand: "b_1234567890",
413
+ # campaign_id: "dlc_1234567890",
414
+ # keywords: { help: { message: "Reply HELP for assistance, STOP to opt-out", values: ["HELP", "INFO", "SUPPORT"] }, opt_in: { message: "Welcome. You are now subscribed to Pinnacle.", values: ["JOIN", "START", "SUBSCRIBE"] }, opt_out: { message: "You have been unsubscribed. Reply START to rejoin.", values: ["STOP", "QUIT", "UNSUBSCRIBE"] } },
415
+ # links: { privacy_policy: "https://www.pinnacle.sh/privacy", terms_of_service: "https://www.pinnacle.sh/terms" },
416
+ # message_flow: "Customer initiates -> Automated response -> Agent follow-up if needed",
417
+ # name: "Account Notifications",
418
+ # options: { affiliate_marketing: false, age_gated: false, direct_lending: false, embedded_link: "https://www.pinnacle.sh/example", embedded_phone: false, number_pooling: false },
419
+ # sample_messages: ["Security alert: Unusual login detected from new device."],
420
+ # use_case: { sub: [FRAUD_ALERT], value: ACCOUNT_NOTIFICATION }
421
+ # )
422
+ def upsert(auto_renew: nil, brand: nil, campaign_id: nil, description: nil, keywords: nil, links: nil,
423
+ message_flow: nil, name: nil, options: nil, sample_messages: nil, use_case: nil, request_options: nil)
424
+ Async do
425
+ response = @request_client.conn.post do |req|
426
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
427
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
428
+ req.headers = {
429
+ **(req.headers || {}),
430
+ **@request_client.get_headers,
431
+ **(request_options&.additional_headers || {})
432
+ }.compact
433
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
434
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
435
+ end
436
+ req.body = {
437
+ **(request_options&.additional_body_parameters || {}),
438
+ autoRenew: auto_renew,
439
+ brand: brand,
440
+ campaignId: campaign_id,
441
+ description: description,
442
+ keywords: keywords,
443
+ links: links,
444
+ messageFlow: message_flow,
445
+ name: name,
446
+ options: options,
447
+ sampleMessages: sample_messages,
448
+ useCase: use_case
449
+ }.compact
450
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc"
451
+ end
452
+ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus.from_json(json_object: response.body)
453
+ end
454
+ end
455
+
456
+ # Validate your 10DLC campaign configuration against carrier requirements and
457
+ # compliance rules.
458
+ #
459
+ # @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
460
+ # * :additional_info (String)
461
+ # * :campaign_id (String)
462
+ # @param request_options [Pinnacle::RequestOptions]
463
+ # @return [Pinnacle::Types::CampaignValidationResult]
464
+ # @example
465
+ # api = Pinnacle::Client.new(
466
+ # base_url: "https://api.example.com",
467
+ # environment: Pinnacle::Environment::DEFAULT,
468
+ # api_key: "YOUR_API_KEY"
469
+ # )
470
+ # api.campaigns.dlc.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
471
+ def validate(request:, request_options: nil)
472
+ Async do
473
+ response = @request_client.conn.post do |req|
474
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
475
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
476
+ req.headers = {
477
+ **(req.headers || {}),
478
+ **@request_client.get_headers,
479
+ **(request_options&.additional_headers || {})
480
+ }.compact
481
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
482
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
483
+ end
484
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
485
+ req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/dlc/validate"
486
+ end
487
+ Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
488
+ end
489
+ end
490
+ end
491
+ end
492
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Campaigns
8
+ module Dlc
9
+ module Types
10
+ # Help keyword settings.
11
+ class DlcCampaignHelpKeywords
12
+ # @return [String] Response message for help keywords.
13
+ attr_reader :message
14
+ # @return [Array<String>] Keywords that trigger help response.
15
+ attr_reader :values
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param message [String] Response message for help keywords.
25
+ # @param values [Array<String>] Keywords that trigger help response.
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords]
28
+ def initialize(message: OMIT, values: OMIT, additional_properties: nil)
29
+ @message = message if message != OMIT
30
+ @values = values if values != OMIT
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "message": message, "values": values }.reject do |_k, v|
33
+ v == OMIT
34
+ end
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of DlcCampaignHelpKeywords
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ message = parsed_json["message"]
45
+ values = parsed_json["values"]
46
+ new(
47
+ message: message,
48
+ values: values,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+
53
+ # Serialize an instance of DlcCampaignHelpKeywords to a JSON object
54
+ #
55
+ # @return [String]
56
+ def to_json(*_args)
57
+ @_field_set&.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
68
+ obj.values&.is_a?(Array) != false || raise("Passed value for field obj.values is not the expected type, validation failed.")
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "dlc_campaign_help_keywords"
4
+ require_relative "dlc_campaign_opt_in_keywords"
5
+ require_relative "dlc_campaign_opt_out_keywords"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Pinnacle
10
+ module Campaigns
11
+ module Dlc
12
+ module Types
13
+ # Keyword response configuration.
14
+ class DlcCampaignKeywords
15
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords] Help keyword settings.
16
+ attr_reader :help
17
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords] Opt-in keyword settings.
18
+ attr_reader :opt_in
19
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords] Opt-out keyword settings.
20
+ attr_reader :opt_out
21
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
22
+ attr_reader :additional_properties
23
+ # @return [Object]
24
+ attr_reader :_field_set
25
+ protected :_field_set
26
+
27
+ OMIT = Object.new
28
+
29
+ # @param help [Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords] Help keyword settings.
30
+ # @param opt_in [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords] Opt-in keyword settings.
31
+ # @param opt_out [Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords] Opt-out keyword settings.
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignKeywords]
34
+ def initialize(help: OMIT, opt_in: OMIT, opt_out: OMIT, additional_properties: nil)
35
+ @help = help if help != OMIT
36
+ @opt_in = opt_in if opt_in != OMIT
37
+ @opt_out = opt_out if opt_out != OMIT
38
+ @additional_properties = additional_properties
39
+ @_field_set = { "HELP": help, "OPT_IN": opt_in, "OPT_OUT": opt_out }.reject do |_k, v|
40
+ v == OMIT
41
+ end
42
+ end
43
+
44
+ # Deserialize a JSON object to an instance of DlcCampaignKeywords
45
+ #
46
+ # @param json_object [String]
47
+ # @return [Pinnacle::Campaigns::Dlc::Types::DlcCampaignKeywords]
48
+ def self.from_json(json_object:)
49
+ struct = JSON.parse(json_object, object_class: OpenStruct)
50
+ parsed_json = JSON.parse(json_object)
51
+ if parsed_json["HELP"].nil?
52
+ help = nil
53
+ else
54
+ help = parsed_json["HELP"].to_json
55
+ help = Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords.from_json(json_object: help)
56
+ end
57
+ if parsed_json["OPT_IN"].nil?
58
+ opt_in = nil
59
+ else
60
+ opt_in = parsed_json["OPT_IN"].to_json
61
+ opt_in = Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords.from_json(json_object: opt_in)
62
+ end
63
+ if parsed_json["OPT_OUT"].nil?
64
+ opt_out = nil
65
+ else
66
+ opt_out = parsed_json["OPT_OUT"].to_json
67
+ opt_out = Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords.from_json(json_object: opt_out)
68
+ end
69
+ new(
70
+ help: help,
71
+ opt_in: opt_in,
72
+ opt_out: opt_out,
73
+ additional_properties: struct
74
+ )
75
+ end
76
+
77
+ # Serialize an instance of DlcCampaignKeywords to a JSON object
78
+ #
79
+ # @return [String]
80
+ def to_json(*_args)
81
+ @_field_set&.to_json
82
+ end
83
+
84
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
85
+ # hash and check each fields type against the current object's property
86
+ # definitions.
87
+ #
88
+ # @param obj [Object]
89
+ # @return [Void]
90
+ def self.validate_raw(obj:)
91
+ obj.help.nil? || Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords.validate_raw(obj: obj.help)
92
+ obj.opt_in.nil? || Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords.validate_raw(obj: obj.opt_in)
93
+ obj.opt_out.nil? || Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords.validate_raw(obj: obj.opt_out)
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end