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
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraAgentEmailsItem < Internal::Types::Model
6
6
  field :email, -> { String }, optional: true, nullable: false
7
+
7
8
  field :label, -> { String }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraAgentPhonesItem < Internal::Types::Model
6
6
  field :label, -> { String }, optional: true, nullable: false
7
+
7
8
  field :phone, -> { String }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraAgentWebsitesItem < Internal::Types::Model
6
6
  field :label, -> { String }, optional: true, nullable: false
7
+
7
8
  field :url, -> { String }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,7 +4,9 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraKeywords < Internal::Types::Model
6
6
  field :help, -> { Pinnacle::Types::RcsCampaignSchemaExtraKeywordsHelp }, optional: true, nullable: false, api_name: "HELP"
7
+
7
8
  field :opt_in, -> { Pinnacle::Types::RcsCampaignSchemaExtraKeywordsOptIn }, optional: true, nullable: false, api_name: "OPT_IN"
9
+
8
10
  field :opt_out, -> { Pinnacle::Types::RcsCampaignSchemaExtraKeywordsOptOut }, optional: true, nullable: false, api_name: "OPT_OUT"
9
11
  end
10
12
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraKeywordsHelp < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraKeywordsOptIn < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraKeywordsOptOut < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Legal documentation links.
6
6
  class RcsCampaignSchemaExtraLinks < Internal::Types::Model
7
7
  field :privacy_policy, -> { String }, optional: true, nullable: false, api_name: "privacyPolicy"
8
+
8
9
  field :terms_of_service, -> { String }, optional: true, nullable: false, api_name: "termsOfService"
9
10
  end
10
11
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaExtraTraffic < Internal::Types::Model
6
6
  field :monthly_website, -> { Integer }, optional: true, nullable: false, api_name: "monthlyWebsite"
7
+
7
8
  field :monthly_rcs_estimate, -> { Integer }, optional: true, nullable: false, api_name: "monthlyRcsEstimate"
8
9
  end
9
10
  end
@@ -4,7 +4,9 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaKeywords < Internal::Types::Model
6
6
  field :help, -> { Pinnacle::Types::RcsCampaignSchemaKeywordsHelp }, optional: true, nullable: false, api_name: "HELP"
7
+
7
8
  field :opt_in, -> { Pinnacle::Types::RcsCampaignSchemaKeywordsOptIn }, optional: true, nullable: false, api_name: "OPT_IN"
9
+
8
10
  field :opt_out, -> { Pinnacle::Types::RcsCampaignSchemaKeywordsOptOut }, optional: true, nullable: false, api_name: "OPT_OUT"
9
11
  end
10
12
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaKeywordsHelp < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaKeywordsOptIn < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaKeywordsOptOut < Internal::Types::Model
6
6
  field :message, -> { String }, optional: true, nullable: false
7
+
7
8
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
9
  end
9
10
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Legal documentation links.
6
6
  class RcsCampaignSchemaLinks < Internal::Types::Model
7
7
  field :privacy_policy, -> { String }, optional: true, nullable: false, api_name: "privacyPolicy"
8
+
8
9
  field :terms_of_service, -> { String }, optional: true, nullable: false, api_name: "termsOfService"
9
10
  end
10
11
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSchemaTraffic < Internal::Types::Model
6
6
  field :monthly_website, -> { Integer }, optional: true, nullable: false, api_name: "monthlyWebsite"
7
+
7
8
  field :monthly_rcs_estimate, -> { Integer }, optional: true, nullable: false, api_name: "monthlyRcsEstimate"
8
9
  end
9
10
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Response for get RCS campaign status.
6
6
  class RcsCampaignStatus < Internal::Types::Model
7
7
  field :errors, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+
8
9
  field :id, -> { String }, optional: false, nullable: false
10
+
9
11
  field :status, -> { Pinnacle::Types::ProfileStatusEnum }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -4,11 +4,17 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCampaignSummary < Internal::Types::Model
6
6
  field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId"
7
+
7
8
  field :name, -> { String }, optional: true, nullable: false
