rcs 2.0.18 → 2.0.19

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 (439) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +6 -3
  3. data/.rubocop.yml +34 -0
  4. data/CONTRIBUTING.md +120 -0
  5. data/lib/pinnacle/audiences/client.rb +0 -4
  6. data/lib/pinnacle/audiences/contacts/types/add_contacts_params.rb +1 -0
  7. data/lib/pinnacle/audiences/contacts/types/remove_contacts_params.rb +1 -0
  8. data/lib/pinnacle/audiences/types/audiences_get_request.rb +2 -0
  9. data/lib/pinnacle/audiences/types/audiences_get_response.rb +1 -0
  10. data/lib/pinnacle/audiences/types/create_audience_params.rb +2 -0
  11. data/lib/pinnacle/audiences/types/list_audiences_params.rb +2 -0
  12. data/lib/pinnacle/audiences/types/update_audience_params.rb +2 -0
  13. data/lib/pinnacle/brands/client.rb +1 -3
  14. data/lib/pinnacle/brands/types/autofill_brand_params.rb +3 -0
  15. data/lib/pinnacle/brands/types/brands_get_request.rb +1 -0
  16. data/lib/pinnacle/brands/types/list_brands_params.rb +4 -0
  17. data/lib/pinnacle/brands/types/upsert_brand_params.rb +11 -0
  18. data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +3 -0
  19. data/lib/pinnacle/brands/types/vet_brand_params.rb +3 -0
  20. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +1 -0
  21. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +2 -0
  22. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +1 -0
  23. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +1 -0
  24. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +1 -0
  25. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +5 -0
  26. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +1 -0
  27. data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_params.rb +4 -0
  28. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +10 -0
  29. data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_params.rb +4 -0
  30. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +7 -0
  31. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +1 -0
  32. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +1 -0
  33. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +1 -0
  34. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +1 -0
  35. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +2 -0
  36. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +1 -0
  37. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +1 -0
  38. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +1 -0
  39. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +1 -0
  40. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +12 -0
  41. data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_params.rb +4 -0
  42. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +1 -0
  43. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +1 -0
  44. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +2 -0
  45. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +1 -0
  46. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +1 -0
  47. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +9 -0
  48. data/lib/pinnacle/client.rb +2 -2
  49. data/lib/pinnacle/contacts/client.rb +0 -2
  50. data/lib/pinnacle/contacts/types/contacts_get_request.rb +1 -0
  51. data/lib/pinnacle/contacts/types/create_contact_params.rb +4 -0
  52. data/lib/pinnacle/contacts/types/list_contacts_params.rb +5 -0
  53. data/lib/pinnacle/contacts/types/update_contact_params.rb +4 -0
  54. data/lib/pinnacle/conversations/client.rb +0 -2
  55. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +8 -0
  56. data/lib/pinnacle/conversations/types/list_conversations_params.rb +6 -0
  57. data/lib/pinnacle/conversations/types/update_conversation_params.rb +1 -0
  58. data/lib/pinnacle/forms/client.rb +1 -1
  59. data/lib/pinnacle/forms/submissions/client.rb +1 -1
  60. data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +2 -0
  61. data/lib/pinnacle/forms/types/forms_send_response.rb +1 -0
  62. data/lib/pinnacle/forms/types/list_forms_params.rb +1 -0
  63. data/lib/pinnacle/forms/types/update_form_params.rb +7 -0
  64. data/lib/pinnacle/internal/http/raw_client.rb +3 -2
  65. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +14 -2
  66. data/lib/pinnacle/internal/iterators/item_iterator.rb +6 -0
  67. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +22 -2
  68. data/lib/pinnacle/internal/types/utils.rb +2 -2
  69. data/lib/pinnacle/messages/blast/types/blast_mms.rb +3 -0
  70. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +1 -0
  71. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +1 -0
  72. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +4 -0
  73. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +3 -0
  74. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +1 -0
  75. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +1 -0
  76. data/lib/pinnacle/messages/blast/types/blast_sms.rb +3 -0
  77. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +1 -0
  78. data/lib/pinnacle/messages/blasts/types/list_blasts_params.rb +4 -0
  79. data/lib/pinnacle/messages/mms/types/mms.rb +4 -0
  80. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +1 -0
  81. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +3 -0
  82. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +3 -0
  83. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +1 -0
  84. data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_params.rb +4 -0
  85. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +1 -0
  86. data/lib/pinnacle/messages/sms/types/sms.rb +3 -0
  87. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +1 -0
  88. data/lib/pinnacle/messages/types/list_messages_params.rb +10 -0
  89. data/lib/pinnacle/messages/types/react_message_params.rb +2 -0
  90. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +2 -0
  91. data/lib/pinnacle/phone_numbers/types/list_phone_numbers_params.rb +1 -0
  92. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +1 -0
  93. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +2 -0
  94. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +2 -0
  95. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +2 -0
  96. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +3 -0
  97. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +4 -0
  98. data/lib/pinnacle/rcs/agents/types/list_agents_params.rb +3 -0
  99. data/lib/pinnacle/rcs/test/client.rb +2 -4
  100. data/lib/pinnacle/rcs/test/types/create_test_agent_request.rb +11 -0
  101. data/lib/pinnacle/rcs/test/types/test_agent_whitelist_request.rb +1 -0
  102. data/lib/pinnacle/rcs/test/types/test_get_whitelist_status_request.rb +1 -0
  103. data/lib/pinnacle/rcs/test/types/update_test_agent_request.rb +12 -0
  104. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +1 -0
  105. data/lib/pinnacle/rcs/types/rcs_link_request.rb +2 -0
  106. data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_params.rb +4 -0
  107. data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +1 -0
  108. data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +16 -0
  109. data/lib/pinnacle/tools/file/types/upload_file_options.rb +1 -0
  110. data/lib/pinnacle/tools/file/types/upload_file_params.rb +3 -0
  111. data/lib/pinnacle/tools/url/client.rb +1 -1
  112. data/lib/pinnacle/tools/url/types/create_url_params.rb +1 -0
  113. data/lib/pinnacle/tools/url/types/list_links_params.rb +2 -0
  114. data/lib/pinnacle/tools/url/types/update_url_params.rb +2 -0
  115. data/lib/pinnacle/types/address_field.rb +3 -0
  116. data/lib/pinnacle/types/advanced_phone_information.rb +5 -0
  117. data/lib/pinnacle/types/advanced_phone_information_carrier.rb +3 -0
  118. data/lib/pinnacle/types/advanced_phone_information_contact.rb +9 -0
  119. data/lib/pinnacle/types/advanced_phone_information_location.rb +7 -0
  120. data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +1 -0
  121. data/lib/pinnacle/types/advanced_phone_information_location_country.rb +2 -0
  122. data/lib/pinnacle/types/advanced_phone_information_type.rb +3 -0
  123. data/lib/pinnacle/types/agent.rb +1 -0
  124. data/lib/pinnacle/types/agent_email_entry.rb +1 -0
  125. data/lib/pinnacle/types/agent_phone_entry.rb +1 -0
  126. data/lib/pinnacle/types/agent_summary.rb +6 -0
  127. data/lib/pinnacle/types/agent_summary_carrier_launches.rb +5 -0
  128. data/lib/pinnacle/types/agent_summary_config.rb +11 -0
  129. data/lib/pinnacle/types/agent_summary_config_emails_item.rb +1 -0
  130. data/lib/pinnacle/types/agent_summary_config_phones_item.rb +1 -0
  131. data/lib/pinnacle/types/agent_summary_config_websites_item.rb +1 -0
  132. data/lib/pinnacle/types/agent_website_entry.rb +1 -0
  133. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +4 -0
  134. data/lib/pinnacle/types/attach_webhook_result.rb +3 -0
  135. data/lib/pinnacle/types/attached_phone_number_result.rb +1 -0
  136. data/lib/pinnacle/types/audience_count_only.rb +3 -0
  137. data/lib/pinnacle/types/audience_summary.rb +4 -0
  138. data/lib/pinnacle/types/audience_with_pagination.rb +5 -0
  139. data/lib/pinnacle/types/autofill_campaign_params.rb +1 -0
  140. data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +10 -0
  141. data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +2 -0
  142. data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +1 -0
  143. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +1 -0
  144. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +1 -0
  145. data/lib/pinnacle/types/autofill_dlc_response_links.rb +1 -0
  146. data/lib/pinnacle/types/autofill_dlc_response_options.rb +5 -0
  147. data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +1 -0
  148. data/lib/pinnacle/types/bad_request_error_body.rb +1 -0
  149. data/lib/pinnacle/types/base_rich_message.rb +3 -0
  150. data/lib/pinnacle/types/basic_phone_information.rb +5 -0
  151. data/lib/pinnacle/types/basic_phone_information_location.rb +1 -0
  152. data/lib/pinnacle/types/basic_phone_information_location_country.rb +2 -0
  153. data/lib/pinnacle/types/blast_details.rb +5 -0
  154. data/lib/pinnacle/types/blast_summary.rb +7 -0
  155. data/lib/pinnacle/types/brand_status.rb +2 -0
  156. data/lib/pinnacle/types/button_clicked.rb +1 -0
  157. data/lib/pinnacle/types/button_clicked_data.rb +1 -0
  158. data/lib/pinnacle/types/button_clicked_data_button.rb +4 -0
  159. data/lib/pinnacle/types/button_clicked_data_button_raw.rb +1 -0
  160. data/lib/pinnacle/types/buy_response_capabilities.rb +2 -0
  161. data/lib/pinnacle/types/campaign_query.rb +1 -0
  162. data/lib/pinnacle/types/campaign_status_event.rb +5 -0
  163. data/lib/pinnacle/types/campaign_status_event_agent.rb +1 -0
  164. data/lib/pinnacle/types/campaign_status_event_brand.rb +1 -0
  165. data/lib/pinnacle/types/campaign_status_event_campaign.rb +1 -0
  166. data/lib/pinnacle/types/campaign_status_event_carrier_launches.rb +1 -0
  167. data/lib/pinnacle/types/campaign_status_event_carrier_launches_carriers.rb +3 -0
  168. data/lib/pinnacle/types/campaign_status_event_carrier_launches_verification.rb +1 -0
  169. data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +2 -0
  170. data/lib/pinnacle/types/campaign_validation_result.rb +1 -0
  171. data/lib/pinnacle/types/carrier_launches.rb +1 -0
  172. data/lib/pinnacle/types/carrier_launches_carriers.rb +3 -0
  173. data/lib/pinnacle/types/carrier_launches_verification.rb +1 -0
  174. data/lib/pinnacle/types/checkbox_field.rb +2 -0
  175. data/lib/pinnacle/types/contact.rb +5 -0
  176. data/lib/pinnacle/types/conversation.rb +7 -0
  177. data/lib/pinnacle/types/conversation_by_participants_params.rb +1 -0
  178. data/lib/pinnacle/types/conversation_contact.rb +1 -0
  179. data/lib/pinnacle/types/conversation_list.rb +2 -0
  180. data/lib/pinnacle/types/conversation_sender.rb +1 -0
  181. data/lib/pinnacle/types/date_field.rb +2 -0
  182. data/lib/pinnacle/types/datetime_field.rb +2 -0
  183. data/lib/pinnacle/types/detach_webhook_result.rb +2 -0
  184. data/lib/pinnacle/types/detached_phone_number_result.rb +1 -0
  185. data/lib/pinnacle/types/dlc_campaign_status.rb +3 -0
  186. data/lib/pinnacle/types/dlc_campaign_summary.rb +6 -0
  187. data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +13 -0
  188. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +2 -0
  189. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +1 -0
  190. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +1 -0
  191. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +1 -0
  192. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +1 -0
  193. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +5 -0
  194. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +1 -0
  195. data/lib/pinnacle/types/enhanced_contact_item.rb +4 -0
  196. data/lib/pinnacle/types/extended_brand.rb +4 -0
  197. data/lib/pinnacle/types/extended_brand_with_vetting.rb +2 -0
  198. data/lib/pinnacle/types/extended_rcs_campaign.rb +14 -0
  199. data/lib/pinnacle/types/failed_sender.rb +1 -0
  200. data/lib/pinnacle/types/fallback_message.rb +2 -0
  201. data/lib/pinnacle/types/field_base.rb +3 -0
  202. data/lib/pinnacle/types/form.rb +12 -0
  203. data/lib/pinnacle/types/form_background.rb +3 -0
  204. data/lib/pinnacle/types/form_background_gradient.rb +1 -0
  205. data/lib/pinnacle/types/form_background_image.rb +3 -0
  206. data/lib/pinnacle/types/form_color_palette.rb +2 -0
  207. data/lib/pinnacle/types/form_definition.rb +5 -0
  208. data/lib/pinnacle/types/form_field.rb +15 -0
  209. data/lib/pinnacle/types/form_field_option.rb +1 -0
  210. data/lib/pinnacle/types/form_gradient.rb +2 -0
  211. data/lib/pinnacle/types/form_submission.rb +9 -0
  212. data/lib/pinnacle/types/form_submission_answer.rb +3 -0
  213. data/lib/pinnacle/types/form_submission_event.rb +4 -0
  214. data/lib/pinnacle/types/form_submission_event_conversation.rb +2 -0
  215. data/lib/pinnacle/types/form_submission_event_form.rb +2 -0
  216. data/lib/pinnacle/types/form_submission_event_submission.rb +7 -0
  217. data/lib/pinnacle/types/form_submitted_field.rb +3 -0
  218. data/lib/pinnacle/types/form_theme_override.rb +14 -0
  219. data/lib/pinnacle/types/form_theme_override_colors.rb +1 -0
  220. data/lib/pinnacle/types/get_conversation_params.rb +1 -0
  221. data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +2 -0
  222. data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +2 -0
  223. data/lib/pinnacle/types/link_click_event.rb +48 -0
  224. data/lib/pinnacle/types/link_summary.rb +3 -0
  225. data/lib/pinnacle/types/list_agents_response.rb +2 -0
  226. data/lib/pinnacle/types/list_audiences_response.rb +2 -0
  227. data/lib/pinnacle/types/list_blasts_response.rb +2 -0
  228. data/lib/pinnacle/types/list_brands_response.rb +2 -0
  229. data/lib/pinnacle/types/list_contacts_response.rb +2 -0
  230. data/lib/pinnacle/types/list_dlc_campaigns_response.rb +2 -0
  231. data/lib/pinnacle/types/list_form_submissions_response.rb +2 -0
  232. data/lib/pinnacle/types/list_forms_response.rb +2 -0
  233. data/lib/pinnacle/types/list_links_response.rb +2 -0
  234. data/lib/pinnacle/types/list_messages_response.rb +2 -0
  235. data/lib/pinnacle/types/list_phone_numbers_response.rb +2 -0
  236. data/lib/pinnacle/types/list_rcs_campaigns_response.rb +2 -0
  237. data/lib/pinnacle/types/list_scheduled_messages_response.rb +2 -0
  238. data/lib/pinnacle/types/list_test_numbers_response.rb +2 -0
  239. data/lib/pinnacle/types/list_toll_free_campaigns_response.rb +2 -0
  240. data/lib/pinnacle/types/list_webhooks_response.rb +2 -0
  241. data/lib/pinnacle/types/location_share_action_data.rb +3 -0
  242. data/lib/pinnacle/types/message.rb +11 -0
  243. data/lib/pinnacle/types/message_content.rb +3 -0
  244. data/lib/pinnacle/types/message_event.rb +9 -0
  245. data/lib/pinnacle/types/message_event_content.rb +6 -0
  246. data/lib/pinnacle/types/message_event_conversation.rb +2 -0
  247. data/lib/pinnacle/types/message_event_fallback_message.rb +5 -0
  248. data/lib/pinnacle/types/message_event_mms_content.rb +2 -0
  249. data/lib/pinnacle/types/message_event_rcs_button_data.rb +2 -0
  250. data/lib/pinnacle/types/message_event_rcs_button_data_button.rb +4 -0
  251. data/lib/pinnacle/types/message_event_rcs_button_data_button_raw.rb +1 -0
  252. data/lib/pinnacle/types/message_event_rcs_cards_content.rb +2 -0
  253. data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +3 -0
  254. data/lib/pinnacle/types/message_event_rcs_location_data.rb +2 -0
  255. data/lib/pinnacle/types/message_event_rcs_location_data_data.rb +3 -0
  256. data/lib/pinnacle/types/message_event_rcs_media_content.rb +2 -0
  257. data/lib/pinnacle/types/message_event_rcs_text_content.rb +2 -0
  258. data/lib/pinnacle/types/message_event_sms_content.rb +1 -0
  259. data/lib/pinnacle/types/message_list.rb +2 -0
  260. data/lib/pinnacle/types/message_schedule.rb +3 -0
  261. data/lib/pinnacle/types/message_summary.rb +16 -0
  262. data/lib/pinnacle/types/message_with_reactions.rb +1 -0
  263. data/lib/pinnacle/types/mms_content.rb +1 -0
  264. data/lib/pinnacle/types/mms_validation_response_segments.rb +2 -0
  265. data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +2 -0
  266. data/lib/pinnacle/types/mms_validation_result.rb +2 -0
  267. data/lib/pinnacle/types/number_field.rb +3 -0
  268. data/lib/pinnacle/types/number_format.rb +2 -0
  269. data/lib/pinnacle/types/optional_brand_info.rb +10 -0
  270. data/lib/pinnacle/types/optional_contact.rb +3 -0
  271. data/lib/pinnacle/types/optional_contacts.rb +3 -0
  272. data/lib/pinnacle/types/owned_phone_number.rb +5 -0
  273. data/lib/pinnacle/types/pagination.rb +3 -0
  274. data/lib/pinnacle/types/phone.rb +4 -0
  275. data/lib/pinnacle/types/phone_capabilities.rb +2 -0
  276. data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +1 -0
  277. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +1 -0
  278. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +2 -0
  279. data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +1 -0
  280. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +1 -0
  281. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +2 -0
  282. data/lib/pinnacle/types/phone_number_cost.rb +2 -0
  283. data/lib/pinnacle/types/phone_number_details.rb +4 -0
  284. data/lib/pinnacle/types/phone_number_region.rb +3 -0
  285. data/lib/pinnacle/types/phone_number_status.rb +2 -0
  286. data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +3 -0
  287. data/lib/pinnacle/types/pinnacle_url_config.rb +1 -0
  288. data/lib/pinnacle/types/purchased_number.rb +1 -0
  289. data/lib/pinnacle/types/range_field.rb +2 -0
  290. data/lib/pinnacle/types/rating_field.rb +1 -0
  291. data/lib/pinnacle/types/rcs_agent_details.rb +11 -0
  292. data/lib/pinnacle/types/rcs_agent_details_emails_item.rb +1 -0
  293. data/lib/pinnacle/types/rcs_agent_details_phones_item.rb +1 -0
  294. data/lib/pinnacle/types/rcs_agent_details_websites_item.rb +1 -0
  295. data/lib/pinnacle/types/rcs_agent_response.rb +4 -0
  296. data/lib/pinnacle/types/rcs_button_call.rb +2 -0
  297. data/lib/pinnacle/types/rcs_button_open_url.rb +3 -0
  298. data/lib/pinnacle/types/rcs_button_request_user_location.rb +1 -0
  299. data/lib/pinnacle/types/rcs_button_schedule_event.rb +5 -0
  300. data/lib/pinnacle/types/rcs_button_send_location.rb +3 -0
  301. data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +1 -0
  302. data/lib/pinnacle/types/rcs_button_trigger.rb +2 -0
  303. data/lib/pinnacle/types/rcs_campaign.rb +11 -0
  304. data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +7 -0
  305. data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +1 -0
  306. data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +1 -0
  307. data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +1 -0
  308. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +7 -0
  309. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +1 -0
  310. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +1 -0
  311. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +1 -0
  312. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +2 -0
  313. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +1 -0
  314. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +1 -0
  315. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +1 -0
  316. data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +1 -0
  317. data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +1 -0
  318. data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +2 -0
  319. data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +1 -0
  320. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +1 -0
  321. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +1 -0
  322. data/lib/pinnacle/types/rcs_campaign_schema_links.rb +1 -0
  323. data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +1 -0
  324. data/lib/pinnacle/types/rcs_campaign_status.rb +2 -0
  325. data/lib/pinnacle/types/rcs_campaign_summary.rb +6 -0
  326. data/lib/pinnacle/types/rcs_capability.rb +1 -0
  327. data/lib/pinnacle/types/rcs_capability_actions.rb +5 -0
  328. data/lib/pinnacle/types/rcs_capability_cards.rb +1 -0
  329. data/lib/pinnacle/types/rcs_cards_content.rb +1 -0
  330. data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +3 -0
  331. data/lib/pinnacle/types/rcs_content.rb +2 -0
  332. data/lib/pinnacle/types/rcs_link_result.rb +1 -0
  333. data/lib/pinnacle/types/rcs_media_content.rb +1 -0
  334. data/lib/pinnacle/types/rcs_media_details_content.rb +2 -0
  335. data/lib/pinnacle/types/rcs_validate_content.rb +2 -0
  336. data/lib/pinnacle/types/rcs_validate_content_media.rb +1 -0
  337. data/lib/pinnacle/types/rcs_validation_result.rb +3 -0
  338. data/lib/pinnacle/types/reaction_result.rb +1 -0
  339. data/lib/pinnacle/types/refreshed_file.rb +1 -0
  340. data/lib/pinnacle/types/rich_button.rb +5 -0
  341. data/lib/pinnacle/types/rich_card.rb +3 -0
  342. data/lib/pinnacle/types/rich_cards.rb +1 -0
  343. data/lib/pinnacle/types/rich_cards_message.rb +3 -0
  344. data/lib/pinnacle/types/rich_media_message.rb +1 -0
  345. data/lib/pinnacle/types/rich_message.rb +2 -0
  346. data/lib/pinnacle/types/rich_standalone_card_options.rb +1 -0
  347. data/lib/pinnacle/types/rich_text.rb +1 -0
  348. data/lib/pinnacle/types/scheduled_blast_details.rb +1 -0
  349. data/lib/pinnacle/types/scheduled_blast_response_config.rb +3 -0
  350. data/lib/pinnacle/types/scheduled_form_send_response_form.rb +1 -0
  351. data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +1 -0
  352. data/lib/pinnacle/types/scheduled_form_send_result.rb +3 -0
  353. data/lib/pinnacle/types/scheduled_message.rb +1 -0
  354. data/lib/pinnacle/types/scheduled_message_summary.rb +8 -0
  355. data/lib/pinnacle/types/scheduled_send_response_config.rb +3 -0
  356. data/lib/pinnacle/types/select_field.rb +1 -0
  357. data/lib/pinnacle/types/send_form_options.rb +1 -0
  358. data/lib/pinnacle/types/send_form_params.rb +1 -0
  359. data/lib/pinnacle/types/send_form_result.rb +2 -0
  360. data/lib/pinnacle/types/send_form_via_rcs_params.rb +4 -0
  361. data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +1 -0
  362. data/lib/pinnacle/types/send_form_via_sms_params.rb +3 -0
  363. data/lib/pinnacle/types/send_form_via_sms_request_form.rb +1 -0
  364. data/lib/pinnacle/types/send_rich_cards_options.rb +4 -0
  365. data/lib/pinnacle/types/send_rich_message_options.rb +3 -0
  366. data/lib/pinnacle/types/send_rich_message_options_4.rb +3 -0
  367. data/lib/pinnacle/types/send_sms_response_segments.rb +1 -0
  368. data/lib/pinnacle/types/send_typing_indicator_response.rb +4 -0
  369. data/lib/pinnacle/types/sent_mms_details.rb +5 -0
  370. data/lib/pinnacle/types/sent_rich_message.rb +5 -0
  371. data/lib/pinnacle/types/sent_rich_message_fallback_mms.rb +1 -0
  372. data/lib/pinnacle/types/sent_rich_message_fallback_sms.rb +1 -0
  373. data/lib/pinnacle/types/sent_sms_details.rb +5 -0
  374. data/lib/pinnacle/types/shortened_url.rb +1 -0
  375. data/lib/pinnacle/types/simulate_message_input.rb +1 -0
  376. data/lib/pinnacle/types/simulate_user_button.rb +2 -0
  377. data/lib/pinnacle/types/simulate_user_message.rb +2 -0
  378. data/lib/pinnacle/types/simulate_user_params.rb +1 -0
  379. data/lib/pinnacle/types/sms_validation_response_segments.rb +1 -0
  380. data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +2 -0
  381. data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +1 -0
  382. data/lib/pinnacle/types/sms_validation_response_total.rb +1 -0
  383. data/lib/pinnacle/types/sms_validation_result.rb +3 -0
  384. data/lib/pinnacle/types/test_agent_response.rb +3 -0
  385. data/lib/pinnacle/types/text_field.rb +3 -0
  386. data/lib/pinnacle/types/textarea_field.rb +3 -0
  387. data/lib/pinnacle/types/time_field.rb +2 -0
  388. data/lib/pinnacle/types/toll_free_campaign.rb +8 -0
  389. data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +1 -0
  390. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +1 -0
  391. data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +1 -0
  392. data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +2 -0
  393. data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +1 -0
  394. data/lib/pinnacle/types/toll_free_campaign_status.rb +2 -0
  395. data/lib/pinnacle/types/toll_free_campaign_summary.rb +6 -0
  396. data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +10 -0
  397. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +1 -0
  398. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +1 -0
  399. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +1 -0
  400. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +2 -0
  401. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +1 -0
  402. data/lib/pinnacle/types/upload_results.rb +2 -0
  403. data/lib/pinnacle/types/user_button_press.rb +5 -0
  404. data/lib/pinnacle/types/user_button_press_call.rb +2 -0
  405. data/lib/pinnacle/types/user_button_press_open_url.rb +2 -0
  406. data/lib/pinnacle/types/user_button_press_request_user_location.rb +2 -0
  407. data/lib/pinnacle/types/user_button_press_request_user_location_location.rb +3 -0
  408. data/lib/pinnacle/types/user_button_press_schedule_event.rb +5 -0
  409. data/lib/pinnacle/types/user_button_press_send_location.rb +3 -0
  410. data/lib/pinnacle/types/user_button_press_send_location_lat_long.rb +1 -0
  411. data/lib/pinnacle/types/user_button_press_trigger.rb +2 -0
  412. data/lib/pinnacle/types/user_event.rb +2 -0
  413. data/lib/pinnacle/types/user_event_conversation.rb +2 -0
  414. data/lib/pinnacle/types/v_card_data_file.rb +1 -0
  415. data/lib/pinnacle/types/v_card_geo.rb +1 -0
  416. data/lib/pinnacle/types/v_card_name.rb +4 -0
  417. data/lib/pinnacle/types/v_card_organization.rb +1 -0
  418. data/lib/pinnacle/types/validate_campaign_params.rb +1 -0
  419. data/lib/pinnacle/types/validation_error_details.rb +2 -0
  420. data/lib/pinnacle/types/validation_results.rb +1 -0
  421. data/lib/pinnacle/types/vcard.rb +15 -0
  422. data/lib/pinnacle/types/vcard_address.rb +8 -0
  423. data/lib/pinnacle/types/vcard_email.rb +1 -0
  424. data/lib/pinnacle/types/vcard_phone.rb +1 -0
  425. data/lib/pinnacle/types/vcard_resource.rb +1 -0
  426. data/lib/pinnacle/types/vetting_feedback.rb +3 -0
  427. data/lib/pinnacle/types/vetting_history.rb +4 -0
  428. data/lib/pinnacle/types/webhook_summary.rb +6 -0
  429. data/lib/pinnacle/types/webhooks.rb +3 -0
  430. data/lib/pinnacle/types/whitelisted_number_summary.rb +3 -0
  431. data/lib/pinnacle/types/zod_error.rb +1 -0
  432. data/lib/pinnacle/version.rb +1 -1
  433. data/lib/pinnacle/webhooks/types/attach_webhook_params.rb +5 -0
  434. data/lib/pinnacle/webhooks/types/detach_webhook_params.rb +1 -0
  435. data/lib/pinnacle/webhooks/types/list_webhooks_params.rb +3 -0
  436. data/lib/pinnacle.rb +5 -0
  437. data/lib/rcs.rb +1 -637
  438. data/reference.md +2 -2
  439. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f874ee23601bb2c3f443f9f2898056a34737781aeb7f0952dbe6779827c8b4ea
