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
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Configure how your RCS message is sent and tracked.
6
6
  class SendRichMessageOptions4 < 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
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Details about how the message was segmented for sending.
6
6
  class SendSmsResponseSegments < Internal::Types::Model
7
7
  field :count, -> { Integer }, optional: false, nullable: false
8
+
8
9
  field :encoding, -> { Pinnacle::Types::SendSmsResponseSegmentsEncoding }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -5,9 +5,13 @@ module Pinnacle
5
5
  # Response schema confirming the typing indicator was sent.
6
6
  class SendTypingIndicatorResponse < Internal::Types::Model
7
7
  field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+
8
9
  field :agent_id, -> { String }, optional: false, nullable: false, api_name: "agentId"
10
+
9
11
  field :recipient, -> { String }, optional: false, nullable: false
12
+
10
13
  field :started_at, -> { String }, optional: false, nullable: false, api_name: "startedAt"
14
+
11
15
  field :ended_at, -> { String }, optional: false, nullable: false, api_name: "endedAt"
12
16
  end
13
17
  end
@@ -4,10 +4,15 @@ module Pinnacle
4
4
  module Types
5
5
  class SentMmsDetails < Internal::Types::Model
6
6
  field :message_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "messageIds"
7
+
7
8
  field :segments, -> { Integer }, optional: false, nullable: false
9
+
8
10
  field :total_cost, -> { Integer }, optional: false, nullable: false, api_name: "totalCost"
11
+
9
12
  field :sender, -> { String }, optional: false, nullable: false
13
+
10
14
  field :recipient, -> { String }, optional: false, nullable: false
15
+
11
16
  field :status, -> { String }, optional: false, nullable: false
12
17
  end
13
18
  end
@@ -4,10 +4,15 @@ module Pinnacle
4
4
  module Types
5
5
  class SentRichMessage < Internal::Types::Model
6
6
  field :message_id, -> { String }, optional: false, nullable: false, api_name: "messageId"
7
+
7
8
  field :segments, -> { Integer }, optional: false, nullable: false
9
+
8
10
  field :total_cost, -> { Integer }, optional: false, nullable: false, api_name: "totalCost"
11
+
9
12
  field :sender, -> { String }, optional: false, nullable: false
13
+
10
14
  field :recipient, -> { String }, optional: false, nullable: false
15
+
11
16
  field :status, -> { String }, optional: false, nullable: false
12
17
  end
13
18
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # a `FALLBACK_SENT` webhook event for the original RCS message.
8
8
  class SentRichMessageFallbackMms < Internal::Types::Model
9
9
  field :fallback_sent, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "fallbackSent"
10
+
10
11
  field :original_message_id, -> { String }, optional: false, nullable: false, api_name: "originalMessageId"
11
12
  end
12
13
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # a `FALLBACK_SENT` webhook event for the original RCS message.
8
8
  class SentRichMessageFallbackSms < Internal::Types::Model
9
9
  field :fallback_sent, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "fallbackSent"
10
+
10
11
  field :original_message_id, -> { String }, optional: false, nullable: false, api_name: "originalMessageId"
11
12
  end
12
13
  end
@@ -4,10 +4,15 @@ module Pinnacle
4
4
  module Types
5
5
  class SentSmsDetails < Internal::Types::Model
6
6
  field :message_id, -> { String }, optional: false, nullable: false, api_name: "messageId"
7
+
7
8
  field :segments, -> { Pinnacle::Types::SendSmsResponseSegments }, optional: false, nullable: false
9
+
8
10
  field :total_cost, -> { Integer }, optional: false, nullable: false, api_name: "totalCost"
11
+
9
12
  field :sender, -> { String }, optional: false, nullable: false
13
+
10
14
  field :recipient, -> { String }, optional: false, nullable: false
15
+
11
16
  field :status, -> { String }, optional: false, nullable: false
12
17
  end
13
18
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ShortenedUrl < Internal::Types::Model
6
6
  field :url, -> { String }, optional: false, nullable: false
7
+
7
8
  field :config, -> { Pinnacle::Types::PinnacleUrlConfig }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  # Send only `text` to simulate an inbound SMS; include `mediaUrls` to simulate an inbound MMS.
7
7
  class SimulateMessageInput < Internal::Types::Model
8
8
  field :text, -> { String }, optional: true, nullable: false
