rcs 2.0.5 → 2.0.7

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 (819) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +12 -0
  3. data/.fernignore +7 -0
  4. data/.rubocop.yml +60 -0
  5. data/README.md +121 -0
  6. data/Rakefile +20 -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 +24 -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. data/wiremock/docker-compose.test.yml +14 -0
  455. data/wiremock/wiremock-mappings.json +1 -0
  456. metadata +468 -456
  457. data/lib/gemconfig.rb +0 -14
  458. data/lib/rcs/audiences/client.rb +0 -347
  459. data/lib/rcs/audiences/contacts/client.rb +0 -177
  460. data/lib/rcs/audiences/types/audiences_get_response.rb +0 -58
  461. data/lib/rcs/brands/client.rb +0 -605
  462. data/lib/rcs/brands/types/autofill_brand_options.rb +0 -61
  463. data/lib/rcs/brands/types/upsert_brand_schema_contact.rb +0 -86
  464. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +0 -16
  465. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +0 -28
  466. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +0 -16
  467. data/lib/rcs/campaigns/client.rb +0 -44
  468. data/lib/rcs/campaigns/dlc/client.rb +0 -492
  469. data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -74
  470. data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -99
  471. data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +0 -74
  472. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -74
  473. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -74
  474. data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +0 -110
  475. data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -76
  476. data/lib/rcs/campaigns/rcs/client.rb +0 -566
  477. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -152
  478. data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +0 -73
  479. data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +0 -73
  480. data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +0 -73
  481. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +0 -246
  482. data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -77
  483. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -98
  484. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -87
  485. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -83
  486. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -76
  487. data/lib/rcs/campaigns/rcs/types/rcs_links.rb +0 -74
  488. data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +0 -75
  489. data/lib/rcs/campaigns/toll_free/client.rb +0 -478
  490. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -172
  491. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -66
  492. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -86
  493. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -74
  494. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -86
  495. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -78
  496. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -64
  497. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -75
  498. data/lib/rcs/contacts/client.rb +0 -277
  499. data/lib/rcs/conversations/client.rb +0 -401
  500. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +0 -12
  501. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +0 -12
  502. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +0 -17
  503. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +0 -13
  504. data/lib/rcs/messages/blast/client.rb +0 -425
  505. data/lib/rcs/messages/blast/types/blast_mms_options.rb +0 -82
  506. data/lib/rcs/messages/blast/types/blast_mms_response.rb +0 -60
  507. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +0 -118
  508. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -82
  509. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
  510. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -15
  511. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +0 -60
  512. data/lib/rcs/messages/blast/types/blast_sms_options.rb +0 -70
  513. data/lib/rcs/messages/blast/types/blast_sms_response.rb +0 -60
  514. data/lib/rcs/messages/client.rb +0 -189
  515. data/lib/rcs/messages/mms/client.rb +0 -216
  516. data/lib/rcs/messages/mms/types/mms_send_response.rb +0 -60
  517. data/lib/rcs/messages/mms/types/send_mms_options.rb +0 -108
  518. data/lib/rcs/messages/rcs/client.rb +0 -286
  519. data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +0 -60
  520. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -66
  521. data/lib/rcs/messages/schedule/client.rb +0 -103
  522. data/lib/rcs/messages/sms/client.rb +0 -198
  523. data/lib/rcs/messages/sms/types/send_sms_options.rb +0 -81
  524. data/lib/rcs/messages/sms/types/sms_send_response.rb +0 -60
  525. data/lib/rcs/messages/types/react_message_options.rb +0 -71
  526. data/lib/rcs/phone_numbers/campaign/client.rb +0 -197
  527. data/lib/rcs/phone_numbers/client.rb +0 -345
  528. data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +0 -62
  529. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +0 -16
  530. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +0 -58
  531. data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -93
  532. data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +0 -81
  533. data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +0 -96
  534. data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +0 -62
  535. data/lib/rcs/phone_numbers/webhook/client.rb +0 -193
  536. data/lib/rcs/rcs/client.rb +0 -332
  537. data/lib/rcs/status/client.rb +0 -30
  538. data/lib/rcs/status/get/client.rb +0 -383
  539. data/lib/rcs/tools/client.rb +0 -44
  540. data/lib/rcs/tools/contact_card/client.rb +0 -295
  541. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +0 -67
  542. data/lib/rcs/tools/file/client.rb +0 -228
  543. data/lib/rcs/tools/file/types/download_options.rb +0 -66
  544. data/lib/rcs/tools/file/types/upload_file_options.rb +0 -88
  545. data/lib/rcs/tools/url/client.rb +0 -247
  546. data/lib/rcs/types/advanced_phone_information.rb +0 -147
  547. data/lib/rcs/types/advanced_phone_information_carrier.rb +0 -90
  548. data/lib/rcs/types/advanced_phone_information_contact.rb +0 -146
  549. data/lib/rcs/types/advanced_phone_information_location.rb +0 -142
  550. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +0 -73
  551. data/lib/rcs/types/advanced_phone_information_location_country.rb +0 -77
  552. data/lib/rcs/types/advanced_phone_information_type.rb +0 -97
  553. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +0 -15
  554. data/lib/rcs/types/agent.rb +0 -68
  555. data/lib/rcs/types/attach_webhook_by_id_params.rb +0 -77
  556. data/lib/rcs/types/attach_webhook_params.rb +0 -60
  557. data/lib/rcs/types/attach_webhook_response_webhook.rb +0 -88
  558. data/lib/rcs/types/attached_phone_number_result.rb +0 -75
  559. data/lib/rcs/types/audience_count_only.rb +0 -87
  560. data/lib/rcs/types/audience_with_pagination.rb +0 -114
  561. data/lib/rcs/types/autofill_campaign_params.rb +0 -81
  562. data/lib/rcs/types/autofill_dlc_campaign_response.rb +0 -173
  563. data/lib/rcs/types/autofill_dlc_response_keywords.rb +0 -93
  564. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +0 -70
  565. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +0 -70
  566. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +0 -70
  567. data/lib/rcs/types/autofill_dlc_response_links.rb +0 -70
  568. data/lib/rcs/types/autofill_dlc_response_options.rb +0 -106
  569. data/lib/rcs/types/autofill_dlc_response_use_case.rb +0 -72
  570. data/lib/rcs/types/bad_request_error_body.rb +0 -56
  571. data/lib/rcs/types/base_rich_message.rb +0 -82
  572. data/lib/rcs/types/basic_phone_information.rb +0 -127
  573. data/lib/rcs/types/basic_phone_information_contact.rb +0 -58
  574. data/lib/rcs/types/basic_phone_information_location.rb +0 -74
  575. data/lib/rcs/types/basic_phone_information_location_country.rb +0 -75
  576. data/lib/rcs/types/blast_details.rb +0 -110
  577. data/lib/rcs/types/brand_status.rb +0 -94
  578. data/lib/rcs/types/brand_status_enum.rb +0 -21
  579. data/lib/rcs/types/button_clicked.rb +0 -56
  580. data/lib/rcs/types/button_clicked_data.rb +0 -80
  581. data/lib/rcs/types/button_clicked_data_button.rb +0 -118
  582. data/lib/rcs/types/button_clicked_data_button_raw.rb +0 -58
  583. data/lib/rcs/types/button_clicked_data_button_type.rb +0 -15
  584. data/lib/rcs/types/buy_response_capabilities.rb +0 -77
  585. data/lib/rcs/types/campaign_enum.rb +0 -15
  586. data/lib/rcs/types/campaign_query.rb +0 -77
  587. data/lib/rcs/types/campaign_submission_result.rb +0 -57
  588. data/lib/rcs/types/campaign_validation_response_errors_item.rb +0 -76
  589. data/lib/rcs/types/campaign_validation_result.rb +0 -71
  590. data/lib/rcs/types/company_entity_type_enum.rb +0 -14
  591. data/lib/rcs/types/company_sector_enum.rb +0 -26
  592. data/lib/rcs/types/company_type_enum.rb +0 -14
  593. data/lib/rcs/types/configured_webhook.rb +0 -85
  594. data/lib/rcs/types/contact.rb +0 -107
  595. data/lib/rcs/types/contact_id.rb +0 -59
  596. data/lib/rcs/types/conversation.rb +0 -154
  597. data/lib/rcs/types/conversation_by_id_params.rb +0 -62
  598. data/lib/rcs/types/conversation_by_participants_params.rb +0 -72
  599. data/lib/rcs/types/conversation_contact.rb +0 -70
  600. data/lib/rcs/types/conversation_list.rb +0 -79
  601. data/lib/rcs/types/conversation_sender.rb +0 -60
  602. data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +0 -88
  603. data/lib/rcs/types/create_url_options.rb +0 -63
  604. data/lib/rcs/types/delete_audience_response.rb +0 -57
  605. data/lib/rcs/types/detached_phone_number_result.rb +0 -75
  606. data/lib/rcs/types/detached_webhook_info.rb +0 -76
  607. data/lib/rcs/types/detailed_phone_number_enum.rb +0 -25
  608. data/lib/rcs/types/dlc_assignment_status_enum.rb +0 -19
  609. data/lib/rcs/types/dlc_campaign_status.rb +0 -109
  610. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +0 -35
  611. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +0 -224
  612. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +0 -94
  613. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -72
  614. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -72
  615. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -72
  616. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +0 -70
  617. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -15
  618. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -22
  619. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +0 -106
  620. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +0 -72
  621. data/lib/rcs/types/enhanced_contact.rb +0 -9
  622. data/lib/rcs/types/enhanced_contact_item.rb +0 -104
  623. data/lib/rcs/types/error.rb +0 -61
  624. data/lib/rcs/types/extended_brand.rb +0 -215
  625. data/lib/rcs/types/extended_brand_with_vetting.rb +0 -247
  626. data/lib/rcs/types/extended_rcs_campaign.rb +0 -267
  627. data/lib/rcs/types/get_conversation_params.rb +0 -57
  628. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +0 -96
  629. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +0 -92
  630. data/lib/rcs/types/link_click_event.rb +0 -449
  631. data/lib/rcs/types/location_share_action.rb +0 -63
  632. data/lib/rcs/types/location_share_action_data.rb +0 -89
  633. data/lib/rcs/types/message.rb +0 -176
  634. data/lib/rcs/types/message_content.rb +0 -85
  635. data/lib/rcs/types/message_event.rb +0 -143
  636. data/lib/rcs/types/message_event_content.rb +0 -127
  637. data/lib/rcs/types/message_event_conversation.rb +0 -82
  638. data/lib/rcs/types/message_event_direction.rb +0 -11
  639. data/lib/rcs/types/message_event_mms_content.rb +0 -94
  640. data/lib/rcs/types/message_event_rcs_button_data.rb +0 -104
  641. data/lib/rcs/types/message_event_rcs_cards_content.rb +0 -103
  642. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -96
  643. data/lib/rcs/types/message_event_rcs_location_data.rb +0 -91
  644. data/lib/rcs/types/message_event_rcs_media_content.rb +0 -96
  645. data/lib/rcs/types/message_event_rcs_text_content.rb +0 -94
  646. data/lib/rcs/types/message_event_sms_content.rb +0 -81
  647. data/lib/rcs/types/message_list.rb +0 -79
  648. data/lib/rcs/types/message_method_enum.rb +0 -12
  649. data/lib/rcs/types/message_protocol_enum.rb +0 -12
  650. data/lib/rcs/types/message_schedule.rb +0 -121
  651. data/lib/rcs/types/message_status_enum.rb +0 -17
  652. data/lib/rcs/types/message_volume_enum.rb +0 -20
  653. data/lib/rcs/types/message_with_reaction.rb +0 -197
  654. data/lib/rcs/types/message_with_reaction_direction.rb +0 -11
  655. data/lib/rcs/types/messaging_profile_enum.rb +0 -11
  656. data/lib/rcs/types/mms_content.rb +0 -74
  657. data/lib/rcs/types/mms_validation_response_segments.rb +0 -85
  658. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +0 -75
  659. data/lib/rcs/types/mms_validation_result.rb +0 -82
  660. data/lib/rcs/types/not_found_error_body.rb +0 -59
  661. data/lib/rcs/types/number_format.rb +0 -79
  662. data/lib/rcs/types/opt_in_method_enum.rb +0 -13
  663. data/lib/rcs/types/optional_brand_info.rb +0 -154
  664. data/lib/rcs/types/optional_contact.rb +0 -83
  665. data/lib/rcs/types/optional_contacts.rb +0 -84
  666. data/lib/rcs/types/pagination.rb +0 -81
  667. data/lib/rcs/types/phone.rb +0 -101
  668. data/lib/rcs/types/phone_capabilities.rb +0 -75
  669. data/lib/rcs/types/phone_enum.rb +0 -13
  670. data/lib/rcs/types/phone_feature_enum.rb +0 -18
  671. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +0 -67
  672. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -75
  673. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -82
  674. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +0 -67
  675. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -75
  676. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -82
  677. data/lib/rcs/types/phone_number_cost.rb +0 -75
  678. data/lib/rcs/types/phone_number_details.rb +0 -110
  679. data/lib/rcs/types/phone_number_enum.rb +0 -18
  680. data/lib/rcs/types/phone_number_region.rb +0 -91
  681. data/lib/rcs/types/phone_number_status.rb +0 -90
  682. data/lib/rcs/types/phone_number_status_enum.rb +0 -16
  683. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +0 -100
  684. data/lib/rcs/types/pinnacle_url_config.rb +0 -71
  685. data/lib/rcs/types/profile_status_enum.rb +0 -17
  686. data/lib/rcs/types/purchased_number.rb +0 -75
  687. data/lib/rcs/types/rcs_button_call.rb +0 -77
  688. data/lib/rcs/types/rcs_button_open_url.rb +0 -104
  689. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +0 -19
  690. data/lib/rcs/types/rcs_button_request_user_location.rb +0 -70
  691. data/lib/rcs/types/rcs_button_schedule_event.rb +0 -106
  692. data/lib/rcs/types/rcs_button_send_location.rb +0 -94
  693. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +0 -68
  694. data/lib/rcs/types/rcs_button_trigger.rb +0 -80
  695. data/lib/rcs/types/rcs_campaign.rb +0 -234
  696. data/lib/rcs/types/rcs_campaign_schema_agent.rb +0 -134
  697. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +0 -69
  698. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +0 -69
  699. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +0 -69
  700. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +0 -134
  701. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -70
  702. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -70
  703. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -71
  704. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +0 -94
  705. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +0 -71
  706. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -73
  707. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -73
  708. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +0 -70
  709. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +0 -72
  710. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +0 -71
  711. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +0 -94
  712. data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +0 -71
  713. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +0 -73
  714. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +0 -73
  715. data/lib/rcs/types/rcs_campaign_schema_links.rb +0 -70
  716. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +0 -72
  717. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +0 -71
  718. data/lib/rcs/types/rcs_campaign_status.rb +0 -88
  719. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +0 -23
  720. data/lib/rcs/types/rcs_capabilities_result.rb +0 -7
  721. data/lib/rcs/types/rcs_capability.rb +0 -82
  722. data/lib/rcs/types/rcs_capability_actions.rb +0 -105
  723. data/lib/rcs/types/rcs_capability_cards.rb +0 -67
  724. data/lib/rcs/types/rcs_cards_content.rb +0 -83
  725. data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -98
  726. data/lib/rcs/types/rcs_content.rb +0 -72
  727. data/lib/rcs/types/rcs_link_result.rb +0 -75
  728. data/lib/rcs/types/rcs_media_content.rb +0 -83
  729. data/lib/rcs/types/rcs_media_details_content.rb +0 -77
  730. data/lib/rcs/types/rcs_messaging_type_enum.rb +0 -17
  731. data/lib/rcs/types/rcs_validate_content.rb +0 -70
  732. data/lib/rcs/types/rcs_validate_content_media.rb +0 -75
  733. data/lib/rcs/types/rcs_validation_result.rb +0 -83
  734. data/lib/rcs/types/rcs_whitelist_response.rb +0 -58
  735. data/lib/rcs/types/reaction_result.rb +0 -71
  736. data/lib/rcs/types/refreshed_file.rb +0 -67
  737. data/lib/rcs/types/rich_button.rb +0 -148
  738. data/lib/rcs/types/rich_card.rb +0 -92
  739. data/lib/rcs/types/rich_cards.rb +0 -83
  740. data/lib/rcs/types/rich_cards_message.rb +0 -114
  741. data/lib/rcs/types/rich_media_message.rb +0 -112
  742. data/lib/rcs/types/rich_message.rb +0 -70
  743. data/lib/rcs/types/rich_standalone_card_options.rb +0 -80
  744. data/lib/rcs/types/rich_text.rb +0 -74
  745. data/lib/rcs/types/rich_text_message.rb +0 -108
  746. data/lib/rcs/types/schedule_cancel_result.rb +0 -58
  747. data/lib/rcs/types/scheduled_blast_details.rb +0 -76
  748. data/lib/rcs/types/scheduled_blast_response_config.rb +0 -89
  749. data/lib/rcs/types/scheduled_message.rb +0 -75
  750. data/lib/rcs/types/scheduled_send_response_config.rb +0 -89
  751. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
  752. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +0 -11
  753. data/lib/rcs/types/send_rich_cards_options.rb +0 -136
  754. data/lib/rcs/types/send_rich_message_options.rb +0 -111
  755. data/lib/rcs/types/send_sms_response_segments.rb +0 -69
  756. data/lib/rcs/types/send_sms_response_segments_encoding.rb +0 -11
  757. data/lib/rcs/types/send_typing_indicator_response.rb +0 -100
  758. data/lib/rcs/types/sent_mms_details.rb +0 -118
  759. data/lib/rcs/types/sent_rich_message.rb +0 -104
  760. data/lib/rcs/types/sent_sms_details.rb +0 -110
  761. data/lib/rcs/types/shortened_url.rb +0 -77
  762. data/lib/rcs/types/shortened_url_with_click_data.rb +0 -90
  763. data/lib/rcs/types/sms_content.rb +0 -58
  764. data/lib/rcs/types/sms_validation_response_segments.rb +0 -80
  765. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +0 -75
  766. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +0 -68
  767. data/lib/rcs/types/sms_validation_response_total.rb +0 -75
  768. data/lib/rcs/types/sms_validation_result.rb +0 -102
  769. data/lib/rcs/types/sub_use_case_enum.rb +0 -19
  770. data/lib/rcs/types/submission_results.rb +0 -57
  771. data/lib/rcs/types/successful_conversation_update.rb +0 -58
  772. data/lib/rcs/types/toll_free_campaign.rb +0 -160
  773. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +0 -82
  774. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +0 -62
  775. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -74
  776. data/lib/rcs/types/toll_free_campaign_schema_links.rb +0 -70
  777. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +0 -78
  778. data/lib/rcs/types/toll_free_campaign_schema_options.rb +0 -60
  779. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +0 -71
  780. data/lib/rcs/types/toll_free_campaign_status.rb +0 -93
  781. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +0 -52
  782. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -195
  783. data/lib/rcs/types/toll_free_status_enum.rb +0 -20
  784. data/lib/rcs/types/tracking.rb +0 -17
  785. data/lib/rcs/types/updated_contact_id.rb +0 -59
  786. data/lib/rcs/types/upload_results.rb +0 -80
  787. data/lib/rcs/types/user_event.rb +0 -83
  788. data/lib/rcs/types/user_event_conversation.rb +0 -78
  789. data/lib/rcs/types/v_card_address_schema_type_item.rb +0 -15
  790. data/lib/rcs/types/v_card_data.rb +0 -239
  791. data/lib/rcs/types/v_card_data_file.rb +0 -74
  792. data/lib/rcs/types/v_card_data_file_metadata.rb +0 -62
  793. data/lib/rcs/types/v_card_email_schema_type_item.rb +0 -21
  794. data/lib/rcs/types/v_card_geo.rb +0 -70
  795. data/lib/rcs/types/v_card_name.rb +0 -98
  796. data/lib/rcs/types/v_card_organization.rb +0 -70
  797. data/lib/rcs/types/v_card_phone_schema_type_item.rb +0 -21
  798. data/lib/rcs/types/validate_campaign_params.rb +0 -81
  799. data/lib/rcs/types/validation_error_details.rb +0 -76
  800. data/lib/rcs/types/validation_results.rb +0 -71
  801. data/lib/rcs/types/vcard.rb +0 -217
  802. data/lib/rcs/types/vcard_address.rb +0 -130
  803. data/lib/rcs/types/vcard_content.rb +0 -225
  804. data/lib/rcs/types/vcard_email.rb +0 -70
  805. data/lib/rcs/types/vcard_phone.rb +0 -70
  806. data/lib/rcs/types/vcard_resource.rb +0 -73
  807. data/lib/rcs/types/vetting_feedback.rb +0 -81
  808. data/lib/rcs/types/vetting_history.rb +0 -98
  809. data/lib/rcs/types/vetting_history_vetting_status.rb +0 -13
  810. data/lib/rcs/types/vetting_results.rb +0 -57
  811. data/lib/rcs/types/webhook_event_enum.rb +0 -14
  812. data/lib/rcs/types/webhook_result.rb +0 -64
  813. data/lib/rcs/types/webhooks.rb +0 -77
  814. data/lib/rcs/types/zod_error.rb +0 -73
  815. data/lib/rcs/webhooks/client.rb +0 -97
  816. data/lib/rcs.rb +0 -124
  817. data/lib/requests.rb +0 -163
  818. data/lib/types_export.rb +0 -334
  819. /data/lib/{environment.rb → pinnacle/environment.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9973f0ac25a667d4fc684411e98de98f3a414ea4c851df38c57cb08ecd48f7c
4
- data.tar.gz: e33ee21925018bf8472458ce39debdd7324d3522952f2514b0c93d03b91d81de
3
+ metadata.gz: 99e2f1bb825308913ec5f6215d30b9645a6c0d30e1682609591a8c2563babaeb
4
+ data.tar.gz: e28d7062f3b1f16dc1899a8a3f77def0aabf5c7a8acff95869ce19afaa50411f
5
5
  SHA512:
6
- metadata.gz: 862c3ef24cff2a33b06c8b82acd5f760b23ea2895e653676218b47fd7f010ed9648d6d154cc597ba6fdb1ad8b7de71e87677275642699d169b931f1ddb9d2e29
7
- data.tar.gz: 1fc9c84cffa9f53caf66be90c4d1aabdc953bb7c2f90bcdfb7ff4673f17bdab89187909f91f4eaabeff3491da5b5892faa0c16a2331a54b8012c6f9d6b6c45ed
6
+ metadata.gz: 5ad15086196bfcc4dce956f360dcf1446ee4120c2695b408f5b03c64c8eded0b558d4b3872f8bcda0cde76d91f0643b1aac2a47c565794afc3b6131a4491dc8d
7
+ data.tar.gz: 84caf7e5212e44ae6860b675411e37190dc634981223ed6f6f4d6799af6ac49ec1f93c5de921556fd737f6d3e14361860163dfc4f2fa992195d52982e43e95a6
@@ -0,0 +1,12 @@
1
+ {
2
+ "cliVersion": "3.40.1",
3
+ "generatorName": "fernapi/fern-ruby-sdk",
4
+ "generatorVersion": "1.0.0-rc78",
5
+ "generatorConfig": {
6
+ "flattenModuleStructure": true,
7
+ "clientModuleName": "PinnacleBaseClient",
8
+ "useProvidedDefaults": true,
9
+ "enableWireTests": true
10
+ },
11
+ "sdkVersion": "2.0.6-rc.1"
12
+ }
data/.fernignore ADDED
@@ -0,0 +1,7 @@
1
+ # Specify files that shouldn't be modified by Fern
2
+ README.md
3
+ lib/pinnacle/wrapper
4
+ lib/pinnacle/pinnacle_client.rb
5
+ lib/pinnacle.rb
6
+ custom.gemspec.rb
7
+ Gemfile.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,60 @@
1
+ plugins:
2
+ - rubocop-minitest
3
+
4
+ AllCops:
5
+ TargetRubyVersion: 3.3
6
+ NewCops: enable
7
+
8
+ Style/StringLiterals:
9
+ EnforcedStyle: double_quotes
10
+
11
+ Style/StringLiteralsInInterpolation:
12
+ EnforcedStyle: double_quotes
13
+
14
+ Style/AccessModifierDeclarations:
15
+ Enabled: false
16
+
17
+ Lint/ConstantDefinitionInBlock:
18
+ Enabled: false
19
+
20
+ Metrics/AbcSize:
21
+ Enabled: false
22
+
23
+ Metrics/BlockLength:
24
+ Enabled: false
25
+
26
+ Metrics/ClassLength:
27
+ Enabled: false
28
+
29
+ Metrics/MethodLength:
30
+ Enabled: false
31
+
32
+ Metrics/ParameterLists:
33
+ Enabled: false
34
+
35
+ Metrics/PerceivedComplexity:
36
+ Enabled: false
37
+
38
+ Metrics/CyclomaticComplexity:
39
+ Enabled: false
40
+
41
+ Metrics/ModuleLength:
42
+ Enabled: false
43
+
44
+ Layout/LineLength:
45
+ Enabled: false
46
+
47
+ Naming/VariableNumber:
48
+ EnforcedStyle: snake_case
49
+
50
+ Style/Documentation:
51
+ Enabled: false
52
+
53
+ Style/Lambda:
54
+ EnforcedStyle: literal
55
+
56
+ Minitest/MultipleAssertions:
57
+ Enabled: false
58
+
59
+ Minitest/UselessAssertion:
60
+ Enabled: false
data/README.md ADDED
@@ -0,0 +1,121 @@
1
+ # Pinnacle Ruby Library
2
+
3
+ The Pinnacle Ruby library provides access to the Pinnacle API from Ruby.
4
+
5
+ ## Documentation
6
+
7
+ API reference documentation is available [here](docs.trypinnacle.app).
8
+
9
+ ## Installation
10
+
11
+ Install the gem and add to your application's Gemfile by executing:
12
+
13
+ ```sh
14
+ bundle add rcs
15
+ ```
16
+
17
+ If bundler is not being used to manage dependencies, install the gem by executing:
18
+
19
+ ```sh
20
+ gem install rcs
21
+ ```
22
+
23
+ ## Instantiation
24
+
25
+ ```ruby
26
+ require "rcs"
27
+
28
+ client = Pinnacle::Client.new(api_key: "YOUR_API_KEY")
29
+ ```
30
+
31
+
32
+ ## Async Client
33
+ The SDK exports an async client that you can use for non-blocking requests.
34
+
35
+ ```ruby
36
+ require "rcs"
37
+
38
+ client = Pinnacle::AsyncClient.new(api_key: "YOUR_API_KEY")
39
+
40
+ Sync do
41
+ company = client.company.register(
42
+ company: {
43
+ name: "name",
44
+ category: "Entertainment",
45
+ address: "address",
46
+ ein: "ein",
47
+ description: "description",
48
+ brand_color: "brandColor",
49
+ logo_url: "logoUrl",
50
+ hero_url: "heroUrl",
51
+ },
52
+ company_contact: {
53
+ primary_website_url: "primaryWebsiteUrl",
54
+ primary_website_label: "primaryWebsiteLabel",
55
+ primary_phone: "primaryPhone",
56
+ primary_phone_label: "primaryPhoneLabel",
57
+ primary_email: "primaryEmail",
58
+ primary_email_label: "primaryEmailLabel",
59
+ privacy_policy_url: "privacyPolicyUrl",
60
+ tos_url: "tosUrl",
61
+ },
62
+ messaging: {
63
+ opt_in: "By opting in, you agree to receive messages from Pinnacle, including updates and promotions. Reply “STOP” to unsubscribe. Standard message and data rates may apply.",
64
+ opt_out: "Reply with keywords like STOP or UNSUBSCRIBE to opt-out. A confirmation message will be sent, and no further messages will be received unless you re-subscribe.",
65
+ opt_out_keywords: ["STOP", "UNSUBSCRIBE"],
66
+ agent_use_case: "Pinnacle’s agent assists with product updates, promotions, order tracking, and support. It answers FAQs, provides order updates, and helps with opt-in/out processes. Escalates to live support when needed.",
67
+ expected_agent_responses: "General Inquiry: “How can I assist you today?”\nOrder Status: “Provide your order number.”\nOpt-In: “You’re now subscribed!”\nOpt-Out: “You have unsubscribed.”\nEscalation: “Connecting to a live agent.” \n",
68
+ },
69
+ point_of_contact: {
70
+ poc_name: "pocName",
71
+ poc_title: "pocTitle",
72
+ poc_email: "pocEmail",
73
+ },
74
+ )
75
+ puts company.to_json
76
+ end
77
+ ```
78
+
79
+ ## Timeouts
80
+
81
+ The SDK defaults to a 60 second timout. Use the `timeout_in_seconds` option to
82
+ configure this behavior.
83
+
84
+ ```Ruby
85
+ client.company.register(
86
+ ...,
87
+ request_options: RequestOptions.new(
88
+ timeout_in_seconds: 30
89
+ )
90
+ )
91
+ ```
92
+
93
+ ## Retries
94
+
95
+ The SDK is instrumented with automatic retries with exponential backoff. A request will be
96
+ retried as long as the request is deemed retriable and the number of retry attempts has not grown larger
97
+ than the configured retry limit (default: 2).
98
+
99
+ A request is deemed retriable when any of the following HTTP status codes is returned:
100
+
101
+ - [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
102
+ - [409](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409) (Conflict)
103
+ - [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
104
+ - [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors)
105
+
106
+ Use the `max_retries` request option to configure this behavior.
107
+
108
+ ```Ruby
109
+ client.company.register(
110
+ ...,
111
+ request_options: RequestOptions.new(
112
+ max_retries: 1
113
+ )
114
+ )
115
+ ```
116
+
117
+ ## Beta status
118
+
119
+ This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore,
120
+ we recommend pinning the package version to a specific version in your package.json file. This way, you can install
121
+ the same version each time without breaking changes unless you are intentionally looking for the latest version.
data/Rakefile ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "minitest/test_task"
5
+
6
+ Minitest::TestTask.create
7
+
8
+ require "rubocop/rake_task"
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[test]
13
+
14
+ task lint: %i[rubocop]
15
+
16
+ # Run only the custom test file
17
+ Minitest::TestTask.create(:customtest) do |t|
18
+ t.libs << "test"
19
+ t.test_globs = ["test/custom.test.rb"]
20
+ end
data/custom.gemspec.rb ADDED
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Custom gemspec configuration file
4
+ # This file is automatically loaded by the main gemspec file. The 'spec' variable is available
5
+ # in this context from the main gemspec file. You can modify this file to add custom metadata,
6
+ # dependencies, or other gemspec configurations. If you do make changes to this file, you will
7
+ # need to add it to the .fernignore file to prevent your changes from being overwritten.
8
+
9
+ def add_custom_gemspec_data(spec)
10
+ spec.name = "rcs"
11
+ spec.homepage = "https://github.com/pinnacle-dev/rcs-ruby"
12
+ spec.license = "MIT"
13
+ end
@@ -0,0 +1,183 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
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
+ # Retrieve an audience by ID with optional pagination.
14
+ #
15
+ # @param request_options [Hash]
16
+ # @param params [Hash]
17
+ # @option request_options [String] :base_url
18
+ # @option request_options [Hash{String => Object}] :additional_headers
19
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
20
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
21
+ # @option request_options [Integer] :timeout_in_seconds
22
+ # @option params [String] :id
23
+ # @option params [Integer, nil] :page
24
+ # @option params [Integer, nil] :limit
25
+ #
26
+ # @return [Pinnacle::Audiences::Types::AudiencesGetResponse]
27
+ def get(request_options: {}, **params)
28
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
29
+ query_param_names = %i[id page limit]
30
+ query_params = {}
31
+ query_params["id"] = params[:id] if params.key?(:id)
32
+ query_params["page"] = params[:page] if params.key?(:page)
33
+ query_params["limit"] = params[:limit] if params.key?(:limit)
34
+ params.except(*query_param_names)
35
+
36
+ request = Pinnacle::Internal::JSON::Request.new(
37
+ base_url: request_options[:base_url],
38
+ method: "GET",
39
+ path: "audiences",
40
+ query: query_params,
41
+ request_options: request_options
42
+ )
43
+ begin
44
+ response = @client.send(request)
45
+ rescue Net::HTTPRequestTimeout
46
+ raise Pinnacle::Errors::TimeoutError
47
+ end
48
+ code = response.code.to_i
49
+ if code.between?(200, 299)
50
+ Pinnacle::Audiences::Types::AudiencesGetResponse.load(response.body)
51
+ else
52
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
53
+ raise error_class.new(response.body, code: code)
54
+ end
55
+ end
56
+
57
+ # Create a new audience with optional initial contacts. Phone numbers that don't exist will be auto-created as
58
+ # contacts.
59
+ #
60
+ # @param request_options [Hash]
61
+ # @param params [Pinnacle::Audiences::Types::CreateAudienceParams]
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
+ #
68
+ # @return [Pinnacle::Types::AudienceCountOnly]
69
+ def create(request_options: {}, **params)
70
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
71
+ body_prop_names = %i[name description contacts]
72
+ body_bag = params.slice(*body_prop_names)
73
+
74
+ request = Pinnacle::Internal::JSON::Request.new(
75
+ base_url: request_options[:base_url],
76
+ method: "POST",
77
+ path: "audiences",
78
+ body: Pinnacle::Audiences::Types::CreateAudienceParams.new(body_bag).to_h,
79
+ request_options: request_options
80
+ )
81
+ begin
82
+ response = @client.send(request)
83
+ rescue Net::HTTPRequestTimeout
84
+ raise Pinnacle::Errors::TimeoutError
85
+ end
86
+ code = response.code.to_i
87
+ if code.between?(200, 299)
88
+ Pinnacle::Types::AudienceCountOnly.load(response.body)
89
+ else
90
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
91
+ raise error_class.new(response.body, code: code)
92
+ end
93
+ end
94
+
95
+ # Permanently delete an audience and all its contact associations.
96
+ #
97
+ # Note: This will NOT delete the contacts themselves, only the audience and its memberships.
98
+ #
99
+ # @param request_options [Hash]
100
+ # @param params [Hash]
101
+ # @option request_options [String] :base_url
102
+ # @option request_options [Hash{String => Object}] :additional_headers
103
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
104
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
105
+ # @option request_options [Integer] :timeout_in_seconds
106
+ # @option params [String] :id
107
+ #
108
+ # @return [Pinnacle::Types::DeleteAudienceResponse]
109
+ def delete(request_options: {}, **params)
110
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
111
+ query_param_names = %i[id]
112
+ query_params = {}
113
+ query_params["id"] = params[:id] if params.key?(:id)
114
+ params.except(*query_param_names)
115
+
116
+ request = Pinnacle::Internal::JSON::Request.new(
117
+ base_url: request_options[:base_url],
118
+ method: "DELETE",
119
+ path: "audiences",
120
+ query: query_params,
121
+ request_options: request_options
122
+ )
123
+ begin
124
+ response = @client.send(request)
125
+ rescue Net::HTTPRequestTimeout
126
+ raise Pinnacle::Errors::TimeoutError
127
+ end
128
+ code = response.code.to_i
129
+ if code.between?(200, 299)
130
+ Pinnacle::Types::DeleteAudienceResponse.load(response.body)
131
+ else
132
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
133
+ raise error_class.new(response.body, code: code)
134
+ end
135
+ end
136
+
137
+ # Update audience metadata. This endpoint does NOT modify contacts.
138
+ #
139
+ # To add or remove contacts, use the [Add Contacts](/api-reference/audiences/add-contacts) or [Remove
140
+ # Contacts](/api-reference/audiences/remove-contacts) endpoints.
141
+ #
142
+ # @param request_options [Hash]
143
+ # @param params [Pinnacle::Audiences::Types::UpdateAudienceParams]
144
+ # @option request_options [String] :base_url
145
+ # @option request_options [Hash{String => Object}] :additional_headers
146
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
147
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
148
+ # @option request_options [Integer] :timeout_in_seconds
149
+ #
150
+ # @return [Pinnacle::Types::AudienceCountOnly]
151
+ def update(request_options: {}, **params)
152
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
153
+ body_prop_names = %i[id name description]
154
+ body_bag = params.slice(*body_prop_names)
155
+
156
+ request = Pinnacle::Internal::JSON::Request.new(
157
+ base_url: request_options[:base_url],
158
+ method: "PATCH",
159
+ path: "audiences",
160
+ body: Pinnacle::Audiences::Types::UpdateAudienceParams.new(body_bag).to_h,
161
+ request_options: request_options
162
+ )
163
+ begin
164
+ response = @client.send(request)
165
+ rescue Net::HTTPRequestTimeout
166
+ raise Pinnacle::Errors::TimeoutError
167
+ end
168
+ code = response.code.to_i
169
+ if code.between?(200, 299)
170
+ Pinnacle::Types::AudienceCountOnly.load(response.body)
171
+ else
172
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
173
+ raise error_class.new(response.body, code: code)
174
+ end
175
+ end
176
+
177
+ # @return [Pinnacle::Contacts::Client]
178
+ def contacts
179
+ @contacts ||= Pinnacle::Audiences::Contacts::Client.new(client: @client)
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Contacts
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
+ # Remove contacts from an existing audience. This operation is idempotent.
15
+ #
16
+ # - Only removes contacts that exist in the audience
17
+ # - Contacts not in the audience are ignored
18
+ #
19
+ # @param request_options [Hash]
20
+ # @param params [Pinnacle::Audiences::Contacts::Types::RemoveContactsParams]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ #
27
+ # @return [Pinnacle::Types::AudienceCountOnly]
28
+ def remove(request_options: {}, **params)
29
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
30
+ body_prop_names = %i[id contacts]
31
+ body_bag = params.slice(*body_prop_names)
32
+
33
+ request = Pinnacle::Internal::JSON::Request.new(
34
+ base_url: request_options[:base_url],
35
+ method: "DELETE",
36
+ path: "audiences/contacts",
37
+ body: Pinnacle::Audiences::Contacts::Types::RemoveContactsParams.new(body_bag).to_h,
38
+ request_options: request_options
39
+ )
40
+ begin
41
+ response = @client.send(request)
42
+ rescue Net::HTTPRequestTimeout
43
+ raise Pinnacle::Errors::TimeoutError
44
+ end
45
+ code = response.code.to_i
46
+ if code.between?(200, 299)
47
+ Pinnacle::Types::AudienceCountOnly.load(response.body)
48
+ else
49
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
50
+ raise error_class.new(response.body, code: code)
51
+ end
52
+ end
53
+
54
+ # Add contacts to an existing audience. This operation is additive and idempotent.
55
+ #
56
+ # - Phone numbers that don't exist will be auto-created as contacts
57
+ # - Duplicate adds are ignored
58
+ # - Contacts already in the audience are ignored
59
+ #
60
+ # @param request_options [Hash]
61
+ # @param params [Pinnacle::Audiences::Contacts::Types::AddContactsParams]
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
+ #
68
+ # @return [Pinnacle::Types::AudienceCountOnly]
69
+ def add(request_options: {}, **params)
70
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
71
+ body_prop_names = %i[id contacts]
72
+ body_bag = params.slice(*body_prop_names)
73
+
74
+ request = Pinnacle::Internal::JSON::Request.new(
75
+ base_url: request_options[:base_url],
76
+ method: "PATCH",
77
+ path: "audiences/contacts",
78
+ body: Pinnacle::Audiences::Contacts::Types::AddContactsParams.new(body_bag).to_h,
79
+ request_options: request_options
80
+ )
81
+ begin
82
+ response = @client.send(request)
83
+ rescue Net::HTTPRequestTimeout
84
+ raise Pinnacle::Errors::TimeoutError
85
+ end
86
+ code = response.code.to_i
87
+ if code.between?(200, 299)
88
+ Pinnacle::Types::AudienceCountOnly.load(response.body)
89
+ else
90
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
91
+ raise error_class.new(response.body, code: code)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Contacts
6
+ module Types
7
+ class AddContactsParams < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ field :contacts, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Contacts
6
+ module Types
7
+ class RemoveContactsParams < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ field :contacts, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Types
6
+ class AudiencesDeleteRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Types
6
+ class AudiencesGetRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ field :page, -> { Integer }, optional: true, nullable: false
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Types
6
+ class AudiencesGetResponse < Internal::Types::Model
7
+ extend Pinnacle::Internal::Types::Union
8
+
9
+ member -> { Pinnacle::Types::AudienceWithPagination }
10
+ member -> { Pinnacle::Types::AudienceCountOnly }
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Types
6
+ class CreateAudienceParams < Internal::Types::Model
7
+ field :name, -> { String }, optional: false, nullable: false
8
+ field :description, -> { String }, optional: true, nullable: false
9
+ field :contacts, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Audiences
5
+ module Types
6
+ class UpdateAudienceParams < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ field :name, -> { String }, optional: true, nullable: false
9
+ field :description, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end