rcs 2.0.18 → 2.0.20.pre.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +6 -4
  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/calls/client.rb +359 -0
  21. data/lib/pinnacle/calls/types/calls_download_recording_request.rb +13 -0
  22. data/lib/pinnacle/calls/types/calls_list_events_request.rb +15 -0
  23. data/lib/pinnacle/calls/types/calls_list_request.rb +25 -0
  24. data/lib/pinnacle/calls/types/create_call_params.rb +17 -0
  25. data/lib/pinnacle/calls/types/create_stream_token_params.rb +17 -0
  26. data/lib/pinnacle/calls/types/update_call_params.rb +13 -0
  27. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +1 -0
  28. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +2 -0
  29. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +1 -0
  30. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +1 -0
  31. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +1 -0
  32. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +5 -0
  33. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +1 -0
  34. data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_params.rb +4 -0
  35. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +10 -0
  36. data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_params.rb +4 -0
  37. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +7 -0
  38. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +1 -0
  39. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +1 -0
  40. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +1 -0
  41. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +1 -0
  42. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +2 -0
  43. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +1 -0
  44. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +1 -0
  45. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +1 -0
  46. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +1 -0
  47. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +12 -0
  48. data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_params.rb +4 -0
  49. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +1 -0
  50. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +1 -0
  51. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +2 -0
  52. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +1 -0
  53. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +1 -0
  54. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +9 -0
  55. data/lib/pinnacle/client.rb +12 -2
  56. data/lib/pinnacle/contacts/client.rb +0 -2
  57. data/lib/pinnacle/contacts/types/contacts_get_request.rb +1 -0
  58. data/lib/pinnacle/contacts/types/create_contact_params.rb +4 -0
  59. data/lib/pinnacle/contacts/types/list_contacts_params.rb +5 -0
  60. data/lib/pinnacle/contacts/types/update_contact_params.rb +4 -0
  61. data/lib/pinnacle/conversations/client.rb +0 -2
  62. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +8 -0
  63. data/lib/pinnacle/conversations/types/list_conversations_params.rb +6 -0
  64. data/lib/pinnacle/conversations/types/update_conversation_params.rb +1 -0
  65. data/lib/pinnacle/forms/client.rb +2 -2
  66. data/lib/pinnacle/forms/submissions/client.rb +1 -1
  67. data/lib/pinnacle/forms/submissions/types/list_form_submissions_params.rb +2 -0
  68. data/lib/pinnacle/forms/types/forms_send_response.rb +1 -0
  69. data/lib/pinnacle/forms/types/list_forms_params.rb +1 -0
  70. data/lib/pinnacle/forms/types/update_form_params.rb +7 -0
  71. data/lib/pinnacle/internal/http/raw_client.rb +3 -2
  72. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +14 -2
  73. data/lib/pinnacle/internal/iterators/item_iterator.rb +6 -0
  74. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +22 -2
  75. data/lib/pinnacle/internal/types/utils.rb +2 -2
  76. data/lib/pinnacle/messages/blast/types/blast_mms.rb +3 -0
  77. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +1 -0
  78. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +1 -0
  79. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +4 -0
  80. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +3 -0
  81. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +1 -0
  82. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +1 -0
  83. data/lib/pinnacle/messages/blast/types/blast_sms.rb +3 -0
  84. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +1 -0
  85. data/lib/pinnacle/messages/blasts/types/list_blasts_params.rb +4 -0
  86. data/lib/pinnacle/messages/mms/types/mms.rb +4 -0
  87. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +1 -0
  88. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +3 -0
  89. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +3 -0
  90. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +1 -0
  91. data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_params.rb +4 -0
  92. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +1 -0
  93. data/lib/pinnacle/messages/sms/types/sms.rb +3 -0
  94. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +1 -0
  95. data/lib/pinnacle/messages/types/list_messages_params.rb +10 -0
  96. data/lib/pinnacle/messages/types/react_message_params.rb +2 -0
  97. data/lib/pinnacle/network/client.rb +34 -0
  98. data/lib/pinnacle/network/requests/client.rb +94 -0
  99. data/lib/pinnacle/network/requests/types/list_network_requests_params.rb +21 -0
  100. data/lib/pinnacle/network/silent_auth/client.rb +107 -0
  101. data/lib/pinnacle/network/silent_auth/types/silent_auth_check_request.rb +15 -0
  102. data/lib/pinnacle/network/silent_auth/types/silent_auth_request.rb +17 -0
  103. data/lib/pinnacle/network/sim_swap/client.rb +55 -0
  104. data/lib/pinnacle/network/sim_swap/types/sim_swap_request.rb +15 -0
  105. data/lib/pinnacle/network/subscriber_match/client.rb +55 -0
  106. data/lib/pinnacle/network/subscriber_match/types/subscriber_match_request.rb +15 -0
  107. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +2 -0
  108. data/lib/pinnacle/phone_numbers/types/list_phone_numbers_params.rb +1 -0
  109. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +1 -0
  110. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +2 -0
  111. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +2 -0
  112. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +2 -0
  113. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +3 -0
  114. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +4 -0
  115. data/lib/pinnacle/pinnacle_client.rb +8 -0
  116. data/lib/pinnacle/rcs/agents/types/list_agents_params.rb +3 -0
  117. data/lib/pinnacle/rcs/test/client.rb +2 -4
  118. data/lib/pinnacle/rcs/test/types/create_test_agent_request.rb +11 -0
  119. data/lib/pinnacle/rcs/test/types/test_agent_whitelist_request.rb +1 -0
  120. data/lib/pinnacle/rcs/test/types/test_get_whitelist_status_request.rb +1 -0
  121. data/lib/pinnacle/rcs/test/types/update_test_agent_request.rb +12 -0
  122. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +1 -0
  123. data/lib/pinnacle/rcs/types/rcs_link_request.rb +2 -0
  124. data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_params.rb +4 -0
  125. data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +1 -0
  126. data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +16 -0
  127. data/lib/pinnacle/tools/file/types/upload_file_options.rb +1 -0
  128. data/lib/pinnacle/tools/file/types/upload_file_params.rb +3 -0
  129. data/lib/pinnacle/tools/url/client.rb +1 -1
  130. data/lib/pinnacle/tools/url/types/create_url_params.rb +1 -0
  131. data/lib/pinnacle/tools/url/types/list_links_params.rb +2 -0
  132. data/lib/pinnacle/tools/url/types/update_url_params.rb +2 -0
  133. data/lib/pinnacle/types/address_field.rb +3 -0
  134. data/lib/pinnacle/types/advanced_phone_information.rb +5 -0
  135. data/lib/pinnacle/types/advanced_phone_information_carrier.rb +3 -0
  136. data/lib/pinnacle/types/advanced_phone_information_contact.rb +9 -0
  137. data/lib/pinnacle/types/advanced_phone_information_location.rb +7 -0
  138. data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +1 -0
  139. data/lib/pinnacle/types/advanced_phone_information_location_country.rb +2 -0
  140. data/lib/pinnacle/types/advanced_phone_information_type.rb +3 -0
  141. data/lib/pinnacle/types/agent.rb +1 -0
  142. data/lib/pinnacle/types/agent_email_entry.rb +1 -0
  143. data/lib/pinnacle/types/agent_phone_entry.rb +1 -0
  144. data/lib/pinnacle/types/agent_summary.rb +6 -0
  145. data/lib/pinnacle/types/agent_summary_carrier_launches.rb +6 -1
  146. data/lib/pinnacle/types/agent_summary_config.rb +11 -0
  147. data/lib/pinnacle/types/agent_summary_config_emails_item.rb +1 -0
  148. data/lib/pinnacle/types/agent_summary_config_phones_item.rb +1 -0
  149. data/lib/pinnacle/types/agent_summary_config_websites_item.rb +1 -0
  150. data/lib/pinnacle/types/agent_website_entry.rb +1 -0
  151. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +4 -0
  152. data/lib/pinnacle/types/attach_webhook_result.rb +3 -0
  153. data/lib/pinnacle/types/attached_phone_number_result.rb +1 -0
  154. data/lib/pinnacle/types/audience_count_only.rb +3 -0
  155. data/lib/pinnacle/types/audience_summary.rb +4 -0
  156. data/lib/pinnacle/types/audience_with_pagination.rb +5 -0
  157. data/lib/pinnacle/types/autofill_campaign_params.rb +1 -0
  158. data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +10 -0
  159. data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +2 -0
  160. data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +1 -0
  161. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +1 -0
  162. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +1 -0
  163. data/lib/pinnacle/types/autofill_dlc_response_links.rb +1 -0
  164. data/lib/pinnacle/types/autofill_dlc_response_options.rb +5 -0
  165. data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +1 -0
  166. data/lib/pinnacle/types/bad_request_error_body.rb +1 -0
  167. data/lib/pinnacle/types/base_rich_message.rb +3 -0
  168. data/lib/pinnacle/types/basic_phone_information.rb +5 -0
  169. data/lib/pinnacle/types/basic_phone_information_location.rb +1 -0
  170. data/lib/pinnacle/types/basic_phone_information_location_country.rb +2 -0
  171. data/lib/pinnacle/types/blast_details.rb +5 -0
  172. data/lib/pinnacle/types/blast_summary.rb +7 -0
  173. data/lib/pinnacle/types/brand_status.rb +2 -0
  174. data/lib/pinnacle/types/button_clicked.rb +1 -0
  175. data/lib/pinnacle/types/button_clicked_data.rb +1 -0
  176. data/lib/pinnacle/types/button_clicked_data_button.rb +4 -0
  177. data/lib/pinnacle/types/button_clicked_data_button_raw.rb +1 -0
  178. data/lib/pinnacle/types/buy_response_capabilities.rb +2 -0
  179. data/lib/pinnacle/types/call.rb +31 -0
  180. data/lib/pinnacle/types/call_direction.rb +12 -0
  181. data/lib/pinnacle/types/call_event.rb +27 -0
  182. data/lib/pinnacle/types/call_event_source.rb +14 -0
  183. data/lib/pinnacle/types/call_metadata.rb +23 -0
  184. data/lib/pinnacle/types/call_state.rb +19 -0
  185. data/lib/pinnacle/types/call_status_event.rb +14 -0
  186. data/lib/pinnacle/types/call_status_event_call.rb +17 -0
  187. data/lib/pinnacle/types/call_stream_token.rb +13 -0
  188. data/lib/pinnacle/types/campaign_query.rb +1 -0
  189. data/lib/pinnacle/types/campaign_status_event.rb +5 -0
  190. data/lib/pinnacle/types/campaign_status_event_agent.rb +1 -0
  191. data/lib/pinnacle/types/campaign_status_event_brand.rb +1 -0
  192. data/lib/pinnacle/types/campaign_status_event_campaign.rb +1 -0
  193. data/lib/pinnacle/types/campaign_status_event_carrier_launches.rb +1 -0
  194. data/lib/pinnacle/types/campaign_status_event_carrier_launches_carriers.rb +3 -0
  195. data/lib/pinnacle/types/campaign_status_event_carrier_launches_verification.rb +1 -0
  196. data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +2 -0
  197. data/lib/pinnacle/types/campaign_validation_result.rb +1 -0
  198. data/lib/pinnacle/types/carrier_launches.rb +1 -0
  199. data/lib/pinnacle/types/carrier_launches_carriers.rb +3 -0
  200. data/lib/pinnacle/types/carrier_launches_verification.rb +1 -0
  201. data/lib/pinnacle/types/checkbox_field.rb +2 -0
  202. data/lib/pinnacle/types/contact.rb +5 -0
  203. data/lib/pinnacle/types/conversation.rb +7 -0
  204. data/lib/pinnacle/types/conversation_by_participants_params.rb +1 -0
  205. data/lib/pinnacle/types/conversation_contact.rb +1 -0
  206. data/lib/pinnacle/types/conversation_list.rb +2 -0
  207. data/lib/pinnacle/types/conversation_sender.rb +1 -0
  208. data/lib/pinnacle/types/created_call.rb +33 -0
  209. data/lib/pinnacle/types/date_field.rb +2 -0
  210. data/lib/pinnacle/types/datetime_field.rb +2 -0
  211. data/lib/pinnacle/types/detach_webhook_result.rb +2 -0
  212. data/lib/pinnacle/types/detached_phone_number_result.rb +1 -0
  213. data/lib/pinnacle/types/dlc_campaign_status.rb +3 -0
  214. data/lib/pinnacle/types/dlc_campaign_summary.rb +6 -0
  215. data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +13 -0
  216. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +2 -0
  217. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +1 -0
  218. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +1 -0
  219. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +1 -0
  220. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +1 -0
  221. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +5 -0
  222. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +1 -0
  223. data/lib/pinnacle/types/e_164_phone_number.rb +23 -0
  224. data/lib/pinnacle/types/enhanced_contact_item.rb +4 -0
  225. data/lib/pinnacle/types/extended_brand.rb +4 -0
  226. data/lib/pinnacle/types/extended_brand_with_vetting.rb +2 -0
  227. data/lib/pinnacle/types/extended_rcs_campaign.rb +14 -0
  228. data/lib/pinnacle/types/failed_sender.rb +1 -0
  229. data/lib/pinnacle/types/fallback_message.rb +2 -0
  230. data/lib/pinnacle/types/field_base.rb +3 -0
  231. data/lib/pinnacle/types/form.rb +12 -0
  232. data/lib/pinnacle/types/form_background.rb +3 -0
  233. data/lib/pinnacle/types/form_background_gradient.rb +1 -0
  234. data/lib/pinnacle/types/form_background_image.rb +3 -0
  235. data/lib/pinnacle/types/form_color_palette.rb +2 -0
  236. data/lib/pinnacle/types/form_definition.rb +5 -0
  237. data/lib/pinnacle/types/form_field.rb +15 -0
  238. data/lib/pinnacle/types/form_field_option.rb +1 -0
  239. data/lib/pinnacle/types/form_gradient.rb +2 -0
  240. data/lib/pinnacle/types/form_submission.rb +9 -0
  241. data/lib/pinnacle/types/form_submission_answer.rb +3 -0
  242. data/lib/pinnacle/types/form_submission_event.rb +4 -0
  243. data/lib/pinnacle/types/form_submission_event_conversation.rb +2 -0
  244. data/lib/pinnacle/types/form_submission_event_form.rb +2 -0
  245. data/lib/pinnacle/types/form_submission_event_submission.rb +7 -0
  246. data/lib/pinnacle/types/form_submitted_field.rb +3 -0
  247. data/lib/pinnacle/types/form_theme_override.rb +14 -0
  248. data/lib/pinnacle/types/form_theme_override_colors.rb +1 -0
  249. data/lib/pinnacle/types/get_conversation_params.rb +1 -0
  250. data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +2 -0
  251. data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +2 -0
  252. data/lib/pinnacle/types/hosted_silent_auth_response.rb +13 -0
  253. data/lib/pinnacle/types/json_silent_auth_response.rb +13 -0
  254. data/lib/pinnacle/types/link_click_event.rb +48 -0
  255. data/lib/pinnacle/types/link_summary.rb +3 -0
  256. data/lib/pinnacle/types/list_agents_response.rb +2 -0
  257. data/lib/pinnacle/types/list_audiences_response.rb +2 -0
  258. data/lib/pinnacle/types/list_blasts_response.rb +2 -0
  259. data/lib/pinnacle/types/list_brands_response.rb +2 -0
  260. data/lib/pinnacle/types/list_call_events_response.rb +11 -0
  261. data/lib/pinnacle/types/list_calls_response.rb +11 -0
  262. data/lib/pinnacle/types/list_contacts_response.rb +2 -0
  263. data/lib/pinnacle/types/list_dlc_campaigns_response.rb +2 -0
  264. data/lib/pinnacle/types/list_form_submissions_response.rb +2 -0
  265. data/lib/pinnacle/types/list_forms_response.rb +2 -0
  266. data/lib/pinnacle/types/list_links_response.rb +2 -0
  267. data/lib/pinnacle/types/list_messages_response.rb +2 -0
  268. data/lib/pinnacle/types/list_network_requests_response.rb +13 -0
  269. data/lib/pinnacle/types/list_phone_numbers_response.rb +2 -0
  270. data/lib/pinnacle/types/list_rcs_campaigns_response.rb +2 -0
  271. data/lib/pinnacle/types/list_scheduled_messages_response.rb +2 -0
  272. data/lib/pinnacle/types/list_test_numbers_response.rb +2 -0
  273. data/lib/pinnacle/types/list_toll_free_campaigns_response.rb +2 -0
  274. data/lib/pinnacle/types/list_webhooks_response.rb +2 -0
  275. data/lib/pinnacle/types/location_share_action_data.rb +3 -0
  276. data/lib/pinnacle/types/message.rb +11 -0
  277. data/lib/pinnacle/types/message_content.rb +3 -0
  278. data/lib/pinnacle/types/message_event.rb +9 -0
  279. data/lib/pinnacle/types/message_event_content.rb +6 -0
  280. data/lib/pinnacle/types/message_event_conversation.rb +2 -0
  281. data/lib/pinnacle/types/message_event_fallback_message.rb +5 -0
  282. data/lib/pinnacle/types/message_event_mms_content.rb +2 -0
  283. data/lib/pinnacle/types/message_event_rcs_button_data.rb +2 -0
  284. data/lib/pinnacle/types/message_event_rcs_button_data_button.rb +4 -0
  285. data/lib/pinnacle/types/message_event_rcs_button_data_button_raw.rb +1 -0
  286. data/lib/pinnacle/types/message_event_rcs_cards_content.rb +2 -0
  287. data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +3 -0
  288. data/lib/pinnacle/types/message_event_rcs_location_data.rb +2 -0
  289. data/lib/pinnacle/types/message_event_rcs_location_data_data.rb +3 -0
  290. data/lib/pinnacle/types/message_event_rcs_media_content.rb +2 -0
  291. data/lib/pinnacle/types/message_event_rcs_text_content.rb +2 -0
  292. data/lib/pinnacle/types/message_event_sms_content.rb +1 -0
  293. data/lib/pinnacle/types/message_list.rb +2 -0
  294. data/lib/pinnacle/types/message_schedule.rb +3 -0
  295. data/lib/pinnacle/types/message_summary.rb +16 -0
  296. data/lib/pinnacle/types/message_with_reactions.rb +1 -0
  297. data/lib/pinnacle/types/mms_content.rb +1 -0
  298. data/lib/pinnacle/types/mms_validation_response_segments.rb +2 -0
  299. data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +2 -0
  300. data/lib/pinnacle/types/mms_validation_result.rb +2 -0
  301. data/lib/pinnacle/types/network_insight_status.rb +14 -0
  302. data/lib/pinnacle/types/network_request_id.rb +23 -0
  303. data/lib/pinnacle/types/network_request_result.rb +16 -0
  304. data/lib/pinnacle/types/network_request_status.rb +15 -0
  305. data/lib/pinnacle/types/network_request_summary.rb +27 -0
  306. data/lib/pinnacle/types/network_request_type.rb +13 -0
  307. data/lib/pinnacle/types/number_field.rb +3 -0
  308. data/lib/pinnacle/types/number_format.rb +2 -0
  309. data/lib/pinnacle/types/optional_brand_info.rb +10 -0
  310. data/lib/pinnacle/types/optional_contact.rb +3 -0
  311. data/lib/pinnacle/types/optional_contacts.rb +3 -0
  312. data/lib/pinnacle/types/owned_phone_number.rb +5 -0
  313. data/lib/pinnacle/types/pagination.rb +3 -0
  314. data/lib/pinnacle/types/phone.rb +4 -0
  315. data/lib/pinnacle/types/phone_capabilities.rb +2 -0
  316. data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +1 -0
  317. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +1 -0
  318. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +2 -0
  319. data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +1 -0
  320. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +1 -0
  321. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +2 -0
  322. data/lib/pinnacle/types/phone_number_cost.rb +2 -0
  323. data/lib/pinnacle/types/phone_number_details.rb +4 -0
  324. data/lib/pinnacle/types/phone_number_region.rb +3 -0
  325. data/lib/pinnacle/types/phone_number_status.rb +2 -0
  326. data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +3 -0
  327. data/lib/pinnacle/types/pinnacle_url_config.rb +1 -0
  328. data/lib/pinnacle/types/purchased_number.rb +1 -0
  329. data/lib/pinnacle/types/range_field.rb +2 -0
  330. data/lib/pinnacle/types/rating_field.rb +1 -0
  331. data/lib/pinnacle/types/rcs_agent_details.rb +11 -0
  332. data/lib/pinnacle/types/rcs_agent_details_emails_item.rb +1 -0
  333. data/lib/pinnacle/types/rcs_agent_details_phones_item.rb +1 -0
  334. data/lib/pinnacle/types/rcs_agent_details_websites_item.rb +1 -0
  335. data/lib/pinnacle/types/rcs_agent_response.rb +4 -0
  336. data/lib/pinnacle/types/rcs_button_call.rb +2 -0
  337. data/lib/pinnacle/types/rcs_button_open_url.rb +3 -0
  338. data/lib/pinnacle/types/rcs_button_request_user_location.rb +1 -0
  339. data/lib/pinnacle/types/rcs_button_schedule_event.rb +5 -0
  340. data/lib/pinnacle/types/rcs_button_send_location.rb +3 -0
  341. data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +1 -0
  342. data/lib/pinnacle/types/rcs_button_trigger.rb +2 -0
  343. data/lib/pinnacle/types/rcs_campaign.rb +11 -0
  344. data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +7 -0
  345. data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +1 -0
  346. data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +1 -0
  347. data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +1 -0
  348. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +7 -0
  349. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +1 -0
  350. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +1 -0
  351. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +1 -0
  352. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +2 -0
  353. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +1 -0
  354. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +1 -0
  355. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +1 -0
  356. data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +1 -0
  357. data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +1 -0
  358. data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +2 -0
  359. data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +1 -0
  360. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +1 -0
  361. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +1 -0
  362. data/lib/pinnacle/types/rcs_campaign_schema_links.rb +1 -0
  363. data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +1 -0
  364. data/lib/pinnacle/types/rcs_campaign_status.rb +2 -0
  365. data/lib/pinnacle/types/rcs_campaign_summary.rb +6 -0
  366. data/lib/pinnacle/types/rcs_capability.rb +1 -0
  367. data/lib/pinnacle/types/rcs_capability_actions.rb +5 -0
  368. data/lib/pinnacle/types/rcs_capability_cards.rb +1 -0
  369. data/lib/pinnacle/types/rcs_cards_content.rb +1 -0
  370. data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +3 -0
  371. data/lib/pinnacle/types/rcs_content.rb +2 -0
  372. data/lib/pinnacle/types/rcs_link_result.rb +1 -0
  373. data/lib/pinnacle/types/rcs_media_content.rb +1 -0
  374. data/lib/pinnacle/types/rcs_media_details_content.rb +2 -0
  375. data/lib/pinnacle/types/rcs_validate_content.rb +2 -0
  376. data/lib/pinnacle/types/rcs_validate_content_media.rb +1 -0
  377. data/lib/pinnacle/types/rcs_validation_result.rb +3 -0
  378. data/lib/pinnacle/types/reaction_result.rb +1 -0
  379. data/lib/pinnacle/types/recording_download.rb +11 -0
  380. data/lib/pinnacle/types/recording_state.rb +14 -0
  381. data/lib/pinnacle/types/refreshed_file.rb +1 -0
  382. data/lib/pinnacle/types/rich_button.rb +5 -0
  383. data/lib/pinnacle/types/rich_card.rb +3 -0
  384. data/lib/pinnacle/types/rich_cards.rb +1 -0
  385. data/lib/pinnacle/types/rich_cards_message.rb +3 -0
  386. data/lib/pinnacle/types/rich_media_message.rb +1 -0
  387. data/lib/pinnacle/types/rich_message.rb +2 -0
  388. data/lib/pinnacle/types/rich_standalone_card_options.rb +1 -0
  389. data/lib/pinnacle/types/rich_text.rb +1 -0
  390. data/lib/pinnacle/types/scheduled_blast_details.rb +1 -0
  391. data/lib/pinnacle/types/scheduled_blast_response_config.rb +3 -0
  392. data/lib/pinnacle/types/scheduled_form_send_response_form.rb +1 -0
  393. data/lib/pinnacle/types/scheduled_form_send_response_submission.rb +1 -0
  394. data/lib/pinnacle/types/scheduled_form_send_result.rb +3 -0
  395. data/lib/pinnacle/types/scheduled_message.rb +1 -0
  396. data/lib/pinnacle/types/scheduled_message_summary.rb +8 -0
  397. data/lib/pinnacle/types/scheduled_send_response_config.rb +3 -0
  398. data/lib/pinnacle/types/select_field.rb +1 -0
  399. data/lib/pinnacle/types/send_form_options.rb +1 -0
  400. data/lib/pinnacle/types/send_form_params.rb +1 -0
  401. data/lib/pinnacle/types/send_form_result.rb +2 -0
  402. data/lib/pinnacle/types/send_form_via_rcs_params.rb +4 -0
  403. data/lib/pinnacle/types/send_form_via_rcs_request_form.rb +1 -0
  404. data/lib/pinnacle/types/send_form_via_sms_params.rb +3 -0
  405. data/lib/pinnacle/types/send_form_via_sms_request_form.rb +1 -0
  406. data/lib/pinnacle/types/send_rich_cards_options.rb +4 -0
  407. data/lib/pinnacle/types/send_rich_message_options.rb +3 -0
  408. data/lib/pinnacle/types/send_rich_message_options_4.rb +3 -0
  409. data/lib/pinnacle/types/send_sms_response_segments.rb +1 -0
  410. data/lib/pinnacle/types/send_typing_indicator_response.rb +4 -0
  411. data/lib/pinnacle/types/sent_mms_details.rb +5 -0
  412. data/lib/pinnacle/types/sent_rich_message.rb +5 -0
  413. data/lib/pinnacle/types/sent_rich_message_fallback_mms.rb +1 -0
  414. data/lib/pinnacle/types/sent_rich_message_fallback_sms.rb +1 -0
  415. data/lib/pinnacle/types/sent_sms_details.rb +5 -0
  416. data/lib/pinnacle/types/shortened_url.rb +1 -0
  417. data/lib/pinnacle/types/silent_auth_check_response.rb +11 -0
  418. data/lib/pinnacle/types/silent_auth_check_response_status.rb +12 -0
  419. data/lib/pinnacle/types/silent_auth_response.rb +15 -0
  420. data/lib/pinnacle/types/sim_swap_response.rb +15 -0
  421. data/lib/pinnacle/types/simulate_message_input.rb +1 -0
  422. data/lib/pinnacle/types/simulate_user_button.rb +2 -0
  423. data/lib/pinnacle/types/simulate_user_message.rb +2 -0
  424. data/lib/pinnacle/types/simulate_user_params.rb +1 -0
  425. data/lib/pinnacle/types/sms_validation_response_segments.rb +1 -0
  426. data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +2 -0
  427. data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +1 -0
  428. data/lib/pinnacle/types/sms_validation_response_total.rb +1 -0
  429. data/lib/pinnacle/types/sms_validation_result.rb +3 -0
  430. data/lib/pinnacle/types/subscriber_match_attributes.rb +30 -0
  431. data/lib/pinnacle/types/subscriber_match_response.rb +13 -0
  432. data/lib/pinnacle/types/subscriber_match_response_matches.rb +41 -0
  433. data/lib/pinnacle/types/subscriber_match_result.rb +18 -0
  434. data/lib/pinnacle/types/test_agent_response.rb +3 -0
  435. data/lib/pinnacle/types/text_field.rb +3 -0
  436. data/lib/pinnacle/types/textarea_field.rb +3 -0
  437. data/lib/pinnacle/types/time_field.rb +2 -0
  438. data/lib/pinnacle/types/toll_free_campaign.rb +8 -0
  439. data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +1 -0
  440. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +1 -0
  441. data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +1 -0
  442. data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +2 -0
  443. data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +1 -0
  444. data/lib/pinnacle/types/toll_free_campaign_status.rb +2 -0
  445. data/lib/pinnacle/types/toll_free_campaign_summary.rb +6 -0
  446. data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +10 -0
  447. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +1 -0
  448. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +1 -0
  449. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +1 -0
  450. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +2 -0
  451. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +1 -0
  452. data/lib/pinnacle/types/upload_results.rb +2 -0
  453. data/lib/pinnacle/types/user_button_press.rb +5 -0
  454. data/lib/pinnacle/types/user_button_press_call.rb +2 -0
  455. data/lib/pinnacle/types/user_button_press_open_url.rb +2 -0
  456. data/lib/pinnacle/types/user_button_press_request_user_location.rb +2 -0
  457. data/lib/pinnacle/types/user_button_press_request_user_location_location.rb +3 -0
  458. data/lib/pinnacle/types/user_button_press_schedule_event.rb +5 -0
  459. data/lib/pinnacle/types/user_button_press_send_location.rb +3 -0
  460. data/lib/pinnacle/types/user_button_press_send_location_lat_long.rb +1 -0
  461. data/lib/pinnacle/types/user_button_press_trigger.rb +2 -0
  462. data/lib/pinnacle/types/user_event.rb +2 -0
  463. data/lib/pinnacle/types/user_event_conversation.rb +2 -0
  464. data/lib/pinnacle/types/v_card_data_file.rb +1 -0
  465. data/lib/pinnacle/types/v_card_geo.rb +1 -0
  466. data/lib/pinnacle/types/v_card_name.rb +4 -0
  467. data/lib/pinnacle/types/v_card_organization.rb +1 -0
  468. data/lib/pinnacle/types/validate_campaign_params.rb +1 -0
  469. data/lib/pinnacle/types/validation_error_details.rb +2 -0
  470. data/lib/pinnacle/types/validation_results.rb +1 -0
  471. data/lib/pinnacle/types/vcard.rb +15 -0
  472. data/lib/pinnacle/types/vcard_address.rb +8 -0
  473. data/lib/pinnacle/types/vcard_email.rb +1 -0
  474. data/lib/pinnacle/types/vcard_phone.rb +1 -0
  475. data/lib/pinnacle/types/vcard_resource.rb +1 -0
  476. data/lib/pinnacle/types/vetting_feedback.rb +3 -0
  477. data/lib/pinnacle/types/vetting_history.rb +4 -0
  478. data/lib/pinnacle/types/webhook_event_enum.rb +1 -0
  479. data/lib/pinnacle/types/webhook_summary.rb +6 -0
  480. data/lib/pinnacle/types/webhooks.rb +3 -0
  481. data/lib/pinnacle/types/whitelisted_number_summary.rb +3 -0
  482. data/lib/pinnacle/types/zod_error.rb +1 -0
  483. data/lib/pinnacle/version.rb +1 -1
  484. data/lib/pinnacle/webhooks/types/attach_webhook_params.rb +5 -0
  485. data/lib/pinnacle/webhooks/types/detach_webhook_params.rb +1 -0
  486. data/lib/pinnacle/webhooks/types/list_webhooks_params.rb +3 -0
  487. data/lib/pinnacle/wrapper/messages/client.rb +4 -1
  488. data/lib/pinnacle/wrapper/voice/client.rb +125 -0
  489. data/lib/pinnacle/wrapper/voice/types.rb +38 -0
  490. data/lib/pinnacle/wrapper/voice/voice_socket.rb +354 -0
  491. data/lib/pinnacle.rb +54 -0
  492. data/lib/rcs.rb +1 -637
  493. data/reference.md +2011 -804
  494. metadata +76 -3
