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
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
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
+ # Send an SMS message to all contacts in an audience. <br>
15
+ #
16
+ # Messages are distributed evenly across the provided sender phone numbers. <br>
17
+ #
18
+ # Use the optional `schedule` parameter in `options` to schedule the blast for future delivery. When scheduled,
19
+ # the response will contain a `scheduleId` instead of blast details.
20
+ #
21
+ # @param request_options [Hash]
22
+ # @param params [Pinnacle::Messages::Blast::Types::BlastSms]
23
+ # @option request_options [String] :base_url
24
+ # @option request_options [Hash{String => Object}] :additional_headers
25
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
26
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
27
+ # @option request_options [Integer] :timeout_in_seconds
28
+ #
29
+ # @return [Pinnacle::Messages::Blast::Types::BlastSmsResponse]
30
+ def sms(request_options: {}, **params)
31
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
32
+ body_prop_names = %i[audience_id senders message options]
33
+ body_bag = params.slice(*body_prop_names)
34
+
35
+ request = Pinnacle::Internal::JSON::Request.new(
36
+ base_url: request_options[:base_url],
37
+ method: "POST",
38
+ path: "messages/blast/sms",
39
+ body: Pinnacle::Messages::Blast::Types::BlastSms.new(body_bag).to_h,
40
+ request_options: request_options
41
+ )
42
+ begin
43
+ response = @client.send(request)
44
+ rescue Net::HTTPRequestTimeout
45
+ raise Pinnacle::Errors::TimeoutError
46
+ end
47
+ code = response.code.to_i
48
+ if code.between?(200, 299)
49
+ Pinnacle::Messages::Blast::Types::BlastSmsResponse.load(response.body)
50
+ else
51
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
52
+ raise error_class.new(response.body, code: code)
53
+ end
54
+ end
55
+
56
+ # Send an MMS message to all contacts in an audience. <br>
57
+ #
58
+ # Messages are distributed evenly across the provided sender phone numbers. <br>
59
+ #
60
+ # Use the optional `schedule` parameter in `options` to schedule the blast for future delivery. When scheduled,
61
+ # the response will contain a `scheduleId` instead of blast details.
62
+ #
63
+ # @param request_options [Hash]
64
+ # @param params [Pinnacle::Messages::Blast::Types::BlastMms]
65
+ # @option request_options [String] :base_url
66
+ # @option request_options [Hash{String => Object}] :additional_headers
67
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
68
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
69
+ # @option request_options [Integer] :timeout_in_seconds
70
+ #
71
+ # @return [Pinnacle::Messages::Blast::Types::BlastMmsResponse]
72
+ def mms(request_options: {}, **params)
73
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
74
+ body_prop_names = %i[audience_id senders message options]
75
+ body_bag = params.slice(*body_prop_names)
76
+
77
+ request = Pinnacle::Internal::JSON::Request.new(
78
+ base_url: request_options[:base_url],
79
+ method: "POST",
80
+ path: "messages/blast/mms",
81
+ body: Pinnacle::Messages::Blast::Types::BlastMms.new(body_bag).to_h,
82
+ request_options: request_options
83
+ )
84
+ begin
85
+ response = @client.send(request)
86
+ rescue Net::HTTPRequestTimeout
87
+ raise Pinnacle::Errors::TimeoutError
88
+ end
89
+ code = response.code.to_i
90
+ if code.between?(200, 299)
91
+ Pinnacle::Messages::Blast::Types::BlastMmsResponse.load(response.body)
92
+ else
93
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
94
+ raise error_class.new(response.body, code: code)
95
+ end
96
+ end
97
+
98
+ # Send an RCS message to all contacts in an audience. <br>
99
+ #
100
+ # Messages are distributed evenly across the provided RCS agents for load balancing. Requires active RCS agents
101
+ # and recipient devices that support RCS Business Messaging. <br>
102
+ #
103
+ # Use the optional `schedule` parameter in `options` to schedule the blast for future delivery. When scheduled,
104
+ # the response will contain a `scheduleId` instead of blast details.
105
+ #
106
+ # @param request_options [Hash]
107
+ # @param params [Pinnacle::Messages::Blast::Types::BlastRcs]
108
+ # @option request_options [String] :base_url
109
+ # @option request_options [Hash{String => Object}] :additional_headers
110
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
111
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
112
+ # @option request_options [Integer] :timeout_in_seconds
113
+ #
114
+ # @return [Pinnacle::Messages::Blast::Types::BlastRcsResponse]
115
+ def rcs(request_options: {}, **params)
116
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
117
+ body_prop_names = %i[audience_id senders message options]
118
+ body_bag = params.slice(*body_prop_names)
119
+
120
+ request = Pinnacle::Internal::JSON::Request.new(
121
+ base_url: request_options[:base_url],
122
+ method: "POST",
123
+ path: "messages/blast/rcs",
124
+ body: Pinnacle::Messages::Blast::Types::BlastRcs.new(body_bag).to_h,
125
+ request_options: request_options
126
+ )
127
+ begin
128
+ response = @client.send(request)
129
+ rescue Net::HTTPRequestTimeout
130
+ raise Pinnacle::Errors::TimeoutError
131
+ end
132
+ code = response.code.to_i
133
+ if code.between?(200, 299)
134
+ Pinnacle::Messages::Blast::Types::BlastRcsResponse.load(response.body)
135
+ else
136
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
137
+ raise error_class.new(response.body, code: code)
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastMms < Internal::Types::Model
8
+ field :audience_id, -> { String }, optional: false, nullable: false, api_name: "audienceId"
9
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ field :message, -> { Pinnacle::Types::MmsContent }, optional: false, nullable: false
11
+ field :options, -> { Pinnacle::Messages::Blast::Types::BlastMmsOptions }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ # Additional settings to customize MMS blast delivery.
8
+ class BlastMmsOptions < Internal::Types::Model
9
+ field :validate, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
+ field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastMmsResponse < Internal::Types::Model
8
+ extend Pinnacle::Internal::Types::Union
9
+
10
+ member -> { Pinnacle::Types::BlastDetails }
11
+ member -> { Pinnacle::Types::ScheduledBlastDetails }
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastRcs < Internal::Types::Model
8
+ field :audience_id, -> { String }, optional: false, nullable: false, api_name: "audienceId"
9
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ field :message, -> { Pinnacle::Types::RcsValidateContent }, optional: false, nullable: false
11
+ field :options, -> { Pinnacle::Messages::Blast::Types::BlastRcsOptions }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ # Configure how your RCS blast is sent and tracked.
8
+ class BlastRcsOptions < Internal::Types::Model
9
+ field :transcode, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
+ field :validate, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
+ field :standalone_card, -> { Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCard }, optional: true, nullable: false
12
+ field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ # Configure standalone card layout options for enhanced visual presentation.
8
+ #
9
+ # > **⚠️ Important Restriction**
10
+ # >
11
+ # > This option is **only valid for single card messages**. Using it with multiple cards will cause the request
12
+ # to fail with a validation error.
13
+ class BlastRcsRequestOptionsStandaloneCard < Internal::Types::Model
14
+ field :orientation, -> { Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardOrientation }, optional: true, nullable: false
15
+ field :image_alignment, -> { Pinnacle::Messages::Blast::Types::BlastRcsRequestOptionsStandaloneCardImageAlignment }, optional: true, nullable: false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ module BlastRcsRequestOptionsStandaloneCardImageAlignment
8
+ extend Pinnacle::Internal::Types::Enum
9
+
10
+ LEFT = "LEFT"
11
+ RIGHT = "RIGHT"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ module BlastRcsRequestOptionsStandaloneCardOrientation
8
+ extend Pinnacle::Internal::Types::Enum
9
+
10
+ HORIZONTAL = "HORIZONTAL"
11
+ VERTICAL = "VERTICAL"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastRcsResponse < Internal::Types::Model
8
+ extend Pinnacle::Internal::Types::Union
9
+
10
+ member -> { Pinnacle::Types::BlastDetails }
11
+ member -> { Pinnacle::Types::ScheduledBlastDetails }
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastSms < Internal::Types::Model
8
+ field :audience_id, -> { String }, optional: false, nullable: false, api_name: "audienceId"
9
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ field :message, -> { Pinnacle::Types::SmsContent }, optional: false, nullable: false
11
+ field :options, -> { Pinnacle::Messages::Blast::Types::BlastSmsOptions }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ # Additional settings to customize SMS blast delivery.
8
+ class BlastSmsOptions < Internal::Types::Model
9
+ field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Blast
6
+ module Types
7
+ class BlastSmsResponse < Internal::Types::Model
8
+ extend Pinnacle::Internal::Types::Union
9
+
10
+ member -> { Pinnacle::Types::BlastDetails }
11
+ member -> { Pinnacle::Types::ScheduledBlastDetails }
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
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 a previously sent message.
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
+ #
24
+ # @return [Pinnacle::Types::Message]
25
+ def get(request_options: {}, **params)
26
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
27
+ request = Pinnacle::Internal::JSON::Request.new(
28
+ base_url: request_options[:base_url],
29
+ method: "GET",
30
+ path: "messages/#{params[:id]}",
31
+ request_options: request_options
32
+ )
33
+ begin
34
+ response = @client.send(request)
35
+ rescue Net::HTTPRequestTimeout
36
+ raise Pinnacle::Errors::TimeoutError
37
+ end
38
+ code = response.code.to_i
39
+ if code.between?(200, 299)
40
+ Pinnacle::Types::Message.load(response.body)
41
+ else
42
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
43
+ raise error_class.new(response.body, code: code)
44
+ end
45
+ end
46
+
47
+ # Add or remove an emoji reaction to a previously sent message.
48
+ #
49
+ # @param request_options [Hash]
50
+ # @param params [Pinnacle::Messages::Types::ReactMessageParams]
51
+ # @option request_options [String] :base_url
52
+ # @option request_options [Hash{String => Object}] :additional_headers
53
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
54
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
55
+ # @option request_options [Integer] :timeout_in_seconds
56
+ #
57
+ # @return [Pinnacle::Types::ReactionResult]
58
+ def react(request_options: {}, **params)
59
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
60
+ body_prop_names = %i[message_id options reaction]
61
+ body_bag = params.slice(*body_prop_names)
62
+
63
+ request = Pinnacle::Internal::JSON::Request.new(
64
+ base_url: request_options[:base_url],
65
+ method: "POST",
66
+ path: "messages/react",
67
+ body: Pinnacle::Messages::Types::ReactMessageParams.new(body_bag).to_h,
68
+ request_options: request_options
69
+ )
70
+ begin
71
+ response = @client.send(request)
72
+ rescue Net::HTTPRequestTimeout
73
+ raise Pinnacle::Errors::TimeoutError
74
+ end
75
+ code = response.code.to_i
76
+ if code.between?(200, 299)
77
+ Pinnacle::Types::ReactionResult.load(response.body)
78
+ else
79
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
80
+ raise error_class.new(response.body, code: code)
81
+ end
82
+ end
83
+
84
+ # @return [Pinnacle::Sms::Client]
85
+ def sms
86
+ @sms ||= Pinnacle::Messages::Sms::Client.new(client: @client)
87
+ end
88
+
89
+ # @return [Pinnacle::Mms::Client]
90
+ def mms
91
+ @mms ||= Pinnacle::Messages::Mms::Client.new(client: @client)
92
+ end
93
+
94
+ # @return [Pinnacle::Rcs::Client]
95
+ def rcs
96
+ @rcs ||= Pinnacle::Messages::Rcs::Client.new(client: @client)
97
+ end
98
+
99
+ # @return [Pinnacle::Blast::Client]
100
+ def blast
101
+ @blast ||= Pinnacle::Messages::Blast::Client.new(client: @client)
102
+ end
103
+
104
+ # @return [Pinnacle::Schedule::Client]
105
+ def schedule
106
+ @schedule ||= Pinnacle::Messages::Schedule::Client.new(client: @client)
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Mms
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
+ # Send a MMS immediately or schedule it for future delivery.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Pinnacle::Messages::Mms::Types::Mms]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @return [Pinnacle::Messages::Mms::Types::MmsSendResponse]
25
+ def send_(request_options: {}, **params)
26
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
27
+ body_prop_names = %i[from media_urls options text to]
28
+ body_bag = params.slice(*body_prop_names)
29
+
30
+ request = Pinnacle::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "POST",
33
+ path: "messages/send/mms",
34
+ body: Pinnacle::Messages::Mms::Types::Mms.new(body_bag).to_h,
35
+ request_options: request_options
36
+ )
37
+ begin
38
+ response = @client.send(request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Pinnacle::Errors::TimeoutError
41
+ end
42
+ code = response.code.to_i
43
+ if code.between?(200, 299)
44
+ Pinnacle::Messages::Mms::Types::MmsSendResponse.load(response.body)
45
+ else
46
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(response.body, code: code)
48
+ end
49
+ end
50
+
51
+ # Validate MMS message content without sending it.
52
+ #
53
+ # @param request_options [Hash]
54
+ # @param params [Pinnacle::Types::MmsContent]
55
+ # @option request_options [String] :base_url
56
+ # @option request_options [Hash{String => Object}] :additional_headers
57
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
58
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
59
+ # @option request_options [Integer] :timeout_in_seconds
60
+ #
61
+ # @return [Pinnacle::Types::MmsValidationResult]
62
+ def validate(request_options: {}, **params)
63
+ params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
64
+ request = Pinnacle::Internal::JSON::Request.new(
65
+ base_url: request_options[:base_url],
66
+ method: "POST",
67
+ path: "messages/validate/mms",
68
+ body: Pinnacle::Types::MmsContent.new(params).to_h,
69
+ request_options: request_options
70
+ )
71
+ begin
72
+ response = @client.send(request)
73
+ rescue Net::HTTPRequestTimeout
74
+ raise Pinnacle::Errors::TimeoutError
75
+ end
76
+ code = response.code.to_i
77
+ if code.between?(200, 299)
78
+ Pinnacle::Types::MmsValidationResult.load(response.body)
79
+ else
80
+ error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
81
+ raise error_class.new(response.body, code: code)
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Mms
6
+ module Types
7
+ class Mms < Internal::Types::Model
8
+ field :from, -> { String }, optional: false, nullable: false
9
+ field :media_urls, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "mediaUrls"
10
+ field :options, -> { Pinnacle::Messages::Mms::Types::SendMmsOptions }, optional: true, nullable: false
11
+ field :text, -> { String }, optional: false, nullable: false
12
+ field :to, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Mms
6
+ module Types
7
+ class MmsSendResponse < Internal::Types::Model
8
+ extend Pinnacle::Internal::Types::Union
9
+
10
+ member -> { Pinnacle::Types::SentMmsDetails }
11
+ member -> { Pinnacle::Types::ScheduledMessage }
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Messages
5
+ module Mms
6
+ module Types
7
+ # Control how your MMS is processed and delivered.
8
+ class SendMmsOptions < Internal::Types::Model
9
+ field :multiple_messages, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
11
+ field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
12
+ field :validate, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end