4
- data.tar.gz: 4adfe0457def754cfbe34b9a86c4d6fab4ad1b808bb831728e1419d734c235f6
3
+ metadata.gz: e091bff6486acfda5b53cfca3dc3932ac590ea259b0b2cae2189568d0fc840ba
4
+ data.tar.gz: 6744cf7efd79546cfbf30df36951fbf2f94a4f9ca8702b686f971c8688306142
5
5
  SHA512:
6
- metadata.gz: 582d83c143f38308e5d604e3f98b1f22277af222ab23b0679314f94657dab456c5f82b05021124dd892f39a8c5c301c431690ed2f66c2d203ce9e41efdb8c9ed
7
- data.tar.gz: bda0f0a5de23ba36e424e40393a41072fcf79350dfd0f65cd810ad1839d7974fc2ba77dac064ebbf4fbb5ae5208090190c1f6a0eb374a367a14b767c0ff66698
6
+ metadata.gz: 128b2005881929bdb87e4f76b4292a5ba1a233829ccacbdc17e68ede29a06e6ce070f777782d69c42ca9c8fc79bb406966809d20f48637b898c7319aa12d2b89
7
+ data.tar.gz: 4edcc26b246e1b503c1a48a3baaf01829b7b7d4148ce2d0d3375a095dca27b8964819a039fd56f33c97dfd3e2efbd516fe2272125c37d45b5bccfef1c00ff83c
data/.fern/metadata.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "cliVersion": "5.5.0",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
- "generatorVersion": "1.1.13",
4
+ "generatorVersion": "1.12.1",
5
5
  "generatorConfig": {
6
6
  "clientModuleName": "PinnacleBaseClient",
7
7
  "flattenModuleStructure": true,
8
8
  "useProvidedDefaults": true,
9
9
  "rubocopVariableNumberStyle": "snake_case"
10
10
  },