@@ -6,8 +6,11 @@ module Pinnacle
6
6
  module Types
7
7
  class BlastSms < Internal::Types::Model
8
8
  field :audience_id, -> { String }, optional: false, nullable: false, api_name: "audienceId"
9
+
9
10
  field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
11
+
10
12
  field :message, -> { Pinnacle::Types::SmsContent }, optional: false, nullable: false
13
+
11
14
  field :options, -> { Pinnacle::Messages::Blast::Types::BlastSmsOptions }, optional: true, nullable: false
12
15
  end
13
16
  end
@@ -8,6 +8,7 @@ module Pinnacle
8
8
  extend Pinnacle::Internal::Types::Union
9
9
 
10
10
  member -> { Pinnacle::Types::BlastDetails }
11
+
11
12
  member -> { Pinnacle::Types::ScheduledBlastDetails }
12
13
  end
13
14
  end
@@ -6,9 +6,13 @@ module Pinnacle
6
6
  module Types
7
7
  class ListBlastsParams < Internal::Types::Model
8
8
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
9
+
9
10
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
11
+
10
12
  field :audience_id, -> { String }, optional: true, nullable: false, api_name: "audienceId"
13
+
11
14
  field :sender, -> { String }, optional: true, nullable: false
15
+
12
16
  field :content, -> { String }, optional: true, nullable: false