9
+
9
10
  field :media_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "mediaUrls"
10
11
  end
11
12
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulate a button press from a user.
6
6
  class SimulateUserButton < Internal::Types::Model
7
7
  field :from, -> { String }, optional: false, nullable: false
8
+
8
9
  field :to, -> { String }, optional: false, nullable: false
10
+
9
11
  field :button, -> { Pinnacle::Types::UserButtonPress }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulate an inbound message from a user.
6
6
  class SimulateUserMessage < Internal::Types::Model
7
7
  field :from, -> { String }, optional: false, nullable: false
8
+
8
9
  field :to, -> { String }, optional: false, nullable: false
10
+
9
11
  field :message, -> { Pinnacle::Types::SimulateMessageInput }, optional: false, 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::SimulateUserMessage }
10
+
10
11
  member -> { Pinnacle::Types::SimulateUserButton }
11
12
  end
12
13
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Details about how the SMS content would be segmented for delivery.
6
6
  class SmsValidationResponseSegments < Internal::Types::Model
7
7
  field :gsm_7, -> { Pinnacle::Types::SmsValidationResponseSegmentsGsm7 }, optional: false, nullable: false, api_name: "gsm7"
8
+
8
9
  field :utf_16, -> { Pinnacle::Types::SmsValidationResponseSegmentsUtf16 }, optional: false, nullable: false, api_name: "utf16"
9
10
  end
10
11
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Segmentation details when your message is encoded with GSM-7.
6
6
  class SmsValidationResponseSegmentsGsm7 < Internal::Types::Model
7
7
  field :total_bytes, -> { Integer }, optional: false, nullable: false, api_name: "totalBytes"
8
+
8
9
  field :unsupported, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+
9
11
  field :value, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Segmentation details when your message is encoded with UTF-16.
6
6
  class SmsValidationResponseSegmentsUtf16 < Internal::Types::Model
7
7
  field :total_bytes, -> { Integer }, optional: false, nullable: false, api_name: "totalBytes"
8
+
8
9
  field :value, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class SmsValidationResponseTotal < Internal::Types::Model
6
6
  field :gsm_7, -> { Integer }, optional: false, nullable: false, api_name: "gsm7"
7
+
7
8
  field :utf_16, -> { Integer }, optional: false, nullable: false, api_name: "utf16"
8
9
  end
9
10
  end
@@ -4,8 +4,11 @@ module Pinnacle
4
4
  module Types
5
5
  class SmsValidationResult < Internal::Types::Model
6
6
  field :is_over_segment_limit, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isOverSegmentLimit"
7
+
7
8
  field :segments, -> { Pinnacle::Types::SmsValidationResponseSegments }, optional: false, nullable: false
9
+
8
10
  field :total, -> { Pinnacle::Types::SmsValidationResponseTotal }, optional: false, nullable: false
11
+
9
12
  field :unit, -> { Integer }, optional: false, nullable: false
10
13
  end
11
14
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Response returned after creating or updating a test agent.
6
6
  class TestAgentResponse < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
+
8
9
  field :type, -> { String }, optional: false, nullable: false
10
+
9
11
  field :service_id, -> { String }, optional: false, nullable: false, api_name: "serviceId"
12
+
10
13
  field :details, -> { Pinnacle::Types::RcsAgentDetails }, optional: false, nullable: false
11
14
  end
12
15
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Single-line text input with optional length bounds and regex pattern.
6
6
  class TextField < Internal::Types::Model
7
7
  field :placeholder, -> { String }, optional: true, nullable: false
8
+
8
9
  field :pattern, -> { String }, optional: true, nullable: false
10
+
9
11
  field :min_length, -> { Integer }, optional: true, nullable: false
12
+
10
13
  field :max_length, -> { Integer }, optional: true, nullable: false
11
14
  end
12
15
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Multi-line text input for longer free-form answers.
6
6
  class TextareaField < Internal::Types::Model
7
7
  field :placeholder, -> { String }, optional: true, nullable: false
8
+
8
9
  field :pattern, -> { String }, optional: true, nullable: false
10
+
9
11
  field :min_length, -> { Integer }, optional: true, nullable: false
12
+
10
13
  field :max_length, -> { Integer }, optional: true, nullable: false
11
14
  end