11
- "originGitCommit": "f122bb662724c091cfa98880738a845e4c8769c9",
12
- "sdkVersion": "2.0.18"
11
+ "originGitCommit": "ea44c7af1bfea2caa2e7e18c7fcfba57c5b2cfdd",
12
+ "originGitCommitIsDirty": false,
13
+ "invokedBy": "ci",
14
+ "ciProvider": "github",
15
+ "sdkVersion": "2.0.19"
13
16
  }
data/.rubocop.yml CHANGED
@@ -46,6 +46,7 @@ Layout/LineLength:
46
46
 
47
47
  Naming/VariableNumber:
48
48
  EnforcedStyle: snake_case
49
+ Severity: warning
49
50
 
50
51
  Style/Documentation:
51
52
  Enabled: false
@@ -64,6 +65,39 @@ Style/FrozenStringLiteralComment:
64
65
  Exclude:
65
66
  - "dynamic-snippets/**/*"
66
67
 
68
+ # Indent hash elements 2 spaces from the start of the enclosing line rather than
69
+ # aligning with the preceding paren or bracket. Generated code nests hashes inside
70
+ # arrays and method calls; the "consistent" style is more readable there.
67
71
  Layout/FirstHashElementIndentation:
72
+ EnforcedStyle: consistent
68
73
  Exclude:
69
74
  - "dynamic-snippets/**/*"
75
+
76
+ # Match Layout/FirstHashElementIndentation: indent the first argument 2 spaces
77
+ # from the start of the method call's line, regardless of parenthesis position.
78
+ # Dynamic snippets are code samples, not standalone Ruby files; exclude them to
79
+ # keep this config symmetric with Layout/FirstHashElementIndentation above.
80
+ Layout/FirstArgumentIndentation:
81
+ EnforcedStyle: consistent
82
+ Exclude:
83
+ - "dynamic-snippets/**/*"
84
+
85
+ # The generator emits non-idiomatic class names (e.g. Get_With_Query, JSON_)
86
+ # derived from IR type names whose wire form contains underscores or digits.
87
+ # Rubocop never auto-corrected these (naming cops have no autocorrecter), so
88
+ # disabling the cop keeps CI green without changing customer output. Fixing at
89
+ # source would rename public types across every existing SDK and therefore
90
+ # requires a ruby-v2 major-version bump with a generator migration.
91
+ Naming/ClassAndModuleCamelCase:
92
+ Enabled: false
93
+
94
+ # Integer literals are emitted unformatted (e.g. 1000000, not 1_000_000).
95
+ # Rubocop has an autocorrecter for this cop, but the only caller of integer
96
+ # emission is the dynamic-snippets path, which feeds customer-facing surfaces:
97
+ # (1) snippet markdown in reference docs, (2) dynamic-snippets/*.rb sample
98
+ # files. Neither is rubocop-gated (markdown isn't Ruby, dynamic-snippets/**/*
99
+ # is excluded above), so formatting integers there would change docs/dashboard
100
+ # output without any rubocop benefit. Disabling the cop keeps integers raw
101
+ # everywhere and avoids customer-visible diffs.
102
+ Style/NumericLiterals:
103
+ Enabled: false
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,120 @@
1
+ # Contributing
2
+
3
+ Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project.
4
+
5
+ ## Getting Started
6
+
7
+ ### Prerequisites
8
+
9
+ - Ruby 3.0+
10
+ - Bundler
11
+
12
+ ### Installation
13
+
14
+ Install the project dependencies:
15
+
16
+ ```bash
17
+ bundle install
18
+ ```
19
+
20
+ ### Building
21
+
22
+ Build the gem:
23
+
24
+ ```bash
25
+ gem build *.gemspec
26
+ ```
27
+
28
+ ### Testing
29
+
30
+ Run the test suite:
31
+
32
+ ```bash
33
+ bundle exec rspec
34
+ ```
35
+
36
+ ### Linting and Formatting
37
+
38
+ Check code style:
39
+
40
+ ```bash
41
+ bundle exec rubocop
42
+ ```
43
+
44
+ Fix code style issues:
45
+
46
+ ```bash
47
+ bundle exec rubocop -a
48
+ ```
49
+
50
+ ## About Generated Code
51
+
52
+ **Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated.
53
+
54
+ ### Generated Files
55
+
56
+ The following directories contain generated code:
57
+ - `lib/` - API client classes and types
58
+ - Most Ruby files in the project
59
+
60
+ ### How to Customize
61
+
62
+ If you need to customize the SDK, you have two options:
63
+
64
+ #### Option 1: Use `.fernignore`
65
+
66
+ For custom code that should persist across SDK regenerations:
67
+
68
+ 1. Create a `.fernignore` file in the project root
69
+ 2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax)
70
+ 3. Add your custom code to those files
71
+
72
+ Files listed in `.fernignore` will not be overwritten when the SDK is regenerated.
73
+
74
+ For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code).
75
+
76
+ #### Option 2: Contribute to the Generator
77
+
78
+ If you want to change how code is generated for all users of this SDK:
79
+
80
+ 1. The Ruby SDK generator lives in the [Fern repository](https://github.com/fern-api/fern)
81
+ 2. Generator code is located at `generators/ruby-v2/`
82
+ 3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md)
83
+ 4. Submit a pull request with your changes to the generator
84
+
85
+ This approach is best for:
86
+ - Bug fixes in generated code
87
+ - New features that would benefit all users
88
+ - Improvements to code generation patterns
89
+
90
+ ## Making Changes
91
+
92
+ ### Workflow
93
+
94
+ 1. Create a new branch for your changes
95
+ 2. Make your modifications
96
+ 3. Run tests to ensure nothing breaks: `bundle exec rspec`
97
+ 4. Run linting: `bundle exec rubocop`
98
+ 5. Build the gem: `gem build *.gemspec`
99
+ 6. Commit your changes with a clear commit message
100
+ 7. Push your branch and create a pull request
101
+
102
+ ### Commit Messages
103
+
104
+ Write clear, descriptive commit messages that explain what changed and why.
105
+
106
+ ### Code Style
107
+
108
+ This project uses RuboCop for code formatting. Run `bundle exec rubocop` before committing to ensure your code meets the project's style guidelines.
109
+
110
+ ## Questions or Issues?
111
+
112
+ If you have questions or run into issues:
113
+
114
+ 1. Check the [Fern documentation](https://buildwithfern.com)
115
+ 2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues)
116
+ 3. Open a new issue if your question hasn't been addressed
117
+
118
+ ## License
119
+
120
+ By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
@@ -26,12 +26,10 @@ module Pinnacle
26
26
  # @return [Pinnacle::Audiences::Types::AudiencesGetResponse]