13
17
  end
14
18
  end
@@ -6,9 +6,13 @@ module Pinnacle
6
6
  module Types
7
7
  class Mms < Internal::Types::Model
8
8
  field :from, -> { String }, optional: false, nullable: false
9
+
9
10
  field :media_urls, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "mediaUrls"
11
+
10
12
  field :options, -> { Pinnacle::Messages::Mms::Types::SendMmsOptions }, optional: true, nullable: false
13
+
11
14
  field :text, -> { String }, optional: false, nullable: false
15
+
12
16
  field :to, -> { String }, optional: false, nullable: false
13
17
  end
14
18
  end
@@ -8,6 +8,7 @@ module Pinnacle
8
8
  extend Pinnacle::Internal::Types::Union
9
9
 
10
10
  member -> { Pinnacle::Types::SentMmsDetails }
11
+
11
12
  member -> { Pinnacle::Types::ScheduledMessage }
12
13
  end
13
14
  end
@@ -7,8 +7,11 @@ module Pinnacle
7
7
  # Control how your MMS is processed and delivered.
8
8
  class SendMmsOptions < Internal::Types::Model
9
9
  field :multiple_messages, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+
10
11
  field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
12
+
11
13
  field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
14
+
12
15
  field :validate, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
16
  end
14
17
  end