9
+
8
10
  field :status, -> { Pinnacle::Types::RcsCampaignSummaryStatus }, optional: false, nullable: false
11
+
9
12
  field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
13
+
10
14
  field :agent_id, -> { String }, optional: true, nullable: false, api_name: "agentId"
15
+
11
16
  field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
17
+
12
18
  field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
13
19
  end
14
20
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # RCS capabilities for a phone number
6
6
  class RcsCapability < Internal::Types::Model
7
7
  field :cards, -> { Pinnacle::Types::RcsCapabilityCards }, optional: false, nullable: false
8
+
8
9
  field :actions, -> { Pinnacle::Types::RcsCapabilityActions }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -6,10 +6,15 @@ module Pinnacle
6
6
  # defines a specific button type in the Pinnacle API.
7
7
  class RcsCapabilityActions < Internal::Types::Model
8
8
  field :open_url, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "openUrl"
9
+
9
10
  field :call, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+
10
12
  field :trigger, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+
11
14
  field :request_user_location, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "requestUserLocation"
15
+
12
16
  field :schedule_event, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "scheduleEvent"
17
+
13
18
  field :send_location, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "sendLocation"
14
19
  end
15
20
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsCapabilityCards < Internal::Types::Model
6
6
  field :standalone, -> { Internal::Types::Boolean }, optional: false, nullable: false
7
+
7
8
  field :carousel, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # See (supported file types)[https://app.pinnacle.sh/supported-file-types?type=RCS-CARD].
8
8
  class RcsCardsContent < Internal::Types::Model
9
9
  field :cards, -> { Internal::Types::Array[Pinnacle::Types::RcsCardsContentCardsItem] }, optional: false, nullable: false
10
+
10
11
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
11
12
  end
12
13
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Individual card containing title, optional media, and action buttons.
6
6
  class RcsCardsContentCardsItem < Internal::Types::Model
7
7
  field :buttons, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false
8
+
8
9
  field :media, -> { Pinnacle::Types::RcsMediaDetailsContent }, optional: true, nullable: false
10
+
9
11
  field :subtitle, -> { String }, optional: true, nullable: false
12
+
10
13
  field :title, -> { String }, optional: false, nullable: false
11
14
  end
12
15
  end
@@ -7,7 +7,9 @@ module Pinnacle
7
7
  extend Pinnacle::Internal::Types::Union
8
8
 
9
9
  member -> { Pinnacle::Types::RichText }
10
+
10
11
  member -> { Pinnacle::Types::RcsMediaContent }
12
+
11
13
  member -> { Pinnacle::Types::RcsCardsContent }
12
14
  end
13
15
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # To create a link follow the format: sms://{PHONE_NUMBER}?service_id={SERVICE_ID}&body={URL_ENCODED_BODY}
8
8
  class RcsLinkResult < Internal::Types::Model
9
9
  field :url, -> { String }, optional: true, nullable: false
10
+
10
11
  field :service_id, -> { String }, optional: false, nullable: false, api_name: "serviceId"
11
12
  end
12
13
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # See (supported file types)[https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA].
8
8
  class RcsMediaContent < Internal::Types::Model
9
9
  field :media, -> { Pinnacle::Types::RcsMediaDetailsContent }, optional: false, nullable: false
10
+
10
11
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
11
12
  end
12
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Metadata about the media file in the message.
6
6
  class RcsMediaDetailsContent < Internal::Types::Model
7
7
  field :full_path, -> { String }, optional: true, nullable: false, api_name: "fullPath"
8
+
8
9
  field :mime_type, -> { String }, optional: false, nullable: false, api_name: "mimeType"
10
+
9
11
  field :url, -> { String }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -6,7 +6,9 @@ module Pinnacle
6
6
  extend Pinnacle::Internal::Types::Union
7
7
 
8
8
  member -> { Pinnacle::Types::RichText }
9
+
9
10
  member -> { Pinnacle::Types::RcsValidateContentMedia }
11
+
10
12
  member -> { Pinnacle::Types::RichCards }
11
13
  end
12
14
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # See [supported media types](https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA).
8
8
  class RcsValidateContentMedia < Internal::Types::Model
