rcs 2.0.3 → 2.0.5.pre.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +12 -0
  3. data/.fernignore +6 -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/base_client.rb +75 -0
  18. data/lib/pinnacle/brands/client.rb +245 -0
  19. data/lib/pinnacle/brands/types/autofill_brand_options.rb +11 -0
  20. data/lib/pinnacle/brands/types/autofill_brand_params.rb +14 -0
  21. data/lib/pinnacle/brands/types/brands_get_request.rb +12 -0
  22. data/lib/pinnacle/brands/types/upsert_brand_params.rb +22 -0
  23. data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +15 -0
  24. data/lib/pinnacle/brands/types/upsert_brand_schema_entity_type.rb +17 -0
  25. data/lib/pinnacle/brands/types/upsert_brand_schema_sector.rb +29 -0
  26. data/lib/pinnacle/brands/types/upsert_brand_schema_type.rb +17 -0
  27. data/lib/pinnacle/brands/types/vet_brand_params.rb +14 -0
  28. data/lib/pinnacle/campaigns/client.rb +29 -0
  29. data/lib/pinnacle/campaigns/dlc/client.rb +201 -0
  30. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +15 -0
  31. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +16 -0
  32. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +15 -0
  33. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +15 -0
  34. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +15 -0
  35. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +19 -0
  36. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +15 -0
  37. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +23 -0
  38. data/lib/pinnacle/campaigns/rcs/client.rb +199 -0
  39. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +21 -0
  40. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +14 -0
  41. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +14 -0
  42. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +14 -0
  43. data/lib/pinnacle/campaigns/rcs/types/rcs_autofill_response.rb +13 -0
  44. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +14 -0
  45. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +15 -0
  46. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +14 -0
  47. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +14 -0
  48. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +14 -0
  49. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +15 -0
  50. data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +15 -0
  51. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +28 -0
  52. data/lib/pinnacle/campaigns/toll_free/client.rb +201 -0
  53. data/lib/pinnacle/campaigns/toll_free/types/toll_free_autofill_response.rb +13 -0
  54. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +14 -0
  55. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +15 -0
  56. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +15 -0
  57. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +16 -0
  58. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +15 -0
  59. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_options.rb +14 -0
  60. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +15 -0
  61. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +22 -0
  62. data/lib/pinnacle/client.rb +26 -0
  63. data/lib/pinnacle/contacts/client.rb +130 -0
  64. data/lib/pinnacle/contacts/types/contacts_get_request.rb +12 -0
  65. data/lib/pinnacle/contacts/types/create_contact_params.rb +15 -0
  66. data/lib/pinnacle/contacts/types/update_contact_params.rb +15 -0
  67. data/lib/pinnacle/conversations/client.rb +175 -0
  68. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +19 -0
  69. data/lib/pinnacle/conversations/types/conversations_list_messages_request_direction.rb +14 -0
  70. data/lib/pinnacle/conversations/types/conversations_list_messages_request_sort_order.rb +14 -0
  71. data/lib/pinnacle/conversations/types/conversations_list_messages_request_status.rb +19 -0
  72. data/lib/pinnacle/conversations/types/conversations_list_messages_request_type.rb +15 -0
  73. data/lib/pinnacle/conversations/types/list_conversations_params.rb +17 -0
  74. data/lib/pinnacle/conversations/types/update_conversation_params.rb +12 -0
  75. data/lib/pinnacle/errors/api_error.rb +8 -0
  76. data/lib/pinnacle/errors/client_error.rb +17 -0
  77. data/lib/pinnacle/errors/redirect_error.rb +8 -0
  78. data/lib/pinnacle/errors/response_error.rb +42 -0
  79. data/lib/pinnacle/errors/server_error.rb +11 -0
  80. data/lib/pinnacle/errors/timeout_error.rb +8 -0
  81. data/lib/pinnacle/internal/errors/constraint_error.rb +10 -0
  82. data/lib/pinnacle/internal/errors/type_error.rb +10 -0
  83. data/lib/pinnacle/internal/http/base_request.rb +31 -0
  84. data/lib/pinnacle/internal/http/raw_client.rb +116 -0
  85. data/lib/pinnacle/internal/iterators/cursor_item_iterator.rb +28 -0
  86. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +51 -0
  87. data/lib/pinnacle/internal/iterators/item_iterator.rb +59 -0
  88. data/lib/pinnacle/internal/iterators/offset_item_iterator.rb +30 -0
  89. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +83 -0
  90. data/lib/pinnacle/internal/json/request.rb +39 -0
  91. data/lib/pinnacle/internal/json/serializable.rb +25 -0
  92. data/lib/pinnacle/internal/multipart/multipart_encoder.rb +141 -0
  93. data/lib/pinnacle/internal/multipart/multipart_form_data.rb +78 -0
  94. data/lib/pinnacle/internal/multipart/multipart_form_data_part.rb +51 -0
  95. data/lib/pinnacle/internal/multipart/multipart_request.rb +38 -0
  96. data/lib/pinnacle/internal/types/array.rb +47 -0
  97. data/lib/pinnacle/internal/types/boolean.rb +34 -0
  98. data/lib/pinnacle/internal/types/enum.rb +56 -0
  99. data/lib/pinnacle/internal/types/hash.rb +36 -0
  100. data/lib/pinnacle/internal/types/model/field.rb +38 -0
  101. data/lib/pinnacle/internal/types/model.rb +208 -0
  102. data/lib/pinnacle/internal/types/type.rb +35 -0
  103. data/lib/pinnacle/internal/types/union.rb +161 -0
  104. data/lib/pinnacle/internal/types/unknown.rb +15 -0
  105. data/lib/pinnacle/internal/types/utils.rb +116 -0
  106. data/lib/pinnacle/messages/blast/client.rb +143 -0
  107. data/lib/pinnacle/messages/blast/types/blast_mms.rb +16 -0
  108. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +15 -0
  109. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +16 -0
  110. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +16 -0
  111. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +17 -0
  112. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +20 -0
  113. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
  114. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +16 -0
  115. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +16 -0
  116. data/lib/pinnacle/messages/blast/types/blast_sms.rb +16 -0
  117. data/lib/pinnacle/messages/blast/types/blast_sms_options.rb +14 -0
  118. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +16 -0
  119. data/lib/pinnacle/messages/client.rb +110 -0
  120. data/lib/pinnacle/messages/mms/client.rb +87 -0
  121. data/lib/pinnacle/messages/mms/types/mms.rb +17 -0
  122. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +16 -0
  123. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +17 -0
  124. data/lib/pinnacle/messages/rcs/client.rb +140 -0
  125. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +16 -0
  126. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +15 -0
  127. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +14 -0
  128. data/lib/pinnacle/messages/schedule/client.rb +53 -0
  129. data/lib/pinnacle/messages/sms/client.rb +87 -0
  130. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +15 -0
  131. data/lib/pinnacle/messages/sms/types/sms.rb +16 -0
  132. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +16 -0
  133. data/lib/pinnacle/messages/types/react_message_options.rb +11 -0
  134. data/lib/pinnacle/messages/types/react_message_params.rb +13 -0
  135. data/lib/pinnacle/phone_numbers/campaign/client.rb +90 -0
  136. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +15 -0
  137. data/lib/pinnacle/phone_numbers/campaign/types/detach_campaign_params.rb +13 -0
  138. data/lib/pinnacle/phone_numbers/client.rb +133 -0
  139. data/lib/pinnacle/phone_numbers/types/buy_phone_number_params.rb +11 -0
  140. data/lib/pinnacle/phone_numbers/types/enhanced_contact_info.rb +12 -0
  141. data/lib/pinnacle/phone_numbers/types/phone_details_schema_level.rb +14 -0
  142. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +14 -0
  143. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +14 -0
  144. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +13 -0
  145. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +14 -0
  146. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +17 -0
  147. data/lib/pinnacle/phone_numbers/types/search_phone_number_options.rb +12 -0
  148. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +15 -0
  149. data/lib/pinnacle/phone_numbers/webhook/client.rb +90 -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 +449 -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 -454
  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 -173
  460. data/lib/rcs/audiences/types/audiences_get_response.rb +0 -58
  461. data/lib/rcs/brands/client.rb +0 -656
  462. data/lib/rcs/brands/types/autofill_brand_options.rb +0 -61
  463. data/lib/rcs/brands/types/brand_contact.rb +0 -84
  464. data/lib/rcs/campaigns/client.rb +0 -44
  465. data/lib/rcs/campaigns/dlc/client.rb +0 -490
  466. data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -74
  467. data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -99
  468. data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +0 -74
  469. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -74
  470. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -74
  471. data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +0 -110
  472. data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -76
  473. data/lib/rcs/campaigns/rcs/client.rb +0 -564
  474. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -146
  475. data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +0 -73
  476. data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +0 -73
  477. data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +0 -73
  478. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +0 -246
  479. data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -77
  480. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -98
  481. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -87
  482. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -83
  483. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -76
  484. data/lib/rcs/campaigns/rcs/types/rcs_links.rb +0 -74
  485. data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +0 -75
  486. data/lib/rcs/campaigns/toll_free/client.rb +0 -478
  487. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -172
  488. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -66
  489. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -86
  490. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -74
  491. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -86
  492. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -78
  493. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -64
  494. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -75
  495. data/lib/rcs/contacts/client.rb +0 -277
  496. data/lib/rcs/conversations/client.rb +0 -401
  497. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +0 -12
  498. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +0 -12
  499. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +0 -17
  500. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +0 -13
  501. data/lib/rcs/messages/blast/client.rb +0 -419
  502. data/lib/rcs/messages/blast/types/blast_mms_options.rb +0 -82
  503. data/lib/rcs/messages/blast/types/blast_mms_response.rb +0 -60
  504. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +0 -118
  505. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -82
  506. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
  507. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -15
  508. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +0 -60
  509. data/lib/rcs/messages/blast/types/blast_sms_options.rb +0 -70
  510. data/lib/rcs/messages/blast/types/blast_sms_response.rb +0 -60
  511. data/lib/rcs/messages/client.rb +0 -189
  512. data/lib/rcs/messages/mms/client.rb +0 -216
  513. data/lib/rcs/messages/mms/types/mms_send_response.rb +0 -60
  514. data/lib/rcs/messages/mms/types/send_mms_options.rb +0 -108
  515. data/lib/rcs/messages/rcs/client.rb +0 -286
  516. data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +0 -60
  517. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -66
  518. data/lib/rcs/messages/schedule/client.rb +0 -103
  519. data/lib/rcs/messages/sms/client.rb +0 -198
  520. data/lib/rcs/messages/sms/types/send_sms_options.rb +0 -81
  521. data/lib/rcs/messages/sms/types/sms_send_response.rb +0 -60
  522. data/lib/rcs/messages/types/react_message_options.rb +0 -71
  523. data/lib/rcs/phone_numbers/campaign/client.rb +0 -193
  524. data/lib/rcs/phone_numbers/client.rb +0 -345
  525. data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +0 -62
  526. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +0 -16
  527. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +0 -58
  528. data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -93
  529. data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +0 -81
  530. data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +0 -96
  531. data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +0 -62
  532. data/lib/rcs/phone_numbers/webhook/client.rb +0 -193
  533. data/lib/rcs/rcs/client.rb +0 -330
  534. data/lib/rcs/status/client.rb +0 -30
  535. data/lib/rcs/status/get/client.rb +0 -383
  536. data/lib/rcs/tools/client.rb +0 -44
  537. data/lib/rcs/tools/contact_card/client.rb +0 -295
  538. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +0 -67
  539. data/lib/rcs/tools/file/client.rb +0 -228
  540. data/lib/rcs/tools/file/types/download_options.rb +0 -66
  541. data/lib/rcs/tools/file/types/upload_file_options.rb +0 -88
  542. data/lib/rcs/tools/url/client.rb +0 -247
  543. data/lib/rcs/types/advanced_phone_information.rb +0 -147
  544. data/lib/rcs/types/advanced_phone_information_carrier.rb +0 -90
  545. data/lib/rcs/types/advanced_phone_information_contact.rb +0 -146
  546. data/lib/rcs/types/advanced_phone_information_location.rb +0 -142
  547. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +0 -73
  548. data/lib/rcs/types/advanced_phone_information_location_country.rb +0 -77
  549. data/lib/rcs/types/advanced_phone_information_type.rb +0 -97
  550. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +0 -15
  551. data/lib/rcs/types/agent.rb +0 -68
  552. data/lib/rcs/types/attach_webhook_by_id_params.rb +0 -77
  553. data/lib/rcs/types/attach_webhook_params.rb +0 -60
  554. data/lib/rcs/types/attach_webhook_response_webhook.rb +0 -88
  555. data/lib/rcs/types/attached_phone_number_result.rb +0 -75
  556. data/lib/rcs/types/audience_count_only.rb +0 -87
  557. data/lib/rcs/types/audience_with_pagination.rb +0 -114
  558. data/lib/rcs/types/autofill_campaign_params.rb +0 -81
  559. data/lib/rcs/types/autofill_dlc_campaign_response.rb +0 -173
  560. data/lib/rcs/types/autofill_dlc_response_keywords.rb +0 -93
  561. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +0 -70
  562. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +0 -70
  563. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +0 -70
  564. data/lib/rcs/types/autofill_dlc_response_links.rb +0 -70
  565. data/lib/rcs/types/autofill_dlc_response_options.rb +0 -106
  566. data/lib/rcs/types/autofill_dlc_response_use_case.rb +0 -72
  567. data/lib/rcs/types/bad_request_error_body.rb +0 -56
  568. data/lib/rcs/types/base_rich_message.rb +0 -82
  569. data/lib/rcs/types/basic_phone_information.rb +0 -127
  570. data/lib/rcs/types/basic_phone_information_contact.rb +0 -58
  571. data/lib/rcs/types/basic_phone_information_location.rb +0 -74
  572. data/lib/rcs/types/basic_phone_information_location_country.rb +0 -75
  573. data/lib/rcs/types/blast_details.rb +0 -110
  574. data/lib/rcs/types/brand_status.rb +0 -94
  575. data/lib/rcs/types/brand_status_enum.rb +0 -21
  576. data/lib/rcs/types/button_clicked.rb +0 -56
  577. data/lib/rcs/types/button_clicked_data.rb +0 -80
  578. data/lib/rcs/types/button_clicked_data_button.rb +0 -118
  579. data/lib/rcs/types/button_clicked_data_button_raw.rb +0 -58
  580. data/lib/rcs/types/button_clicked_data_button_type.rb +0 -15
  581. data/lib/rcs/types/buy_response_capabilities.rb +0 -77
  582. data/lib/rcs/types/campaign_enum.rb +0 -15
  583. data/lib/rcs/types/campaign_query.rb +0 -77
  584. data/lib/rcs/types/campaign_submission_result.rb +0 -57
  585. data/lib/rcs/types/campaign_validation_response_errors_item.rb +0 -76
  586. data/lib/rcs/types/campaign_validation_result.rb +0 -71
  587. data/lib/rcs/types/company_entity_type_enum.rb +0 -14
  588. data/lib/rcs/types/company_sector_enum.rb +0 -26
  589. data/lib/rcs/types/company_type_enum.rb +0 -14
  590. data/lib/rcs/types/configured_webhook.rb +0 -85
  591. data/lib/rcs/types/contact.rb +0 -107
  592. data/lib/rcs/types/contact_id.rb +0 -59
  593. data/lib/rcs/types/conversation.rb +0 -154
  594. data/lib/rcs/types/conversation_by_id_params.rb +0 -62
  595. data/lib/rcs/types/conversation_by_participants_params.rb +0 -72
  596. data/lib/rcs/types/conversation_contact.rb +0 -70
  597. data/lib/rcs/types/conversation_list.rb +0 -79
  598. data/lib/rcs/types/conversation_sender.rb +0 -60
  599. data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +0 -88
  600. data/lib/rcs/types/create_url_options.rb +0 -63
  601. data/lib/rcs/types/delete_audience_response.rb +0 -57
  602. data/lib/rcs/types/detached_phone_number_result.rb +0 -75
  603. data/lib/rcs/types/detached_webhook_info.rb +0 -76
  604. data/lib/rcs/types/detailed_phone_number_enum.rb +0 -25
  605. data/lib/rcs/types/dlc_assignment_status_enum.rb +0 -19
  606. data/lib/rcs/types/dlc_campaign_status.rb +0 -109
  607. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +0 -35
  608. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +0 -224
  609. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +0 -94
  610. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -72
  611. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -72
  612. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -72
  613. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +0 -70
  614. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -15
  615. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -22
  616. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +0 -106
  617. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +0 -72
  618. data/lib/rcs/types/enhanced_contact.rb +0 -9
  619. data/lib/rcs/types/enhanced_contact_item.rb +0 -104
  620. data/lib/rcs/types/error.rb +0 -61
  621. data/lib/rcs/types/extended_brand.rb +0 -215
  622. data/lib/rcs/types/extended_brand_with_vetting.rb +0 -247
  623. data/lib/rcs/types/extended_rcs_campaign.rb +0 -267
  624. data/lib/rcs/types/get_conversation_params.rb +0 -57
  625. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +0 -96
  626. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +0 -92
  627. data/lib/rcs/types/link_click_event.rb +0 -449
  628. data/lib/rcs/types/location_share_action.rb +0 -63
  629. data/lib/rcs/types/location_share_action_data.rb +0 -89
  630. data/lib/rcs/types/message.rb +0 -176
  631. data/lib/rcs/types/message_content.rb +0 -85
  632. data/lib/rcs/types/message_event.rb +0 -143
  633. data/lib/rcs/types/message_event_content.rb +0 -127
  634. data/lib/rcs/types/message_event_conversation.rb +0 -82
  635. data/lib/rcs/types/message_event_direction.rb +0 -11
  636. data/lib/rcs/types/message_event_mms_content.rb +0 -94
  637. data/lib/rcs/types/message_event_rcs_button_data.rb +0 -104
  638. data/lib/rcs/types/message_event_rcs_cards_content.rb +0 -99
  639. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -94
  640. data/lib/rcs/types/message_event_rcs_location_data.rb +0 -91
  641. data/lib/rcs/types/message_event_rcs_media_content.rb +0 -94
  642. data/lib/rcs/types/message_event_rcs_text_content.rb +0 -92
  643. data/lib/rcs/types/message_event_sms_content.rb +0 -81
  644. data/lib/rcs/types/message_list.rb +0 -79
  645. data/lib/rcs/types/message_method_enum.rb +0 -12
  646. data/lib/rcs/types/message_protocol_enum.rb +0 -12
  647. data/lib/rcs/types/message_schedule.rb +0 -121
  648. data/lib/rcs/types/message_status_enum.rb +0 -17
  649. data/lib/rcs/types/message_volume_enum.rb +0 -20
  650. data/lib/rcs/types/message_with_reaction.rb +0 -197
  651. data/lib/rcs/types/message_with_reaction_direction.rb +0 -11
  652. data/lib/rcs/types/messaging_profile_enum.rb +0 -11
  653. data/lib/rcs/types/mms_content.rb +0 -74
  654. data/lib/rcs/types/mms_validation_response_segments.rb +0 -85
  655. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +0 -75
  656. data/lib/rcs/types/mms_validation_result.rb +0 -82
  657. data/lib/rcs/types/not_found_error_body.rb +0 -59
  658. data/lib/rcs/types/number_format.rb +0 -79
  659. data/lib/rcs/types/opt_in_method_enum.rb +0 -13
  660. data/lib/rcs/types/optional_brand_info.rb +0 -154
  661. data/lib/rcs/types/optional_contact.rb +0 -83
  662. data/lib/rcs/types/optional_contacts.rb +0 -84
  663. data/lib/rcs/types/pagination.rb +0 -81
  664. data/lib/rcs/types/phone.rb +0 -101
  665. data/lib/rcs/types/phone_capabilities.rb +0 -75
  666. data/lib/rcs/types/phone_enum.rb +0 -13
  667. data/lib/rcs/types/phone_feature_enum.rb +0 -18
  668. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +0 -67
  669. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -75
  670. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -82
  671. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +0 -67
  672. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -75
  673. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -82
  674. data/lib/rcs/types/phone_number_cost.rb +0 -75
  675. data/lib/rcs/types/phone_number_details.rb +0 -110
  676. data/lib/rcs/types/phone_number_enum.rb +0 -18
  677. data/lib/rcs/types/phone_number_region.rb +0 -91
  678. data/lib/rcs/types/phone_number_status.rb +0 -90
  679. data/lib/rcs/types/phone_number_status_enum.rb +0 -16
  680. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +0 -100
  681. data/lib/rcs/types/pinnacle_url_config.rb +0 -71
  682. data/lib/rcs/types/profile_status_enum.rb +0 -17
  683. data/lib/rcs/types/purchased_number.rb +0 -75
  684. data/lib/rcs/types/rcs_button_call.rb +0 -77
  685. data/lib/rcs/types/rcs_button_open_url.rb +0 -104
  686. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +0 -19
  687. data/lib/rcs/types/rcs_button_request_user_location.rb +0 -70
  688. data/lib/rcs/types/rcs_button_schedule_event.rb +0 -106
  689. data/lib/rcs/types/rcs_button_send_location.rb +0 -94
  690. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +0 -68
  691. data/lib/rcs/types/rcs_button_trigger.rb +0 -80
  692. data/lib/rcs/types/rcs_campaign.rb +0 -234
  693. data/lib/rcs/types/rcs_campaign_schema_agent.rb +0 -134
  694. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +0 -69
  695. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +0 -69
  696. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +0 -69
  697. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +0 -134
  698. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -70
  699. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -70
  700. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -71
  701. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +0 -94
  702. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +0 -71
  703. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -73
  704. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -73
  705. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +0 -70
  706. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +0 -72
  707. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +0 -71
  708. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +0 -94
  709. data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +0 -71
  710. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +0 -73
  711. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +0 -73
  712. data/lib/rcs/types/rcs_campaign_schema_links.rb +0 -70
  713. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +0 -72
  714. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +0 -71
  715. data/lib/rcs/types/rcs_campaign_status.rb +0 -88
  716. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +0 -23
  717. data/lib/rcs/types/rcs_capabilities_result.rb +0 -7
  718. data/lib/rcs/types/rcs_capability.rb +0 -82
  719. data/lib/rcs/types/rcs_capability_actions.rb +0 -105
  720. data/lib/rcs/types/rcs_capability_cards.rb +0 -67
  721. data/lib/rcs/types/rcs_cards_content.rb +0 -79
  722. data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -96
  723. data/lib/rcs/types/rcs_content.rb +0 -72
  724. data/lib/rcs/types/rcs_link_result.rb +0 -75
  725. data/lib/rcs/types/rcs_media_content.rb +0 -81
  726. data/lib/rcs/types/rcs_media_details_content.rb +0 -77
  727. data/lib/rcs/types/rcs_messaging_type_enum.rb +0 -17
  728. data/lib/rcs/types/rcs_validate_content.rb +0 -70
  729. data/lib/rcs/types/rcs_validate_content_media.rb +0 -75
  730. data/lib/rcs/types/rcs_validation_result.rb +0 -83
  731. data/lib/rcs/types/rcs_whitelist_response.rb +0 -58
  732. data/lib/rcs/types/reaction_result.rb +0 -71
  733. data/lib/rcs/types/refreshed_file.rb +0 -67
  734. data/lib/rcs/types/rich_button.rb +0 -148
  735. data/lib/rcs/types/rich_card.rb +0 -90
  736. data/lib/rcs/types/rich_cards.rb +0 -79
  737. data/lib/rcs/types/rich_cards_message.rb +0 -110
  738. data/lib/rcs/types/rich_media_message.rb +0 -110
  739. data/lib/rcs/types/rich_message.rb +0 -70
  740. data/lib/rcs/types/rich_standalone_card_options.rb +0 -80
  741. data/lib/rcs/types/rich_text.rb +0 -72
  742. data/lib/rcs/types/rich_text_message.rb +0 -106
  743. data/lib/rcs/types/schedule_cancel_result.rb +0 -58
  744. data/lib/rcs/types/scheduled_blast_details.rb +0 -76
  745. data/lib/rcs/types/scheduled_blast_response_config.rb +0 -89
  746. data/lib/rcs/types/scheduled_message.rb +0 -75
  747. data/lib/rcs/types/scheduled_send_response_config.rb +0 -89
  748. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
  749. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +0 -11
  750. data/lib/rcs/types/send_rich_cards_options.rb +0 -136
  751. data/lib/rcs/types/send_rich_message_options.rb +0 -111
  752. data/lib/rcs/types/send_sms_response_segments.rb +0 -69
  753. data/lib/rcs/types/send_sms_response_segments_encoding.rb +0 -11
  754. data/lib/rcs/types/send_typing_indicator_response.rb +0 -100
  755. data/lib/rcs/types/sent_mms_details.rb +0 -118
  756. data/lib/rcs/types/sent_rich_message.rb +0 -104
  757. data/lib/rcs/types/sent_sms_details.rb +0 -110
  758. data/lib/rcs/types/shortened_url.rb +0 -77
  759. data/lib/rcs/types/shortened_url_with_click_data.rb +0 -90
  760. data/lib/rcs/types/sms_content.rb +0 -58
  761. data/lib/rcs/types/sms_validation_response_segments.rb +0 -80
  762. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +0 -75
  763. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +0 -68
  764. data/lib/rcs/types/sms_validation_response_total.rb +0 -75
  765. data/lib/rcs/types/sms_validation_result.rb +0 -102
  766. data/lib/rcs/types/sub_use_case_enum.rb +0 -19
  767. data/lib/rcs/types/submission_results.rb +0 -57
  768. data/lib/rcs/types/successful_conversation_update.rb +0 -58
  769. data/lib/rcs/types/toll_free_campaign.rb +0 -160
  770. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +0 -82
  771. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +0 -62
  772. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -74
  773. data/lib/rcs/types/toll_free_campaign_schema_links.rb +0 -70
  774. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +0 -78
  775. data/lib/rcs/types/toll_free_campaign_schema_options.rb +0 -60
  776. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +0 -71
  777. data/lib/rcs/types/toll_free_campaign_status.rb +0 -93
  778. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +0 -52
  779. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -195
  780. data/lib/rcs/types/toll_free_status_enum.rb +0 -20
  781. data/lib/rcs/types/tracking.rb +0 -17
  782. data/lib/rcs/types/updated_contact_id.rb +0 -59
  783. data/lib/rcs/types/upload_results.rb +0 -80
  784. data/lib/rcs/types/upsert_contact.rb +0 -84
  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 -93
  814. data/lib/rcs.rb +0 -124
  815. data/lib/requests.rb +0 -163
  816. data/lib/types_export.rb +0 -332
  817. /data/lib/{environment.rb → pinnacle/environment.rb} +0 -0
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Conversations
5
- module Types
6
- class ConversationsListMessagesRequestDirection
7
- INBOUND = "INBOUND"
8
- OUTBOUND = "OUTBOUND"
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Conversations
5
- module Types
6
- class ConversationsListMessagesRequestSortOrder
7
- ASC = "asc"
8
- DESC = "desc"
9
- end
10
- end
11
- end
12
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Conversations
5
- module Types
6
- class ConversationsListMessagesRequestStatus
7
- PENDING = "PENDING"
8
- SENT = "SENT"
9
- SEND_FAILED = "SEND_FAILED"
10
- DELIVERED = "DELIVERED"
11
- DELIVERY_FAILED = "DELIVERY_FAILED"
12
- RECEIVED = "RECEIVED"
13
- READ = "READ"
14
- end
15
- end
16
- end
17
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pinnacle
4
- module Conversations
5
- module Types
6
- class ConversationsListMessagesRequestType
7
- SMS = "SMS"
8
- MMS = "MMS"
9
- RCS = "RCS"
10
- end
11
- end
12
- end
13
- end
@@ -1,419 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "../../types/sms_content"
5
- require_relative "types/blast_sms_options"
6
- require_relative "types/blast_sms_response"
7
- require_relative "../../types/mms_content"
8
- require_relative "types/blast_mms_options"
9
- require_relative "types/blast_mms_response"
10
- require_relative "../../types/rcs_validate_content"
11
- require_relative "types/blast_rcs_options"
12
- require_relative "types/blast_rcs_response"
13
- require "async"
14
-
15
- module Pinnacle
16
- module Messages
17
- class BlastClient
18
- # @return [Pinnacle::RequestClient]
19
- attr_reader :request_client
20
-
21
- # @param request_client [Pinnacle::RequestClient]
22
- # @return [Pinnacle::Messages::BlastClient]
23
- def initialize(request_client:)
24
- @request_client = request_client
25
- end
26
-
27
- # Send an SMS message to all contacts in an audience. <br>
28
- # Messages are distributed evenly across the provided sender phone numbers. <br>
29
- # Use the optional `schedule` parameter in `options` to schedule the blast for
30
- # future delivery. When scheduled, the response will contain a `scheduleId`
31
- # instead of blast details.
32
- #
33
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
34
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
35
- # You can create an audience via [the
36
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
37
- # [API](/api-reference/audiences/create).
38
- # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
39
- # Messages will be distributed evenly across these senders.
40
- # > **Note:** Sandbox numbers cannot be used for blasts.
41
- # @param message [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
42
- # * :text (String)
43
- # @param options [Hash] Additional settings to customize SMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastSmsOptions, as a Hash
44
- # * :schedule (Hash)
45
- # * :send_at (String)
46
- # * :recurrence (String)
47
- # * :timezone (String)
48
- # * :end_date (String)
49
- # @param request_options [Pinnacle::RequestOptions]
50
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
51
- # @example
52
- # api = Pinnacle::Client.new(
53
- # base_url: "https://api.example.com",
54
- # environment: Pinnacle::Environment::DEFAULT,
55
- # api_key: "YOUR_API_KEY"
56
- # )
57
- # api.messages.blast.sms(
58
- # audience_id: "aud_abc123",
59
- # senders: ["+14155164736", "+14155164737"],
60
- # message: { text: "Hello from Pinnacle!" }
61
- # )
62
- def sms(audience_id:, senders:, message:, options: nil, request_options: nil)
63
- response = @request_client.conn.post do |req|
64
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
65
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
66
- req.headers = {
67
- **(req.headers || {}),
68
- **@request_client.get_headers,
69
- **(request_options&.additional_headers || {})
70
- }.compact
71
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
72
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
73
- end
74
- req.body = {
75
- **(request_options&.additional_body_parameters || {}),
76
- audienceId: audience_id,
77
- senders: senders,
78
- message: message,
79
- options: options
80
- }.compact
81
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/sms"
82
- end
83
- Pinnacle::Messages::Blast::Types::BlastSmsResponse.from_json(json_object: response.body)
84
- end
85
-
86
- # Send an MMS message to all contacts in an audience. <br>
87
- # Messages are distributed evenly across the provided sender phone numbers. <br>
88
- # Use the optional `schedule` parameter in `options` to schedule the blast for
89
- # future delivery. When scheduled, the response will contain a `scheduleId`
90
- # instead of blast details.
91
- #
92
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
93
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
94
- # You can create an audience via [the
95
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
96
- # [API](/api-reference/audiences/create).
97
- # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
98
- # Messages will be distributed evenly across these senders.
99
- # > **Note:** Sandbox numbers cannot be used for blasts.
100
- # @param message [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
101
- # * :media_urls (Array<String>)
102
- # * :text (String)
103
- # @param options [Hash] Additional settings to customize MMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastMmsOptions, as a Hash
104
- # * :validate (Boolean)
105
- # * :schedule (Hash)
106
- # * :send_at (String)
107
- # * :recurrence (String)
108
- # * :timezone (String)
109
- # * :end_date (String)
110
- # @param request_options [Pinnacle::RequestOptions]
111
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
112
- # @example
113
- # api = Pinnacle::Client.new(
114
- # base_url: "https://api.example.com",
115
- # environment: Pinnacle::Environment::DEFAULT,
116
- # api_key: "YOUR_API_KEY"
117
- # )
118
- # api.messages.blast.mms(
119
- # audience_id: "aud_abc123",
120
- # senders: ["+14155164736", "+14155164737"],
121
- # message: { media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg"], text: "Check out this image!" },
122
- # options: { validate: true }
123
- # )
124
- def mms(audience_id:, senders:, message:, options: nil, request_options: nil)
125
- response = @request_client.conn.post do |req|
126
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
127
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
128
- req.headers = {
129
- **(req.headers || {}),
130
- **@request_client.get_headers,
131
- **(request_options&.additional_headers || {})
132
- }.compact
133
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
134
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
135
- end
136
- req.body = {
137
- **(request_options&.additional_body_parameters || {}),
138
- audienceId: audience_id,
139
- senders: senders,
140
- message: message,
141
- options: options
142
- }.compact
143
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/mms"
144
- end
145
- Pinnacle::Messages::Blast::Types::BlastMmsResponse.from_json(json_object: response.body)
146
- end
147
-
148
- # Send an RCS message to all contacts in an audience. <br>
149
- # Messages are distributed evenly across the provided RCS agents for load
150
- # balancing. Requires active RCS agents and recipient devices that support RCS
151
- # Business Messaging. <br>
152
- # Use the optional `schedule` parameter in `options` to schedule the blast for
153
- # future delivery. When scheduled, the response will contain a `scheduleId`
154
- # instead of blast details.
155
- #
156
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
157
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
158
- # You can create an audience via [the
159
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
160
- # [API](/api-reference/audiences/create).
161
- # @param senders [Array<String>] Array of RCS agent IDs to send from. Each must be prefixed with `agent_`. <br>
162
- # Messages will be evenly distributed across these agents.
163
- # > **Note:** Test agents cannot be used for blasts.
164
- # @param message [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
165
- # @param options [Hash] Configure how your RCS blast is sent and tracked.Request of type Pinnacle::Messages::Blast::Types::BlastRcsOptions, as a Hash
166
- # * :transcode (Boolean)
167
- # * :validate (Boolean)
168
- # * :standalone_card (Hash)
169
- # * :orientation (Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardOrientation)
170
- # * :image_alignment (Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardImageAlignment)
171
- # * :schedule (Hash)
172
- # * :send_at (String)
173
- # * :recurrence (String)
174
- # * :timezone (String)
175
- # * :end_date (String)
176
- # @param request_options [Pinnacle::RequestOptions]
177
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
178
- # @example
179
- # api = Pinnacle::Client.new(
180
- # base_url: "https://api.example.com",
181
- # environment: Pinnacle::Environment::DEFAULT,
182
- # api_key: "YOUR_API_KEY"
183
- # )
184
- # api.messages.blast.rcs(
185
- # audience_id: "aud_abc123",
186
- # senders: ["agent_pinnacle", "agent_pinnacle2"],
187
- # message: { quick_replies: , text: "Hello from Pinnacle RCS!" },
188
- # options: { transcode: true, validate: true }
189
- # )
190
- def rcs(audience_id:, senders:, message:, options: nil, request_options: nil)
191
- response = @request_client.conn.post do |req|
192
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
193
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
194
- req.headers = {
195
- **(req.headers || {}),
196
- **@request_client.get_headers,
197
- **(request_options&.additional_headers || {})
198
- }.compact
199
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
200
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
201
- end
202
- req.body = {
203
- **(request_options&.additional_body_parameters || {}),
204
- audienceId: audience_id,
205
- senders: senders,
206
- message: message,
207
- options: options
208
- }.compact
209
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/rcs"
210
- end
211
- Pinnacle::Messages::Blast::Types::BlastRcsResponse.from_json(json_object: response.body)
212
- end
213
- end
214
-
215
- class AsyncBlastClient
216
- # @return [Pinnacle::AsyncRequestClient]
217
- attr_reader :request_client
218
-
219
- # @param request_client [Pinnacle::AsyncRequestClient]
220
- # @return [Pinnacle::Messages::AsyncBlastClient]
221
- def initialize(request_client:)
222
- @request_client = request_client
223
- end
224
-
225
- # Send an SMS message to all contacts in an audience. <br>
226
- # Messages are distributed evenly across the provided sender phone numbers. <br>
227
- # Use the optional `schedule` parameter in `options` to schedule the blast for
228
- # future delivery. When scheduled, the response will contain a `scheduleId`
229
- # instead of blast details.
230
- #
231
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
232
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
233
- # You can create an audience via [the
234
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
235
- # [API](/api-reference/audiences/create).
236
- # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
237
- # Messages will be distributed evenly across these senders.
238
- # > **Note:** Sandbox numbers cannot be used for blasts.
239
- # @param message [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
240
- # * :text (String)
241
- # @param options [Hash] Additional settings to customize SMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastSmsOptions, as a Hash
242
- # * :schedule (Hash)
243
- # * :send_at (String)
244
- # * :recurrence (String)
245
- # * :timezone (String)
246
- # * :end_date (String)
247
- # @param request_options [Pinnacle::RequestOptions]
248
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
249
- # @example
250
- # api = Pinnacle::Client.new(
251
- # base_url: "https://api.example.com",
252
- # environment: Pinnacle::Environment::DEFAULT,
253
- # api_key: "YOUR_API_KEY"
254
- # )
255
- # api.messages.blast.sms(
256
- # audience_id: "aud_abc123",
257
- # senders: ["+14155164736", "+14155164737"],
258
- # message: { text: "Hello from Pinnacle!" }
259
- # )
260
- def sms(audience_id:, senders:, message:, options: nil, request_options: nil)
261
- Async do
262
- response = @request_client.conn.post do |req|
263
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
264
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
265
- req.headers = {
266
- **(req.headers || {}),
267
- **@request_client.get_headers,
268
- **(request_options&.additional_headers || {})
269
- }.compact
270
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
271
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
272
- end
273
- req.body = {
274
- **(request_options&.additional_body_parameters || {}),
275
- audienceId: audience_id,
276
- senders: senders,
277
- message: message,
278
- options: options
279
- }.compact
280
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/sms"
281
- end
282
- Pinnacle::Messages::Blast::Types::BlastSmsResponse.from_json(json_object: response.body)
283
- end
284
- end
285
-
286
- # Send an MMS message to all contacts in an audience. <br>
287
- # Messages are distributed evenly across the provided sender phone numbers. <br>
288
- # Use the optional `schedule` parameter in `options` to schedule the blast for
289
- # future delivery. When scheduled, the response will contain a `scheduleId`
290
- # instead of blast details.
291
- #
292
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
293
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
294
- # You can create an audience via [the
295
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
296
- # [API](/api-reference/audiences/create).
297
- # @param senders [Array<String>] Array of phone numbers to send from in E.164 format. <br>
298
- # Messages will be distributed evenly across these senders.
299
- # > **Note:** Sandbox numbers cannot be used for blasts.
300
- # @param message [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
301
- # * :media_urls (Array<String>)
302
- # * :text (String)
303
- # @param options [Hash] Additional settings to customize MMS blast delivery.Request of type Pinnacle::Messages::Blast::Types::BlastMmsOptions, as a Hash
304
- # * :validate (Boolean)
305
- # * :schedule (Hash)
306
- # * :send_at (String)
307
- # * :recurrence (String)
308
- # * :timezone (String)
309
- # * :end_date (String)
310
- # @param request_options [Pinnacle::RequestOptions]
311
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
312
- # @example
313
- # api = Pinnacle::Client.new(
314
- # base_url: "https://api.example.com",
315
- # environment: Pinnacle::Environment::DEFAULT,
316
- # api_key: "YOUR_API_KEY"
317
- # )
318
- # api.messages.blast.mms(
319
- # audience_id: "aud_abc123",
320
- # senders: ["+14155164736", "+14155164737"],
321
- # message: { media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg"], text: "Check out this image!" },
322
- # options: { validate: true }
323
- # )
324
- def mms(audience_id:, senders:, message:, options: nil, request_options: nil)
325
- Async do
326
- response = @request_client.conn.post do |req|
327
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
328
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
329
- req.headers = {
330
- **(req.headers || {}),
331
- **@request_client.get_headers,
332
- **(request_options&.additional_headers || {})
333
- }.compact
334
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
335
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
336
- end
337
- req.body = {
338
- **(request_options&.additional_body_parameters || {}),
339
- audienceId: audience_id,
340
- senders: senders,
341
- message: message,
342
- options: options
343
- }.compact
344
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/mms"
345
- end
346
- Pinnacle::Messages::Blast::Types::BlastMmsResponse.from_json(json_object: response.body)
347
- end
348
- end
349
-
350
- # Send an RCS message to all contacts in an audience. <br>
351
- # Messages are distributed evenly across the provided RCS agents for load
352
- # balancing. Requires active RCS agents and recipient devices that support RCS
353
- # Business Messaging. <br>
354
- # Use the optional `schedule` parameter in `options` to schedule the blast for
355
- # future delivery. When scheduled, the response will contain a `scheduleId`
356
- # instead of blast details.
357
- #
358
- # @param audience_id [String] The audience ID to send the blast to. This identifier is a string that always
359
- # begins with the prefix `aud_`, for example: `aud_abc123`. <br>
360
- # You can create an audience via [the
361
- # dashboard](https://app.pinnacle.sh/dashboard/audiences) or
362
- # [API](/api-reference/audiences/create).
363
- # @param senders [Array<String>] Array of RCS agent IDs to send from. Each must be prefixed with `agent_`. <br>
364
- # Messages will be evenly distributed across these agents.
365
- # > **Note:** Test agents cannot be used for blasts.
366
- # @param message [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
367
- # @param options [Hash] Configure how your RCS blast is sent and tracked.Request of type Pinnacle::Messages::Blast::Types::BlastRcsOptions, as a Hash
368
- # * :transcode (Boolean)
369
- # * :validate (Boolean)
370
- # * :standalone_card (Hash)
371
- # * :orientation (Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardOrientation)
372
- # * :image_alignment (Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardImageAlignment)
373
- # * :schedule (Hash)
374
- # * :send_at (String)
375
- # * :recurrence (String)
376
- # * :timezone (String)
377
- # * :end_date (String)
378
- # @param request_options [Pinnacle::RequestOptions]
379
- # @return [Pinnacle::Types::BlastDetails, Pinnacle::Types::ScheduledBlastDetails]
380
- # @example
381
- # api = Pinnacle::Client.new(
382
- # base_url: "https://api.example.com",
383
- # environment: Pinnacle::Environment::DEFAULT,
384
- # api_key: "YOUR_API_KEY"
385
- # )
386
- # api.messages.blast.rcs(
387
- # audience_id: "aud_abc123",
388
- # senders: ["agent_pinnacle", "agent_pinnacle2"],
389
- # message: { quick_replies: , text: "Hello from Pinnacle RCS!" },
390
- # options: { transcode: true, validate: true }
391
- # )
392
- def rcs(audience_id:, senders:, message:, options: nil, request_options: nil)
393
- Async do
394
- response = @request_client.conn.post do |req|
395
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
396
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
397
- req.headers = {
398
- **(req.headers || {}),
399
- **@request_client.get_headers,
400
- **(request_options&.additional_headers || {})
401
- }.compact
402
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
403
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
404
- end
405
- req.body = {
406
- **(request_options&.additional_body_parameters || {}),
407
- audienceId: audience_id,
408
- senders: senders,
409
- message: message,
410
- options: options
411
- }.compact
412
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/blast/rcs"
413
- end
414
- Pinnacle::Messages::Blast::Types::BlastRcsResponse.from_json(json_object: response.body)
415
- end
416
- end
417
- end
418
- end
419
- end
@@ -1,82 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../types/message_schedule"
4
- require "ostruct"
5
- require "json"
6
-
7
- module Pinnacle
8
- module Messages
9
- module Blast
10
- module Types
11
- # Additional settings to customize MMS blast delivery.
12
- class BlastMmsOptions
13
- # @return [Boolean] Set to true to validate the message before sending. <br>
14
- # If validation fails, the blast is not sent.
15
- attr_reader :validate
16
- # @return [Pinnacle::Types::MessageSchedule]
17
- attr_reader :schedule
18
- # @return [OpenStruct] Additional properties unmapped to the current class definition
19
- attr_reader :additional_properties
20
- # @return [Object]
21
- attr_reader :_field_set
22
- protected :_field_set
23
-
24
- OMIT = Object.new
25
-
26
- # @param validate [Boolean] Set to true to validate the message before sending. <br>
27
- # If validation fails, the blast is not sent.
28
- # @param schedule [Pinnacle::Types::MessageSchedule]
29
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
- # @return [Pinnacle::Messages::Blast::Types::BlastMmsOptions]
31
- def initialize(validate: OMIT, schedule: OMIT, additional_properties: nil)
32
- @validate = validate if validate != OMIT
33
- @schedule = schedule if schedule != OMIT
34
- @additional_properties = additional_properties
35
- @_field_set = { "validate": validate, "schedule": schedule }.reject do |_k, v|
36
- v == OMIT
37
- end
38
- end
39
-
40
- # Deserialize a JSON object to an instance of BlastMmsOptions
41
- #
42
- # @param json_object [String]
43
- # @return [Pinnacle::Messages::Blast::Types::BlastMmsOptions]
44
- def self.from_json(json_object:)
45
- struct = JSON.parse(json_object, object_class: OpenStruct)
46
- parsed_json = JSON.parse(json_object)
47
- validate = parsed_json["validate"]
48
- if parsed_json["schedule"].nil?
49
- schedule = nil
50
- else
51
- schedule = parsed_json["schedule"].to_json
52
- schedule = Pinnacle::Types::MessageSchedule.from_json(json_object: schedule)
53
- end
54
- new(
55
- validate: validate,
56
- schedule: schedule,
57
- additional_properties: struct
58
- )
59
- end
60
-
61
- # Serialize an instance of BlastMmsOptions to a JSON object
62
- #
63
- # @return [String]
64
- def to_json(*_args)
65
- @_field_set&.to_json
66
- end
67
-
68
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
- # hash and check each fields type against the current object's property
70
- # definitions.
71
- #
72
- # @param obj [Object]
73
- # @return [Void]
74
- def self.validate_raw(obj:)
75
- obj.validate&.is_a?(Boolean) != false || raise("Passed value for field obj.validate is not the expected type, validation failed.")
76
- obj.schedule.nil? || Pinnacle::Types::MessageSchedule.validate_raw(obj: obj.schedule)
77
- end
78
- end
79
- end
80
- end
81
- end
82
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "json"
4
- require_relative "../../../types/blast_details"
5
- require_relative "../../../types/scheduled_blast_details"
6
-
7
- module Pinnacle
8
- module Messages
9
- module Blast
10
- module Types
11
- class BlastMmsResponse
12
- # Deserialize a JSON object to an instance of BlastMmsResponse
13
- #
14
- # @param json_object [String]
15
- # @return [Pinnacle::Messages::Blast::Types::BlastMmsResponse]
16
- def self.from_json(json_object:)
17
- struct = JSON.parse(json_object, object_class: OpenStruct)
18
- begin
19
- Pinnacle::Types::BlastDetails.validate_raw(obj: struct)
20
- return Pinnacle::Types::BlastDetails.from_json(json_object: struct) unless struct.nil?
21
-
22
- return nil
23
- rescue StandardError
24
- # noop
25
- end
26
- begin
27
- Pinnacle::Types::ScheduledBlastDetails.validate_raw(obj: struct)
28
- return Pinnacle::Types::ScheduledBlastDetails.from_json(json_object: struct) unless struct.nil?
29
-
30
- return nil
31
- rescue StandardError
32
- # noop
33
- end
34
- struct
35
- end
36
-
37
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
38
- # hash and check each fields type against the current object's property
39
- # definitions.
40
- #
41
- # @param obj [Object]
42
- # @return [Void]
43
- def self.validate_raw(obj:)
44
- begin
45
- return Pinnacle::Types::BlastDetails.validate_raw(obj: obj)
46
- rescue StandardError
47
- # noop
48
- end
49
- begin
50
- return Pinnacle::Types::ScheduledBlastDetails.validate_raw(obj: obj)
51
- rescue StandardError
52
- # noop
53
- end
54
- raise("Passed value matched no type within the union, validation failed.")
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end