rcs 2.0.4 → 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 (819) 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 -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 -173
  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 -490
  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 -564
  477. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -146
  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 -419
  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 -193
  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 -330
  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 -99
  642. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -94
  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 -94
  645. data/lib/rcs/types/message_event_rcs_text_content.rb +0 -92
  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 -79
  725. data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -96
  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 -81
  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 -90
  739. data/lib/rcs/types/rich_cards.rb +0 -79
  740. data/lib/rcs/types/rich_cards_message.rb +0 -110
  741. data/lib/rcs/types/rich_media_message.rb +0 -110
  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 -72
  745. data/lib/rcs/types/rich_text_message.rb +0 -106
  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 -93
  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
@@ -1,216 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "types/send_mms_options"
5
- require_relative "types/mms_send_response"
6
- require_relative "../../types/mms_content"
7
- require_relative "../../types/mms_validation_result"
8
- require "async"
9
-
10
- module Pinnacle
11
- module Messages
12
- class MmsClient
13
- # @return [Pinnacle::RequestClient]
14
- attr_reader :request_client
15
-
16
- # @param request_client [Pinnacle::RequestClient]
17
- # @return [Pinnacle::Messages::MmsClient]
18
- def initialize(request_client:)
19
- @request_client = request_client
20
- end
21
-
22
- # Send a MMS immediately or schedule it for future delivery.
23
- #
24
- # @param from [String] Phone number you want to send the message from in E.164 format.
25
- # @param media_urls [Array<String>] Media file URLs to send.<br>
26
- # See [supported media
27
- # types](https://app.pinnacle.sh/supported-file-types?type=MMS).
28
- # @param options [Hash] Control how your MMS is processed and delivered.Request of type Pinnacle::Messages::Mms::Types::SendMmsOptions, as a Hash
29
- # * :multiple_messages (Boolean)
30
- # * :schedule (Hash)
31
- # * :send_at (String)
32
- # * :recurrence (String)
33
- # * :timezone (String)
34
- # * :end_date (String)
35
- # * :tracking (Pinnacle::Types::Tracking)
36
- # * :validate (Boolean)
37
- # @param text [String] Message text to accompany the media.
38
- # @param to [String] Recipient's phone number in E.164 format.
39
- # @param request_options [Pinnacle::RequestOptions]
40
- # @return [Pinnacle::Types::SentMmsDetails, Pinnacle::Types::ScheduledMessage]
41
- # @example
42
- # api = Pinnacle::Client.new(
43
- # base_url: "https://api.example.com",
44
- # environment: Pinnacle::Environment::DEFAULT,
45
- # api_key: "YOUR_API_KEY"
46
- # )
47
- # api.messages.mms.send_(
48
- # from: "+14155164736",
49
- # media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
50
- # options: { multiple_messages: true, validate: true },
51
- # text: "Check out this image!",
52
- # to: "+14154746461"
53
- # )
54
- def send_(from:, media_urls:, text:, to:, options: nil, request_options: nil)
55
- response = @request_client.conn.post do |req|
56
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
57
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
58
- req.headers = {
59
- **(req.headers || {}),
60
- **@request_client.get_headers,
61
- **(request_options&.additional_headers || {})
62
- }.compact
63
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
64
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
65
- end
66
- req.body = {
67
- **(request_options&.additional_body_parameters || {}),
68
- from: from,
69
- mediaUrls: media_urls,
70
- options: options,
71
- text: text,
72
- to: to
73
- }.compact
74
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/mms"
75
- end
76
- Pinnacle::Messages::Mms::Types::MmsSendResponse.from_json(json_object: response.body)
77
- end
78
-
79
- # Validate MMS message content without sending it.
80
- #
81
- # @param request [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
82
- # * :media_urls (Array<String>)
83
- # * :text (String)
84
- # @param request_options [Pinnacle::RequestOptions]
85
- # @return [Pinnacle::Types::MmsValidationResult]
86
- # @example
87
- # api = Pinnacle::Client.new(
88
- # base_url: "https://api.example.com",
89
- # environment: Pinnacle::Environment::DEFAULT,
90
- # api_key: "YOUR_API_KEY"
91
- # )
92
- # api.messages.mms.validate(request: { media_urls: ["https://upload.wikimedia.org/wikipedia/commons/b/b9/Pizigani_1367_Chart_1MB.jpg", "https://fastly.picsum.photos/id/528/1000/1000.jpg?hmac=aTG0xNif9KbNryFN0ZNZ_nFK6aEpZxqUGCZF1KjOT8w", "https://file-examples.com/storage/fefdd7ab126835e7993bb1a/2017/10/file_example_JPG_500kB.jpg"], text: "Check out these images!" })
93
- def validate(request:, request_options: nil)
94
- response = @request_client.conn.post do |req|
95
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
96
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
97
- req.headers = {
98
- **(req.headers || {}),
99
- **@request_client.get_headers,
100
- **(request_options&.additional_headers || {})
101
- }.compact
102
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
103
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
104
- end
105
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
106
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/mms"
107
- end
108
- Pinnacle::Types::MmsValidationResult.from_json(json_object: response.body)
109
- end
110
- end
111
-
112
- class AsyncMmsClient
113
- # @return [Pinnacle::AsyncRequestClient]
114
- attr_reader :request_client
115
-
116
- # @param request_client [Pinnacle::AsyncRequestClient]
117
- # @return [Pinnacle::Messages::AsyncMmsClient]
118
- def initialize(request_client:)
119
- @request_client = request_client
120
- end
121
-
122
- # Send a MMS immediately or schedule it for future delivery.
123
- #
124
- # @param from [String] Phone number you want to send the message from in E.164 format.
125
- # @param media_urls [Array<String>] Media file URLs to send.<br>
126
- # See [supported media
127
- # types](https://app.pinnacle.sh/supported-file-types?type=MMS).
128
- # @param options [Hash] Control how your MMS is processed and delivered.Request of type Pinnacle::Messages::Mms::Types::SendMmsOptions, as a Hash
129
- # * :multiple_messages (Boolean)
130
- # * :schedule (Hash)
131
- # * :send_at (String)
132
- # * :recurrence (String)
133
- # * :timezone (String)
134
- # * :end_date (String)
135
- # * :tracking (Pinnacle::Types::Tracking)
136
- # * :validate (Boolean)
137
- # @param text [String] Message text to accompany the media.
138
- # @param to [String] Recipient's phone number in E.164 format.
139
- # @param request_options [Pinnacle::RequestOptions]
140
- # @return [Pinnacle::Types::SentMmsDetails, Pinnacle::Types::ScheduledMessage]
141
- # @example
142
- # api = Pinnacle::Client.new(
143
- # base_url: "https://api.example.com",
144
- # environment: Pinnacle::Environment::DEFAULT,
145
- # api_key: "YOUR_API_KEY"
146
- # )
147
- # api.messages.mms.send_(
148
- # from: "+14155164736",
149
- # media_urls: ["https://fastly.picsum.photos/id/941/300/300.jpg?hmac=mDxM9PWSqRDjecwSCEpzU4bj35gqnG7yA25OL29uNv0"],
150
- # options: { multiple_messages: true, validate: true },
151
- # text: "Check out this image!",
152
- # to: "+14154746461"
153
- # )
154
- def send_(from:, media_urls:, text:, to:, options: nil, request_options: nil)
155
- Async do
156
- response = @request_client.conn.post do |req|
157
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
158
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
159
- req.headers = {
160
- **(req.headers || {}),
161
- **@request_client.get_headers,
162
- **(request_options&.additional_headers || {})
163
- }.compact
164
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
165
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
166
- end
167
- req.body = {
168
- **(request_options&.additional_body_parameters || {}),
169
- from: from,
170
- mediaUrls: media_urls,
171
- options: options,
172
- text: text,
173
- to: to
174
- }.compact
175
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/mms"
176
- end
177
- Pinnacle::Messages::Mms::Types::MmsSendResponse.from_json(json_object: response.body)
178
- end
179
- end
180
-
181
- # Validate MMS message content without sending it.
182
- #
183
- # @param request [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
184
- # * :media_urls (Array<String>)
185
- # * :text (String)
186
- # @param request_options [Pinnacle::RequestOptions]
187
- # @return [Pinnacle::Types::MmsValidationResult]
188
- # @example
189
- # api = Pinnacle::Client.new(
190
- # base_url: "https://api.example.com",
191
- # environment: Pinnacle::Environment::DEFAULT,
192
- # api_key: "YOUR_API_KEY"
193
- # )
194
- # api.messages.mms.validate(request: { media_urls: ["https://upload.wikimedia.org/wikipedia/commons/b/b9/Pizigani_1367_Chart_1MB.jpg", "https://fastly.picsum.photos/id/528/1000/1000.jpg?hmac=aTG0xNif9KbNryFN0ZNZ_nFK6aEpZxqUGCZF1KjOT8w", "https://file-examples.com/storage/fefdd7ab126835e7993bb1a/2017/10/file_example_JPG_500kB.jpg"], text: "Check out these images!" })
195
- def validate(request:, request_options: nil)
196
- Async do
197
- response = @request_client.conn.post do |req|
198
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
199
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
200
- req.headers = {
201
- **(req.headers || {}),
202
- **@request_client.get_headers,
203
- **(request_options&.additional_headers || {})
204
- }.compact
205
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
206
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
207
- end
208
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
209
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/mms"
210
- end
211
- Pinnacle::Types::MmsValidationResult.from_json(json_object: response.body)
212
- end
213
- end
214
- end
215
- end
216
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "json"
4
- require_relative "../../../types/sent_mms_details"
5
- require_relative "../../../types/scheduled_message"
6
-
7
- module Pinnacle
8
- module Messages
9
- module Mms
10
- module Types
11
- class MmsSendResponse
12
- # Deserialize a JSON object to an instance of MmsSendResponse
13
- #
14
- # @param json_object [String]
15
- # @return [Pinnacle::Messages::Mms::Types::MmsSendResponse]
16
- def self.from_json(json_object:)
17
- struct = JSON.parse(json_object, object_class: OpenStruct)
18
- begin
19
- Pinnacle::Types::SentMmsDetails.validate_raw(obj: struct)
20
- return Pinnacle::Types::SentMmsDetails.from_json(json_object: struct) unless struct.nil?
21
-
22
- return nil
23
- rescue StandardError
24
- # noop
25
- end
26
- begin
27
- Pinnacle::Types::ScheduledMessage.validate_raw(obj: struct)
28
- return Pinnacle::Types::ScheduledMessage.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::SentMmsDetails.validate_raw(obj: obj)
46
- rescue StandardError
47
- # noop
48
- end
49
- begin
50
- return Pinnacle::Types::ScheduledMessage.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
@@ -1,108 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../types/message_schedule"
4
- require_relative "../../../types/tracking"
5
- require "ostruct"
6
- require "json"
7
-
8
- module Pinnacle
9
- module Messages
10
- module Mms
11
- module Types
12
- # Control how your MMS is processed and delivered.
13
- class SendMmsOptions
14
- # @return [Boolean] Allow splitting large content into multiple MMS messages if size limits are
15
- # exceeded. <br>
16
- # If `false`, MMS over the limit will throw an error and won't be sent.
17
- attr_reader :multiple_messages
18
- # @return [Pinnacle::Types::MessageSchedule]
19
- attr_reader :schedule
20
- # @return [Pinnacle::Types::Tracking]
21
- attr_reader :tracking
22
- # @return [Boolean] Set to true to check this message and throw an error when validation fails. <br>
23
- # If errors occur, the message is not sent. Otherwise message is sent after
24
- # validation.
25
- attr_reader :validate
26
- # @return [OpenStruct] Additional properties unmapped to the current class definition
27
- attr_reader :additional_properties
28
- # @return [Object]
29
- attr_reader :_field_set
30
- protected :_field_set
31
-
32
- OMIT = Object.new
33
-
34
- # @param multiple_messages [Boolean] Allow splitting large content into multiple MMS messages if size limits are
35
- # exceeded. <br>
36
- # If `false`, MMS over the limit will throw an error and won't be sent.
37
- # @param schedule [Pinnacle::Types::MessageSchedule]
38
- # @param tracking [Pinnacle::Types::Tracking]
39
- # @param validate [Boolean] Set to true to check this message and throw an error when validation fails. <br>
40
- # If errors occur, the message is not sent. Otherwise message is sent after
41
- # validation.
42
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
43
- # @return [Pinnacle::Messages::Mms::Types::SendMmsOptions]
44
- def initialize(multiple_messages:, validate:, schedule: OMIT, tracking: OMIT, additional_properties: nil)
45
- @multiple_messages = multiple_messages
46
- @schedule = schedule if schedule != OMIT
47
- @tracking = tracking if tracking != OMIT
48
- @validate = validate
49
- @additional_properties = additional_properties
50
- @_field_set = {
51
- "multiple_messages": multiple_messages,
52
- "schedule": schedule,
53
- "tracking": tracking,
54
- "validate": validate
55
- }.reject do |_k, v|
56
- v == OMIT
57
- end
58
- end
59
-
60
- # Deserialize a JSON object to an instance of SendMmsOptions
61
- #
62
- # @param json_object [String]
63
- # @return [Pinnacle::Messages::Mms::Types::SendMmsOptions]
64
- def self.from_json(json_object:)
65
- struct = JSON.parse(json_object, object_class: OpenStruct)
66
- parsed_json = JSON.parse(json_object)
67
- multiple_messages = parsed_json["multiple_messages"]
68
- if parsed_json["schedule"].nil?
69
- schedule = nil
70
- else
71
- schedule = parsed_json["schedule"].to_json
72
- schedule = Pinnacle::Types::MessageSchedule.from_json(json_object: schedule)
73
- end
74
- tracking = parsed_json["tracking"]
75
- validate = parsed_json["validate"]
76
- new(
77
- multiple_messages: multiple_messages,
78
- schedule: schedule,
79
- tracking: tracking,
80
- validate: validate,
81
- additional_properties: struct
82
- )
83
- end
84
-
85
- # Serialize an instance of SendMmsOptions to a JSON object
86
- #
87
- # @return [String]
88
- def to_json(*_args)
89
- @_field_set&.to_json
90
- end
91
-
92
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
93
- # hash and check each fields type against the current object's property
94
- # definitions.
95
- #
96
- # @param obj [Object]
97
- # @return [Void]
98
- def self.validate_raw(obj:)
99
- obj.multiple_messages.is_a?(Boolean) != false || raise("Passed value for field obj.multiple_messages is not the expected type, validation failed.")
100
- obj.schedule.nil? || Pinnacle::Types::MessageSchedule.validate_raw(obj: obj.schedule)
101
- obj.tracking&.is_a?(Pinnacle::Types::Tracking) != false || raise("Passed value for field obj.tracking is not the expected type, validation failed.")
102
- obj.validate.is_a?(Boolean) != false || raise("Passed value for field obj.validate is not the expected type, validation failed.")
103
- end
104
- end
105
- end
106
- end
107
- end
108
- end
@@ -1,286 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "../../types/rich_message"
5
- require_relative "types/send_rich_message_response"
6
- require_relative "types/send_typing_indicator_schema_options"
7
- require_relative "../../types/send_typing_indicator_response"
8
- require_relative "../../types/rcs_validate_content"
9
- require_relative "../../types/rcs_validation_result"
10
- require "async"
11
-
12
- module Pinnacle
13
- module Messages
14
- class RcsClient
15
- # @return [Pinnacle::RequestClient]
16
- attr_reader :request_client
17
-
18
- # @param request_client [Pinnacle::RequestClient]
19
- # @return [Pinnacle::Messages::RcsClient]
20
- def initialize(request_client:)
21
- @request_client = request_client
22
- end
23
-
24
- # Send a RCS message immediately or schedule it for future delivery. <br>
25
- # Requires an active RCS agent and recipient devices that support RCS Business
26
- # Messaging.
27
- #
28
- # @param request [Pinnacle::Types::RichTextMessage, Pinnacle::Types::RichMediaMessage, Pinnacle::Types::RichCardsMessage]
29
- # @param request_options [Pinnacle::RequestOptions]
30
- # @return [Pinnacle::Types::SentRichMessage, Pinnacle::Types::ScheduledMessage]
31
- # @example
32
- # api = Pinnacle::Client.new(
33
- # base_url: "https://api.example.com",
34
- # environment: Pinnacle::Environment::DEFAULT,
35
- # api_key: "YOUR_API_KEY"
36
- # )
37
- # api.messages.rcs.send_(request: { quick_replies: , text: "text", from: "from", to: "to" })
38
- def send_(request:, request_options: nil)
39
- response = @request_client.conn.post do |req|
40
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
41
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
42
- req.headers = {
43
- **(req.headers || {}),
44
- **@request_client.get_headers,
45
- **(request_options&.additional_headers || {})
46
- }.compact
47
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
48
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
49
- end
50
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
51
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/rcs"
52
- end
53
- Pinnacle::Messages::Rcs::Types::SendRichMessageResponse.from_json(json_object: response.body)
54
- end
55
-
56
- # Send a typing indicator from an RCS agent to a recipient.
57
- # This endpoint allows RCS agents to display a typing indicator to recipients. The
58
- # indicator is a message bubble with animated typing dots like this: <img
59
- # le.app/storage/v1/object/public/pinnacle-public-assets/ios-typing-indicator.png"
60
- # alt="Typing Indicator" style="display: inline; height: 1.5em; vertical-align:
61
- # middle; margin: 0 4px;" />
62
- # **Use Case:** Typing indicators are especially useful for providing feedback to
63
- # users while the agent is thinking or generating a response that may take some
64
- # time, creating a more engaging conversational experience.
65
- # **Expiration:** Typing indicators automatically expire after around 20 seconds
66
- # or when the agent sends a message, whichever comes first.
67
- # **Frequency:** You can send typing indicators as many times as needed, though
68
- # only one will be displayed at a time. Sending multiple typing indicators will
69
- # extend the duration of the current indicator.
70
- # > **Note:** Typing indicators are best-effort hints, not delivery-guaranteed
71
- # state. The platform is allowed to coalesce or drop them, and the client UI
72
- # decides when to show/hide.
73
- #
74
- # @param agent_id [String] The unique identifier of the RCS agent sending the typing indicator. <br>
75
- # Format: `agent_` followed by alphanumeric characters (e.g., `agent_pinnacle`).
76
- # @param to [String] The recipient's phone number in E.164 format. <br>
77
- # Must include country code with a leading plus sign (e.g., `+14155551234`).
78
- # @param options [Hash] Configure how your typing indicator is sent.Request of type Pinnacle::Messages::Rcs::Types::SendTypingIndicatorSchemaOptions, as a Hash
79
- # * :test_mode (Boolean)
80
- # @param request_options [Pinnacle::RequestOptions]
81
- # @return [Pinnacle::Types::SendTypingIndicatorResponse]
82
- # @example
83
- # api = Pinnacle::Client.new(
84
- # base_url: "https://api.example.com",
85
- # environment: Pinnacle::Environment::DEFAULT,
86
- # api_key: "YOUR_API_KEY"
87
- # )
88
- # api.messages.rcs.send_typing(
89
- # agent_id: "agent_pinnacle",
90
- # to: "+14154746461",
91
- # options: { test_mode: false }
92
- # )
93
- def send_typing(agent_id:, to:, options: nil, request_options: nil)
94
- response = @request_client.conn.post do |req|
95
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
96
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
97
- req.headers = {
98
- **(req.headers || {}),
99
- **@request_client.get_headers,
100
- **(request_options&.additional_headers || {})
101
- }.compact
102
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
103
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
104
- end
105
- req.body = {
106
- **(request_options&.additional_body_parameters || {}),
107
- agentId: agent_id,
108
- to: to,
109
- options: options
110
- }.compact
111
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/typing"
112
- end
113
- Pinnacle::Types::SendTypingIndicatorResponse.from_json(json_object: response.body)
114
- end
115
-
116
- # Validate RCS message content without sending it.
117
- #
118
- # @param request [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
119
- # @param request_options [Pinnacle::RequestOptions]
120
- # @return [Pinnacle::Types::RcsValidationResult]
121
- # @example
122
- # api = Pinnacle::Client.new(
123
- # base_url: "https://api.example.com",
124
- # environment: Pinnacle::Environment::DEFAULT,
125
- # api_key: "YOUR_API_KEY"
126
- # )
127
- # api.messages.rcs.validate(request: { quick_replies: , text: "text" })
128
- def validate(request:, request_options: nil)
129
- response = @request_client.conn.post do |req|
130
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
131
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
132
- req.headers = {
133
- **(req.headers || {}),
134
- **@request_client.get_headers,
135
- **(request_options&.additional_headers || {})
136
- }.compact
137
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
138
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
139
- end
140
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
141
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/rcs"
142
- end
143
- Pinnacle::Types::RcsValidationResult.from_json(json_object: response.body)
144
- end
145
- end
146
-
147
- class AsyncRcsClient
148
- # @return [Pinnacle::AsyncRequestClient]
149
- attr_reader :request_client
150
-
151
- # @param request_client [Pinnacle::AsyncRequestClient]
152
- # @return [Pinnacle::Messages::AsyncRcsClient]
153
- def initialize(request_client:)
154
- @request_client = request_client
155
- end
156
-
157
- # Send a RCS message immediately or schedule it for future delivery. <br>
158
- # Requires an active RCS agent and recipient devices that support RCS Business
159
- # Messaging.
160
- #
161
- # @param request [Pinnacle::Types::RichTextMessage, Pinnacle::Types::RichMediaMessage, Pinnacle::Types::RichCardsMessage]
162
- # @param request_options [Pinnacle::RequestOptions]
163
- # @return [Pinnacle::Types::SentRichMessage, Pinnacle::Types::ScheduledMessage]
164
- # @example
165
- # api = Pinnacle::Client.new(
166
- # base_url: "https://api.example.com",
167
- # environment: Pinnacle::Environment::DEFAULT,
168
- # api_key: "YOUR_API_KEY"
169
- # )
170
- # api.messages.rcs.send_(request: { quick_replies: , text: "text", from: "from", to: "to" })
171
- def send_(request:, request_options: nil)
172
- Async do
173
- response = @request_client.conn.post do |req|
174
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
175
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
176
- req.headers = {
177
- **(req.headers || {}),
178
- **@request_client.get_headers,
179
- **(request_options&.additional_headers || {})
180
- }.compact
181
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
182
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
183
- end
184
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
185
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/send/rcs"
186
- end
187
- Pinnacle::Messages::Rcs::Types::SendRichMessageResponse.from_json(json_object: response.body)
188
- end
189
- end
190
-
191
- # Send a typing indicator from an RCS agent to a recipient.
192
- # This endpoint allows RCS agents to display a typing indicator to recipients. The
193
- # indicator is a message bubble with animated typing dots like this: <img
194
- # le.app/storage/v1/object/public/pinnacle-public-assets/ios-typing-indicator.png"
195
- # alt="Typing Indicator" style="display: inline; height: 1.5em; vertical-align:
196
- # middle; margin: 0 4px;" />
197
- # **Use Case:** Typing indicators are especially useful for providing feedback to
198
- # users while the agent is thinking or generating a response that may take some
199
- # time, creating a more engaging conversational experience.
200
- # **Expiration:** Typing indicators automatically expire after around 20 seconds
201
- # or when the agent sends a message, whichever comes first.
202
- # **Frequency:** You can send typing indicators as many times as needed, though
203
- # only one will be displayed at a time. Sending multiple typing indicators will
204
- # extend the duration of the current indicator.
205
- # > **Note:** Typing indicators are best-effort hints, not delivery-guaranteed
206
- # state. The platform is allowed to coalesce or drop them, and the client UI
207
- # decides when to show/hide.
208
- #
209
- # @param agent_id [String] The unique identifier of the RCS agent sending the typing indicator. <br>
210
- # Format: `agent_` followed by alphanumeric characters (e.g., `agent_pinnacle`).
211
- # @param to [String] The recipient's phone number in E.164 format. <br>
212
- # Must include country code with a leading plus sign (e.g., `+14155551234`).
213
- # @param options [Hash] Configure how your typing indicator is sent.Request of type Pinnacle::Messages::Rcs::Types::SendTypingIndicatorSchemaOptions, as a Hash
214
- # * :test_mode (Boolean)
215
- # @param request_options [Pinnacle::RequestOptions]
216
- # @return [Pinnacle::Types::SendTypingIndicatorResponse]
217
- # @example
218
- # api = Pinnacle::Client.new(
219
- # base_url: "https://api.example.com",
220
- # environment: Pinnacle::Environment::DEFAULT,
221
- # api_key: "YOUR_API_KEY"
222
- # )
223
- # api.messages.rcs.send_typing(
224
- # agent_id: "agent_pinnacle",
225
- # to: "+14154746461",
226
- # options: { test_mode: false }
227
- # )
228
- def send_typing(agent_id:, to:, options: nil, request_options: nil)
229
- Async do
230
- response = @request_client.conn.post do |req|
231
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
232
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
233
- req.headers = {
234
- **(req.headers || {}),
235
- **@request_client.get_headers,
236
- **(request_options&.additional_headers || {})
237
- }.compact
238
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
239
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
240
- end
241
- req.body = {
242
- **(request_options&.additional_body_parameters || {}),
243
- agentId: agent_id,
244
- to: to,
245
- options: options
246
- }.compact
247
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/typing"
248
- end
249
- Pinnacle::Types::SendTypingIndicatorResponse.from_json(json_object: response.body)
250
- end
251
- end
252
-
253
- # Validate RCS message content without sending it.
254
- #
255
- # @param request [Pinnacle::Types::RichText, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RichCards]
256
- # @param request_options [Pinnacle::RequestOptions]
257
- # @return [Pinnacle::Types::RcsValidationResult]
258
- # @example
259
- # api = Pinnacle::Client.new(
260
- # base_url: "https://api.example.com",
261
- # environment: Pinnacle::Environment::DEFAULT,
262
- # api_key: "YOUR_API_KEY"
263
- # )
264
- # api.messages.rcs.validate(request: { quick_replies: , text: "text" })
265
- def validate(request:, request_options: nil)
266
- Async do
267
- response = @request_client.conn.post do |req|
268
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
269
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
270
- req.headers = {
271
- **(req.headers || {}),
272
- **@request_client.get_headers,
273
- **(request_options&.additional_headers || {})
274
- }.compact
275
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
276
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
277
- end
278
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
279
- req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/rcs"
280
- end
281
- Pinnacle::Types::RcsValidationResult.from_json(json_object: response.body)
282
- end
283
- end
284
- end
285
- end
286
- end