9
9
  field :media, -> { String }, optional: false, nullable: false
10
+
10
11
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
11
12
  end
12
13
  end
@@ -4,8 +4,11 @@ module Pinnacle
4
4
  module Types
5
5
  class RcsValidationResult < Internal::Types::Model
6
6
  field :total, -> { Integer }, optional: false, nullable: false
7
+
7
8
  field :unit, -> { Integer }, optional: false, nullable: false
9
+
8
10
  field :segments, -> { Integer }, optional: false, nullable: false
11
+
9
12
  field :unsupported_files, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "unsupportedFiles"
10
13
  end
11
14
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ReactionResult < Internal::Types::Model
6
6
  field :message_id, -> { String }, optional: false, nullable: false, api_name: "messageId"
7
+
7
8
  field :reaction_message_id, -> { String }, optional: false, nullable: false, api_name: "reactionMessageId"
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RefreshedFile < Internal::Types::Model
6
6
  field :original, -> { String }, optional: false, nullable: false
7
+
7
8
  field :refreshed, -> { String }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -8,10 +8,15 @@ module Pinnacle
8
8
  discriminant :type
9
9
 
10
10
  member -> { Pinnacle::Types::RcsButtonOpenUrl }, key: "OPEN_URL"
11
+
11
12
  member -> { Pinnacle::Types::RcsButtonCall }, key: "CALL"
13
+
12
14
  member -> { Pinnacle::Types::RcsButtonTrigger }, key: "TRIGGER"
15
+
13
16
  member -> { Pinnacle::Types::RcsButtonRequestUserLocation }, key: "REQUEST_USER_LOCATION"
17
+
14
18
  member -> { Pinnacle::Types::RcsButtonScheduleEvent }, key: "SCHEDULE_EVENT"
19
+
15
20
  member -> { Pinnacle::Types::RcsButtonSendLocation }, key: "SEND_LOCATION"
16
21
  end
17
22
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Individual card containing title, optional media, and action buttons.
6
6
  class RichCard < Internal::Types::Model
7
7
  field :buttons, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false
8
+
8
9
  field :media, -> { String }, optional: true, nullable: false
10
+
9
11
  field :subtitle, -> { String }, optional: true, nullable: false
12
+
10
13
  field :title, -> { String }, optional: false, nullable: false
11
14
  end
12
15
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # See (supported file types)[https://app.pinnacle.sh/supported-file-types?type=RCS-CARD].
8
8
  class RichCards < Internal::Types::Model
9
9
  field :cards, -> { Internal::Types::Array[Pinnacle::Types::RichCard] }, optional: false, nullable: false
10
+
10
11
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
11
12
  end
12
13
  end
@@ -4,8 +4,11 @@ module Pinnacle
4
4
  module Types
5
5
  class RichCardsMessage < Internal::Types::Model
6
6
  field :options, -> { Pinnacle::Types::SendRichCardsOptions }, optional: true, nullable: false
7
+
7
8
  field :from, -> { String }, optional: false, nullable: false
9
+
8
10
  field :fallback, -> { Pinnacle::Types::FallbackMessage }, optional: true, nullable: false
11
+
9
12
  field :to, -> { String }, optional: false, nullable: false
10
13
  end
11
14
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class RichMediaMessage < Internal::Types::Model
6
6
  field :media, -> { String }, optional: false, nullable: false
7
+
7
8
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
8
9
  end
9
10
  end
@@ -6,7 +6,9 @@ module Pinnacle
6
6
  extend Pinnacle::Internal::Types::Union
7
7
 
8
8
  member -> { Pinnacle::Types::RichTextMessage }
9
+
9
10
  member -> { Pinnacle::Types::RichMediaMessage }
11
+
10
12
  member -> { Pinnacle::Types::RichCardsMessage }
11
13
  end
12
14
  end
@@ -11,6 +11,7 @@ module Pinnacle
11
11
  # > GIFs and videos are not supported and will be rendered as vertical cards.
12
12
  class RichStandaloneCardOptions < Internal::Types::Model
13
13
  field :orientation, -> { Pinnacle::Types::SendRcsCardOptionsStandaloneCardOrientation }, optional: true, nullable: false