12
15
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Time picker. `min`/`max` accept `HH:MM` (24-hour).
6
6
  class TimeField < Internal::Types::Model
7
7
  field :placeholder, -> { String }, optional: true, nullable: false
8
+
8
9
  field :min, -> { String }, optional: true, nullable: false
10
+
9
11
  field :max, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -4,13 +4,21 @@ module Pinnacle
4
4
  module Types
5
5
  class TollFreeCampaign < Internal::Types::Model
6
6
  field :campaign_id, -> { String }, optional: true, nullable: false, api_name: "campaignId"
7
+
7
8
  field :keywords, -> { Pinnacle::Types::TollFreeCampaignSchemaKeywords }, optional: true, nullable: false
9
+
8
10
  field :links, -> { Pinnacle::Types::TollFreeCampaignSchemaLinks }, optional: true, nullable: false
11
+
9
12
  field :monthly_volume, -> { Pinnacle::Types::MessageVolumeEnum }, optional: true, nullable: false, api_name: "monthlyVolume"
13
+
10
14
  field :name, -> { String }, optional: true, nullable: false
15
+
11
16
  field :opt_in, -> { Pinnacle::Types::TollFreeCampaignSchemaOptIn }, optional: true, nullable: false, api_name: "optIn"
17
+
12
18
  field :options, -> { Pinnacle::Types::TollFreeCampaignSchemaOptions }, optional: true, nullable: false
19
+
13
20
  field :production_message_content, -> { String }, optional: true, nullable: false, api_name: "productionMessageContent"
21
+
14
22
  field :use_case, -> { Pinnacle::Types::TollFreeCampaignSchemaUseCase }, optional: true, nullable: false, api_name: "useCase"
15
23
  end
16
24
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Keyword response configuration.
6
6
  class TollFreeCampaignSchemaKeywords < Internal::Types::Model
7
7
  field :help, -> { Pinnacle::Types::TollFreeCampaignSchemaKeywordsHelp }, optional: true, nullable: false, api_name: "HELP"
8
+
8
9
  field :opt_in, -> { Pinnacle::Types::TollFreeCampaignSchemaKeywordsOptIn }, optional: true, nullable: false, api_name: "OPT_IN"
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Opt-in keyword settings.
6
6
  class TollFreeCampaignSchemaKeywordsOptIn < Internal::Types::Model
7
7
  field :message, -> { String }, optional: true, nullable: false
8
+
8
9
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Legal documentation links.
6
6
  class TollFreeCampaignSchemaLinks < 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
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Opt-in method and workflow.
6
6
  class TollFreeCampaignSchemaOptIn < Internal::Types::Model
7
7
  field :method_, -> { Pinnacle::Types::OptInMethodEnum }, optional: true, nullable: false, api_name: "method"
8
+
8
9
  field :url, -> { String }, optional: true, nullable: false
10
+
9
11
  field :workflow_description, -> { String }, optional: true, nullable: false, api_name: "workflowDescription"
10
12
  end
11
13
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Use case classification for the campaign.
6
6
  class TollFreeCampaignSchemaUseCase < Internal::Types::Model
7
7
  field :summary, -> { String }, optional: true, nullable: false
8
+
8
9
  field :value, -> { Pinnacle::Types::TollFreeCampaignUseCaseEnum }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Response for get toll-free campaign status.
6
6
  class TollFreeCampaignStatus < Internal::Types::Model
7
7
  field :error, -> { String }, optional: true, nullable: false
8
+
8
9
  field :id, -> { String }, optional: false, nullable: false
10
+
9
11
  field :updates, -> { Pinnacle::Types::GetTollFreeCampaignStatusResponseUpdates }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -4,11 +4,17 @@ module Pinnacle
4
4
  module Types
5
5
  class TollFreeCampaignSummary < 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::TollFreeCampaignSummaryStatus }, optional: false, nullable: false
11
+
9
12
  field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
13
+
10
14
  field :use_case, -> { String }, optional: true, nullable: false, api_name: "useCase"
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
@@ -4,15 +4,25 @@ module Pinnacle
4
4
  module Types
5
5
  class TollFreeCampaignWithExtendedBrandAndStatus < Internal::Types::Model
6
6
  field :brand, -> { Pinnacle::Types::ExtendedBrand }, optional: false, nullable: false
7
+
7
8
  field :status, -> { Pinnacle::Types::ProfileStatusEnum }, optional: false, nullable: false