27
27
  def get(request_options: {}, **params)
28
28
  params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
29
- query_param_names = %i[id page limit]
30
29
  query_params = {}
31
30
  query_params["id"] = params[:id] if params.key?(:id)
32
31
  query_params["page"] = params[:page] if params.key?(:page)
33
32
  query_params["limit"] = params[:limit] if params.key?(:limit)
34
- params.except(*query_param_names)
35
33
 
36
34
  request = Pinnacle::Internal::JSON::Request.new(
37
35
  base_url: request_options[:base_url],
@@ -105,10 +103,8 @@ module Pinnacle
105
103
  # @return [Pinnacle::Types::DeleteAudienceResponse]
106
104
  def delete(request_options: {}, **params)
107
105
  params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
108
- query_param_names = %i[id]
109
106
  query_params = {}
110
107
  query_params["id"] = params[:id] if params.key?(:id)
111
- params.except(*query_param_names)
112
108
 
113
109
  request = Pinnacle::Internal::JSON::Request.new(
114
110
  base_url: request_options[:base_url],
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class AddContactsParams < Internal::Types::Model
8
8
  field :id, -> { String }, optional: false, nullable: false
9
+
9
10
  field :contacts, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RemoveContactsParams < Internal::Types::Model
8
8
  field :id, -> { String }, optional: false, nullable: false
9
+
9
10
  field :contacts, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
11
  end
11
12
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  module Types
6
6
  class AudiencesGetRequest < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
+
8
9
  field :page, -> { Integer }, optional: true, nullable: false
10
+
9
11
  field :limit, -> { Integer }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  extend Pinnacle::Internal::Types::Union
8
8
 
9
9
  member -> { Pinnacle::Types::AudienceWithPagination }
10
+
10
11
  member -> { Pinnacle::Types::AudienceCountOnly }
11
12
  end
12
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  module Types
6
6
  class CreateAudienceParams < Internal::Types::Model
7
7
  field :name, -> { String }, optional: false, nullable: false
8
+
8
9
  field :description, -> { String }, optional: true, nullable: false
10
+
9
11
  field :contacts, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  module Types
6
6
  class ListAudiencesParams < Internal::Types::Model
7
7
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
8
+
8
9
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
10
+
9
11
  field :name, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  module Types
6
6
  class UpdateAudienceParams < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
+
8
9
  field :name, -> { String }, optional: true, nullable: false
10
+
9
11
  field :description, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -100,10 +100,8 @@ module Pinnacle
100
100
  # @return [Pinnacle::Types::ExtendedBrandWithVetting]
101
101
  def get(request_options: {}, **params)
102
102
  params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
103
- query_param_names = %i[hide_ein]
104
103
  query_params = {}
105
104
  query_params["hideEIN"] = params[:hide_ein] if params.key?(:hide_ein)
106
- params = params.except(*query_param_names)
107
105
 
108
106
  request = Pinnacle::Internal::JSON::Request.new(
109
107
  base_url: request_options[:base_url],
@@ -210,7 +208,7 @@ module Pinnacle
210
208
  def vet(request_options: {}, **params)
211
209
  params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
212
210
  request_data = Pinnacle::Brands::Types::VetBrandParams.new(params).to_h
213
- non_body_param_names = ["brandId"]
211
+ non_body_param_names = %w[brandId]
214
212
  body = request_data.except(*non_body_param_names)
215
213
 
216
214
  request = Pinnacle::Internal::JSON::Request.new(
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  module Types
6
6
  class AutofillBrandParams < Internal::Types::Model
7
7
  field :additional_info, -> { String }, optional: true, nullable: false
8
+
8
9
  field :name, -> { String }, optional: true, nullable: false
10
+
9
11
  field :options, -> { Pinnacle::Brands::Types::AutofillBrandOptions }, optional: true, nullable: false
12
+
10
13
  field :website, -> { String }, optional: true, nullable: false
11
14
  end
12
15
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  module Types
6
6
  class BrandsGetRequest < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
+
8
9
  field :hide_ein, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "hideEIN"
9
10
  end
10
11
  end
@@ -5,9 +5,13 @@ module Pinnacle
5
5
  module Types
6
6
  class ListBrandsParams < Internal::Types::Model
7
7
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
8
+
8
9
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
10
+
9
11
  field :status, -> { Pinnacle::Brands::Types::ListBrandsRequestStatus }, optional: true, nullable: false
12
+
10
13
  field :is_archived, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isArchived"
14
+
11
15
  field :name, -> { String }, optional: true, nullable: false
12
16
  end
13
17
  end
@@ -5,16 +5,27 @@ module Pinnacle
5
5
  module Types
6
6
  class UpsertBrandParams < Internal::Types::Model
7
7
  field :address, -> { String }, optional: true, nullable: false
8
+
8
9
  field :contact, -> { Pinnacle::Brands::Types::UpsertBrandSchemaContact }, optional: true, nullable: false
10
+
9
11
  field :dba, -> { String }, optional: true, nullable: false
12
+
10
13
  field :description, -> { String }, optional: true, nullable: false
14
+
11
15
  field :ein, -> { String }, optional: true, nullable: false
16
+
12
17
  field :email, -> { String }, optional: true, nullable: false
18
+
13
19
  field :id, -> { String }, optional: true, nullable: false
20
+
14
21
  field :name, -> { String }, optional: true, nullable: false
22
+
15
23
  field :sector, -> { Pinnacle::Brands::Types::UpsertBrandSchemaSector }, optional: true, nullable: false
24
+
16
25
  field :type, -> { Pinnacle::Brands::Types::UpsertBrandSchemaType }, optional: true, nullable: false
26
+
17
27
  field :entity_type, -> { Pinnacle::Brands::Types::UpsertBrandSchemaEntityType }, optional: true, nullable: false, api_name: "entityType"
28
+
18
29
  field :website, -> { String }, optional: true, nullable: false
19
30
  end
20
31
  end
@@ -6,8 +6,11 @@ module Pinnacle
6
6
  # Contact information for the brand.
7
7
  class UpsertBrandSchemaContact < Internal::Types::Model
8
8
  field :email, -> { String }, optional: true, nullable: false
9
+
9
10
  field :name, -> { String }, optional: true, nullable: false
11
+
10
12
  field :phone, -> { String }, optional: true, nullable: false
13
+
11
14
  field :title, -> { String }, optional: true, nullable: false
12
15
  end
13
16
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  module Types
6
6
  class VetBrandParams < Internal::Types::Model
7
7
  field :brand_id, -> { String }, optional: false, nullable: false, api_name: "brandId"
8
+
8
9
  field :type, -> { String }, optional: false, nullable: false
10
+
9
11
  field :provider, -> { String }, optional: false, nullable: false
12
+
10
13
  field :vetting_class, -> { String }, optional: false, nullable: false, api_name: "vettingClass"
11
14
  end
12
15
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Help keyword settings.
8
8
  class DlcCampaignHelpKeywords < Internal::Types::Model
9
9
  field :message, -> { String }, optional: true, nullable: false
10
+
10
11
  field :values, -> { Internal::Types::Array[String] }, optional: true, nullable: false
11
12
  end
12
13
  end
@@ -7,7 +7,9 @@ module Pinnacle
7
7
  # Keyword response configuration.
8
8
  class DlcCampaignKeywords < Internal::Types::Model
9
9
  field :help, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignHelpKeywords }, optional: true, nullable: false, api_name: "HELP"
10
+
10
11
  field :opt_in, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptInKeywords }, optional: true, nullable: false, api_name: "OPT_IN"
12
+
11
13
  field :opt_out, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptOutKeywords }, optional: true, nullable: false, api_name: "OPT_OUT"
12
14
  end
13
15
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Legal documentation links.
8
8
  class DlcCampaignLinks < Internal::Types::Model
9
9
  field :privacy_policy, -> { String }, optional: true, nullable: false, api_name: "privacyPolicy"
10
+
10
11
  field :terms_of_service, -> { String }, optional: true, nullable: false, api_name: "termsOfService"
11
12
  end
12
13
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Opt-in keyword settings.
8
8
  class DlcCampaignOptInKeywords < Internal::Types::Model
9
9
  field :message, -> { String }, optional: true, nullable: false
10
+
10
11
  field :values, -> { Internal::Types::Array[String] }, optional: true, nullable: false
11
12
  end
12
13
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Opt-out keyword settings.
8
8
  class DlcCampaignOptOutKeywords < Internal::Types::Model
9
9
  field :message, -> { String }, optional: true, nullable: false
10
+
10
11
  field :values, -> { Internal::Types::Array[String] }, optional: true, nullable: false
11
12
  end
12
13
  end
@@ -7,10 +7,15 @@ module Pinnacle
7
7
  # Campaign configuration options.
8
8
  class DlcCampaignOptions < Internal::Types::Model
9
9
  field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "affiliateMarketing"
10
+
10
11
  field :age_gated, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "ageGated"
12
+
11
13
  field :direct_lending, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "directLending"
14
+
12
15
  field :embedded_link, -> { String }, optional: true, nullable: false, api_name: "embeddedLink"
16
+
13
17
  field :embedded_phone, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "embeddedPhone"
18
+
14
19
  field :number_pooling, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "numberPooling"
15
20
  end
16
21
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Use case for the campaign.
8
8
  class DlcCampaignUseCase < Internal::Types::Model
9
9
  field :sub, -> { Internal::Types::Array[Pinnacle::Types::SubUseCaseEnum] }, optional: true, nullable: false
10
+
10
11
  field :value, -> { Pinnacle::Types::DlcCampaignUseCaseEnum }, optional: true, nullable: false
11
12
  end
12
13
  end
@@ -6,9 +6,13 @@ module Pinnacle
6
6
  module Types
7
7
  class ListDlcCampaignsParams < Internal::Types::Model
8
8
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
9
+
9
10
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
11
+
10
12
  field :status, -> { Pinnacle::Campaigns::Dlc::Types::ListDlcCampaignsRequestStatus }, optional: true, nullable: false
13
+
11
14
  field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
15
+
12
16
  field :name, -> { String }, optional: true, nullable: false
13
17
  end
14
18
  end
@@ -6,15 +6,25 @@ module Pinnacle
6
6
  module Types
7
7
  class UpsertDlcCampaignParams < Internal::Types::Model
8
8
  field :auto_renew, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "autoRenew"
9
+
9
10
  field :brand, -> { String }, optional: true, nullable: false
11
+
10
12
  field :campaign_id, -> { String }, optional: true, nullable: false, api_name: "campaignId"
13
+
11
14
  field :description, -> { String }, optional: true, nullable: false
15
+
12
16
  field :keywords, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignKeywords }, optional: true, nullable: false