14
+
14
15
  field :image_alignment, -> { Pinnacle::Types::SendRcsCardOptionsStandaloneCardImageAlignment }, optional: true, nullable: false
15
16
  end
16
17
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Message containing longer text content with optional quick reply buttons.
6
6
  class RichText < Internal::Types::Model
7
7
  field :quick_replies, -> { Internal::Types::Array[Pinnacle::Types::RichButton] }, optional: true, nullable: false, api_name: "quickReplies"
8
+
8
9
  field :text, -> { String }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Response returned when a blast is scheduled for future delivery.
6
6
  class ScheduledBlastDetails < Internal::Types::Model
7
7
  field :schedule_id, -> { String }, optional: false, nullable: false, api_name: "scheduleId"
8
+
8
9
  field :config, -> { Pinnacle::Types::ScheduledBlastResponseConfig }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # The schedule configuration for the blast.
6
6
  class ScheduledBlastResponseConfig < Internal::Types::Model
7
7
  field :send_at, -> { String }, optional: true, nullable: false, api_name: "sendAt"
8
+
8
9
  field :recurrence, -> { String }, optional: true, nullable: false
10
+
9
11
  field :timezone, -> { String }, optional: true, nullable: false
12
+
10
13
  field :end_date, -> { String }, optional: true, nullable: false, api_name: "endDate"
11
14
  end
12
15
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ScheduledFormSendResponseForm < Internal::Types::Model
6
6
  field :id, -> { String }, optional: false, nullable: false
7
+
7
8
  field :name, -> { String }, optional: false, nullable: true
8
9
  end
9
10
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ScheduledFormSendResponseSubmission < Internal::Types::Model
6
6
  field :id, -> { String }, optional: false, nullable: false
7
+
7
8
  field :url, -> { String }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Response shape for a scheduled form send — returned in place of `SendFormResponse` when `options.schedule` is set.
6
6
  class ScheduledFormSendResult < Internal::Types::Model
7
7
  field :schedule_id, -> { String }, optional: false, nullable: false, api_name: "scheduleId"
8
+
8
9
  field :config, -> { Pinnacle::Types::MessageSchedule }, optional: false, nullable: false
10
+
9
11
  field :form, -> { Pinnacle::Types::ScheduledFormSendResponseForm }, optional: false, nullable: false
12
+
10
13
  field :submission, -> { Pinnacle::Types::ScheduledFormSendResponseSubmission }, optional: false, nullable: false
11
14
  end
12
15
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ScheduledMessage < Internal::Types::Model
6
6
  field :schedule_id, -> { String }, optional: false, nullable: false, api_name: "scheduleId"
7
+
7
8
  field :config, -> { Pinnacle::Types::ScheduledSendResponseConfig }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -4,13 +4,21 @@ module Pinnacle
4
4
  module Types
5
5
  class ScheduledMessageSummary < Internal::Types::Model
6
6
  field :id, -> { String }, optional: false, nullable: false
7
+
7
8
  field :send_at, -> { String }, optional: false, nullable: true, api_name: "sendAt"
9
+
8
10
  field :status, -> { Pinnacle::Types::ScheduledMessageSummaryStatus }, optional: false, nullable: false
11
+
9
12
  field :recurrence, -> { String }, optional: false, nullable: true
13
+
10
14
  field :timezone, -> { String }, optional: false, nullable: true
15
+
11
16
  field :end_date, -> { String }, optional: false, nullable: true, api_name: "endDate"
17
+
12
18
  field :payload, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
19
+
13
20
  field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
21
+
14
22
  field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
15
23
  end
16
24
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Configuration for the scheduled message.
6
6
  class ScheduledSendResponseConfig < Internal::Types::Model
7
7
  field :send_at, -> { String }, optional: false, nullable: false, api_name: "sendAt"
8
+
8
9
  field :recurrence, -> { String }, optional: true, nullable: false
10
+
9
11
  field :timezone, -> { String }, optional: false, nullable: false
12
+
10
13
  field :end_date, -> { String }, optional: true, nullable: false, api_name: "endDate"