@@ -8,8 +8,11 @@ module Pinnacle
8
8
  extend Pinnacle::Internal::Types::Union
9
9
 
10
10
  member -> { Pinnacle::Types::SentRichMessage }
11
+
11
12
  member -> { Pinnacle::Types::ScheduledMessage }
13
+
12
14
  member -> { Pinnacle::Types::SentRichMessageFallbackSms }
15
+
13
16
  member -> { Pinnacle::Types::SentRichMessageFallbackMms }
14
17
  end
15
18
  end
@@ -6,6 +6,7 @@ module Pinnacle
6
6
  module Types
7
7
  class SendTypingIndicatorSchema < Internal::Types::Model
8
8
  field :agent_id, -> { String }, optional: false, nullable: false, api_name: "agentId"
9
+
9
10
  field :to, -> { String }, optional: false, nullable: false
10
11
  end
11
12
  end
@@ -6,9 +6,13 @@ module Pinnacle
6
6
  module Types
7
7
  class ListScheduledMessagesParams < Internal::Types::Model
8
8
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
9
+
9
10
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
11
+
10
12
  field :status, -> { Pinnacle::Messages::Schedules::Types::ListScheduledMessagesRequestStatus }, optional: true, nullable: false
13
+
11
14
  field :schedule_type, -> { Pinnacle::Messages::Schedules::Types::ListScheduledMessagesRequestScheduleType }, optional: true, nullable: false, api_name: "scheduleType"