17
+
13
18
  field :links, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignLinks }, optional: true, nullable: false
19
+
14
20
  field :message_flow, -> { String }, optional: true, nullable: false, api_name: "messageFlow"
21
+
15
22
  field :name, -> { String }, optional: true, nullable: false
23
+
16
24
  field :options, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignOptions }, optional: true, nullable: false
25
+
17
26
  field :sample_messages, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "sampleMessages"
27
+
18
28
  field :use_case, -> { Pinnacle::Campaigns::Dlc::Types::DlcCampaignUseCase }, optional: true, nullable: false, api_name: "useCase"
19
29
  end
20
30
  end
@@ -6,9 +6,13 @@ module Pinnacle
6
6
  module Types
7
7
  class ListRcsCampaignsParams < Internal::Types::Model
8
8
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
9
+
9
10
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
11
+
10
12
  field :status, -> { Pinnacle::Campaigns::Rcs::Types::ListRcsCampaignsRequestStatus }, optional: true, nullable: false
13
+
11
14
  field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
15
+
12
16
  field :name, -> { String }, optional: true, nullable: false
13
17
  end
14
18
  end
@@ -7,12 +7,19 @@ module Pinnacle
7
7
  # Create an agent for the campaign.
8
8
  class RcsAgent < Internal::Types::Model
