rcs 2.0.3 → 2.0.5.pre.rc.1

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