15
+
12
16
  field :content, -> { String }, optional: true, nullable: false
13
17
  end
14
18
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  # Additional settings to customize SMS delivery.
8
8
  class SendSmsOptions < Internal::Types::Model
9
9
  field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
10
+
10
11
  field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
11
12
  end
12
13
  end
@@ -6,8 +6,11 @@ module Pinnacle
6
6
  module Types
7
7
  class Sms < Internal::Types::Model
8
8
  field :from, -> { String }, optional: false, nullable: false
9
+
9
10
  field :options, -> { Pinnacle::Messages::Sms::Types::SendSmsOptions }, optional: true, nullable: false
11
+
10
12
  field :text, -> { String }, optional: false, nullable: false
13
+
11
14
  field :to, -> { String }, optional: false, nullable: false
12
15
  end
13
16
  end
@@ -8,6 +8,7 @@ module Pinnacle
8
8
  extend Pinnacle::Internal::Types::Union
9
9
 
10
10
  member -> { Pinnacle::Types::SentSmsDetails }
11
+
11
12
  member -> { Pinnacle::Types::ScheduledMessage }
12
13
  end
13
14
  end
@@ -5,15 +5,25 @@ module Pinnacle
5
5
  module Types
6
6
  class ListMessagesParams < Internal::Types::Model