9
9
  field :color, -> { String }, optional: true, nullable: false
10
+
10
11
  field :description, -> { String }, optional: true, nullable: false
12
+
11
13
  field :emails, -> { Internal::Types::Array[Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail] }, optional: true, nullable: false
14
+
12
15
  field :hero_url, -> { String }, optional: true, nullable: false, api_name: "heroUrl"
16
+
13
17
  field :icon_url, -> { String }, optional: true, nullable: false, api_name: "iconUrl"
18
+
14
19
  field :name, -> { String }, optional: true, nullable: false
20
+
15
21
  field :phones, -> { Internal::Types::Array[Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone] }, optional: true, nullable: false
22
+
16
23
  field :websites, -> { Internal::Types::Array[Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite] }, optional: true, nullable: false
17
24
  end
18
25
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsAgentEmail < Internal::Types::Model
8
8
  field :email, -> { String }, optional: true, nullable: false
9
+
9
10
  field :label, -> { String }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsAgentPhone < Internal::Types::Model
8
8
  field :label, -> { String }, optional: true, nullable: false
9
+
9
10
  field :phone, -> { String }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsAgentWebsite < Internal::Types::Model
8
8
  field :label, -> { String }, optional: true, nullable: false
9
+
9
10
  field :url, -> { String }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsCampaignHelpKeywords < Internal::Types::Model