11
14
  end
12
15
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Single-select dropdown.
6
6
  class SelectField < Internal::Types::Model
7
7
  field :options, -> { Internal::Types::Array[Pinnacle::Types::FormFieldOption] }, optional: false, nullable: false
8
+
8
9
  field :placeholder, -> { String }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Optional delivery knobs shared by RCS and SMS sends.
6
6
  class SendFormOptions < Internal::Types::Model
7
7
  field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
8
+
8
9
  field :webview_mode, -> { Pinnacle::Types::SendFormOptionsWebviewMode }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -14,6 +14,7 @@ module Pinnacle
14
14
  extend Pinnacle::Internal::Types::Union
15
15
 
16
16
  member -> { Pinnacle::Types::SendFormViaRcsParams }
17
+
17
18
  member -> { Pinnacle::Types::SendFormViaSmsParams }
18
19
  end
19
20
  end
@@ -10,7 +10,9 @@ module Pinnacle
10
10
  # submission URL is returned.
11
11
  class SendFormResult < Internal::Types::Model
12
12
  field :form, -> { Pinnacle::Types::Form }, optional: false, nullable: false
13
+
13
14
  field :submission, -> { Pinnacle::Types::FormSubmission }, optional: false, nullable: false
15
+
14
16
  field :message_id, -> { String }, optional: false, nullable: true
15
17
  end
16
18
  end
@@ -5,9 +5,13 @@ module Pinnacle
5
5
  # Send a form from an RCS agent. `from` must be an `agent_*` id.
6
6
  class SendFormViaRcsParams < Internal::Types::Model
7
7
  field :from, -> { String }, optional: false, nullable: false
8
+
8
9
  field :to, -> { String }, optional: true, nullable: false
10
+
9
11
  field :form, -> { Pinnacle::Types::SendFormViaRcsRequestForm }, optional: false, nullable: false
12
+
10
13
  field :fallback, -> { Pinnacle::Types::SendFormViaRcsRequestFallback }, optional: true, nullable: false
14
+
11
15
  field :options, -> { Pinnacle::Types::SendFormOptions }, optional: true, nullable: false
12
16
  end
13
17
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  extend Pinnacle::Internal::Types::Union
8
8
 
9
9
  member -> { String }
10
+
10
11
  member -> { Pinnacle::Types::FormDefinition }
11
12
  end
12
13
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Send a form from a phone number. `from` must be an E.164 phone.
6
6
  class SendFormViaSmsParams < Internal::Types::Model
7
7
  field :from, -> { String }, optional: false, nullable: false
8
+
8
9
  field :to, -> { String }, optional: true, nullable: false
10
+
9
11
  field :form, -> { Pinnacle::Types::SendFormViaSmsRequestForm }, optional: false, nullable: false
12
+
10
13
  field :options, -> { Pinnacle::Types::SendFormOptions }, optional: true, nullable: false
11
14
  end
12
15
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  extend Pinnacle::Internal::Types::Union
7
7
 
8
8
  member -> { String }
9
+
9
10
  member -> { Pinnacle::Types::FormDefinition }
10
11
  end
11
12
  end
@@ -5,9 +5,13 @@ module Pinnacle
5
5
  # Configure how your RCS message is sent and tracked.
6
6
  class SendRichCardsOptions < Internal::Types::Model
7
7
  field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
8
+
8
9
  field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
10
+
9
11
  field :transcode, -> { Internal::Types::Boolean }, optional: true, nullable: false
12
+
10
13
  field :validate, -> { Internal::Types::Boolean }, optional: true, nullable: false
14
+
11
15
  field :standalone_card, -> { Pinnacle::Types::RichStandaloneCardOptions }, optional: true, nullable: false
12
16
  end
13
17
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Configure how your RCS message is sent and tracked.
6
6
  class SendRichMessageOptions < Internal::Types::Model
7
7
  field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
8
+
8
9
  field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
10
+
9
11
  field :transcode, -> { Internal::Types::Boolean }, optional: true, nullable: false
12
+
10
13
  field :validate, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
14
  end
12
15
  end