rcs 2.0.5 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +11 -0
  3. data/.fernignore +10 -0
  4. data/.rubocop.yml +63 -0
  5. data/README.md +121 -0
  6. data/Rakefile +28 -0
  7. data/custom.gemspec.rb +13 -0
  8. data/lib/pinnacle/audiences/client.rb +183 -0
  9. data/lib/pinnacle/audiences/contacts/client.rb +97 -0
  10. data/lib/pinnacle/audiences/contacts/types/add_contacts_params.rb +14 -0
  11. data/lib/pinnacle/audiences/contacts/types/remove_contacts_params.rb +14 -0
  12. data/lib/pinnacle/audiences/types/audiences_delete_request.rb +11 -0
  13. data/lib/pinnacle/audiences/types/audiences_get_request.rb +13 -0
  14. data/lib/pinnacle/audiences/types/audiences_get_response.rb +14 -0
  15. data/lib/pinnacle/audiences/types/create_audience_params.rb +13 -0
  16. data/lib/pinnacle/audiences/types/update_audience_params.rb +13 -0
  17. data/lib/pinnacle/brands/client.rb +245 -0
  18. data/lib/pinnacle/brands/types/autofill_brand_options.rb +11 -0
  19. data/lib/pinnacle/brands/types/autofill_brand_params.rb +14 -0
  20. data/lib/pinnacle/brands/types/brands_get_request.rb +12 -0
  21. data/lib/pinnacle/brands/types/upsert_brand_params.rb +22 -0
  22. data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +15 -0
  23. data/lib/pinnacle/brands/types/upsert_brand_schema_entity_type.rb +17 -0
  24. data/lib/pinnacle/brands/types/upsert_brand_schema_sector.rb +29 -0
  25. data/lib/pinnacle/brands/types/upsert_brand_schema_type.rb +17 -0
  26. data/lib/pinnacle/brands/types/vet_brand_params.rb +14 -0
  27. data/lib/pinnacle/campaigns/client.rb +29 -0
  28. data/lib/pinnacle/campaigns/dlc/client.rb +201 -0
  29. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +15 -0
  30. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +16 -0
  31. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +15 -0
  32. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +15 -0
  33. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +15 -0
  34. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +19 -0
  35. data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +15 -0
  36. data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +23 -0
  37. data/lib/pinnacle/campaigns/rcs/client.rb +199 -0
  38. data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +21 -0
  39. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +14 -0
  40. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +14 -0
  41. data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +14 -0
  42. data/lib/pinnacle/campaigns/rcs/types/rcs_autofill_response.rb +13 -0
  43. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +14 -0
  44. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +15 -0
  45. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +14 -0
  46. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +14 -0
  47. data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +14 -0
  48. data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +15 -0
  49. data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +15 -0
  50. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +28 -0
  51. data/lib/pinnacle/campaigns/toll_free/client.rb +201 -0
  52. data/lib/pinnacle/campaigns/toll_free/types/toll_free_autofill_response.rb +13 -0
  53. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +14 -0
  54. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +15 -0
  55. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +15 -0
  56. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +16 -0
  57. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +15 -0
  58. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_options.rb +14 -0
  59. data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +15 -0
  60. data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +22 -0
  61. data/lib/pinnacle/client.rb +75 -0
  62. data/lib/pinnacle/contacts/client.rb +130 -0
  63. data/lib/pinnacle/contacts/types/contacts_get_request.rb +12 -0
  64. data/lib/pinnacle/contacts/types/create_contact_params.rb +15 -0
  65. data/lib/pinnacle/contacts/types/update_contact_params.rb +15 -0
  66. data/lib/pinnacle/conversations/client.rb +175 -0
  67. data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +19 -0
  68. data/lib/pinnacle/conversations/types/conversations_list_messages_request_direction.rb +14 -0
  69. data/lib/pinnacle/conversations/types/conversations_list_messages_request_sort_order.rb +14 -0
  70. data/lib/pinnacle/conversations/types/conversations_list_messages_request_status.rb +19 -0
  71. data/lib/pinnacle/conversations/types/conversations_list_messages_request_type.rb +15 -0
  72. data/lib/pinnacle/conversations/types/list_conversations_params.rb +17 -0
  73. data/lib/pinnacle/conversations/types/update_conversation_params.rb +12 -0
  74. data/lib/pinnacle/errors/api_error.rb +8 -0
  75. data/lib/pinnacle/errors/client_error.rb +17 -0
  76. data/lib/pinnacle/errors/redirect_error.rb +8 -0
  77. data/lib/pinnacle/errors/response_error.rb +42 -0
  78. data/lib/pinnacle/errors/server_error.rb +11 -0
  79. data/lib/pinnacle/errors/timeout_error.rb +8 -0
  80. data/lib/pinnacle/internal/errors/constraint_error.rb +10 -0
  81. data/lib/pinnacle/internal/errors/type_error.rb +10 -0
  82. data/lib/pinnacle/internal/http/base_request.rb +31 -0
  83. data/lib/pinnacle/internal/http/raw_client.rb +116 -0
  84. data/lib/pinnacle/internal/iterators/cursor_item_iterator.rb +28 -0
  85. data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +51 -0
  86. data/lib/pinnacle/internal/iterators/item_iterator.rb +59 -0
  87. data/lib/pinnacle/internal/iterators/offset_item_iterator.rb +30 -0
  88. data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +83 -0
  89. data/lib/pinnacle/internal/json/request.rb +39 -0
  90. data/lib/pinnacle/internal/json/serializable.rb +25 -0
  91. data/lib/pinnacle/internal/multipart/multipart_encoder.rb +141 -0
  92. data/lib/pinnacle/internal/multipart/multipart_form_data.rb +78 -0
  93. data/lib/pinnacle/internal/multipart/multipart_form_data_part.rb +51 -0
  94. data/lib/pinnacle/internal/multipart/multipart_request.rb +38 -0
  95. data/lib/pinnacle/internal/types/array.rb +47 -0
  96. data/lib/pinnacle/internal/types/boolean.rb +34 -0
  97. data/lib/pinnacle/internal/types/enum.rb +56 -0
  98. data/lib/pinnacle/internal/types/hash.rb +36 -0
  99. data/lib/pinnacle/internal/types/model/field.rb +38 -0
  100. data/lib/pinnacle/internal/types/model.rb +208 -0
  101. data/lib/pinnacle/internal/types/type.rb +35 -0
  102. data/lib/pinnacle/internal/types/union.rb +161 -0
  103. data/lib/pinnacle/internal/types/unknown.rb +15 -0
  104. data/lib/pinnacle/internal/types/utils.rb +116 -0
  105. data/lib/pinnacle/messages/blast/client.rb +143 -0
  106. data/lib/pinnacle/messages/blast/types/blast_mms.rb +16 -0
  107. data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +15 -0
  108. data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +16 -0
  109. data/lib/pinnacle/messages/blast/types/blast_rcs.rb +16 -0
  110. data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +17 -0
  111. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +20 -0
  112. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
  113. data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +16 -0
  114. data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +16 -0
  115. data/lib/pinnacle/messages/blast/types/blast_sms.rb +16 -0
  116. data/lib/pinnacle/messages/blast/types/blast_sms_options.rb +14 -0
  117. data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +16 -0
  118. data/lib/pinnacle/messages/client.rb +110 -0
  119. data/lib/pinnacle/messages/mms/client.rb +87 -0
  120. data/lib/pinnacle/messages/mms/types/mms.rb +17 -0
  121. data/lib/pinnacle/messages/mms/types/mms_send_response.rb +16 -0
  122. data/lib/pinnacle/messages/mms/types/send_mms_options.rb +17 -0
  123. data/lib/pinnacle/messages/rcs/client.rb +140 -0
  124. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +16 -0
  125. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +15 -0
  126. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +14 -0
  127. data/lib/pinnacle/messages/schedule/client.rb +53 -0
  128. data/lib/pinnacle/messages/sms/client.rb +87 -0
  129. data/lib/pinnacle/messages/sms/types/send_sms_options.rb +15 -0
  130. data/lib/pinnacle/messages/sms/types/sms.rb +16 -0
  131. data/lib/pinnacle/messages/sms/types/sms_send_response.rb +16 -0
  132. data/lib/pinnacle/messages/types/react_message_options.rb +11 -0
  133. data/lib/pinnacle/messages/types/react_message_params.rb +13 -0
  134. data/lib/pinnacle/phone_numbers/campaign/client.rb +90 -0
  135. data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +15 -0
  136. data/lib/pinnacle/phone_numbers/campaign/types/detach_campaign_params.rb +13 -0
  137. data/lib/pinnacle/phone_numbers/client.rb +133 -0
  138. data/lib/pinnacle/phone_numbers/types/buy_phone_number_params.rb +11 -0
  139. data/lib/pinnacle/phone_numbers/types/enhanced_contact_info.rb +12 -0
  140. data/lib/pinnacle/phone_numbers/types/phone_details_schema_level.rb +14 -0
  141. data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +14 -0
  142. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +14 -0
  143. data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +13 -0
  144. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +14 -0
  145. data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +17 -0
  146. data/lib/pinnacle/phone_numbers/types/search_phone_number_options.rb +12 -0
  147. data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +15 -0
  148. data/lib/pinnacle/phone_numbers/webhook/client.rb +90 -0
  149. data/lib/pinnacle/pinnacle_client.rb +24 -0
  150. data/lib/pinnacle/rcs/client.rb +159 -0
  151. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +11 -0
  152. data/lib/pinnacle/rcs/types/rcs_link_request.rb +14 -0
  153. data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +12 -0
  154. data/lib/pinnacle/status/client.rb +19 -0
  155. data/lib/pinnacle/status/get/client.rb +188 -0
  156. data/lib/pinnacle/tools/client.rb +29 -0
  157. data/lib/pinnacle/tools/contact_card/client.rb +92 -0
  158. data/lib/pinnacle/tools/contact_card/types/get_v_card_schema_options.rb +13 -0
  159. data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +14 -0
  160. data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +29 -0
  161. data/lib/pinnacle/tools/file/client.rb +94 -0
  162. data/lib/pinnacle/tools/file/types/download_options.rb +14 -0
  163. data/lib/pinnacle/tools/file/types/refresh_file_params.rb +13 -0
  164. data/lib/pinnacle/tools/file/types/upload_file_options.rb +15 -0
  165. data/lib/pinnacle/tools/file/types/upload_file_params.rb +16 -0
  166. data/lib/pinnacle/tools/url/client.rb +128 -0
  167. data/lib/pinnacle/tools/url/types/create_url_params.rb +14 -0
  168. data/lib/pinnacle/tools/url/types/update_url_params.rb +15 -0
  169. data/lib/pinnacle/types/advanced_phone_information.rb +17 -0
  170. data/lib/pinnacle/types/advanced_phone_information_carrier.rb +13 -0
  171. data/lib/pinnacle/types/advanced_phone_information_contact.rb +19 -0
  172. data/lib/pinnacle/types/advanced_phone_information_location.rb +18 -0
  173. data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +11 -0
  174. data/lib/pinnacle/types/advanced_phone_information_location_country.rb +12 -0
  175. data/lib/pinnacle/types/advanced_phone_information_type.rb +13 -0
  176. data/lib/pinnacle/types/advanced_phone_information_type_recommendation.rb +13 -0
  177. data/lib/pinnacle/types/agent.rb +11 -0
  178. data/lib/pinnacle/types/attach_webhook_by_id_params.rb +11 -0
  179. data/lib/pinnacle/types/attach_webhook_params.rb +15 -0
  180. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +13 -0
  181. data/lib/pinnacle/types/attached_phone_number_result.rb +10 -0
  182. data/lib/pinnacle/types/audience_count_only.rb +12 -0
  183. data/lib/pinnacle/types/audience_with_pagination.rb +14 -0
  184. data/lib/pinnacle/types/autofill_campaign_params.rb +10 -0
  185. data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +19 -0
  186. data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +12 -0
  187. data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +11 -0
  188. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +11 -0
  189. data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +11 -0
  190. data/lib/pinnacle/types/autofill_dlc_response_links.rb +11 -0
  191. data/lib/pinnacle/types/autofill_dlc_response_options.rb +15 -0
  192. data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +11 -0
  193. data/lib/pinnacle/types/bad_request_error_body.rb +12 -0
  194. data/lib/pinnacle/types/base_rich_message.rb +11 -0
  195. data/lib/pinnacle/types/basic_phone_information.rb +16 -0
  196. data/lib/pinnacle/types/basic_phone_information_contact.rb +10 -0
  197. data/lib/pinnacle/types/basic_phone_information_location.rb +11 -0
  198. data/lib/pinnacle/types/basic_phone_information_location_country.rb +12 -0
  199. data/lib/pinnacle/types/blast_details.rb +15 -0
  200. data/lib/pinnacle/types/brand_status.rb +12 -0
  201. data/lib/pinnacle/types/brand_status_enum.rb +16 -0
  202. data/lib/pinnacle/types/button_clicked.rb +12 -0
  203. data/lib/pinnacle/types/button_clicked_data.rb +11 -0
  204. data/lib/pinnacle/types/button_clicked_data_button.rb +14 -0
  205. data/lib/pinnacle/types/button_clicked_data_button_raw.rb +14 -0
  206. data/lib/pinnacle/types/button_clicked_data_button_type.rb +12 -0
  207. data/lib/pinnacle/types/buy_response_capabilities.rb +12 -0
  208. data/lib/pinnacle/types/campaign_enum.rb +13 -0
  209. data/lib/pinnacle/types/campaign_query.rb +11 -0
  210. data/lib/pinnacle/types/campaign_submission_result.rb +9 -0
  211. data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +11 -0
  212. data/lib/pinnacle/types/campaign_validation_result.rb +10 -0
  213. data/lib/pinnacle/types/company_entity_type_enum.rb +15 -0
  214. data/lib/pinnacle/types/company_sector_enum.rb +27 -0
  215. data/lib/pinnacle/types/company_type_enum.rb +15 -0
  216. data/lib/pinnacle/types/configured_webhook.rb +13 -0
  217. data/lib/pinnacle/types/contact.rb +14 -0
  218. data/lib/pinnacle/types/contact_id.rb +9 -0
  219. data/lib/pinnacle/types/conversation.rb +17 -0
  220. data/lib/pinnacle/types/conversation_by_id_params.rb +10 -0
  221. data/lib/pinnacle/types/conversation_by_participants_params.rb +11 -0
  222. data/lib/pinnacle/types/conversation_contact.rb +11 -0
  223. data/lib/pinnacle/types/conversation_list.rb +12 -0
  224. data/lib/pinnacle/types/conversation_sender.rb +16 -0
  225. data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +12 -0
  226. data/lib/pinnacle/types/create_url_options.rb +9 -0
  227. data/lib/pinnacle/types/delete_audience_response.rb +9 -0
  228. data/lib/pinnacle/types/detached_phone_number_result.rb +10 -0
  229. data/lib/pinnacle/types/detached_webhook_info.rb +11 -0
  230. data/lib/pinnacle/types/detailed_phone_number_enum.rb +22 -0
  231. data/lib/pinnacle/types/dlc_assignment_status_enum.rb +15 -0
  232. data/lib/pinnacle/types/dlc_campaign_status.rb +13 -0
  233. data/lib/pinnacle/types/dlc_campaign_use_case_enum.rb +36 -0
  234. data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +23 -0
  235. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +12 -0
  236. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +11 -0
  237. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
  238. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +11 -0
  239. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +11 -0
  240. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +14 -0
  241. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +20 -0
  242. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +15 -0
  243. data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +11 -0
  244. data/lib/pinnacle/types/enhanced_contact.rb +23 -0
  245. data/lib/pinnacle/types/enhanced_contact_item.rb +13 -0
  246. data/lib/pinnacle/types/error.rb +10 -0
  247. data/lib/pinnacle/types/extended_brand.rb +13 -0
  248. data/lib/pinnacle/types/extended_brand_with_vetting.rb +11 -0
  249. data/lib/pinnacle/types/extended_rcs_campaign.rb +26 -0
  250. data/lib/pinnacle/types/get_conversation_params.rb +13 -0
  251. data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +15 -0
  252. data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +15 -0
  253. data/lib/pinnacle/types/link_click_event.rb +57 -0
  254. data/lib/pinnacle/types/location_share_action.rb +9 -0
  255. data/lib/pinnacle/types/location_share_action_data.rb +13 -0
  256. data/lib/pinnacle/types/message.rb +20 -0
  257. data/lib/pinnacle/types/message_content.rb +15 -0
  258. data/lib/pinnacle/types/message_event.rb +17 -0
  259. data/lib/pinnacle/types/message_event_content.rb +18 -0
  260. data/lib/pinnacle/types/message_event_conversation.rb +12 -0
  261. data/lib/pinnacle/types/message_event_direction.rb +12 -0
  262. data/lib/pinnacle/types/message_event_mms_content.rb +13 -0
  263. data/lib/pinnacle/types/message_event_rcs_button_data.rb +15 -0
  264. data/lib/pinnacle/types/message_event_rcs_cards_content.rb +16 -0
  265. data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +13 -0
  266. data/lib/pinnacle/types/message_event_rcs_location_data.rb +15 -0
  267. data/lib/pinnacle/types/message_event_rcs_media_content.rb +15 -0
  268. data/lib/pinnacle/types/message_event_rcs_text_content.rb +13 -0
  269. data/lib/pinnacle/types/message_event_sms_content.rb +12 -0
  270. data/lib/pinnacle/types/message_list.rb +12 -0
  271. data/lib/pinnacle/types/message_method_enum.rb +13 -0
  272. data/lib/pinnacle/types/message_protocol_enum.rb +13 -0
  273. data/lib/pinnacle/types/message_schedule.rb +13 -0
  274. data/lib/pinnacle/types/message_status_enum.rb +18 -0
  275. data/lib/pinnacle/types/message_volume_enum.rb +21 -0
  276. data/lib/pinnacle/types/message_with_reaction.rb +11 -0
  277. data/lib/pinnacle/types/message_with_reaction_direction.rb +12 -0
  278. data/lib/pinnacle/types/messaging_profile_enum.rb +12 -0
  279. data/lib/pinnacle/types/mms_content.rb +11 -0
  280. data/lib/pinnacle/types/mms_validation_response_segments.rb +12 -0
  281. data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +11 -0
  282. data/lib/pinnacle/types/mms_validation_result.rb +11 -0
  283. data/lib/pinnacle/types/not_found_error_body.rb +9 -0
  284. data/lib/pinnacle/types/number_format.rb +13 -0
  285. data/lib/pinnacle/types/opt_in_method_enum.rb +14 -0
  286. data/lib/pinnacle/types/optional_brand_info.rb +19 -0
  287. data/lib/pinnacle/types/optional_contact.rb +12 -0
  288. data/lib/pinnacle/types/optional_contacts.rb +13 -0
  289. data/lib/pinnacle/types/pagination.rb +12 -0
  290. data/lib/pinnacle/types/phone.rb +14 -0
  291. data/lib/pinnacle/types/phone_capabilities.rb +12 -0
  292. data/lib/pinnacle/types/phone_enum.rb +12 -0
  293. data/lib/pinnacle/types/phone_feature_enum.rb +18 -0
  294. data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +10 -0
  295. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +10 -0
  296. data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +12 -0
  297. data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +10 -0
  298. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +10 -0
  299. data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +12 -0
  300. data/lib/pinnacle/types/phone_number_cost.rb +12 -0
  301. data/lib/pinnacle/types/phone_number_details.rb +15 -0
  302. data/lib/pinnacle/types/phone_number_enum.rb +18 -0
  303. data/lib/pinnacle/types/phone_number_region.rb +13 -0
  304. data/lib/pinnacle/types/phone_number_status.rb +12 -0
  305. data/lib/pinnacle/types/phone_number_status_enum.rb +13 -0
  306. data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +12 -0
  307. data/lib/pinnacle/types/pinnacle_url_config.rb +10 -0
  308. data/lib/pinnacle/types/profile_status_enum.rb +14 -0
  309. data/lib/pinnacle/types/purchased_number.rb +12 -0
  310. data/lib/pinnacle/types/rcs_button_call.rb +12 -0
  311. data/lib/pinnacle/types/rcs_button_open_url.rb +13 -0
  312. data/lib/pinnacle/types/rcs_button_open_url_webview_mode.rb +13 -0
  313. data/lib/pinnacle/types/rcs_button_request_user_location.rb +11 -0
  314. data/lib/pinnacle/types/rcs_button_schedule_event.rb +15 -0
  315. data/lib/pinnacle/types/rcs_button_send_location.rb +13 -0
  316. data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +11 -0
  317. data/lib/pinnacle/types/rcs_button_trigger.rb +12 -0
  318. data/lib/pinnacle/types/rcs_campaign.rb +23 -0
  319. data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +17 -0
  320. data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +10 -0
  321. data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +10 -0
  322. data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +10 -0
  323. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +17 -0
  324. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +10 -0
  325. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +10 -0
  326. data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +10 -0
  327. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +11 -0
  328. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +10 -0
  329. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +10 -0
  330. data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +10 -0
  331. data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +11 -0
  332. data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +10 -0
  333. data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +11 -0
  334. data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +11 -0
  335. data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +10 -0
  336. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +10 -0
  337. data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +10 -0
  338. data/lib/pinnacle/types/rcs_campaign_schema_links.rb +11 -0
  339. data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +10 -0
  340. data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +11 -0
  341. data/lib/pinnacle/types/rcs_campaign_status.rb +12 -0
  342. data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +43 -0
  343. data/lib/pinnacle/types/rcs_capabilities_result.rb +23 -0
  344. data/lib/pinnacle/types/rcs_capability.rb +11 -0
  345. data/lib/pinnacle/types/rcs_capability_actions.rb +16 -0
  346. data/lib/pinnacle/types/rcs_capability_cards.rb +10 -0
  347. data/lib/pinnacle/types/rcs_cards_content.rb +13 -0
  348. data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +13 -0
  349. data/lib/pinnacle/types/rcs_content.rb +14 -0
  350. data/lib/pinnacle/types/rcs_link_result.rb +13 -0
  351. data/lib/pinnacle/types/rcs_media_content.rb +13 -0
  352. data/lib/pinnacle/types/rcs_media_details_content.rb +12 -0
  353. data/lib/pinnacle/types/rcs_messaging_type_enum.rb +14 -0
  354. data/lib/pinnacle/types/rcs_validate_content.rb +13 -0
  355. data/lib/pinnacle/types/rcs_validate_content_media.rb +13 -0
  356. data/lib/pinnacle/types/rcs_validation_result.rb +12 -0
  357. data/lib/pinnacle/types/rcs_whitelist_response.rb +10 -0
  358. data/lib/pinnacle/types/reaction_result.rb +10 -0
  359. data/lib/pinnacle/types/refreshed_file.rb +10 -0
  360. data/lib/pinnacle/types/rich_button.rb +18 -0
  361. data/lib/pinnacle/types/rich_card.rb +13 -0
  362. data/lib/pinnacle/types/rich_cards.rb +13 -0
  363. data/lib/pinnacle/types/rich_cards_message.rb +11 -0
  364. data/lib/pinnacle/types/rich_media_message.rb +10 -0
  365. data/lib/pinnacle/types/rich_message.rb +13 -0
  366. data/lib/pinnacle/types/rich_standalone_card_options.rb +17 -0
  367. data/lib/pinnacle/types/rich_text.rb +11 -0
  368. data/lib/pinnacle/types/rich_text_message.rb +7 -0
  369. data/lib/pinnacle/types/schedule_cancel_result.rb +10 -0
  370. data/lib/pinnacle/types/scheduled_blast_details.rb +11 -0
  371. data/lib/pinnacle/types/scheduled_blast_response_config.rb +13 -0
  372. data/lib/pinnacle/types/scheduled_message.rb +10 -0
  373. data/lib/pinnacle/types/scheduled_send_response_config.rb +13 -0
  374. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
  375. data/lib/pinnacle/types/send_rcs_card_options_standalone_card_orientation.rb +12 -0
  376. data/lib/pinnacle/types/send_rich_cards_options.rb +9 -0
  377. data/lib/pinnacle/types/send_rich_message_options.rb +14 -0
  378. data/lib/pinnacle/types/send_sms_response_segments.rb +11 -0
  379. data/lib/pinnacle/types/send_sms_response_segments_encoding.rb +12 -0
  380. data/lib/pinnacle/types/send_typing_indicator_response.rb +14 -0
  381. data/lib/pinnacle/types/sender.rb +23 -0
  382. data/lib/pinnacle/types/sent_mms_details.rb +14 -0
  383. data/lib/pinnacle/types/sent_rich_message.rb +14 -0
  384. data/lib/pinnacle/types/sent_sms_details.rb +14 -0
  385. data/lib/pinnacle/types/shortened_url.rb +10 -0
  386. data/lib/pinnacle/types/shortened_url_with_click_data.rb +9 -0
  387. data/lib/pinnacle/types/sms_content.rb +10 -0
  388. data/lib/pinnacle/types/sms_validation_response_segments.rb +11 -0
  389. data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +12 -0
  390. data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +11 -0
  391. data/lib/pinnacle/types/sms_validation_response_total.rb +10 -0
  392. data/lib/pinnacle/types/sms_validation_result.rb +12 -0
  393. data/lib/pinnacle/types/sub_use_case_enum.rb +20 -0
  394. data/lib/pinnacle/types/submission_results.rb +9 -0
  395. data/lib/pinnacle/types/successful_conversation_update.rb +10 -0
  396. data/lib/pinnacle/types/toll_free_campaign.rb +17 -0
  397. data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +11 -0
  398. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_help.rb +10 -0
  399. data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +11 -0
  400. data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +11 -0
  401. data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +12 -0
  402. data/lib/pinnacle/types/toll_free_campaign_schema_options.rb +10 -0
  403. data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +11 -0
  404. data/lib/pinnacle/types/toll_free_campaign_status.rb +12 -0
  405. data/lib/pinnacle/types/toll_free_campaign_use_case_enum.rb +53 -0
  406. data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +19 -0
  407. data/lib/pinnacle/types/toll_free_status_enum.rb +16 -0
  408. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +11 -0
  409. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_help.rb +10 -0
  410. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
  411. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +11 -0
  412. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +12 -0
  413. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_options.rb +10 -0
  414. data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +11 -0
  415. data/lib/pinnacle/types/tracking.rb +12 -0
  416. data/lib/pinnacle/types/updated_contact_id.rb +9 -0
  417. data/lib/pinnacle/types/upload_results.rb +11 -0
  418. data/lib/pinnacle/types/user_event.rb +12 -0
  419. data/lib/pinnacle/types/user_event_conversation.rb +12 -0
  420. data/lib/pinnacle/types/v_card_address_schema_type_item.rb +17 -0
  421. data/lib/pinnacle/types/v_card_data.rb +9 -0
  422. data/lib/pinnacle/types/v_card_data_file.rb +11 -0
  423. data/lib/pinnacle/types/v_card_data_file_metadata.rb +10 -0
  424. data/lib/pinnacle/types/v_card_email_schema_type_item.rb +23 -0
  425. data/lib/pinnacle/types/v_card_geo.rb +11 -0
  426. data/lib/pinnacle/types/v_card_name.rb +14 -0
  427. data/lib/pinnacle/types/v_card_organization.rb +11 -0
  428. data/lib/pinnacle/types/v_card_phone_schema_type_item.rb +23 -0
  429. data/lib/pinnacle/types/validate_campaign_params.rb +10 -0
  430. data/lib/pinnacle/types/validation_error_details.rb +11 -0
  431. data/lib/pinnacle/types/validation_results.rb +10 -0
  432. data/lib/pinnacle/types/vcard.rb +24 -0
  433. data/lib/pinnacle/types/vcard_address.rb +17 -0
  434. data/lib/pinnacle/types/vcard_content.rb +9 -0
  435. data/lib/pinnacle/types/vcard_email.rb +10 -0
  436. data/lib/pinnacle/types/vcard_phone.rb +10 -0
  437. data/lib/pinnacle/types/vcard_resource.rb +10 -0
  438. data/lib/pinnacle/types/vetting_feedback.rb +12 -0
  439. data/lib/pinnacle/types/vetting_history.rb +13 -0
  440. data/lib/pinnacle/types/vetting_history_vetting_status.rb +14 -0
  441. data/lib/pinnacle/types/vetting_results.rb +9 -0
  442. data/lib/pinnacle/types/webhook_event_enum.rb +12 -0
  443. data/lib/pinnacle/types/webhook_result.rb +11 -0
  444. data/lib/pinnacle/types/webhooks.rb +12 -0
  445. data/lib/pinnacle/types/zod_error.rb +10 -0
  446. data/lib/pinnacle/version.rb +5 -0
  447. data/lib/pinnacle/webhooks/client.rb +51 -0
  448. data/lib/pinnacle/webhooks/types/get_webhook_params.rb +11 -0
  449. data/lib/pinnacle/wrapper/messages/client.rb +72 -0
  450. data/lib/pinnacle/wrapper/tools/client.rb +14 -0
  451. data/lib/pinnacle/wrapper/tools/file_uploader.rb +149 -0
  452. data/lib/pinnacle.rb +450 -0
  453. data/reference.md +5956 -0
  454. metadata +466 -456
  455. data/lib/gemconfig.rb +0 -14
  456. data/lib/rcs/audiences/client.rb +0 -347
  457. data/lib/rcs/audiences/contacts/client.rb +0 -177
  458. data/lib/rcs/audiences/types/audiences_get_response.rb +0 -58
  459. data/lib/rcs/brands/client.rb +0 -605
  460. data/lib/rcs/brands/types/autofill_brand_options.rb +0 -61
  461. data/lib/rcs/brands/types/upsert_brand_schema_contact.rb +0 -86
  462. data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +0 -16
  463. data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +0 -28
  464. data/lib/rcs/brands/types/upsert_brand_schema_type.rb +0 -16
  465. data/lib/rcs/campaigns/client.rb +0 -44
  466. data/lib/rcs/campaigns/dlc/client.rb +0 -492
  467. data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -74
  468. data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -99
  469. data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +0 -74
  470. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -74
  471. data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -74
  472. data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +0 -110
  473. data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -76
  474. data/lib/rcs/campaigns/rcs/client.rb +0 -566
  475. data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -152
  476. data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +0 -73
  477. data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +0 -73
  478. data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +0 -73
  479. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +0 -246
  480. data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -77
  481. data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -98
  482. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -87
  483. data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -83
  484. data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -76
  485. data/lib/rcs/campaigns/rcs/types/rcs_links.rb +0 -74
  486. data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +0 -75
  487. data/lib/rcs/campaigns/toll_free/client.rb +0 -478
  488. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -172
  489. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -66
  490. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -86
  491. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -74
  492. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -86
  493. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -78
  494. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -64
  495. data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -75
  496. data/lib/rcs/contacts/client.rb +0 -277
  497. data/lib/rcs/conversations/client.rb +0 -401
  498. data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +0 -12
  499. data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +0 -12
  500. data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +0 -17
  501. data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +0 -13
  502. data/lib/rcs/messages/blast/client.rb +0 -425
  503. data/lib/rcs/messages/blast/types/blast_mms_options.rb +0 -82
  504. data/lib/rcs/messages/blast/types/blast_mms_response.rb +0 -60
  505. data/lib/rcs/messages/blast/types/blast_rcs_options.rb +0 -118
  506. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -82
  507. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
  508. data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -15
  509. data/lib/rcs/messages/blast/types/blast_rcs_response.rb +0 -60
  510. data/lib/rcs/messages/blast/types/blast_sms_options.rb +0 -70
  511. data/lib/rcs/messages/blast/types/blast_sms_response.rb +0 -60
  512. data/lib/rcs/messages/client.rb +0 -189
  513. data/lib/rcs/messages/mms/client.rb +0 -216
  514. data/lib/rcs/messages/mms/types/mms_send_response.rb +0 -60
  515. data/lib/rcs/messages/mms/types/send_mms_options.rb +0 -108
  516. data/lib/rcs/messages/rcs/client.rb +0 -286
  517. data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +0 -60
  518. data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -66
  519. data/lib/rcs/messages/schedule/client.rb +0 -103
  520. data/lib/rcs/messages/sms/client.rb +0 -198
  521. data/lib/rcs/messages/sms/types/send_sms_options.rb +0 -81
  522. data/lib/rcs/messages/sms/types/sms_send_response.rb +0 -60
  523. data/lib/rcs/messages/types/react_message_options.rb +0 -71
  524. data/lib/rcs/phone_numbers/campaign/client.rb +0 -197
  525. data/lib/rcs/phone_numbers/client.rb +0 -345
  526. data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +0 -62
  527. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +0 -16
  528. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +0 -58
  529. data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -93
  530. data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +0 -81
  531. data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +0 -96
  532. data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +0 -62
  533. data/lib/rcs/phone_numbers/webhook/client.rb +0 -193
  534. data/lib/rcs/rcs/client.rb +0 -332
  535. data/lib/rcs/status/client.rb +0 -30
  536. data/lib/rcs/status/get/client.rb +0 -383
  537. data/lib/rcs/tools/client.rb +0 -44
  538. data/lib/rcs/tools/contact_card/client.rb +0 -295
  539. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +0 -67
  540. data/lib/rcs/tools/file/client.rb +0 -228
  541. data/lib/rcs/tools/file/types/download_options.rb +0 -66
  542. data/lib/rcs/tools/file/types/upload_file_options.rb +0 -88
  543. data/lib/rcs/tools/url/client.rb +0 -247
  544. data/lib/rcs/types/advanced_phone_information.rb +0 -147
  545. data/lib/rcs/types/advanced_phone_information_carrier.rb +0 -90
  546. data/lib/rcs/types/advanced_phone_information_contact.rb +0 -146
  547. data/lib/rcs/types/advanced_phone_information_location.rb +0 -142
  548. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +0 -73
  549. data/lib/rcs/types/advanced_phone_information_location_country.rb +0 -77
  550. data/lib/rcs/types/advanced_phone_information_type.rb +0 -97
  551. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +0 -15
  552. data/lib/rcs/types/agent.rb +0 -68
  553. data/lib/rcs/types/attach_webhook_by_id_params.rb +0 -77
  554. data/lib/rcs/types/attach_webhook_params.rb +0 -60
  555. data/lib/rcs/types/attach_webhook_response_webhook.rb +0 -88
  556. data/lib/rcs/types/attached_phone_number_result.rb +0 -75
  557. data/lib/rcs/types/audience_count_only.rb +0 -87
  558. data/lib/rcs/types/audience_with_pagination.rb +0 -114
  559. data/lib/rcs/types/autofill_campaign_params.rb +0 -81
  560. data/lib/rcs/types/autofill_dlc_campaign_response.rb +0 -173
  561. data/lib/rcs/types/autofill_dlc_response_keywords.rb +0 -93
  562. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +0 -70
  563. data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +0 -70
  564. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +0 -70
  565. data/lib/rcs/types/autofill_dlc_response_links.rb +0 -70
  566. data/lib/rcs/types/autofill_dlc_response_options.rb +0 -106
  567. data/lib/rcs/types/autofill_dlc_response_use_case.rb +0 -72
  568. data/lib/rcs/types/bad_request_error_body.rb +0 -56
  569. data/lib/rcs/types/base_rich_message.rb +0 -82
  570. data/lib/rcs/types/basic_phone_information.rb +0 -127
  571. data/lib/rcs/types/basic_phone_information_contact.rb +0 -58
  572. data/lib/rcs/types/basic_phone_information_location.rb +0 -74
  573. data/lib/rcs/types/basic_phone_information_location_country.rb +0 -75
  574. data/lib/rcs/types/blast_details.rb +0 -110
  575. data/lib/rcs/types/brand_status.rb +0 -94
  576. data/lib/rcs/types/brand_status_enum.rb +0 -21
  577. data/lib/rcs/types/button_clicked.rb +0 -56
  578. data/lib/rcs/types/button_clicked_data.rb +0 -80
  579. data/lib/rcs/types/button_clicked_data_button.rb +0 -118
  580. data/lib/rcs/types/button_clicked_data_button_raw.rb +0 -58
  581. data/lib/rcs/types/button_clicked_data_button_type.rb +0 -15
  582. data/lib/rcs/types/buy_response_capabilities.rb +0 -77
  583. data/lib/rcs/types/campaign_enum.rb +0 -15
  584. data/lib/rcs/types/campaign_query.rb +0 -77
  585. data/lib/rcs/types/campaign_submission_result.rb +0 -57
  586. data/lib/rcs/types/campaign_validation_response_errors_item.rb +0 -76
  587. data/lib/rcs/types/campaign_validation_result.rb +0 -71
  588. data/lib/rcs/types/company_entity_type_enum.rb +0 -14
  589. data/lib/rcs/types/company_sector_enum.rb +0 -26
  590. data/lib/rcs/types/company_type_enum.rb +0 -14
  591. data/lib/rcs/types/configured_webhook.rb +0 -85
  592. data/lib/rcs/types/contact.rb +0 -107
  593. data/lib/rcs/types/contact_id.rb +0 -59
  594. data/lib/rcs/types/conversation.rb +0 -154
  595. data/lib/rcs/types/conversation_by_id_params.rb +0 -62
  596. data/lib/rcs/types/conversation_by_participants_params.rb +0 -72
  597. data/lib/rcs/types/conversation_contact.rb +0 -70
  598. data/lib/rcs/types/conversation_list.rb +0 -79
  599. data/lib/rcs/types/conversation_sender.rb +0 -60
  600. data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +0 -88
  601. data/lib/rcs/types/create_url_options.rb +0 -63
  602. data/lib/rcs/types/delete_audience_response.rb +0 -57
  603. data/lib/rcs/types/detached_phone_number_result.rb +0 -75
  604. data/lib/rcs/types/detached_webhook_info.rb +0 -76
  605. data/lib/rcs/types/detailed_phone_number_enum.rb +0 -25
  606. data/lib/rcs/types/dlc_assignment_status_enum.rb +0 -19
  607. data/lib/rcs/types/dlc_campaign_status.rb +0 -109
  608. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +0 -35
  609. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +0 -224
  610. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +0 -94
  611. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -72
  612. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -72
  613. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -72
  614. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +0 -70
  615. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -15
  616. data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -22
  617. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +0 -106
  618. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +0 -72
  619. data/lib/rcs/types/enhanced_contact.rb +0 -9
  620. data/lib/rcs/types/enhanced_contact_item.rb +0 -104
  621. data/lib/rcs/types/error.rb +0 -61
  622. data/lib/rcs/types/extended_brand.rb +0 -215
  623. data/lib/rcs/types/extended_brand_with_vetting.rb +0 -247
  624. data/lib/rcs/types/extended_rcs_campaign.rb +0 -267
  625. data/lib/rcs/types/get_conversation_params.rb +0 -57
  626. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +0 -96
  627. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +0 -92
  628. data/lib/rcs/types/link_click_event.rb +0 -449
  629. data/lib/rcs/types/location_share_action.rb +0 -63
  630. data/lib/rcs/types/location_share_action_data.rb +0 -89
  631. data/lib/rcs/types/message.rb +0 -176
  632. data/lib/rcs/types/message_content.rb +0 -85
  633. data/lib/rcs/types/message_event.rb +0 -143
  634. data/lib/rcs/types/message_event_content.rb +0 -127
  635. data/lib/rcs/types/message_event_conversation.rb +0 -82
  636. data/lib/rcs/types/message_event_direction.rb +0 -11
  637. data/lib/rcs/types/message_event_mms_content.rb +0 -94
  638. data/lib/rcs/types/message_event_rcs_button_data.rb +0 -104
  639. data/lib/rcs/types/message_event_rcs_cards_content.rb +0 -103
  640. data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -96
  641. data/lib/rcs/types/message_event_rcs_location_data.rb +0 -91
  642. data/lib/rcs/types/message_event_rcs_media_content.rb +0 -96
  643. data/lib/rcs/types/message_event_rcs_text_content.rb +0 -94
  644. data/lib/rcs/types/message_event_sms_content.rb +0 -81
  645. data/lib/rcs/types/message_list.rb +0 -79
  646. data/lib/rcs/types/message_method_enum.rb +0 -12
  647. data/lib/rcs/types/message_protocol_enum.rb +0 -12
  648. data/lib/rcs/types/message_schedule.rb +0 -121
  649. data/lib/rcs/types/message_status_enum.rb +0 -17
  650. data/lib/rcs/types/message_volume_enum.rb +0 -20
  651. data/lib/rcs/types/message_with_reaction.rb +0 -197
  652. data/lib/rcs/types/message_with_reaction_direction.rb +0 -11
  653. data/lib/rcs/types/messaging_profile_enum.rb +0 -11
  654. data/lib/rcs/types/mms_content.rb +0 -74
  655. data/lib/rcs/types/mms_validation_response_segments.rb +0 -85
  656. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +0 -75
  657. data/lib/rcs/types/mms_validation_result.rb +0 -82
  658. data/lib/rcs/types/not_found_error_body.rb +0 -59
  659. data/lib/rcs/types/number_format.rb +0 -79
  660. data/lib/rcs/types/opt_in_method_enum.rb +0 -13
  661. data/lib/rcs/types/optional_brand_info.rb +0 -154
  662. data/lib/rcs/types/optional_contact.rb +0 -83
  663. data/lib/rcs/types/optional_contacts.rb +0 -84
  664. data/lib/rcs/types/pagination.rb +0 -81
  665. data/lib/rcs/types/phone.rb +0 -101
  666. data/lib/rcs/types/phone_capabilities.rb +0 -75
  667. data/lib/rcs/types/phone_enum.rb +0 -13
  668. data/lib/rcs/types/phone_feature_enum.rb +0 -18
  669. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +0 -67
  670. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -75
  671. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -82
  672. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +0 -67
  673. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -75
  674. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -82
  675. data/lib/rcs/types/phone_number_cost.rb +0 -75
  676. data/lib/rcs/types/phone_number_details.rb +0 -110
  677. data/lib/rcs/types/phone_number_enum.rb +0 -18
  678. data/lib/rcs/types/phone_number_region.rb +0 -91
  679. data/lib/rcs/types/phone_number_status.rb +0 -90
  680. data/lib/rcs/types/phone_number_status_enum.rb +0 -16
  681. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +0 -100
  682. data/lib/rcs/types/pinnacle_url_config.rb +0 -71
  683. data/lib/rcs/types/profile_status_enum.rb +0 -17
  684. data/lib/rcs/types/purchased_number.rb +0 -75
  685. data/lib/rcs/types/rcs_button_call.rb +0 -77
  686. data/lib/rcs/types/rcs_button_open_url.rb +0 -104
  687. data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +0 -19
  688. data/lib/rcs/types/rcs_button_request_user_location.rb +0 -70
  689. data/lib/rcs/types/rcs_button_schedule_event.rb +0 -106
  690. data/lib/rcs/types/rcs_button_send_location.rb +0 -94
  691. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +0 -68
  692. data/lib/rcs/types/rcs_button_trigger.rb +0 -80
  693. data/lib/rcs/types/rcs_campaign.rb +0 -234
  694. data/lib/rcs/types/rcs_campaign_schema_agent.rb +0 -134
  695. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +0 -69
  696. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +0 -69
  697. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +0 -69
  698. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +0 -134
  699. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -70
  700. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -70
  701. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -71
  702. data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +0 -94
  703. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +0 -71
  704. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -73
  705. data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -73
  706. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +0 -70
  707. data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +0 -72
  708. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +0 -71
  709. data/lib/rcs/types/rcs_campaign_schema_keywords.rb +0 -94
  710. data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +0 -71
  711. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +0 -73
  712. data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +0 -73
  713. data/lib/rcs/types/rcs_campaign_schema_links.rb +0 -70
  714. data/lib/rcs/types/rcs_campaign_schema_traffic.rb +0 -72
  715. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +0 -71
  716. data/lib/rcs/types/rcs_campaign_status.rb +0 -88
  717. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +0 -23
  718. data/lib/rcs/types/rcs_capabilities_result.rb +0 -7
  719. data/lib/rcs/types/rcs_capability.rb +0 -82
  720. data/lib/rcs/types/rcs_capability_actions.rb +0 -105
  721. data/lib/rcs/types/rcs_capability_cards.rb +0 -67
  722. data/lib/rcs/types/rcs_cards_content.rb +0 -83
  723. data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -98
  724. data/lib/rcs/types/rcs_content.rb +0 -72
  725. data/lib/rcs/types/rcs_link_result.rb +0 -75
  726. data/lib/rcs/types/rcs_media_content.rb +0 -83
  727. data/lib/rcs/types/rcs_media_details_content.rb +0 -77
  728. data/lib/rcs/types/rcs_messaging_type_enum.rb +0 -17
  729. data/lib/rcs/types/rcs_validate_content.rb +0 -70
  730. data/lib/rcs/types/rcs_validate_content_media.rb +0 -75
  731. data/lib/rcs/types/rcs_validation_result.rb +0 -83
  732. data/lib/rcs/types/rcs_whitelist_response.rb +0 -58
  733. data/lib/rcs/types/reaction_result.rb +0 -71
  734. data/lib/rcs/types/refreshed_file.rb +0 -67
  735. data/lib/rcs/types/rich_button.rb +0 -148
  736. data/lib/rcs/types/rich_card.rb +0 -92
  737. data/lib/rcs/types/rich_cards.rb +0 -83
  738. data/lib/rcs/types/rich_cards_message.rb +0 -114
  739. data/lib/rcs/types/rich_media_message.rb +0 -112
  740. data/lib/rcs/types/rich_message.rb +0 -70
  741. data/lib/rcs/types/rich_standalone_card_options.rb +0 -80
  742. data/lib/rcs/types/rich_text.rb +0 -74
  743. data/lib/rcs/types/rich_text_message.rb +0 -108
  744. data/lib/rcs/types/schedule_cancel_result.rb +0 -58
  745. data/lib/rcs/types/scheduled_blast_details.rb +0 -76
  746. data/lib/rcs/types/scheduled_blast_response_config.rb +0 -89
  747. data/lib/rcs/types/scheduled_message.rb +0 -75
  748. data/lib/rcs/types/scheduled_send_response_config.rb +0 -89
  749. data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
  750. data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +0 -11
  751. data/lib/rcs/types/send_rich_cards_options.rb +0 -136
  752. data/lib/rcs/types/send_rich_message_options.rb +0 -111
  753. data/lib/rcs/types/send_sms_response_segments.rb +0 -69
  754. data/lib/rcs/types/send_sms_response_segments_encoding.rb +0 -11
  755. data/lib/rcs/types/send_typing_indicator_response.rb +0 -100
  756. data/lib/rcs/types/sent_mms_details.rb +0 -118
  757. data/lib/rcs/types/sent_rich_message.rb +0 -104
  758. data/lib/rcs/types/sent_sms_details.rb +0 -110
  759. data/lib/rcs/types/shortened_url.rb +0 -77
  760. data/lib/rcs/types/shortened_url_with_click_data.rb +0 -90
  761. data/lib/rcs/types/sms_content.rb +0 -58
  762. data/lib/rcs/types/sms_validation_response_segments.rb +0 -80
  763. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +0 -75
  764. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +0 -68
  765. data/lib/rcs/types/sms_validation_response_total.rb +0 -75
  766. data/lib/rcs/types/sms_validation_result.rb +0 -102
  767. data/lib/rcs/types/sub_use_case_enum.rb +0 -19
  768. data/lib/rcs/types/submission_results.rb +0 -57
  769. data/lib/rcs/types/successful_conversation_update.rb +0 -58
  770. data/lib/rcs/types/toll_free_campaign.rb +0 -160
  771. data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +0 -82
  772. data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +0 -62
  773. data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -74
  774. data/lib/rcs/types/toll_free_campaign_schema_links.rb +0 -70
  775. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +0 -78
  776. data/lib/rcs/types/toll_free_campaign_schema_options.rb +0 -60
  777. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +0 -71
  778. data/lib/rcs/types/toll_free_campaign_status.rb +0 -93
  779. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +0 -52
  780. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -195
  781. data/lib/rcs/types/toll_free_status_enum.rb +0 -20
  782. data/lib/rcs/types/tracking.rb +0 -17
  783. data/lib/rcs/types/updated_contact_id.rb +0 -59
  784. data/lib/rcs/types/upload_results.rb +0 -80
  785. data/lib/rcs/types/user_event.rb +0 -83
  786. data/lib/rcs/types/user_event_conversation.rb +0 -78
  787. data/lib/rcs/types/v_card_address_schema_type_item.rb +0 -15
  788. data/lib/rcs/types/v_card_data.rb +0 -239
  789. data/lib/rcs/types/v_card_data_file.rb +0 -74
  790. data/lib/rcs/types/v_card_data_file_metadata.rb +0 -62
  791. data/lib/rcs/types/v_card_email_schema_type_item.rb +0 -21
  792. data/lib/rcs/types/v_card_geo.rb +0 -70
  793. data/lib/rcs/types/v_card_name.rb +0 -98
  794. data/lib/rcs/types/v_card_organization.rb +0 -70
  795. data/lib/rcs/types/v_card_phone_schema_type_item.rb +0 -21
  796. data/lib/rcs/types/validate_campaign_params.rb +0 -81
  797. data/lib/rcs/types/validation_error_details.rb +0 -76
  798. data/lib/rcs/types/validation_results.rb +0 -71
  799. data/lib/rcs/types/vcard.rb +0 -217
  800. data/lib/rcs/types/vcard_address.rb +0 -130
  801. data/lib/rcs/types/vcard_content.rb +0 -225
  802. data/lib/rcs/types/vcard_email.rb +0 -70
  803. data/lib/rcs/types/vcard_phone.rb +0 -70
  804. data/lib/rcs/types/vcard_resource.rb +0 -73
  805. data/lib/rcs/types/vetting_feedback.rb +0 -81
  806. data/lib/rcs/types/vetting_history.rb +0 -98
  807. data/lib/rcs/types/vetting_history_vetting_status.rb +0 -13
  808. data/lib/rcs/types/vetting_results.rb +0 -57
  809. data/lib/rcs/types/webhook_event_enum.rb +0 -14
  810. data/lib/rcs/types/webhook_result.rb +0 -64
  811. data/lib/rcs/types/webhooks.rb +0 -77
  812. data/lib/rcs/types/zod_error.rb +0 -73
  813. data/lib/rcs/webhooks/client.rb +0 -97
  814. data/lib/rcs.rb +0 -124
  815. data/lib/requests.rb +0 -163
  816. data/lib/types_export.rb +0 -334
  817. /data/lib/{environment.rb → pinnacle/environment.rb} +0 -0