8
8
  field :message, -> { String }, optional: true, nullable: false
9
+
9
10
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,7 +6,9 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsCampaignKeywords < Internal::Types::Model
8
8
  field :help, -> { Pinnacle::Campaigns::Rcs::Types::RcsCampaignHelpKeywords }, optional: true, nullable: false, api_name: "HELP"
9
+
9
10
  field :opt_in, -> { Pinnacle::Campaigns::Rcs::Types::RcsCampaignOptInKeywords }, optional: true, nullable: false, api_name: "OPT_IN"
11
+
10
12
  field :opt_out, -> { Pinnacle::Campaigns::Rcs::Types::RcsCampaignOptOutKeywords }, optional: true, nullable: false, api_name: "OPT_OUT"
11
13
  end
12
14
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsCampaignOptInKeywords < Internal::Types::Model
8
8
  field :message, -> { String }, optional: true, nullable: false
9
+
9
10
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsCampaignOptOutKeywords < Internal::Types::Model
8
8
  field :message, -> { String }, optional: true, nullable: false
9
+
9
10
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class RcsCampaignTraffic < Internal::Types::Model
8
8
  field :monthly_website, -> { Integer }, optional: true, nullable: false, api_name: "monthlyWebsite"
9
+
9
10
  field :monthly_rcs_estimate, -> { Integer }, optional: true, nullable: false, api_name: "monthlyRcsEstimate"
10
11
  end
11
12
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Legal documentation links.
8
8
  class RcsLinks < Internal::Types::Model
9
9
  field :privacy_policy, -> { String }, optional: true, nullable: false, api_name: "privacyPolicy"
10
+
10
11
  field :terms_of_service, -> { String }, optional: true, nullable: false, api_name: "termsOfService"
11
12
  end
12
13
  end