7
7
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
8
+
8
9
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
10
+
9
11
  field :direction, -> { Pinnacle::Messages::Types::ListMessagesRequestDirection }, optional: true, nullable: false
12
+
10
13
  field :status, -> { Pinnacle::Messages::Types::ListMessagesRequestStatus }, optional: true, nullable: false
14
+
11
15
  field :type, -> { Pinnacle::Messages::Types::ListMessagesRequestType }, optional: true, nullable: false
16
+
12
17
  field :method_, -> { Pinnacle::Messages::Types::ListMessagesRequestMethod }, optional: true, nullable: false, api_name: "method"
18
+
13
19
  field :from, -> { String }, optional: true, nullable: false
20
+
14
21
  field :to, -> { String }, optional: true, nullable: false
22
+
15
23
  field :content, -> { String }, optional: true, nullable: false
24
+
16
25
  field :date_from, -> { String }, optional: true, nullable: false, api_name: "dateFrom"
26
+
17
27
  field :date_to, -> { String }, optional: true, nullable: false, api_name: "dateTo"
18
28
  end
19
29
  end
@@ -5,7 +5,9 @@ module Pinnacle
5
5
  module Types
6
6
  class ReactMessageParams < Internal::Types::Model
7
7
  field :message_id, -> { String }, optional: false, nullable: false, api_name: "messageId"
8
+
8
9
  field :options, -> { Pinnacle::Messages::Types::ReactMessageOptions }, optional: true, nullable: false
10
+
9
11
  field :reaction, -> { String }, optional: false, nullable: true
10
12
  end