9
+
8
10
  field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId"
11
+
9
12
  field :keywords, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusKeywords }, optional: true, nullable: false
13
+
10
14
  field :links, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusLinks }, optional: true, nullable: false
15
+
11
16
  field :monthly_volume, -> { Pinnacle::Types::MessageVolumeEnum }, optional: true, nullable: false, api_name: "monthlyVolume"
17
+
12
18
  field :name, -> { String }, optional: true, nullable: false
19
+
13
20
  field :opt_in, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusOptIn }, optional: true, nullable: false, api_name: "optIn"
21
+
14
22
  field :options, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusOptions }, optional: true, nullable: false
23
+
15
24
  field :production_message_content, -> { String }, optional: true, nullable: false, api_name: "productionMessageContent"
25
+
16
26
  field :use_case, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusUseCase }, optional: true, nullable: false, api_name: "useCase"
17
27
  end
18
28
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Keyword response configuration.
6
6
  class TollFreeWithExtendedBrandAndStatusKeywords < Internal::Types::Model
7
7
  field :help, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusKeywordsHelp }, optional: true, nullable: false, api_name: "HELP"
8
+
8
9
  field :opt_in, -> { Pinnacle::Types::TollFreeWithExtendedBrandAndStatusKeywordsOptIn }, optional: true, nullable: false, api_name: "OPT_IN"
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Opt-in keyword settings.
6
6
  class TollFreeWithExtendedBrandAndStatusKeywordsOptIn < Internal::Types::Model
7
7
  field :message, -> { String }, optional: true, nullable: false
8
+
8
9
  field :keywords, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Legal documentation links.
6
6
  class TollFreeWithExtendedBrandAndStatusLinks < 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
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Opt-in keyword settings.
6
6
  class TollFreeWithExtendedBrandAndStatusOptIn < Internal::Types::Model
7
7
  field :method_, -> { Pinnacle::Types::OptInMethodEnum }, optional: true, nullable: false, api_name: "method"
8
+
8
9
  field :url, -> { String }, optional: true, nullable: false
10
+
9
11
  field :workflow_description, -> { String }, optional: true, nullable: false, api_name: "workflowDescription"
10
12
  end
11
13
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Use case classification for the campaign.
6
6
  class TollFreeWithExtendedBrandAndStatusUseCase < Internal::Types::Model
7
7
  field :summary, -> { String }, optional: true, nullable: false
8
+
8
9
  field :value, -> { Pinnacle::Types::TollFreeCampaignUseCaseEnum }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -4,7 +4,9 @@ module Pinnacle
4
4
  module Types
5
5
  class UploadResults < Internal::Types::Model
6
6
  field :upload_url, -> { String }, optional: false, nullable: false, api_name: "uploadUrl"
7
+
7
8
  field :download_url, -> { String }, optional: false, nullable: false, api_name: "downloadUrl"
9
+
8
10
  field :metadata, -> { Pinnacle::Types::PinnacleFileUploadMetadata }, optional: false, nullable: false
9
11
  end
10
12
  end
@@ -9,10 +9,15 @@ module Pinnacle
9
9
  discriminant :type
10
10
 
11
11
  member -> { Pinnacle::Types::UserButtonPressTrigger }, key: "TRIGGER"
12
+
12
13
  member -> { Pinnacle::Types::UserButtonPressOpenUrl }, key: "OPEN_URL"
14
+
13
15
  member -> { Pinnacle::Types::UserButtonPressCall }, key: "CALL"
16
+
14
17
  member -> { Pinnacle::Types::UserButtonPressScheduleEvent }, key: "SCHEDULE_EVENT"
18
+
15
19
  member -> { Pinnacle::Types::UserButtonPressSendLocation }, key: "SEND_LOCATION"
20
+
16
21
  member -> { Pinnacle::Types::UserButtonPressRequestUserLocation }, key: "REQUEST_USER_LOCATION"
17
22
  end
18
23
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulates when a user presses a `call` button.
6
6
  class UserButtonPressCall < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :payload, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulates when a user presses an `openUrl` button.
6
6
  class UserButtonPressOpenUrl < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :payload, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulates when a user presses a `requestUserLocation` button.