@@ -1,566 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "../../types/autofill_campaign_params"
5
- require_relative "types/rcs_autofill_response"
6
- require_relative "../../types/extended_rcs_campaign"
7
- require_relative "../../types/campaign_submission_result"
8
- require_relative "types/rcs_agent"
9
- require_relative "types/rcs_links"
10
- require_relative "types/rcs_use_case"
11
- require_relative "../../types/rcs_messaging_type_enum"
12
- require_relative "types/rcs_campaign_keywords"
13
- require_relative "types/rcs_campaign_traffic"
14
- require_relative "../../types/validate_campaign_params"
15
- require_relative "../../types/campaign_validation_result"
16
- require "async"
17
-
18
- module Pinnacle
19
- module Campaigns
20
- class RcsClient
21
- # @return [Pinnacle::RequestClient]
22
- attr_reader :request_client
23
-
24
- # @param request_client [Pinnacle::RequestClient]
25
- # @return [Pinnacle::Campaigns::RcsClient]
26
- def initialize(request_client:)
27
- @request_client = request_client
28
- end
29
-
30
- # Generate campaign details based off existing campaign and the brand it's
31
- # connected to.
32
- #
33
- # @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
34
- # * :additional_info (String)
35
- # * :campaign_id (String)
36
- # @param request_options [Pinnacle::RequestOptions]
37
- # @return [Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse]
38
- # @example
39
- # api = Pinnacle::Client.new(
40
- # base_url: "https://api.example.com",
41
- # environment: Pinnacle::Environment::DEFAULT,
42
- # api_key: "YOUR_API_KEY"
43
- # )
44
- # api.campaigns.rcs.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
45
- def autofill(request:, request_options: nil)
46
- response = @request_client.conn.post do |req|
47
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
48
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
49
- req.headers = {
50
- **(req.headers || {}),
51
- **@request_client.get_headers,
52
- **(request_options&.additional_headers || {})
53
- }.compact
54
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
55
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
56
- end
57
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
58
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/autofill"
59
- end
60
- Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse.from_json(json_object: response.body)
61
- end
62
-
63
- # Retrieve RCS campaign.
64
- #
65
- # @param campaign_id [String] Unique identifier of the RCS campaign. Must begin with the prefix `rcs_`.
66
- # @param request_options [Pinnacle::RequestOptions]
67
- # @return [Pinnacle::Types::ExtendedRcsCampaign]
68
- # @example
69
- # api = Pinnacle::Client.new(
70
- # base_url: "https://api.example.com",
71
- # environment: Pinnacle::Environment::DEFAULT,
72
- # api_key: "YOUR_API_KEY"
73
- # )
74
- # api.campaigns.rcs.get(campaign_id: "rcs_1234567890")
75
- def get(campaign_id:, request_options: nil)
76
- response = @request_client.conn.get do |req|
77
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
78
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
79
- req.headers = {
80
- **(req.headers || {}),
81
- **@request_client.get_headers,
82
- **(request_options&.additional_headers || {})
83
- }.compact
84
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
85
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
86
- end
87
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
88
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
89
- end
90
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/#{campaign_id}"
91
- end
92
- Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
93
- end
94
-
95
- # Submit your RCS campaign for approval and activation with carriers.
96
- #
97
- # @param campaign_id [String] Unique identifier of the RCS campaign to retrieve. Must begin with the prefix
98
- # `rcs_`.
99
- # @param request_options [Pinnacle::RequestOptions]
100
- # @return [Pinnacle::Types::CampaignSubmissionResult]
101
- # @example
102
- # api = Pinnacle::Client.new(
103
- # base_url: "https://api.example.com",
104
- # environment: Pinnacle::Environment::DEFAULT,
105
- # api_key: "YOUR_API_KEY"
106
- # )
107
- # api.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
108
- def submit(campaign_id:, request_options: nil)
109
- response = @request_client.conn.post do |req|
110
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
111
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
112
- req.headers = {
113
- **(req.headers || {}),
114
- **@request_client.get_headers,
115
- **(request_options&.additional_headers || {})
116
- }.compact
117
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
118
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
119
- end
120
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
121
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
122
- end
123
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/submit/#{campaign_id}"
124
- end
125
- Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
126
- end
127
-
128
- # Create a new RCS campaign or updates an existing one. <br>
129
- # Omit campaignId to create a campaign.
130
- #
131
- # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
132
- # * :color (String)
133
- # * :description (String)
134
- # * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
135
- # * :hero_url (String)
136
- # * :icon_url (String)
137
- # * :name (String)
138
- # * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
139
- # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
140
- # @param brand [String] Unique identifier for the brand.
141
- # @param campaign_id [String] Unique identifier for the campaign.
142
- # @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
143
- # **Limit:** 1 to 5
144
- # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
145
- # * :privacy_policy (String)
146
- # * :terms_of_service (String)
147
- # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
148
- # * :behavior (String)
149
- # * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
150
- # @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
151
- # provide the link.
152
- # @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
153
- # @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
154
- # @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
155
- # * :help (Hash)
156
- # * :message (String)
157
- # * :keywords (Array<String>)
158
- # * :opt_in (Hash)
159
- # * :message (String)
160
- # * :keywords (Array<String>)
161
- # * :opt_out (Hash)
162
- # * :message (String)
163
- # * :keywords (Array<String>)
164
- # @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
165
- # * :monthly_website (Integer)
166
- # * :monthly_rcs_estimate (Integer)
167
- # @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
168
- # is delivered, whether messages follow a schedule or triggered by user actions,
169
- # and any external triggers.
170
- # @param interaction_description [String] Description of all agent interactions.
171
- # @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
172
- # the users. Set to false for one-way messages from agent to user.
173
- # @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
174
- # This checkbox has to be unchecked by default. The text should meet the US CTIA
175
- # requirements and is usually in the following format: <br>
176
- # [Program description of the company sending the messages and what type of
177
- # messages are being sent]. Msg&data rates may apply. [Message frequency: How
178
- # frequently messages are sent]. [Privacy statement or link to privacy policy].
179
- # [Link to full mobile
180
- # T&Cs page].
181
- # @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
182
- # flow from the agent. This is usually an inbound text message to the agent that
183
- # will start a flow of messages between the agent and the user.
184
- # @param request_options [Pinnacle::RequestOptions]
185
- # @return [Pinnacle::Types::ExtendedRcsCampaign]
186
- # @example
187
- # api = Pinnacle::Client.new(
188
- # base_url: "https://api.example.com",
189
- # environment: Pinnacle::Environment::DEFAULT,
190
- # api_key: "YOUR_API_KEY"
191
- # )
192
- # api.campaigns.rcs.upsert(
193
- # agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
194
- # brand: "b_1234567890",
195
- # campaign_id: "rcs_1234567890",
196
- # expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
197
- # links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
198
- # use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
199
- # The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
200
- # ", value: OTHER },
201
- # opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
202
- # Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
203
- # ",
204
- # messaging_type: MULTI_USE,
205
- # carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
206
- # keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
207
- # 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
208
- # Reply STOP to opt out and HELP for support. Message & rates may apply.
209
- # ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
210
- # traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
211
- # agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
212
- # interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
213
- # is_conversational: true,
214
- # cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
215
- # demo_trigger: "Text "START" to trigger the flow."
216
- # )
217
- def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
218
- opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
219
- response = @request_client.conn.post do |req|
220
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
221
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
222
- req.headers = {
223
- **(req.headers || {}),
224
- **@request_client.get_headers,
225
- **(request_options&.additional_headers || {})
226
- }.compact
227
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
228
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
229
- end
230
- req.body = {
231
- **(request_options&.additional_body_parameters || {}),
232
- agent: agent,
233
- brand: brand,
234
- campaignId: campaign_id,
235
- expectedAgentResponses: expected_agent_responses,
236
- links: links,
237
- useCase: use_case,
238
- optInTermsAndConditions: opt_in_terms_and_conditions,
239
- messagingType: messaging_type,
240
- carrierDescription: carrier_description,
241
- keywords: keywords,
242
- traffic: traffic,
243
- agentTriggers: agent_triggers,
244
- interactionDescription: interaction_description,
245
- isConversational: is_conversational,
246
- ctaLanguage: cta_language,
247
- demoTrigger: demo_trigger
248
- }.compact
249
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
250
- end
251
- Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
252
- end
253
-
254
- # Validate your RCS campaign configuration against carrier requirements and
255
- # compliance rules.
256
- #
257
- # @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
258
- # * :additional_info (String)
259
- # * :campaign_id (String)
260
- # @param request_options [Pinnacle::RequestOptions]
261
- # @return [Pinnacle::Types::CampaignValidationResult]
262
- # @example
263
- # api = Pinnacle::Client.new(
264
- # base_url: "https://api.example.com",
265
- # environment: Pinnacle::Environment::DEFAULT,
266
- # api_key: "YOUR_API_KEY"
267
- # )
268
- # api.campaigns.rcs.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
269
- def validate(request:, request_options: nil)
270
- response = @request_client.conn.post do |req|
271
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
272
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
273
- req.headers = {
274
- **(req.headers || {}),
275
- **@request_client.get_headers,
276
- **(request_options&.additional_headers || {})
277
- }.compact
278
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
279
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
280
- end
281
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
282
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/validate"
283
- end
284
- Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
285
- end
286
- end
287
-
288
- class AsyncRcsClient
289
- # @return [Pinnacle::AsyncRequestClient]
290
- attr_reader :request_client
291
-
292
- # @param request_client [Pinnacle::AsyncRequestClient]
293
- # @return [Pinnacle::Campaigns::AsyncRcsClient]
294
- def initialize(request_client:)
295
- @request_client = request_client
296
- end
297
-
298
- # Generate campaign details based off existing campaign and the brand it's
299
- # connected to.
300
- #
301
- # @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
302
- # * :additional_info (String)
303
- # * :campaign_id (String)
304
- # @param request_options [Pinnacle::RequestOptions]
305
- # @return [Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse]
306
- # @example
307
- # api = Pinnacle::Client.new(
308
- # base_url: "https://api.example.com",
309
- # environment: Pinnacle::Environment::DEFAULT,
310
- # api_key: "YOUR_API_KEY"
311
- # )
312
- # api.campaigns.rcs.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
313
- def autofill(request:, request_options: nil)
314
- Async do
315
- response = @request_client.conn.post do |req|
316
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
317
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
318
- req.headers = {
319
- **(req.headers || {}),
320
- **@request_client.get_headers,
321
- **(request_options&.additional_headers || {})
322
- }.compact
323
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
324
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
325
- end
326
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
327
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/autofill"
328
- end
329
- Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse.from_json(json_object: response.body)
330
- end
331
- end
332
-
333
- # Retrieve RCS campaign.
334
- #
335
- # @param campaign_id [String] Unique identifier of the RCS campaign. Must begin with the prefix `rcs_`.
336
- # @param request_options [Pinnacle::RequestOptions]
337
- # @return [Pinnacle::Types::ExtendedRcsCampaign]
338
- # @example
339
- # api = Pinnacle::Client.new(
340
- # base_url: "https://api.example.com",
341
- # environment: Pinnacle::Environment::DEFAULT,
342
- # api_key: "YOUR_API_KEY"
343
- # )
344
- # api.campaigns.rcs.get(campaign_id: "rcs_1234567890")
345
- def get(campaign_id:, request_options: nil)
346
- Async do
347
- response = @request_client.conn.get do |req|
348
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
349
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
350
- req.headers = {
351
- **(req.headers || {}),
352
- **@request_client.get_headers,
353
- **(request_options&.additional_headers || {})
354
- }.compact
355
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
356
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
357
- end
358
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
359
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
360
- end
361
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/#{campaign_id}"
362
- end
363
- Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
364
- end
365
- end
366
-
367
- # Submit your RCS campaign for approval and activation with carriers.
368
- #
369
- # @param campaign_id [String] Unique identifier of the RCS campaign to retrieve. Must begin with the prefix
370
- # `rcs_`.
371
- # @param request_options [Pinnacle::RequestOptions]
372
- # @return [Pinnacle::Types::CampaignSubmissionResult]
373
- # @example
374
- # api = Pinnacle::Client.new(
375
- # base_url: "https://api.example.com",
376
- # environment: Pinnacle::Environment::DEFAULT,
377
- # api_key: "YOUR_API_KEY"
378
- # )
379
- # api.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
380
- def submit(campaign_id:, request_options: nil)
381
- Async do
382
- response = @request_client.conn.post do |req|
383
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
384
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
385
- req.headers = {
386
- **(req.headers || {}),
387
- **@request_client.get_headers,
388
- **(request_options&.additional_headers || {})
389
- }.compact
390
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
391
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
392
- end
393
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
394
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
395
- end
396
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/submit/#{campaign_id}"
397
- end
398
- Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
399
- end
400
- end
401
-
402
- # Create a new RCS campaign or updates an existing one. <br>
403
- # Omit campaignId to create a campaign.
404
- #
405
- # @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
406
- # * :color (String)
407
- # * :description (String)
408
- # * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
409
- # * :hero_url (String)
410
- # * :icon_url (String)
411
- # * :name (String)
412
- # * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
413
- # * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
414
- # @param brand [String] Unique identifier for the brand.
415
- # @param campaign_id [String] Unique identifier for the campaign.
416
- # @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
417
- # **Limit:** 1 to 5
418
- # @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
419
- # * :privacy_policy (String)
420
- # * :terms_of_service (String)
421
- # @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
422
- # * :behavior (String)
423
- # * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
424
- # @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
425
- # provide the link.
426
- # @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
427
- # @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
428
- # @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
429
- # * :help (Hash)
430
- # * :message (String)
431
- # * :keywords (Array<String>)
432
- # * :opt_in (Hash)
433
- # * :message (String)
434
- # * :keywords (Array<String>)
435
- # * :opt_out (Hash)
436
- # * :message (String)
437
- # * :keywords (Array<String>)
438
- # @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
439
- # * :monthly_website (Integer)
440
- # * :monthly_rcs_estimate (Integer)
441
- # @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
442
- # is delivered, whether messages follow a schedule or triggered by user actions,
443
- # and any external triggers.
444
- # @param interaction_description [String] Description of all agent interactions.
445
- # @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
446
- # the users. Set to false for one-way messages from agent to user.
447
- # @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
448
- # This checkbox has to be unchecked by default. The text should meet the US CTIA
449
- # requirements and is usually in the following format: <br>
450
- # [Program description of the company sending the messages and what type of
451
- # messages are being sent]. Msg&data rates may apply. [Message frequency: How
452
- # frequently messages are sent]. [Privacy statement or link to privacy policy].
453
- # [Link to full mobile
454
- # T&Cs page].
455
- # @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
456
- # flow from the agent. This is usually an inbound text message to the agent that
457
- # will start a flow of messages between the agent and the user.
458
- # @param request_options [Pinnacle::RequestOptions]
459
- # @return [Pinnacle::Types::ExtendedRcsCampaign]
460
- # @example
461
- # api = Pinnacle::Client.new(
462
- # base_url: "https://api.example.com",
463
- # environment: Pinnacle::Environment::DEFAULT,
464
- # api_key: "YOUR_API_KEY"
465
- # )
466
- # api.campaigns.rcs.upsert(
467
- # agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
468
- # brand: "b_1234567890",
469
- # campaign_id: "rcs_1234567890",
470
- # expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
471
- # links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
472
- # use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
473
- # The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
474
- # ", value: OTHER },
475
- # opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
476
- # Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
477
- # ",
478
- # messaging_type: MULTI_USE,
479
- # carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
480
- # keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
481
- # 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
482
- # Reply STOP to opt out and HELP for support. Message & rates may apply.
483
- # ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
484
- # traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
485
- # agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
486
- # interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
487
- # is_conversational: true,
488
- # cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
489
- # demo_trigger: "Text "START" to trigger the flow."
490
- # )
491
- def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
492
- opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
493
- Async do
494
- response = @request_client.conn.post do |req|
495
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
496
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
497
- req.headers = {
498
- **(req.headers || {}),
499
- **@request_client.get_headers,
500
- **(request_options&.additional_headers || {})
501
- }.compact
502
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
503
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
504
- end
505
- req.body = {
506
- **(request_options&.additional_body_parameters || {}),
507
- agent: agent,
508
- brand: brand,
509
- campaignId: campaign_id,
510
- expectedAgentResponses: expected_agent_responses,
511
- links: links,
512
- useCase: use_case,
513
- optInTermsAndConditions: opt_in_terms_and_conditions,
514
- messagingType: messaging_type,
515
- carrierDescription: carrier_description,
516
- keywords: keywords,
517
- traffic: traffic,
518
- agentTriggers: agent_triggers,
519
- interactionDescription: interaction_description,
520
- isConversational: is_conversational,
521
- ctaLanguage: cta_language,
522
- demoTrigger: demo_trigger
523
- }.compact
524
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
525
- end
526
- Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
527
- end
528
- end
529
-
530
- # Validate your RCS campaign configuration against carrier requirements and
531
- # compliance rules.
532
- #
533
- # @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
534
- # * :additional_info (String)
535
- # * :campaign_id (String)
536
- # @param request_options [Pinnacle::RequestOptions]
537
- # @return [Pinnacle::Types::CampaignValidationResult]
538
- # @example
539
- # api = Pinnacle::Client.new(
540
- # base_url: "https://api.example.com",
541
- # environment: Pinnacle::Environment::DEFAULT,
542
- # api_key: "YOUR_API_KEY"
543
- # )
544
- # api.campaigns.rcs.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
545
- def validate(request:, request_options: nil)
546
- Async do
547
- response = @request_client.conn.post do |req|
548
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
549
- req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
550
- req.headers = {
551
- **(req.headers || {}),
552
- **@request_client.get_headers,
553
- **(request_options&.additional_headers || {})
554
- }.compact
555
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
556
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
557
- end
558
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
559
- req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/validate"
560
- end
561
- Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
562
- end
563
- end
564
- end
565
- end
566
- end