rcs 2.0.5 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +11 -0
  3. data/.fernignore +10 -0
  4. data/.rubocop.yml +63 -0
  5. data/README.md +121 -0
  6. data/Rakefile +28 -0
  7. data/custom.gemspec.rb +13 -0
  8. data/lib/pinnacle/audiences/client.rb +183 -0
  9. data/lib/pinnacle/audiences/contacts/client.rb +97 -0
  10. data/lib/pinnacle/audiences/contacts/types/add_contacts_params.rb +14 -0
  11. data/lib/pinnacle/audiences/contacts/types/remove_contacts_params.rb +14 -0
  12. data/lib/pinnacle/audiences/types/audiences_delete_request.rb +11 -0
  13. data/lib/pinnacle/audiences/types/audiences_get_request.rb +13 -0
  14. data/lib/pinnacle/audiences/types/audiences_get_response.rb +14 -0
  15. data/lib/pinnacle/audiences/types/create_audience_params.rb +13 -0
  16. data/lib/pinnacle/audiences/types/update_audience_params.rb +13 -0
  17. data/lib/pinnacle/brands/client.rb +245 -0
  18. data/lib/pinnacle/brands/types/autofill_brand_options.rb +11 -0
  19. data/lib/pinnacle/brands/types/autofill_brand_params.rb +14 -0
  20. data/lib/pinnacle/brands/types/brands_get_request.rb +12 -0
  21. data/lib/pinnacle/brands/types/upsert_brand_params.rb +22 -0
  22. data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +15 -0
  23. data/lib/pinnacle/brands/types/upsert_brand_schema_entity_type.rb +17 -0
  24. data/lib/pinnacle/brands/types/upsert_brand_schema_sector.rb +29 -0
  25. data/lib/pinnacle/brands/types/upsert_brand_schema_type.rb +17 -0
  26. data/lib/pinnacle/brands/types/vet_brand_params.rb +14 -0
  27. data/lib/pinnacle/campaigns/client.rb +29 -0
  28. data/lib/pinnacle/campaigns/dlc/client.rb +201 -0
  29. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +15 -0
  30. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +16 -0
  31. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +15 -0
  32. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +15 -0
  33. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +15 -0
  34. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +19 -0
  35. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +15 -0
  36. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +23 -0
  37. data/lib/pinnacle/campaigns/rcs/client.rb +199 -0
  38. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +21 -0
  39. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +14 -0
  40. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +14 -0
  41. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +14 -0
  42. data/lib/pinnacle/campaigns/rcs/types/rcs_autofill_response.rb +13 -0
  43. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +14 -0
  44. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +15 -0
  45. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +14 -0
  46. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +14 -0
  47. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +14 -0
  48. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +15 -0
  49. data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +15 -0
  50. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +28 -0
  51. data/lib/pinnacle/campaigns/toll_free/client.rb +201 -0
  52. data/lib/pinnacle/campaigns/toll_free/types/toll_free_autofill_response.rb +13 -0
  53. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +14 -0
  54. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +15 -0
  55. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +15 -0
  56. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +16 -0
  57. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +15 -0
  58. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_options.rb +14 -0
  59. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +15 -0
  60. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +22 -0
  61. data/lib/pinnacle/client.rb +75 -0
  62. data/lib/pinnacle/contacts/client.rb +130 -0
  63. data/lib/pinnacle/contacts/types/contacts_get_request.rb +12 -0
  64. data/lib/pinnacle/contacts/types/create_contact_params.rb +15 -0
  65. data/lib/pinnacle/contacts/types/update_contact_params.rb +15 -0
  66. data/lib/pinnacle/conversations/client.rb +175 -0
  67. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +19 -0
  68. data/lib/pinnacle/conversations/types/conversations_list_messages_request_direction.rb +14 -0
  69. data/lib/pinnacle/conversations/types/conversations_list_messages_request_sort_order.rb +14 -0
  70. data/lib/pinnacle/conversations/types/conversations_list_messages_request_status.rb +19 -0
  71. data/lib/pinnacle/conversations/types/conversations_list_messages_request_type.rb +15 -0
  72. data/lib/pinnacle/conversations/types/list_conversations_params.rb +17 -0
  73. data/lib/pinnacle/conversations/types/update_conversation_params.rb +12 -0
  74. data/lib/pinnacle/errors/api_error.rb +8 -0
  75. data/lib/pinnacle/errors/client_error.rb +17 -0
  76. data/lib/pinnacle/errors/redirect_error.rb +8 -0
  77. data/lib/pinnacle/errors/response_error.rb +42 -0
  78. data/lib/pinnacle/errors/server_error.rb +11 -0
  79. data/lib/pinnacle/errors/timeout_error.rb +8 -0
  80. data/lib/pinnacle/internal/errors/constraint_error.rb +10 -0
  81. data/lib/pinnacle/internal/errors/type_error.rb +10 -0
  82. data/lib/pinnacle/internal/http/base_request.rb +31 -0
  83. data/lib/pinnacle/internal/http/raw_client.rb +116 -0
  84. data/lib/pinnacle/internal/iterators/cursor_item_iterator.rb +28 -0
  85. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +51 -0
  86. data/lib/pinnacle/internal/iterators/item_iterator.rb +59 -0
  87. data/lib/pinnacle/internal/iterators/offset_item_iterator.rb +30 -0
  88. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +83 -0
  89. data/lib/pinnacle/internal/json/request.rb +39 -0
  90. data/lib/pinnacle/internal/json/serializable.rb +25 -0
  91. data/lib/pinnacle/internal/multipart/multipart_encoder.rb +141 -0
  92. data/lib/pinnacle/internal/multipart/multipart_form_data.rb +78 -0
  93. data/lib/pinnacle/internal/multipart/multipart_form_data_part.rb +51 -0
  94. data/lib/pinnacle/internal/multipart/multipart_request.rb +38 -0
  95. data/lib/pinnacle/internal/types/array.rb +47 -0
  96. data/lib/pinnacle/internal/types/boolean.rb +34 -0
  97. data/lib/pinnacle/internal/types/enum.rb +56 -0
  98. data/lib/pinnacle/internal/types/hash.rb +36 -0
  99. data/lib/pinnacle/internal/types/model/field.rb +38 -0
  100. data/lib/pinnacle/internal/types/model.rb +208 -0
  101. data/lib/pinnacle/internal/types/type.rb +35 -0
  102. data/lib/pinnacle/internal/types/union.rb +161 -0
  103. data/lib/pinnacle/internal/types/unknown.rb +15 -0
  104. data/lib/pinnacle/internal/types/utils.rb +116 -0
  105. data/lib/pinnacle/messages/blast/client.rb +143 -0
  106. data/lib/pinnacle/messages/blast/types/blast_mms.rb +16 -0
  107. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +15 -0
  108. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +16 -0
  109. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +16 -0
  110. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +17 -0
  111. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +20 -0
  112. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
  113. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +16 -0
  114. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +16 -0
  115. data/lib/pinnacle/messages/blast/types/blast_sms.rb +16 -0
  116. data/lib/pinnacle/messages/blast/types/blast_sms_options.rb +14 -0
  117. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +16 -0
  118. data/lib/pinnacle/messages/client.rb +110 -0
  119. data/lib/pinnacle/messages/mms/client.rb +87 -0
  120. data/lib/pinnacle/messages/mms/types/mms.rb +17 -0
  121. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +16 -0
  122. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +17 -0
  123. data/lib/pinnacle/messages/rcs/client.rb +140 -0
  124. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +16 -0
  125. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +15 -0
  126. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +14 -0
  127. data/lib/pinnacle/messages/schedule/client.rb +53 -0
  128. data/lib/pinnacle/messages/sms/client.rb +87 -0
  129. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +15 -0
  130. data/lib/pinnacle/messages/sms/types/sms.rb +16 -0
  131. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +16 -0
  132. data/lib/pinnacle/messages/types/react_message_options.rb +11 -0
  133. data/lib/pinnacle/messages/types/react_message_params.rb +13 -0
  134. data/lib/pinnacle/phone_numbers/campaign/client.rb +90 -0
  135. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +15 -0
  136. data/lib/pinnacle/phone_numbers/campaign/types/detach_campaign_params.rb +13 -0
  137. data/lib/pinnacle/phone_numbers/client.rb +133 -0
  138. data/lib/pinnacle/phone_numbers/types/buy_phone_number_params.rb +11 -0
  139. data/lib/pinnacle/phone_numbers/types/enhanced_contact_info.rb +12 -0
  140. data/lib/pinnacle/phone_numbers/types/phone_details_schema_level.rb +14 -0
  141. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +14 -0
  142. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +14 -0
  143. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +13 -0
  144. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +14 -0
  145. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +17 -0
  146. data/lib/pinnacle/phone_numbers/types/search_phone_number_options.rb +12 -0
  147. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +15 -0
  148. data/lib/pinnacle/phone_numbers/webhook/client.rb +90 -0
  149. data/lib/pinnacle/pinnacle_client.rb +24 -0
  150. data/lib/pinnacle/rcs/client.rb +159 -0
  151. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +11 -0
  152. data/lib/pinnacle/rcs/types/rcs_link_request.rb +14 -0
  153. data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +12 -0
  154. data/lib/pinnacle/status/client.rb +19 -0
  155. data/lib/pinnacle/status/get/client.rb +188 -0
  156. data/lib/pinnacle/tools/client.rb +29 -0
  157. data/lib/pinnacle/tools/contact_card/client.rb +92 -0
  158. data/lib/pinnacle/tools/contact_card/types/get_v_card_schema_options.rb +13 -0
  159. data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +14 -0
  160. data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +29 -0
  161. data/lib/pinnacle/tools/file/client.rb +94 -0
  162. data/lib/pinnacle/tools/file/types/download_options.rb +14 -0
  163. data/lib/pinnacle/tools/file/types/refresh_file_params.rb +13 -0
  164. data/lib/pinnacle/tools/file/types/upload_file_options.rb +15 -0
  165. data/lib/pinnacle/tools/file/types/upload_file_params.rb +16 -0
  166. data/lib/pinnacle/tools/url/client.rb +128 -0
  167. data/lib/pinnacle/tools/url/types/create_url_params.rb +14 -0
  168. data/lib/pinnacle/tools/url/types/update_url_params.rb +15 -0
  169. data/lib/pinnacle/types/advanced_phone_information.rb +17 -0
  170. data/lib/pinnacle/types/advanced_phone_information_carrier.rb +13 -0
  171. data/lib/pinnacle/types/advanced_phone_information_contact.rb +19 -0
  172. data/lib/pinnacle/types/advanced_phone_information_location.rb +18 -0
  173. data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +11 -0
  174. data/lib/pinnacle/types/advanced_phone_information_location_country.rb +12 -0
  175. data/lib/pinnacle/types/advanced_phone_information_type.rb +13 -0
  176. data/lib/pinnacle/types/advanced_phone_information_type_recommendation.rb +13 -0
  177. data/lib/pinnacle/types/agent.rb +11 -0
  178. data/lib/pinnacle/types/attach_webhook_by_id_params.rb +11 -0
  179. data/lib/pinnacle/types/attach_webhook_params.rb +15 -0
  180. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +13 -0
  181. data/lib/pinnacle/types/attached_phone_number_result.rb +10 -0
  182. data/lib/pinnacle/types/audience_count_only.rb +12 -0
  183. data/lib/pinnacle/types/audience_with_pagination.rb +14 -0
  184. data/lib/pinnacle/types/autofill_campaign_params.rb +10 -0
  185. data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +19 -0
  186. data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +12 -0
  187. data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +11 -0
  188. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +11 -0
  189. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +11 -0
  190. data/lib/pinnacle/types/autofill_dlc_response_links.rb +11 -0
  191. data/lib/pinnacle/types/autofill_dlc_response_options.rb +15 -0
  192. data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +11 -0
  193. data/lib/pinnacle/types/bad_request_error_body.rb +12 -0
  194. data/lib/pinnacle/types/base_rich_message.rb +11 -0
  195. data/lib/pinnacle/types/basic_phone_information.rb +16 -0
  196. data/lib/pinnacle/types/basic_phone_information_contact.rb +10 -0
  197. data/lib/pinnacle/types/basic_phone_information_location.rb +11 -0
  198. data/lib/pinnacle/types/basic_phone_information_location_country.rb +12 -0
  199. data/lib/pinnacle/types/blast_details.rb +15 -0
  200. data/lib/pinnacle/types/brand_status.rb +12 -0
  201. data/lib/pinnacle/types/brand_status_enum.rb +16 -0
  202. data/lib/pinnacle/types/button_clicked.rb +12 -0
  203. data/lib/pinnacle/types/button_clicked_data.rb +11 -0
  204. data/lib/pinnacle/types/button_clicked_data_button.rb +14 -0
  205. data/lib/pinnacle/types/button_clicked_data_button_raw.rb +14 -0
  206. data/lib/pinnacle/types/button_clicked_data_button_type.rb +12 -0
  207. data/lib/pinnacle/types/buy_response_capabilities.rb +12 -0
  208. data/lib/pinnacle/types/campaign_enum.rb +13 -0
  209. data/lib/pinnacle/types/campaign_query.rb +11 -0
  210. data/lib/pinnacle/types/campaign_submission_result.rb +9 -0
  211. data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +11 -0
  212. data/lib/pinnacle/types/campaign_validation_result.rb +10 -0
  213. data/lib/pinnacle/types/company_entity_type_enum.rb +15 -0
  214. data/lib/pinnacle/types/company_sector_enum.rb +27 -0
  215. data/lib/pinnacle/types/company_type_enum.rb +15 -0
  216. data/lib/pinnacle/types/configured_webhook.rb +13 -0
  217. data/lib/pinnacle/types/contact.rb +14 -0
  218. data/lib/pinnacle/types/contact_id.rb +9 -0
  219. data/lib/pinnacle/types/conversation.rb +17 -0
  220. data/lib/pinnacle/types/conversation_by_id_params.rb +10 -0
  221. data/lib/pinnacle/types/conversation_by_participants_params.rb +11 -0
  222. data/lib/pinnacle/types/conversation_contact.rb +11 -0
  223. data/lib/pinnacle/types/conversation_list.rb +12 -0
  224. data/lib/pinnacle/types/conversation_sender.rb +16 -0
  225. data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +12 -0
  226. data/lib/pinnacle/types/create_url_options.rb +9 -0
  227. data/lib/pinnacle/types/delete_audience_response.rb +9 -0
  228. data/lib/pinnacle/types/detached_phone_number_result.rb +10 -0
  229. data/lib/pinnacle/types/detached_webhook_info.rb +11 -0
  230. data/lib/pinnacle/types/detailed_phone_number_enum.rb +22 -0
  231. data/lib/pinnacle/types/dlc_assignment_status_enum.rb +15 -0
  232. data/lib/pinnacle/types/dlc_campaign_status.rb +13 -0
  233. data/lib/pinnacle/types/dlc_campaign_use_case_enum.rb +36 -0
  234. data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +23 -0
  235. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +12 -0
  236. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +11 -0
  237. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
  238. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +11 -0
  239. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +11 -0
  240. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +14 -0
  241. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +20 -0
  242. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +15 -0
  243. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +11 -0
  244. data/lib/pinnacle/types/enhanced_contact.rb +23 -0
  245. data/lib/pinnacle/types/enhanced_contact_item.rb +13 -0
  246. data/lib/pinnacle/types/error.rb +10 -0
  247. data/lib/pinnacle/types/extended_brand.rb +13 -0
  248. data/lib/pinnacle/types/extended_brand_with_vetting.rb +11 -0
  249. data/lib/pinnacle/types/extended_rcs_campaign.rb +26 -0
  250. data/lib/pinnacle/types/get_conversation_params.rb +13 -0
  251. data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +15 -0
  252. data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +15 -0
  253. data/lib/pinnacle/types/link_click_event.rb +57 -0
  254. data/lib/pinnacle/types/location_share_action.rb +9 -0
  255. data/lib/pinnacle/types/location_share_action_data.rb +13 -0
  256. data/lib/pinnacle/types/message.rb +20 -0
  257. data/lib/pinnacle/types/message_content.rb +15 -0
  258. data/lib/pinnacle/types/message_event.rb +17 -0
  259. data/lib/pinnacle/types/message_event_content.rb +18 -0
  260. data/lib/pinnacle/types/message_event_conversation.rb +12 -0
  261. data/lib/pinnacle/types/message_event_direction.rb +12 -0
  262. data/lib/pinnacle/types/message_event_mms_content.rb +13 -0
  263. data/lib/pinnacle/types/message_event_rcs_button_data.rb +15 -0
  264. data/lib/pinnacle/types/message_event_rcs_cards_content.rb +16 -0
  265. data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +13 -0
  266. data/lib/pinnacle/types/message_event_rcs_location_data.rb +15 -0
  267. data/lib/pinnacle/types/message_event_rcs_media_content.rb +15 -0
  268. data/lib/pinnacle/types/message_event_rcs_text_content.rb +13 -0
  269. data/lib/pinnacle/types/message_event_sms_content.rb +12 -0
  270. data/lib/pinnacle/types/message_list.rb +12 -0
  271. data/lib/pinnacle/types/message_method_enum.rb +13 -0
  272. data/lib/pinnacle/types/message_protocol_enum.rb +13 -0
  273. data/lib/pinnacle/types/message_schedule.rb +13 -0
  274. data/lib/pinnacle/types/message_status_enum.rb +18 -0
  275. data/lib/pinnacle/types/message_volume_enum.rb +21 -0
  276. data/lib/pinnacle/types/message_with_reaction.rb +11 -0
  277. data/lib/pinnacle/types/message_with_reaction_direction.rb +12 -0
  278. data/lib/pinnacle/types/messaging_profile_enum.rb +12 -0
  279. data/lib/pinnacle/types/mms_content.rb +11 -0
  280. data/lib/pinnacle/types/mms_validation_response_segments.rb +12 -0
  281. data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +11 -0
  282. data/lib/pinnacle/types/mms_validation_result.rb +11 -0
  283. data/lib/pinnacle/types/not_found_error_body.rb +9 -0
  284. data/lib/pinnacle/types/number_format.rb +13 -0
  285. data/lib/pinnacle/types/opt_in_method_enum.rb +14 -0
  286. data/lib/pinnacle/types/optional_brand_info.rb +19 -0
  287. data/lib/pinnacle/types/optional_contact.rb +12 -0
  288. data/lib/pinnacle/types/optional_contacts.rb +13 -0
  289. data/lib/pinnacle/types/pagination.rb +12 -0
  290. data/lib/pinnacle/types/phone.rb +14 -0
  291. data/lib/pinnacle/types/phone_capabilities.rb +12 -0
  292. data/lib/pinnacle/types/phone_enum.rb +12 -0
  293. data/lib/pinnacle/types/phone_feature_enum.rb +18 -0
  294. data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +10 -0
  295. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +10 -0
  296. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +12 -0
  297. data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +10 -0
  298. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +10 -0
  299. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +12 -0
  300. data/lib/pinnacle/types/phone_number_cost.rb +12 -0
  301. data/lib/pinnacle/types/phone_number_details.rb +15 -0
  302. data/lib/pinnacle/types/phone_number_enum.rb +18 -0
  303. data/lib/pinnacle/types/phone_number_region.rb +13 -0
  304. data/lib/pinnacle/types/phone_number_status.rb +12 -0
  305. data/lib/pinnacle/types/phone_number_status_enum.rb +13 -0
  306. data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +12 -0
  307. data/lib/pinnacle/types/pinnacle_url_config.rb +10 -0
  308. data/lib/pinnacle/types/profile_status_enum.rb +14 -0
  309. data/lib/pinnacle/types/purchased_number.rb +12 -0
  310. data/lib/pinnacle/types/rcs_button_call.rb +12 -0
  311. data/lib/pinnacle/types/rcs_button_open_url.rb +13 -0
  312. data/lib/pinnacle/types/rcs_button_open_url_webview_mode.rb +13 -0
  313. data/lib/pinnacle/types/rcs_button_request_user_location.rb +11 -0
  314. data/lib/pinnacle/types/rcs_button_schedule_event.rb +15 -0
  315. data/lib/pinnacle/types/rcs_button_send_location.rb +13 -0
  316. data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +11 -0
  317. data/lib/pinnacle/types/rcs_button_trigger.rb +12 -0
  318. data/lib/pinnacle/types/rcs_campaign.rb +23 -0
  319. data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +17 -0
  320. data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +10 -0
  321. data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +10 -0
  322. data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +10 -0
  323. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +17 -0
  324. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +10 -0
  325. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +10 -0
  326. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +10 -0
  327. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +11 -0
  328. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +10 -0
  329. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +10 -0
  330. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +10 -0
  331. data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +11 -0
  332. data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +10 -0
  333. data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +11 -0
  334. data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +11 -0
  335. data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +10 -0
  336. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +10 -0
  337. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +10 -0
  338. data/lib/pinnacle/types/rcs_campaign_schema_links.rb +11 -0
  339. data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +10 -0
  340. data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +11 -0
  341. data/lib/pinnacle/types/rcs_campaign_status.rb +12 -0
  342. data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +43 -0
  343. data/lib/pinnacle/types/rcs_capabilities_result.rb +23 -0
  344. data/lib/pinnacle/types/rcs_capability.rb +11 -0
  345. data/lib/pinnacle/types/rcs_capability_actions.rb +16 -0
  346. data/lib/pinnacle/types/rcs_capability_cards.rb +10 -0
  347. data/lib/pinnacle/types/rcs_cards_content.rb +13 -0
  348. data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +13 -0
  349. data/lib/pinnacle/types/rcs_content.rb +14 -0
  350. data/lib/pinnacle/types/rcs_link_result.rb +13 -0
  351. data/lib/pinnacle/types/rcs_media_content.rb +13 -0
  352. data/lib/pinnacle/types/rcs_media_details_content.rb +12 -0
  353. data/lib/pinnacle/types/rcs_messaging_type_enum.rb +14 -0
  354. data/lib/pinnacle/types/rcs_validate_content.rb +13 -0
  355. data/lib/pinnacle/types/rcs_validate_content_media.rb +13 -0
  356. data/lib/pinnacle/types/rcs_validation_result.rb +12 -0
  357. data/lib/pinnacle/types/rcs_whitelist_response.rb +10 -0
  358. data/lib/pinnacle/types/reaction_result.rb +10 -0
  359. data/lib/pinnacle/types/refreshed_file.rb +10 -0
  360. data/lib/pinnacle/types/rich_button.rb +18 -0
  361. data/lib/pinnacle/types/rich_card.rb +13 -0
  362. data/lib/pinnacle/types/rich_cards.rb +13 -0
  363. data/lib/pinnacle/types/rich_cards_message.rb +11 -0
  364. data/lib/pinnacle/types/rich_media_message.rb +10 -0
  365. data/lib/pinnacle/types/rich_message.rb +13 -0
  366. data/lib/pinnacle/types/rich_standalone_card_options.rb +17 -0
  367. data/lib/pinnacle/types/rich_text.rb +11 -0
  368. data/lib/pinnacle/types/rich_text_message.rb +7 -0
  369. data/lib/pinnacle/types/schedule_cancel_result.rb +10 -0
  370. data/lib/pinnacle/types/scheduled_blast_details.rb +11 -0
  371. data/lib/pinnacle/types/scheduled_blast_response_config.rb +13 -0
  372. data/lib/pinnacle/types/scheduled_message.rb +10 -0
  373. data/lib/pinnacle/types/scheduled_send_response_config.rb +13 -0
  374. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
  375. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_orientation.rb +12 -0
  376. data/lib/pinnacle/types/send_rich_cards_options.rb +9 -0
  377. data/lib/pinnacle/types/send_rich_message_options.rb +14 -0
  378. data/lib/pinnacle/types/send_sms_response_segments.rb +11 -0
  379. data/lib/pinnacle/types/send_sms_response_segments_encoding.rb +12 -0
  380. data/lib/pinnacle/types/send_typing_indicator_response.rb +14 -0
  381. data/lib/pinnacle/types/sender.rb +23 -0
  382. data/lib/pinnacle/types/sent_mms_details.rb +14 -0
  383. data/lib/pinnacle/types/sent_rich_message.rb +14 -0
  384. data/lib/pinnacle/types/sent_sms_details.rb +14 -0
  385. data/lib/pinnacle/types/shortened_url.rb +10 -0
  386. data/lib/pinnacle/types/shortened_url_with_click_data.rb +9 -0
  387. data/lib/pinnacle/types/sms_content.rb +10 -0
  388. data/lib/pinnacle/types/sms_validation_response_segments.rb +11 -0
  389. data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +12 -0
  390. data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +11 -0
  391. data/lib/pinnacle/types/sms_validation_response_total.rb +10 -0
  392. data/lib/pinnacle/types/sms_validation_result.rb +12 -0
  393. data/lib/pinnacle/types/sub_use_case_enum.rb +20 -0
  394. data/lib/pinnacle/types/submission_results.rb +9 -0
  395. data/lib/pinnacle/types/successful_conversation_update.rb +10 -0
  396. data/lib/pinnacle/types/toll_free_campaign.rb +17 -0
  397. data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +11 -0
  398. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_help.rb +10 -0
  399. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +11 -0
  400. data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +11 -0
  401. data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +12 -0
  402. data/lib/pinnacle/types/toll_free_campaign_schema_options.rb +10 -0
  403. data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +11 -0
  404. data/lib/pinnacle/types/toll_free_campaign_status.rb +12 -0
  405. data/lib/pinnacle/types/toll_free_campaign_use_case_enum.rb +53 -0
  406. data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +19 -0
  407. data/lib/pinnacle/types/toll_free_status_enum.rb +16 -0
  408. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +11 -0
  409. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_help.rb +10 -0
  410. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
  411. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +11 -0
  412. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +12 -0
  413. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_options.rb +10 -0
  414. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +11 -0
  415. data/lib/pinnacle/types/tracking.rb +12 -0
  416. data/lib/pinnacle/types/updated_contact_id.rb +9 -0
  417. data/lib/pinnacle/types/upload_results.rb +11 -0
  418. data/lib/pinnacle/types/user_event.rb +12 -0
  419. data/lib/pinnacle/types/user_event_conversation.rb +12 -0
  420. data/lib/pinnacle/types/v_card_address_schema_type_item.rb +17 -0
  421. data/lib/pinnacle/types/v_card_data.rb +9 -0
  422. data/lib/pinnacle/types/v_card_data_file.rb +11 -0
  423. data/lib/pinnacle/types/v_card_data_file_metadata.rb +10 -0
  424. data/lib/pinnacle/types/v_card_email_schema_type_item.rb +23 -0
  425. data/lib/pinnacle/types/v_card_geo.rb +11 -0
  426. data/lib/pinnacle/types/v_card_name.rb +14 -0
  427. data/lib/pinnacle/types/v_card_organization.rb +11 -0
  428. data/lib/pinnacle/types/v_card_phone_schema_type_item.rb +23 -0
  429. data/lib/pinnacle/types/validate_campaign_params.rb +10 -0
  430. data/lib/pinnacle/types/validation_error_details.rb +11 -0
  431. data/lib/pinnacle/types/validation_results.rb +10 -0
  432. data/lib/pinnacle/types/vcard.rb +24 -0
  433. data/lib/pinnacle/types/vcard_address.rb +17 -0
  434. data/lib/pinnacle/types/vcard_content.rb +9 -0
  435. data/lib/pinnacle/types/vcard_email.rb +10 -0
  436. data/lib/pinnacle/types/vcard_phone.rb +10 -0
  437. data/lib/pinnacle/types/vcard_resource.rb +10 -0
  438. data/lib/pinnacle/types/vetting_feedback.rb +12 -0
  439. data/lib/pinnacle/types/vetting_history.rb +13 -0
  440. data/lib/pinnacle/types/vetting_history_vetting_status.rb +14 -0
  441. data/lib/pinnacle/types/vetting_results.rb +9 -0
  442. data/lib/pinnacle/types/webhook_event_enum.rb +12 -0
  443. data/lib/pinnacle/types/webhook_result.rb +11 -0
  444. data/lib/pinnacle/types/webhooks.rb +12 -0
  445. data/lib/pinnacle/types/zod_error.rb +10 -0
  446. data/lib/pinnacle/version.rb +5 -0
  447. data/lib/pinnacle/webhooks/client.rb +51 -0
  448. data/lib/pinnacle/webhooks/types/get_webhook_params.rb +11 -0
  449. data/lib/pinnacle/wrapper/messages/client.rb +72 -0
  450. data/lib/pinnacle/wrapper/tools/client.rb +14 -0
  451. data/lib/pinnacle/wrapper/tools/file_uploader.rb +149 -0
  452. data/lib/pinnacle.rb +450 -0
  453. data/reference.md +5956 -0
  454. metadata +466 -456
  455. data/lib/gemconfig.rb +0 -14
  456. data/lib/rcs/audiences/client.rb +0 -347
  457. data/lib/rcs/audiences/contacts/client.rb +0 -177
  458. data/lib/rcs/audiences/types/audiences_get_response.rb +0 -58
  459. data/lib/rcs/brands/client.rb +0 -605
  460. data/lib/rcs/brands/types/autofill_brand_options.rb +0 -61
  461. data/lib/rcs/brands/types/upsert_brand_schema_contact.rb +0 -86
  462. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +0 -16
  463. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +0 -28
  464. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +0 -16
  465. data/lib/rcs/campaigns/client.rb +0 -44
  466. data/lib/rcs/campaigns/dlc/client.rb +0 -492
  467. data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -74
  468. data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -99
  469. data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +0 -74
  470. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -74
  471. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -74
  472. data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +0 -110
  473. data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -76
  474. data/lib/rcs/campaigns/rcs/client.rb +0 -566
  475. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -152
  476. data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +0 -73
  477. data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +0 -73
  478. data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +0 -73
  479. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +0 -246
  480. data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -77
  481. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -98
  482. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -87
  483. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -83
  484. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -76
  485. data/lib/rcs/campaigns/rcs/types/rcs_links.rb +0 -74
  486. data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +0 -75
  487. data/lib/rcs/campaigns/toll_free/client.rb +0 -478
  488. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -172
  489. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -66
  490. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -86
  491. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -74
  492. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -86
  493. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -78
  494. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -64
  495. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -75
  496. data/lib/rcs/contacts/client.rb +0 -277
  497. data/lib/rcs/conversations/client.rb +0 -401
  498. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +0 -12
  499. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +0 -12
  500. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +0 -17
  501. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +0 -13
  502. data/lib/rcs/messages/blast/client.rb +0 -425
  503. data/lib/rcs/messages/blast/types/blast_mms_options.rb +0 -82
  504. data/lib/rcs/messages/blast/types/blast_mms_response.rb +0 -60
  505. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +0 -118
  506. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -82
  507. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
  508. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -15
  509. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +0 -60
  510. data/lib/rcs/messages/blast/types/blast_sms_options.rb +0 -70
  511. data/lib/rcs/messages/blast/types/blast_sms_response.rb +0 -60
  512. data/lib/rcs/messages/client.rb +0 -189
  513. data/lib/rcs/messages/mms/client.rb +0 -216
  514. data/lib/rcs/messages/mms/types/mms_send_response.rb +0 -60
  515. data/lib/rcs/messages/mms/types/send_mms_options.rb +0 -108
  516. data/lib/rcs/messages/rcs/client.rb +0 -286
  517. data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +0 -60
  518. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -66
  519. data/lib/rcs/messages/schedule/client.rb +0 -103
  520. data/lib/rcs/messages/sms/client.rb +0 -198
  521. data/lib/rcs/messages/sms/types/send_sms_options.rb +0 -81
  522. data/lib/rcs/messages/sms/types/sms_send_response.rb +0 -60
  523. data/lib/rcs/messages/types/react_message_options.rb +0 -71
  524. data/lib/rcs/phone_numbers/campaign/client.rb +0 -197
  525. data/lib/rcs/phone_numbers/client.rb +0 -345
  526. data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +0 -62
  527. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +0 -16
  528. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +0 -58
  529. data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -93
  530. data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +0 -81
  531. data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +0 -96
  532. data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +0 -62
  533. data/lib/rcs/phone_numbers/webhook/client.rb +0 -193
  534. data/lib/rcs/rcs/client.rb +0 -332
  535. data/lib/rcs/status/client.rb +0 -30
  536. data/lib/rcs/status/get/client.rb +0 -383
  537. data/lib/rcs/tools/client.rb +0 -44
  538. data/lib/rcs/tools/contact_card/client.rb +0 -295
  539. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +0 -67
  540. data/lib/rcs/tools/file/client.rb +0 -228
  541. data/lib/rcs/tools/file/types/download_options.rb +0 -66
  542. data/lib/rcs/tools/file/types/upload_file_options.rb +0 -88
  543. data/lib/rcs/tools/url/client.rb +0 -247
  544. data/lib/rcs/types/advanced_phone_information.rb +0 -147
  545. data/lib/rcs/types/advanced_phone_information_carrier.rb +0 -90
  546. data/lib/rcs/types/advanced_phone_information_contact.rb +0 -146
  547. data/lib/rcs/types/advanced_phone_information_location.rb +0 -142
  548. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +0 -73
  549. data/lib/rcs/types/advanced_phone_information_location_country.rb +0 -77
  550. data/lib/rcs/types/advanced_phone_information_type.rb +0 -97
  551. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +0 -15
  552. data/lib/rcs/types/agent.rb +0 -68
  553. data/lib/rcs/types/attach_webhook_by_id_params.rb +0 -77
  554. data/lib/rcs/types/attach_webhook_params.rb +0 -60
  555. data/lib/rcs/types/attach_webhook_response_webhook.rb +0 -88
  556. data/lib/rcs/types/attached_phone_number_result.rb +0 -75
  557. data/lib/rcs/types/audience_count_only.rb +0 -87
  558. data/lib/rcs/types/audience_with_pagination.rb +0 -114
  559. data/lib/rcs/types/autofill_campaign_params.rb +0 -81
  560. data/lib/rcs/types/autofill_dlc_campaign_response.rb +0 -173
  561. data/lib/rcs/types/autofill_dlc_response_keywords.rb +0 -93
  562. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +0 -70
  563. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +0 -70
  564. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +0 -70
  565. data/lib/rcs/types/autofill_dlc_response_links.rb +0 -70
  566. data/lib/rcs/types/autofill_dlc_response_options.rb +0 -106
  567. data/lib/rcs/types/autofill_dlc_response_use_case.rb +0 -72
  568. data/lib/rcs/types/bad_request_error_body.rb +0 -56
  569. data/lib/rcs/types/base_rich_message.rb +0 -82
  570. data/lib/rcs/types/basic_phone_information.rb +0 -127
  571. data/lib/rcs/types/basic_phone_information_contact.rb +0 -58
  572. data/lib/rcs/types/basic_phone_information_location.rb +0 -74
  573. data/lib/rcs/types/basic_phone_information_location_country.rb +0 -75
  574. data/lib/rcs/types/blast_details.rb +0 -110
  575. data/lib/rcs/types/brand_status.rb +0 -94
  576. data/lib/rcs/types/brand_status_enum.rb +0 -21
  577. data/lib/rcs/types/button_clicked.rb +0 -56
  578. data/lib/rcs/types/button_clicked_data.rb +0 -80
  579. data/lib/rcs/types/button_clicked_data_button.rb +0 -118
  580. data/lib/rcs/types/button_clicked_data_button_raw.rb +0 -58
  581. data/lib/rcs/types/button_clicked_data_button_type.rb +0 -15
  582. data/lib/rcs/types/buy_response_capabilities.rb +0 -77
  583. data/lib/rcs/types/campaign_enum.rb +0 -15
  584. data/lib/rcs/types/campaign_query.rb +0 -77
  585. data/lib/rcs/types/campaign_submission_result.rb +0 -57
  586. data/lib/rcs/types/campaign_validation_response_errors_item.rb +0 -76
  587. data/lib/rcs/types/campaign_validation_result.rb +0 -71
  588. data/lib/rcs/types/company_entity_type_enum.rb +0 -14
  589. data/lib/rcs/types/company_sector_enum.rb +0 -26
  590. data/lib/rcs/types/company_type_enum.rb +0 -14
  591. data/lib/rcs/types/configured_webhook.rb +0 -85
  592. data/lib/rcs/types/contact.rb +0 -107
  593. data/lib/rcs/types/contact_id.rb +0 -59
  594. data/lib/rcs/types/conversation.rb +0 -154
  595. data/lib/rcs/types/conversation_by_id_params.rb +0 -62
  596. data/lib/rcs/types/conversation_by_participants_params.rb +0 -72
  597. data/lib/rcs/types/conversation_contact.rb +0 -70
  598. data/lib/rcs/types/conversation_list.rb +0 -79
  599. data/lib/rcs/types/conversation_sender.rb +0 -60
  600. data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +0 -88
  601. data/lib/rcs/types/create_url_options.rb +0 -63
  602. data/lib/rcs/types/delete_audience_response.rb +0 -57
  603. data/lib/rcs/types/detached_phone_number_result.rb +0 -75
  604. data/lib/rcs/types/detached_webhook_info.rb +0 -76
  605. data/lib/rcs/types/detailed_phone_number_enum.rb +0 -25
  606. data/lib/rcs/types/dlc_assignment_status_enum.rb +0 -19
  607. data/lib/rcs/types/dlc_campaign_status.rb +0 -109
  608. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +0 -35
  609. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +0 -224
  610. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +0 -94
  611. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -72
  612. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -72
  613. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -72
  614. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +0 -70
  615. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -15
  616. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -22
  617. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +0 -106
  618. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +0 -72
  619. data/lib/rcs/types/enhanced_contact.rb +0 -9
  620. data/lib/rcs/types/enhanced_contact_item.rb +0 -104
  621. data/lib/rcs/types/error.rb +0 -61
  622. data/lib/rcs/types/extended_brand.rb +0 -215
  623. data/lib/rcs/types/extended_brand_with_vetting.rb +0 -247
  624. data/lib/rcs/types/extended_rcs_campaign.rb +0 -267
  625. data/lib/rcs/types/get_conversation_params.rb +0 -57
  626. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +0 -96
  627. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +0 -92
  628. data/lib/rcs/types/link_click_event.rb +0 -449
  629. data/lib/rcs/types/location_share_action.rb +0 -63
  630. data/lib/rcs/types/location_share_action_data.rb +0 -89
  631. data/lib/rcs/types/message.rb +0 -176
  632. data/lib/rcs/types/message_content.rb +0 -85
  633. data/lib/rcs/types/message_event.rb +0 -143
  634. data/lib/rcs/types/message_event_content.rb +0 -127
  635. data/lib/rcs/types/message_event_conversation.rb +0 -82
  636. data/lib/rcs/types/message_event_direction.rb +0 -11
  637. data/lib/rcs/types/message_event_mms_content.rb +0 -94
  638. data/lib/rcs/types/message_event_rcs_button_data.rb +0 -104
  639. data/lib/rcs/types/message_event_rcs_cards_content.rb +0 -103
  640. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -96
  641. data/lib/rcs/types/message_event_rcs_location_data.rb +0 -91
  642. data/lib/rcs/types/message_event_rcs_media_content.rb +0 -96
  643. data/lib/rcs/types/message_event_rcs_text_content.rb +0 -94
  644. data/lib/rcs/types/message_event_sms_content.rb +0 -81
  645. data/lib/rcs/types/message_list.rb +0 -79
  646. data/lib/rcs/types/message_method_enum.rb +0 -12
  647. data/lib/rcs/types/message_protocol_enum.rb +0 -12
  648. data/lib/rcs/types/message_schedule.rb +0 -121
  649. data/lib/rcs/types/message_status_enum.rb +0 -17
  650. data/lib/rcs/types/message_volume_enum.rb +0 -20
  651. data/lib/rcs/types/message_with_reaction.rb +0 -197
  652. data/lib/rcs/types/message_with_reaction_direction.rb +0 -11
  653. data/lib/rcs/types/messaging_profile_enum.rb +0 -11
  654. data/lib/rcs/types/mms_content.rb +0 -74
  655. data/lib/rcs/types/mms_validation_response_segments.rb +0 -85
  656. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +0 -75
  657. data/lib/rcs/types/mms_validation_result.rb +0 -82
  658. data/lib/rcs/types/not_found_error_body.rb +0 -59
  659. data/lib/rcs/types/number_format.rb +0 -79
  660. data/lib/rcs/types/opt_in_method_enum.rb +0 -13
  661. data/lib/rcs/types/optional_brand_info.rb +0 -154
  662. data/lib/rcs/types/optional_contact.rb +0 -83
  663. data/lib/rcs/types/optional_contacts.rb +0 -84
  664. data/lib/rcs/types/pagination.rb +0 -81
  665. data/lib/rcs/types/phone.rb +0 -101
  666. data/lib/rcs/types/phone_capabilities.rb +0 -75
  667. data/lib/rcs/types/phone_enum.rb +0 -13
  668. data/lib/rcs/types/phone_feature_enum.rb +0 -18
  669. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +0 -67
  670. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -75
  671. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -82
  672. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +0 -67
  673. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -75
  674. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -82
  675. data/lib/rcs/types/phone_number_cost.rb +0 -75
  676. data/lib/rcs/types/phone_number_details.rb +0 -110
  677. data/lib/rcs/types/phone_number_enum.rb +0 -18
  678. data/lib/rcs/types/phone_number_region.rb +0 -91
  679. data/lib/rcs/types/phone_number_status.rb +0 -90
  680. data/lib/rcs/types/phone_number_status_enum.rb +0 -16
  681. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +0 -100
  682. data/lib/rcs/types/pinnacle_url_config.rb +0 -71
  683. data/lib/rcs/types/profile_status_enum.rb +0 -17
  684. data/lib/rcs/types/purchased_number.rb +0 -75
  685. data/lib/rcs/types/rcs_button_call.rb +0 -77
  686. data/lib/rcs/types/rcs_button_open_url.rb +0 -104
  687. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +0 -19
  688. data/lib/rcs/types/rcs_button_request_user_location.rb +0 -70
  689. data/lib/rcs/types/rcs_button_schedule_event.rb +0 -106
  690. data/lib/rcs/types/rcs_button_send_location.rb +0 -94
  691. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +0 -68
  692. data/lib/rcs/types/rcs_button_trigger.rb +0 -80
  693. data/lib/rcs/types/rcs_campaign.rb +0 -234
  694. data/lib/rcs/types/rcs_campaign_schema_agent.rb +0 -134
  695. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +0 -69
  696. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +0 -69
  697. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +0 -69
  698. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +0 -134
  699. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -70
  700. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -70
  701. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -71
  702. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +0 -94
  703. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +0 -71
  704. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -73
  705. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -73
  706. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +0 -70
  707. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +0 -72
  708. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +0 -71
  709. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +0 -94
  710. data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +0 -71
  711. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +0 -73
  712. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +0 -73
  713. data/lib/rcs/types/rcs_campaign_schema_links.rb +0 -70
  714. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +0 -72
  715. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +0 -71
  716. data/lib/rcs/types/rcs_campaign_status.rb +0 -88
  717. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +0 -23
  718. data/lib/rcs/types/rcs_capabilities_result.rb +0 -7
  719. data/lib/rcs/types/rcs_capability.rb +0 -82
  720. data/lib/rcs/types/rcs_capability_actions.rb +0 -105
  721. data/lib/rcs/types/rcs_capability_cards.rb +0 -67
  722. data/lib/rcs/types/rcs_cards_content.rb +0 -83
  723. data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -98
  724. data/lib/rcs/types/rcs_content.rb +0 -72
  725. data/lib/rcs/types/rcs_link_result.rb +0 -75
  726. data/lib/rcs/types/rcs_media_content.rb +0 -83
  727. data/lib/rcs/types/rcs_media_details_content.rb +0 -77
  728. data/lib/rcs/types/rcs_messaging_type_enum.rb +0 -17
  729. data/lib/rcs/types/rcs_validate_content.rb +0 -70
  730. data/lib/rcs/types/rcs_validate_content_media.rb +0 -75
  731. data/lib/rcs/types/rcs_validation_result.rb +0 -83
  732. data/lib/rcs/types/rcs_whitelist_response.rb +0 -58
  733. data/lib/rcs/types/reaction_result.rb +0 -71
  734. data/lib/rcs/types/refreshed_file.rb +0 -67
  735. data/lib/rcs/types/rich_button.rb +0 -148
  736. data/lib/rcs/types/rich_card.rb +0 -92
  737. data/lib/rcs/types/rich_cards.rb +0 -83
  738. data/lib/rcs/types/rich_cards_message.rb +0 -114
  739. data/lib/rcs/types/rich_media_message.rb +0 -112
  740. data/lib/rcs/types/rich_message.rb +0 -70
  741. data/lib/rcs/types/rich_standalone_card_options.rb +0 -80
  742. data/lib/rcs/types/rich_text.rb +0 -74
  743. data/lib/rcs/types/rich_text_message.rb +0 -108
  744. data/lib/rcs/types/schedule_cancel_result.rb +0 -58
  745. data/lib/rcs/types/scheduled_blast_details.rb +0 -76
  746. data/lib/rcs/types/scheduled_blast_response_config.rb +0 -89
  747. data/lib/rcs/types/scheduled_message.rb +0 -75
  748. data/lib/rcs/types/scheduled_send_response_config.rb +0 -89
  749. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
  750. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +0 -11
  751. data/lib/rcs/types/send_rich_cards_options.rb +0 -136
  752. data/lib/rcs/types/send_rich_message_options.rb +0 -111
  753. data/lib/rcs/types/send_sms_response_segments.rb +0 -69
  754. data/lib/rcs/types/send_sms_response_segments_encoding.rb +0 -11
  755. data/lib/rcs/types/send_typing_indicator_response.rb +0 -100
  756. data/lib/rcs/types/sent_mms_details.rb +0 -118
  757. data/lib/rcs/types/sent_rich_message.rb +0 -104
  758. data/lib/rcs/types/sent_sms_details.rb +0 -110
  759. data/lib/rcs/types/shortened_url.rb +0 -77
  760. data/lib/rcs/types/shortened_url_with_click_data.rb +0 -90
  761. data/lib/rcs/types/sms_content.rb +0 -58
  762. data/lib/rcs/types/sms_validation_response_segments.rb +0 -80
  763. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +0 -75
  764. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +0 -68
  765. data/lib/rcs/types/sms_validation_response_total.rb +0 -75
  766. data/lib/rcs/types/sms_validation_result.rb +0 -102
  767. data/lib/rcs/types/sub_use_case_enum.rb +0 -19
  768. data/lib/rcs/types/submission_results.rb +0 -57
  769. data/lib/rcs/types/successful_conversation_update.rb +0 -58
  770. data/lib/rcs/types/toll_free_campaign.rb +0 -160
  771. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +0 -82
  772. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +0 -62
  773. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -74
  774. data/lib/rcs/types/toll_free_campaign_schema_links.rb +0 -70
  775. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +0 -78
  776. data/lib/rcs/types/toll_free_campaign_schema_options.rb +0 -60
  777. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +0 -71
  778. data/lib/rcs/types/toll_free_campaign_status.rb +0 -93
  779. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +0 -52
  780. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -195
  781. data/lib/rcs/types/toll_free_status_enum.rb +0 -20
  782. data/lib/rcs/types/tracking.rb +0 -17
  783. data/lib/rcs/types/updated_contact_id.rb +0 -59
  784. data/lib/rcs/types/upload_results.rb +0 -80
  785. data/lib/rcs/types/user_event.rb +0 -83
  786. data/lib/rcs/types/user_event_conversation.rb +0 -78
  787. data/lib/rcs/types/v_card_address_schema_type_item.rb +0 -15
  788. data/lib/rcs/types/v_card_data.rb +0 -239
  789. data/lib/rcs/types/v_card_data_file.rb +0 -74
  790. data/lib/rcs/types/v_card_data_file_metadata.rb +0 -62
  791. data/lib/rcs/types/v_card_email_schema_type_item.rb +0 -21
  792. data/lib/rcs/types/v_card_geo.rb +0 -70
  793. data/lib/rcs/types/v_card_name.rb +0 -98
  794. data/lib/rcs/types/v_card_organization.rb +0 -70
  795. data/lib/rcs/types/v_card_phone_schema_type_item.rb +0 -21
  796. data/lib/rcs/types/validate_campaign_params.rb +0 -81
  797. data/lib/rcs/types/validation_error_details.rb +0 -76
  798. data/lib/rcs/types/validation_results.rb +0 -71
  799. data/lib/rcs/types/vcard.rb +0 -217
  800. data/lib/rcs/types/vcard_address.rb +0 -130
  801. data/lib/rcs/types/vcard_content.rb +0 -225
  802. data/lib/rcs/types/vcard_email.rb +0 -70
  803. data/lib/rcs/types/vcard_phone.rb +0 -70
  804. data/lib/rcs/types/vcard_resource.rb +0 -73
  805. data/lib/rcs/types/vetting_feedback.rb +0 -81
  806. data/lib/rcs/types/vetting_history.rb +0 -98
  807. data/lib/rcs/types/vetting_history_vetting_status.rb +0 -13
  808. data/lib/rcs/types/vetting_results.rb +0 -57
  809. data/lib/rcs/types/webhook_event_enum.rb +0 -14
  810. data/lib/rcs/types/webhook_result.rb +0 -64
  811. data/lib/rcs/types/webhooks.rb +0 -77
  812. data/lib/rcs/types/zod_error.rb +0 -73
  813. data/lib/rcs/webhooks/client.rb +0 -97
  814. data/lib/rcs.rb +0 -124
  815. data/lib/requests.rb +0 -163
  816. data/lib/types_export.rb +0 -334
  817. /data/lib/{environment.rb → pinnacle/environment.rb} +0 -0
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
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::Url::Client]
14
+ def url
15
+ @url ||= Pinnacle::Tools::Url::Client.new(client: @client)
16
+ end
17
+
18
+ # @return [Pinnacle::File::Client]
19
+ def file
20
+ @file ||= Pinnacle::Tools::File::Client.new(client: @client)
21
+ end
22
+
23
+ # @return [Pinnacle::ContactCard::Client]
24
+ def contact_card
25
+ @contact_card ||= Pinnacle::Tools::ContactCard::Client.new(client: @client)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module ContactCard
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
+ # Retrieve contact information as a vCard and get a presigned URL to download the file. Contact cards can be
15
+ # sent [via MMS](/api-reference/messages/send-mms) as a media file.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param params [Pinnacle::Tools::ContactCard::Types::GetVcardParams]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @return [Pinnacle::Types::VCardData]
26
+ def get(request_options: {}, **params)
27
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
28
+ body_prop_names = %i[id options]
29
+ body_bag = params.slice(*body_prop_names)
30
+
31
+ request = Pinnacle::Internal::JSON::Request.new(
32
+ base_url: request_options[:base_url],
33
+ method: "POST",
34
+ path: "tools/contact-card",
35
+ body: Pinnacle::Tools::ContactCard::Types::GetVcardParams.new(body_bag).to_h,
36
+ request_options: request_options
37
+ )
38
+ begin
39
+ response = @client.send(request)
40
+ rescue Net::HTTPRequestTimeout
41
+ raise Pinnacle::Errors::TimeoutError
42
+ end
43
+ code = response.code.to_i
44
+ if code.between?(200, 299)
45
+ Pinnacle::Types::VCardData.load(response.body)
46
+ else
47
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
48
+ raise error_class.new(response.body, code: code)
49
+ end
50
+ end
51
+
52
+ # Create a new contact card or updates an existing one with full vCard data. Contact cards can be sent [via
53
+ # MMS](/api-reference/messages/send-mms) as a media file.
54
+ #
55
+ # @param request_options [Hash]
56
+ # @param params [Pinnacle::Tools::ContactCard::Types::UpsertVcardParams]
57
+ # @option request_options [String] :base_url
58
+ # @option request_options [Hash{String => Object}] :additional_headers
59
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
60
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
61
+ # @option request_options [Integer] :timeout_in_seconds
62
+ #
63
+ # @return [Pinnacle::Types::VcardResource]
64
+ def upsert(request_options: {}, **params)
65
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
66
+ body_prop_names = %i[photo id formatted_name name nickname birthday addresses url phones emails timezone geo title role organization categories note]
67
+ body_bag = params.slice(*body_prop_names)
68
+
69
+ request = Pinnacle::Internal::JSON::Request.new(
70
+ base_url: request_options[:base_url],
71
+ method: "POST",
72
+ path: "tools/contact-card/upsert",
73
+ body: Pinnacle::Tools::ContactCard::Types::UpsertVcardParams.new(body_bag).to_h,
74
+ request_options: request_options
75
+ )
76
+ begin
77
+ response = @client.send(request)
78
+ rescue Net::HTTPRequestTimeout
79
+ raise Pinnacle::Errors::TimeoutError
80
+ end
81
+ code = response.code.to_i
82
+ if code.between?(200, 299)
83
+ Pinnacle::Types::VcardResource.load(response.body)
84
+ else
85
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(response.body, code: code)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module ContactCard
6
+ module Types
7
+ class GetVCardSchemaOptions < Internal::Types::Model
8
+ field :expires_at, -> { String }, optional: true, nullable: false, api_name: "expiresAt"
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module ContactCard
6
+ module Types
7
+ class GetVcardParams < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ field :options, -> { Pinnacle::Tools::ContactCard::Types::GetVCardSchemaOptions }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module ContactCard
6
+ module Types
7
+ class UpsertVcardParams < Internal::Types::Model
8
+ field :photo, -> { String }, optional: true, nullable: false
9
+ field :id, -> { String }, optional: true, nullable: false
10
+ field :formatted_name, -> { String }, optional: true, nullable: false, api_name: "formattedName"
11
+ field :name, -> { Pinnacle::Types::VCardName }, optional: true, nullable: false
12
+ field :nickname, -> { Internal::Types::Array[String] }, optional: true, nullable: false
13
+ field :birthday, -> { String }, optional: true, nullable: false
14
+ field :addresses, -> { Internal::Types::Array[Pinnacle::Types::VcardAddress] }, optional: true, nullable: false
15
+ field :url, -> { String }, optional: true, nullable: false
16
+ field :phones, -> { Internal::Types::Array[Pinnacle::Types::VcardPhone] }, optional: true, nullable: false
17
+ field :emails, -> { Internal::Types::Array[Pinnacle::Types::VcardEmail] }, optional: true, nullable: false
18
+ field :timezone, -> { String }, optional: true, nullable: false
19
+ field :geo, -> { Pinnacle::Types::VCardGeo }, optional: true, nullable: false
20
+ field :title, -> { String }, optional: true, nullable: false
21
+ field :role, -> { String }, optional: true, nullable: false
22
+ field :organization, -> { Pinnacle::Types::VCardOrganization }, optional: true, nullable: false
23
+ field :categories, -> { Internal::Types::Array[String] }, optional: true, nullable: false
24
+ field :note, -> { String }, optional: true, nullable: false
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module File
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
+ # Generate presigned URLs that let you upload files directly to our storage and allow your users to download
15
+ # them securely.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param params [Pinnacle::Tools::File::Types::UploadFileParams]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @return [Pinnacle::Types::UploadResults]
26
+ def upload(request_options: {}, **params)
27
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
28
+ body_prop_names = %i[content_type size name options]
29
+ body_bag = params.slice(*body_prop_names)
30
+
31
+ request = Pinnacle::Internal::JSON::Request.new(
32
+ base_url: request_options[:base_url],
33
+ method: "POST",
34
+ path: "tools/files/upload",
35
+ body: Pinnacle::Tools::File::Types::UploadFileParams.new(body_bag).to_h,
36
+ request_options: request_options
37
+ )
38
+ begin
39
+ response = @client.send(request)
40
+ rescue Net::HTTPRequestTimeout
41
+ raise Pinnacle::Errors::TimeoutError
42
+ end
43
+ code = response.code.to_i
44
+ if code.between?(200, 299)
45
+ Pinnacle::Types::UploadResults.load(response.body)
46
+ else
47
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
48
+ raise error_class.new(response.body, code: code)
49
+ end
50
+ end
51
+
52
+ # Refresh expiring presigned URLs for Pinnacle-hosted files to extend their access time.
53
+ #
54
+ # <Callout type="info">
55
+ # This only works for presigned download URLs. At this moment, you cannot refresh a presigned upload URL,
56
+ # generate a new one instead.
57
+ # </Callout>
58
+ #
59
+ # @param request_options [Hash]
60
+ # @param params [Pinnacle::Tools::File::Types::RefreshFileParams]
61
+ # @option request_options [String] :base_url
62
+ # @option request_options [Hash{String => Object}] :additional_headers
63
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
64
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
65
+ # @option request_options [Integer] :timeout_in_seconds
66
+ #
67
+ # @return [Array[Pinnacle::Types::RefreshedFile]]
68
+ def refresh(request_options: {}, **params)
69
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
70
+ body_prop_names = %i[urls]
71
+ body_bag = params.slice(*body_prop_names)
72
+
73
+ request = Pinnacle::Internal::JSON::Request.new(
74
+ base_url: request_options[:base_url],
75
+ method: "POST",
76
+ path: "tools/files/refresh",
77
+ body: Pinnacle::Tools::File::Types::RefreshFileParams.new(body_bag).to_h,
78
+ request_options: request_options
79
+ )
80
+ begin
81
+ response = @client.send(request)
82
+ rescue Net::HTTPRequestTimeout
83
+ raise Pinnacle::Errors::TimeoutError
84
+ end
85
+ code = response.code.to_i
86
+ return if code.between?(200, 299)
87
+
88
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
89
+ raise error_class.new(response.body, code: code)
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module File
6
+ module Types
7
+ # Configure download settings for your uploaded file.
8
+ class DownloadOptions < Internal::Types::Model
9
+ field :expires_at, -> { String }, optional: true, nullable: false, api_name: "expiresAt"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module File
6
+ module Types
7
+ class RefreshFileParams < Internal::Types::Model
8
+ field :urls, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module File
6
+ module Types
7
+ # Additional configurations for your file.
8
+ class UploadFileOptions < Internal::Types::Model
9
+ field :delete_at, -> { String }, optional: true, nullable: false, api_name: "deleteAt"
10
+ field :download, -> { Pinnacle::Tools::File::Types::DownloadOptions }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module File
6
+ module Types
7
+ class UploadFileParams < Internal::Types::Model
8
+ field :content_type, -> { String }, optional: false, nullable: false, api_name: "contentType"
9
+ field :size, -> { Integer }, optional: false, nullable: false
10
+ field :name, -> { String }, optional: true, nullable: false
11
+ field :options, -> { Pinnacle::Tools::File::Types::UploadFileOptions }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module Url
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
+ # Create a shortened URL that redirects visitors to the provided destination URL.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Pinnacle::Tools::Url::Types::CreateUrlParams]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @return [Pinnacle::Types::ShortenedUrl]
25
+ def create(request_options: {}, **params)
26
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
27
+ body_prop_names = %i[url options]
28
+ body_bag = params.slice(*body_prop_names)
29
+
30
+ request = Pinnacle::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "POST",
33
+ path: "tools/url",
34
+ body: Pinnacle::Tools::Url::Types::CreateUrlParams.new(body_bag).to_h,
35
+ request_options: request_options
36
+ )
37
+ begin
38
+ response = @client.send(request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Pinnacle::Errors::TimeoutError
41
+ end
42
+ code = response.code.to_i
43
+ if code.between?(200, 299)
44
+ Pinnacle::Types::ShortenedUrl.load(response.body)
45
+ else
46
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(response.body, code: code)
48
+ end
49
+ end
50
+
51
+ # Retrieve configuration and details for your shortened URL using its unique identifier.
52
+ #
53
+ # @param request_options [Hash]
54
+ # @param params [Hash]
55
+ # @option request_options [String] :base_url
56
+ # @option request_options [Hash{String => Object}] :additional_headers
57
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
58
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
59
+ # @option request_options [Integer] :timeout_in_seconds
60
+ # @option params [String] :link_id
61
+ #
62
+ # @return [Pinnacle::Types::ShortenedUrlWithClickData]
63
+ def get(request_options: {}, **params)
64
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
65
+ request = Pinnacle::Internal::JSON::Request.new(
66
+ base_url: request_options[:base_url],
67
+ method: "GET",
68
+ path: "tools/url/#{params[:link_id]}",
69
+ request_options: request_options
70
+ )
71
+ begin
72
+ response = @client.send(request)
73
+ rescue Net::HTTPRequestTimeout
74
+ raise Pinnacle::Errors::TimeoutError
75
+ end
76
+ code = response.code.to_i
77
+ if code.between?(200, 299)
78
+ Pinnacle::Types::ShortenedUrlWithClickData.load(response.body)
79
+ else
80
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
81
+ raise error_class.new(response.body, code: code)
82
+ end
83
+ end
84
+
85
+ # Update the destination or expiration date of an existing shortened URL. Expiring links cannot be updated into
86
+ # a permalink.
87
+ #
88
+ # @param request_options [Hash]
89
+ # @param params [Pinnacle::Tools::Url::Types::UpdateUrlParams]
90
+ # @option request_options [String] :base_url
91
+ # @option request_options [Hash{String => Object}] :additional_headers
92
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
93
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
94
+ # @option request_options [Integer] :timeout_in_seconds
95
+ # @option params [String] :link_id
96
+ #
97
+ # @return [Pinnacle::Types::ShortenedUrl]
98
+ def update(request_options: {}, **params)
99
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
100
+ path_param_names = %i[link_id]
101
+ body_params = params.except(*path_param_names)
102
+ body_prop_names = %i[url options]
103
+ body_bag = body_params.slice(*body_prop_names)
104
+
105
+ request = Pinnacle::Internal::JSON::Request.new(
106
+ base_url: request_options[:base_url],
107
+ method: "PUT",
108
+ path: "tools/url/#{params[:link_id]}",
109
+ body: Pinnacle::Tools::Url::Types::UpdateUrlParams.new(body_bag).to_h,
110
+ request_options: request_options
111
+ )
112
+ begin
113
+ response = @client.send(request)
114
+ rescue Net::HTTPRequestTimeout
115
+ raise Pinnacle::Errors::TimeoutError
116
+ end
117
+ code = response.code.to_i
118
+ if code.between?(200, 299)
119
+ Pinnacle::Types::ShortenedUrl.load(response.body)
120
+ else
121
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
122
+ raise error_class.new(response.body, code: code)
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module Url
6
+ module Types
7
+ class CreateUrlParams < Internal::Types::Model
8
+ field :url, -> { String }, optional: false, nullable: false
9
+ field :options, -> { Pinnacle::Types::CreateUrlOptions }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Tools
5
+ module Url
6
+ module Types
7
+ class UpdateUrlParams < Internal::Types::Model
8
+ field :link_id, -> { String }, optional: false, nullable: false, api_name: "linkId"
9
+ field :url, -> { String }, optional: true, nullable: false
10
+ field :options, -> { Pinnacle::Types::CreateUrlOptions }, optional: true, 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 Types
5
+ # Detailed phone number analysis including validation status, classification with fraud risk,
6
+ # precise geographic data, carrier intelligence, and enhanced contact information.
7
+ # Provides comprehensive insights for risk assessment, compliance, and advanced usage scenarios.
8
+ class AdvancedPhoneInformation < Internal::Types::Model
9
+ field :is_valid, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isValid"
10
+ field :type, -> { Pinnacle::Types::AdvancedPhoneInformationType }, optional: false, nullable: false
11
+ field :formats, -> { Pinnacle::Types::NumberFormat }, optional: false, nullable: false
12
+ field :location, -> { Pinnacle::Types::AdvancedPhoneInformationLocation }, optional: false, nullable: false
13
+ field :carrier, -> { Pinnacle::Types::AdvancedPhoneInformationCarrier }, optional: false, nullable: false
14
+ field :contact, -> { Pinnacle::Types::AdvancedPhoneInformationContact }, optional: false, nullable: true
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Detailed carrier information.
6
+ class AdvancedPhoneInformationCarrier < Internal::Types::Model
7
+ field :name, -> { String }, optional: false, nullable: false
8
+ field :normalized_carrier, -> { String }, optional: false, nullable: false, api_name: "normalizedCarrier"
9
+ field :mcc, -> { String }, optional: false, nullable: false
10
+ field :mnc, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Enhanced contact information associated with the phone number.
6
+ class AdvancedPhoneInformationContact < Internal::Types::Model
7
+ field :first_name, -> { String }, optional: true, nullable: false, api_name: "firstName"
8
+ field :last_name, -> { String }, optional: true, nullable: false, api_name: "lastName"
9
+ field :email_address, -> { String }, optional: true, nullable: false, api_name: "emailAddress"
10
+ field :street, -> { String }, optional: true, nullable: false
11
+ field :unit, -> { String }, optional: true, nullable: false
12
+ field :place, -> { String }, optional: true, nullable: false
13
+ field :zip, -> { String }, optional: true, nullable: false
14
+ field :state, -> { String }, optional: true, nullable: false
15
+ field :country, -> { String }, optional: true, nullable: false
16
+ field :profiles, -> { Internal::Types::Array[Pinnacle::Types::EnhancedContactItem] }, optional: true, nullable: false
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Comprehensive geographic and administrative location data with precise coordinates
6
+ # and timezone information for accurate localization.
7
+ class AdvancedPhoneInformationLocation < Internal::Types::Model
8
+ field :country, -> { Pinnacle::Types::AdvancedPhoneInformationLocationCountry }, optional: false, nullable: false
9
+ field :city, -> { String }, optional: false, nullable: true
10
+ field :state, -> { String }, optional: false, nullable: true
11
+ field :zip, -> { String }, optional: false, nullable: true
12
+ field :metro_code, -> { String }, optional: false, nullable: true, api_name: "metroCode"
13
+ field :county, -> { String }, optional: false, nullable: true
14
+ field :coordinates, -> { Pinnacle::Types::AdvancedPhoneInformationLocationCoordinates }, optional: false, nullable: false
15
+ field :time_zone, -> { String }, optional: false, nullable: true, api_name: "timeZone"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Coordinates provide the precise latitude and longitude values for the phone number’s registered location.
6
+ class AdvancedPhoneInformationLocationCoordinates < Internal::Types::Model
7
+ field :latitude, -> { Integer }, optional: false, nullable: true
8
+ field :longitude, -> { Integer }, optional: false, nullable: true
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Complete country identification and metadata.
6
+ class AdvancedPhoneInformationLocationCountry < Internal::Types::Model
7
+ field :name, -> { String }, optional: false, nullable: false
8
+ field :code, -> { String }, optional: false, nullable: false
9
+ field :code_3, -> { String }, optional: false, nullable: false, api_name: "code3"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Detailed classification including fraud risk and security recommendations.
6
+ class AdvancedPhoneInformationType < Internal::Types::Model
7
+ field :value, -> { Pinnacle::Types::DetailedPhoneNumberEnum }, optional: false, nullable: false
8
+ field :description, -> { String }, optional: false, nullable: false
9
+ field :details, -> { String }, optional: false, nullable: false
10
+ field :recommendation, -> { Pinnacle::Types::AdvancedPhoneInformationTypeRecommendation }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module AdvancedPhoneInformationTypeRecommendation
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ ALLOW = "ALLOW"
9
+ BLOCK = "BLOCK"
10
+ FLAG = "FLAG"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Information about an RCS agent sender in a conversation.
6
+ class Agent < Internal::Types::Model
7
+ field :agent_id, -> { String }, optional: false, nullable: false, api_name: "agentId"
8
+ field :agent_name, -> { String }, optional: false, nullable: false, api_name: "agentName"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Attach a webhook you've already created in your account to this phone number.
6
+ class AttachWebhookByIdParams < Internal::Types::Model
7
+ field :webhook_id, -> { String }, optional: false, nullable: false, api_name: "webhookId"
8
+ field :event, -> { Pinnacle::Types::WebhookEventEnum }, optional: false, nullable: true
9
+ end
10
+ end
11
+ end