11
13
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ class Client
6
+ # @param client [Pinnacle::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @return [Pinnacle::SimSwap::Client]
14
+ def sim_swap
15
+ @sim_swap ||= Pinnacle::Network::SimSwap::Client.new(client: @client)
16
+ end
17
+
18
+ # @return [Pinnacle::SubscriberMatch::Client]
19
+ def subscriber_match
20
+ @subscriber_match ||= Pinnacle::Network::SubscriberMatch::Client.new(client: @client)
21
+ end
22
+
23
+ # @return [Pinnacle::SilentAuth::Client]
24
+ def silent_auth
25
+ @silent_auth ||= Pinnacle::Network::SilentAuth::Client.new(client: @client)
26
+ end
27
+
28
+ # @return [Pinnacle::Requests::Client]
29
+ def requests
30
+ @requests ||= Pinnacle::Network::Requests::Client.new(client: @client)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module Requests
6
+ class Client
7
+ # @param client [Pinnacle::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # List Network API request records for your team, sorted newest first. Use filters to audit recent checks by
15
+ # type, status, or your own `clientRef`.
16
+ #
17
+ # <Note>
18
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
19
+ # </Note>
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Pinnacle::Network::Requests::Types::ListNetworkRequestsParams]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ #
29
+ # @return [Pinnacle::Types::ListNetworkRequestsResponse]
30
+ def list(request_options: {}, **params)
31
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
32
+ request = Pinnacle::Internal::JSON::Request.new(
33
+ base_url: request_options[:base_url],
34
+ method: "POST",
35
+ path: "network/requests/list",
36
+ body: Pinnacle::Network::Requests::Types::ListNetworkRequestsParams.new(params).to_h,
37
+ request_options: request_options
38
+ )
39
+ begin
40
+ response = @client.send(request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise Pinnacle::Errors::TimeoutError
43
+ end
44
+ code = response.code.to_i
45
+ if code.between?(200, 299)
46
+ Pinnacle::Types::ListNetworkRequestsResponse.load(response.body)
47
+ else
48
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(response.body, code: code)
50
+ end
51
+ end
52
+
53
+ # Retrieve one Network API request by ID. The response includes lifecycle timestamps, request status, your
54
+ # `clientRef`, and result fields from the original check.
55
+ #
56
+ # <Note>
57
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
58
+ # </Note>
59
+ #
60
+ # @param request_options [Hash]
61
+ # @param params [Hash]
62
+ # @option request_options [String] :base_url
63
+ # @option request_options [Hash{String => Object}] :additional_headers
64
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
65
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
66
+ # @option request_options [Integer] :timeout_in_seconds
67
+ # @option params [Pinnacle::Types::NetworkRequestId] :request_id
68
+ #
69
+ # @return [Pinnacle::Types::NetworkRequestSummary]
70
+ def get(request_options: {}, **params)
71
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
72
+ request = Pinnacle::Internal::JSON::Request.new(
73
+ base_url: request_options[:base_url],
74
+ method: "GET",
75
+ path: "network/requests/#{URI.encode_uri_component(params[:request_id].to_s)}",
76
+ request_options: request_options
77
+ )
78
+ begin
79
+ response = @client.send(request)
80
+ rescue Net::HTTPRequestTimeout
81
+ raise Pinnacle::Errors::TimeoutError
82
+ end
83
+ code = response.code.to_i
84
+ if code.between?(200, 299)
85
+ Pinnacle::Types::NetworkRequestSummary.load(response.body)
86
+ else
87
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
88
+ raise error_class.new(response.body, code: code)
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module Requests
6
+ module Types
7
+ class ListNetworkRequestsParams < Internal::Types::Model
8
+ field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
9
+
10
+ field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
11
+
12
+ field :type, -> { Pinnacle::Types::NetworkRequestType }, optional: true, nullable: false
13
+
14
+ field :status, -> { Pinnacle::Types::NetworkRequestStatus }, optional: true, nullable: false
15
+
16
+ field :client_ref, -> { String }, optional: true, nullable: false, api_name: "clientRef"
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SilentAuth
6
+ class Client
7
+ # @param client [Pinnacle::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Start a Silent Authentication session to verify that the user controls the device attached to a phone number.
15
+ # Omit `format` to receive a `browserUrl` for the hosted browser/WebView flow, or set `format: "json"` to
16
+ # receive a `jsonUrl` for a native mobile app or custom client-side flow. The device check must run from the
17
+ # user's cellular device, not your server.
18
+ #
19
+ # The returned URL expires 60 seconds after creation. Open or fetch it immediately and use `expiresAt` to detect
20
+ # when a new Silent Auth session is required.
21
+ #
22
+ # <Note>
23
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
24
+ # </Note>
25
+ #
26
+ # @param request_options [Hash]
27
+ # @param params [Pinnacle::Network::SilentAuth::Types::SilentAuthRequest]
28
+ # @option request_options [String] :base_url
29
+ # @option request_options [Hash{String => Object}] :additional_headers
30
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
31
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
32
+ # @option request_options [Integer] :timeout_in_seconds
33
+ #
34
+ # @return [Pinnacle::Types::SilentAuthResponse]
35
+ def start(request_options: {}, **params)
36
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
37
+ request = Pinnacle::Internal::JSON::Request.new(
38
+ base_url: request_options[:base_url],
39
+ method: "POST",
40
+ path: "network/silent-auth",
41
+ body: Pinnacle::Network::SilentAuth::Types::SilentAuthRequest.new(params).to_h,
42
+ request_options: request_options
43
+ )
44
+ begin
45
+ response = @client.send(request)
46
+ rescue Net::HTTPRequestTimeout
47
+ raise Pinnacle::Errors::TimeoutError
48
+ end
49
+ code = response.code.to_i
50
+ if code.between?(200, 299)
51
+ Pinnacle::Types::SilentAuthResponse.load(response.body)
52
+ else
53
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
54
+ raise error_class.new(response.body, code: code)
55
+ end
56
+ end
57
+
58
+ # Complete a Silent Authentication request by exchanging the code returned from the JSON flow. Call this from
59
+ # your server after the user's mobile app fetches `jsonUrl`.
60
+ #
61
+ # This endpoint returns a terminal verification result. To inspect pending lifecycle states such as `started` or
62
+ # `challenge-issued`, use [Get Network Request](/api-reference/network/get-network-request).
63
+ #
64
+ # <Note>
65
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
66
+ # </Note>
67
+ #
68
+ # @param request_options [Hash]
69
+ # @param params [Pinnacle::Network::SilentAuth::Types::SilentAuthCheckRequest]
70
+ # @option request_options [String] :base_url
71
+ # @option request_options [Hash{String => Object}] :additional_headers
72
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
73
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
74
+ # @option request_options [Integer] :timeout_in_seconds
75
+ # @option params [Pinnacle::Types::NetworkRequestId] :request_id
76
+ #
77
+ # @return [Pinnacle::Types::SilentAuthCheckResponse]
78
+ def check(request_options: {}, **params)
79
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
80
+ request_data = Pinnacle::Network::SilentAuth::Types::SilentAuthCheckRequest.new(params).to_h
81
+ non_body_param_names = %w[requestId]
82
+ body = request_data.except(*non_body_param_names)
83
+
84
+ request = Pinnacle::Internal::JSON::Request.new(
85
+ base_url: request_options[:base_url],
86
+ method: "POST",
87
+ path: "network/silent-auth/#{URI.encode_uri_component(params[:request_id].to_s)}/check",
88
+ body: body,
89
+ request_options: request_options
90
+ )
91
+ begin
92
+ response = @client.send(request)
93
+ rescue Net::HTTPRequestTimeout
94
+ raise Pinnacle::Errors::TimeoutError
95
+ end
96
+ code = response.code.to_i
97
+ if code.between?(200, 299)
98
+ Pinnacle::Types::SilentAuthCheckResponse.load(response.body)
99
+ else
100
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
101
+ raise error_class.new(response.body, code: code)
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SilentAuth
6
+ module Types
7
+ class SilentAuthCheckRequest < Internal::Types::Model
8
+ field :request_id, -> { String }, optional: false, nullable: false, api_name: "requestId"
9
+
10
+ field :code, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SilentAuth
6
+ module Types
7
+ class SilentAuthRequest < Internal::Types::Model
8
+ field :phone_number, -> { String }, optional: false, nullable: false, api_name: "phoneNumber"
9
+
10
+ field :client_ref, -> { String }, optional: true, nullable: false, api_name: "clientRef"
11
+
12
+ field :format, -> { String }, optional: true, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SimSwap
6
+ class Client
7
+ # @param client [Pinnacle::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Check whether a phone number's SIM was changed during a recent lookback window. Use this to flag account
15
+ # takeover risk before sign-in, password reset, payment, or other sensitive actions.
16
+ #
17
+ # <Note>
18
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
19
+ # </Note>
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Pinnacle::Network::SimSwap::Types::SimSwapRequest]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ #
29
+ # @return [Pinnacle::Types::SimSwapResponse]
30
+ def check(request_options: {}, **params)
31
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
32
+ request = Pinnacle::Internal::JSON::Request.new(
33
+ base_url: request_options[:base_url],
34
+ method: "POST",
35
+ path: "network/sim-swap",
36
+ body: Pinnacle::Network::SimSwap::Types::SimSwapRequest.new(params).to_h,
37
+ request_options: request_options
38
+ )
39
+ begin
40
+ response = @client.send(request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise Pinnacle::Errors::TimeoutError
43
+ end
44
+ code = response.code.to_i
45
+ if code.between?(200, 299)
46
+ Pinnacle::Types::SimSwapResponse.load(response.body)
47
+ else
48
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(response.body, code: code)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SimSwap
6
+ module Types
7
+ class SimSwapRequest < Internal::Types::Model
8
+ field :phone_number, -> { String }, optional: false, nullable: false, api_name: "phoneNumber"
9
+
10
+ field :period_hours, -> { Integer }, optional: true, nullable: false, api_name: "periodHours"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SubscriberMatch
6
+ class Client
7
+ # @param client [Pinnacle::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Compare user-provided identity details against the carrier's subscriber record. Results return match strength
15
+ # per attribute, so you can use partial signals without receiving carrier PII.
16
+ #
17
+ # <Note>
18
+ # Limited availability. Contact [founders@pinnacle.sh](mailto:founders@pinnacle.sh) to request access.
19
+ # </Note>
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Pinnacle::Network::SubscriberMatch::Types::SubscriberMatchRequest]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ #
29
+ # @return [Pinnacle::Types::SubscriberMatchResponse]
30
+ def check(request_options: {}, **params)
31
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
32
+ request = Pinnacle::Internal::JSON::Request.new(
33
+ base_url: request_options[:base_url],
34
+ method: "POST",
35
+ path: "network/subscriber-match",
36
+ body: Pinnacle::Network::SubscriberMatch::Types::SubscriberMatchRequest.new(params).to_h,
37
+ request_options: request_options
38
+ )
39
+ begin
40
+ response = @client.send(request)
41
+ rescue Net::HTTPRequestTimeout
42
+ raise Pinnacle::Errors::TimeoutError
43
+ end
44
+ code = response.code.to_i
45
+ if code.between?(200, 299)
46
+ Pinnacle::Types::SubscriberMatchResponse.load(response.body)
47
+ else
48
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
49
+ raise error_class.new(response.body, code: code)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Network
5
+ module SubscriberMatch
6
+ module Types
7
+ class SubscriberMatchRequest < Internal::Types::Model
8
+ field :phone_number, -> { String }, optional: false, nullable: false, api_name: "phoneNumber"
9
+
10
+ field :attributes, -> { Pinnacle::Types::SubscriberMatchAttributes }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -6,7 +6,9 @@ module Pinnacle
6
6
  module Types