6
6
  class UserButtonPressRequestUserLocation < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :location, -> { Pinnacle::Types::UserButtonPressRequestUserLocationLocation }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Location the simulated user responded with.
6
6
  class UserButtonPressRequestUserLocationLocation < Internal::Types::Model
7
7
  field :text, -> { String }, optional: true, nullable: false
8
+
8
9
  field :latitude, -> { Integer }, optional: true, nullable: false
10
+
9
11
  field :longitude, -> { Integer }, optional: true, nullable: false
12
+
10
13
  field :address, -> { String }, optional: true, nullable: false
11
14
  end
12
15
  end
@@ -5,10 +5,15 @@ module Pinnacle
5
5
  # Simulates when a user presses a `scheduleEvent` button.
6
6
  class UserButtonPressScheduleEvent < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :event_start_time, -> { String }, optional: true, nullable: false, api_name: "eventStartTime"
12
+
10
13
  field :event_end_time, -> { String }, optional: true, nullable: false, api_name: "eventEndTime"
14
+
11
15
  field :event_title, -> { String }, optional: true, nullable: false, api_name: "eventTitle"
16
+
12
17
  field :event_description, -> { String }, optional: true, nullable: false, api_name: "eventDescription"
13
18
  end
14
19
  end
@@ -5,8 +5,11 @@ module Pinnacle
5
5
  # Simulates when a user presses a `sendLocation` button.
6
6
  class UserButtonPressSendLocation < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :name, -> { String }, optional: true, nullable: false
12
+
10
13
  field :lat_long, -> { Pinnacle::Types::UserButtonPressSendLocationLatLong }, optional: true, nullable: false, api_name: "latLong"
11
14
  end
12
15
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Shared coordinates.
6
6
  class UserButtonPressSendLocationLatLong < Internal::Types::Model
7
7
  field :lat, -> { Integer }, optional: true, nullable: false
8
+
8
9
  field :lng, -> { Integer }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Simulates when a user presses a `trigger` button.
6
6
  class UserButtonPressTrigger < Internal::Types::Model
7
7
  field :title, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { String }, optional: true, nullable: false
10
+
9
11
  field :payload, -> { String }, optional: true, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Represents an event triggered by a user such as when they start typing.
6
6
  class UserEvent < Internal::Types::Model
7
7
  field :type, -> { String }, optional: false, nullable: false
8
+
8
9
  field :started_at, -> { String }, optional: false, nullable: false, api_name: "startedAt"
10
+
9
11
  field :conversation, -> { Pinnacle::Types::UserEventConversation }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  # Conversation metadata containing the conversation ID, sender, and recipient information.
6
6
  class UserEventConversation < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
+
8
9
  field :from, -> { String }, optional: false, nullable: false
10
+
9
11
  field :to, -> { String }, optional: false, nullable: false
10
12
  end
11
13
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # File associated to the contact.
6
6
  class VCardDataFile < Internal::Types::Model
7
7
  field :url, -> { String }, optional: false, nullable: false
8
+
8
9
  field :metadata, -> { Pinnacle::Types::VCardDataFileMetadata }, optional: false, nullable: false
9
10
  end
10
11
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Geographic coordinates.
6
6
  class VCardGeo < Internal::Types::Model
7
7
  field :latitude, -> { Integer }, optional: true, nullable: false
8
+
8
9
  field :longitude, -> { Integer }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -5,9 +5,13 @@ module Pinnacle
5
5
  # Structured name components.
6
6
  class VCardName < Internal::Types::Model
7
7
  field :family_name, -> { String }, optional: true, nullable: false, api_name: "familyName"
8
+
8
9
  field :given_name, -> { String }, optional: true, nullable: false, api_name: "givenName"
10
+
9
11
  field :additional_names, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "additionalNames"
12
+
10
13
  field :honorific_prefixes, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "honorificPrefixes"
14
+
11
15
  field :honorific_suffixes, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "honorificSuffixes"
12
16
  end
13
17
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  # Organization or company information.
6
6
  class VCardOrganization < Internal::Types::Model
7
7
  field :name, -> { String }, optional: true, nullable: false
8
+
8
9
  field :units, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -4,6 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  class ValidateCampaignParams < Internal::Types::Model
6
6
  field :additional_info, -> { String }, optional: true, nullable: false, api_name: "additionalInfo"
7
+
7
8
  field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId"
8
9
  end
9
10
  end