rcs 2.0.3 → 2.0.5.pre.rc.1

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