7
7
  class AttachCampaignParams < Internal::Types::Model
8
8
  field :phones, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+
9
10
  field :campaign_type, -> { Pinnacle::Types::MessagingProfileEnum }, optional: false, nullable: false, api_name: "campaignType"
11
+
10
12
  field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId"
11
13
  end
12
14
  end
@@ -5,6 +5,7 @@ module Pinnacle
5
5
  module Types
6
6
  class ListPhoneNumbersParams < Internal::Types::Model
7
7
  field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
8
+
8
9
  field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
9
10
  end
10
11
  end
@@ -7,6 +7,7 @@ module Pinnacle
7
7
  extend Pinnacle::Internal::Types::Union
8
8
 
9
9
  member -> { Pinnacle::Types::BasicPhoneInformation }
10
+
10
11
  member -> { Pinnacle::Types::AdvancedPhoneInformation }
11
12
  end
12
13
  end
@@ -6,7 +6,9 @@ module Pinnacle
6
6
  # Customize your lookup with additional options.
7
7
  class RetrievePhoneNumberDetailsOptions < Internal::Types::Model
8
8
  field :force, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
+
9
10
  field :risk, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
+
10
12
  field :enhanced_contact_info, -> { Pinnacle::PhoneNumbers::Types::EnhancedContactInfo }, optional: true, nullable: false
11
13
  end
12
14
  end