rcs 1.0.17 → 2.0.0.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/lib/environment.rb +1 -1
  3. data/lib/rcs/brands/client.rb +631 -0
  4. data/lib/rcs/brands/types/autofill_brand_schema_options.rb +61 -0
  5. data/lib/rcs/brands/types/brand_contact.rb +84 -0
  6. data/lib/rcs/campaigns/client.rb +44 -0
  7. data/lib/rcs/campaigns/dlc/client.rb +480 -0
  8. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords.rb +99 -0
  9. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_help.rb +74 -0
  10. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_in.rb +74 -0
  11. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_out.rb +74 -0
  12. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_links.rb +74 -0
  13. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_options.rb +110 -0
  14. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_use_case.rb +76 -0
  15. data/lib/rcs/campaigns/rcs/client.rb +457 -0
  16. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +155 -0
  17. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent.rb +140 -0
  18. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_emails_item.rb +73 -0
  19. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_phones_item.rb +73 -0
  20. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_websites_item.rb +73 -0
  21. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_links.rb +74 -0
  22. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_in.rb +75 -0
  23. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_out.rb +76 -0
  24. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_use_case.rb +75 -0
  25. data/lib/rcs/campaigns/toll_free/client.rb +429 -0
  26. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +130 -0
  27. data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_opt_in.rb +86 -0
  28. data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_use_case.rb +75 -0
  29. data/lib/rcs/contacts/client.rb +275 -0
  30. data/lib/rcs/conversations/client.rb +273 -0
  31. data/lib/rcs/message/client.rb +30 -0
  32. data/lib/rcs/message/sms/client.rb +96 -0
  33. data/lib/rcs/messages/client.rb +185 -0
  34. data/lib/rcs/messages/mms/client.rb +98 -0
  35. data/lib/rcs/messages/rcs/client.rb +94 -0
  36. data/lib/rcs/messages/send/client.rb +318 -0
  37. data/lib/rcs/messages/send/types/send_mms_response.rb +60 -0
  38. data/lib/rcs/messages/send/types/send_mms_schema_options.rb +108 -0
  39. data/lib/rcs/messages/send/types/send_rcs_response.rb +60 -0
  40. data/lib/rcs/messages/send/types/send_sms_response.rb +60 -0
  41. data/lib/rcs/messages/send/types/send_sms_schema_options.rb +81 -0
  42. data/lib/rcs/messages/types/message_reaction_schema_options.rb +71 -0
  43. data/lib/rcs/phone_numbers/campaign/client.rb +179 -0
  44. data/lib/rcs/phone_numbers/client.rb +345 -0
  45. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +16 -0
  46. data/lib/rcs/phone_numbers/types/phone_details_schema_options.rb +93 -0
  47. data/lib/rcs/phone_numbers/types/phone_details_schema_options_enhanced_contact_info.rb +64 -0
  48. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +58 -0
  49. data/lib/rcs/phone_numbers/types/search_schema_location.rb +96 -0
  50. data/lib/rcs/phone_numbers/types/search_schema_number.rb +81 -0
  51. data/lib/rcs/phone_numbers/types/search_schema_options.rb +62 -0
  52. data/lib/rcs/phone_numbers/webhook/client.rb +191 -0
  53. data/lib/rcs/status/client.rb +30 -0
  54. data/lib/rcs/status/get/client.rb +367 -0
  55. data/lib/rcs/tools/client.rb +32 -199
  56. data/lib/rcs/tools/contact_card/client.rb +285 -0
  57. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +67 -0
  58. data/lib/rcs/tools/file/client.rb +138 -0
  59. data/lib/rcs/tools/file/types/file_upload_schema_options.rb +70 -0
  60. data/lib/rcs/tools/file/types/file_upload_schema_options_download.rb +66 -0
  61. data/lib/rcs/tools/url/client.rb +245 -0
  62. data/lib/rcs/types/advanced_phone_information.rb +147 -0
  63. data/lib/rcs/types/advanced_phone_information_carrier.rb +90 -0
  64. data/lib/rcs/types/advanced_phone_information_contact.rb +146 -0
  65. data/lib/rcs/types/advanced_phone_information_location.rb +142 -0
  66. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +73 -0
  67. data/lib/rcs/types/advanced_phone_information_location_country.rb +77 -0
  68. data/lib/rcs/types/advanced_phone_information_type.rb +97 -0
  69. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +15 -0
  70. data/lib/rcs/types/agent.rb +68 -0
  71. data/lib/rcs/types/attach_webhook_params.rb +60 -0
  72. data/lib/rcs/types/attach_webhook_response_webhook.rb +86 -0
  73. data/lib/rcs/types/attach_webhook_schema_name.rb +88 -0
  74. data/lib/rcs/types/attach_webhook_schema_webhook_id.rb +77 -0
  75. data/lib/rcs/types/attached_phone_number_result.rb +75 -0
  76. data/lib/rcs/types/autofill_campaign_params.rb +69 -0
  77. data/lib/rcs/types/autofill_dlc_campaign_response.rb +169 -0
  78. data/lib/rcs/types/autofill_dlc_response_keywords.rb +95 -0
  79. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +70 -0
  80. data/lib/rcs/{send/types/send_sms_response.rb → types/autofill_dlc_response_keywords_opt_in.rb} +18 -17
  81. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +70 -0
  82. data/lib/rcs/types/autofill_dlc_response_links.rb +70 -0
  83. data/lib/rcs/types/autofill_dlc_response_options.rb +106 -0
  84. data/lib/rcs/types/autofill_dlc_response_use_case.rb +72 -0
  85. data/lib/rcs/types/bad_request_error_body.rb +44 -45
  86. data/lib/rcs/types/basic_phone_information.rb +127 -0
  87. data/lib/rcs/{company/types/company_register_response_brand.rb → types/basic_phone_information_contact.rb} +12 -21
  88. data/lib/rcs/types/basic_phone_information_location.rb +74 -0
  89. data/lib/rcs/types/basic_phone_information_location_country.rb +75 -0
  90. data/lib/rcs/types/brand_status.rb +92 -0
  91. data/lib/rcs/types/brand_status_enum.rb +21 -0
  92. data/lib/rcs/types/buy_response_capabilities.rb +77 -0
  93. data/lib/rcs/types/campaign_enum.rb +15 -0
  94. data/lib/rcs/types/campaign_query.rb +69 -0
  95. data/lib/rcs/{company/types/company_register_request_company_id.rb → types/campaign_submission_result.rb} +15 -16
  96. data/lib/rcs/types/campaign_validation_response_errors_item.rb +76 -0
  97. data/lib/rcs/types/campaign_validation_result.rb +71 -0
  98. data/lib/rcs/types/click_action.rb +73 -0
  99. data/lib/rcs/types/click_action_data.rb +56 -0
  100. data/lib/rcs/types/click_action_data_metadata.rb +69 -0
  101. data/lib/rcs/types/company_sector_enum.rb +26 -0
  102. data/lib/rcs/types/company_type_enum.rb +14 -0
  103. data/lib/rcs/types/configured_webhook.rb +85 -0
  104. data/lib/rcs/types/contact.rb +105 -0
  105. data/lib/rcs/types/contact_id.rb +57 -0
  106. data/lib/rcs/types/conversation.rb +146 -0
  107. data/lib/rcs/types/conversation_contact.rb +68 -0
  108. data/lib/rcs/types/conversation_list.rb +79 -0
  109. data/lib/rcs/types/conversation_sender.rb +60 -0
  110. data/lib/rcs/types/create_url_options.rb +61 -0
  111. data/lib/rcs/types/detached_phone_number_result.rb +75 -0
  112. data/lib/rcs/types/detached_webhook_info.rb +74 -0
  113. data/lib/rcs/types/detailed_phone_number_enum.rb +25 -0
  114. data/lib/rcs/types/dlc_assignment_status_enum.rb +19 -0
  115. data/lib/rcs/types/dlc_campaign_status.rb +107 -0
  116. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +35 -0
  117. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +194 -0
  118. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +94 -0
  119. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +72 -0
  120. data/lib/rcs/{send/types/send_mms_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_in.rb} +20 -17
  121. data/lib/rcs/{send/types/send_rcs_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_out.rb} +20 -17
  122. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +70 -0
  123. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +106 -0
  124. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +72 -0
  125. data/lib/rcs/types/enhanced_contact.rb +9 -0
  126. data/lib/rcs/types/enhanced_contact_item.rb +104 -0
  127. data/lib/rcs/types/error.rb +61 -0
  128. data/lib/rcs/types/extended_brand.rb +194 -0
  129. data/lib/rcs/types/extended_brand_with_vetting.rb +226 -0
  130. data/lib/rcs/types/extended_rcs_campaign.rb +173 -0
  131. data/lib/rcs/{company/types/company_register_request.rb → types/get_conversation_params.rb} +13 -12
  132. data/lib/rcs/types/get_conversation_request_id.rb +58 -0
  133. data/lib/rcs/types/get_conversation_request_recipient.rb +72 -0
  134. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +96 -0
  135. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +92 -0
  136. data/lib/rcs/types/inbound_button.rb +56 -0
  137. data/lib/rcs/types/link_click_event.rb +465 -0
  138. data/lib/rcs/{company/types/company_update_response.rb → types/location_share_action.rb} +19 -19
  139. data/lib/rcs/types/location_share_action_data.rb +89 -0
  140. data/lib/rcs/types/message.rb +174 -0
  141. data/lib/rcs/types/message_content.rb +85 -0
  142. data/lib/rcs/types/message_method_enum.rb +12 -0
  143. data/lib/rcs/types/message_protocol_enum.rb +12 -0
  144. data/lib/rcs/types/message_schedule.rb +94 -0
  145. data/lib/rcs/types/message_status_enum.rb +16 -0
  146. data/lib/rcs/types/message_volume_enum.rb +20 -0
  147. data/lib/rcs/types/messaging_profile_enum.rb +11 -0
  148. data/lib/rcs/types/mms_content.rb +74 -0
  149. data/lib/rcs/types/mms_validation_response_segments.rb +85 -0
  150. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +75 -0
  151. data/lib/rcs/types/mms_validation_result.rb +82 -0
  152. data/lib/rcs/types/nullable_contact.rb +84 -0
  153. data/lib/rcs/types/number_format.rb +79 -0
  154. data/lib/rcs/types/opt_in_method_enum.rb +13 -0
  155. data/lib/rcs/types/optional_brand_info.rb +145 -0
  156. data/lib/rcs/types/optional_contact.rb +83 -0
  157. data/lib/rcs/types/optional_contacts.rb +84 -0
  158. data/lib/rcs/types/phone.rb +101 -0
  159. data/lib/rcs/types/phone_capabilities.rb +75 -0
  160. data/lib/rcs/types/phone_enum.rb +13 -0
  161. data/lib/rcs/types/phone_feature_enum.rb +18 -0
  162. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +67 -0
  163. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +75 -0
  164. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +78 -0
  165. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +67 -0
  166. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +75 -0
  167. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +78 -0
  168. data/lib/rcs/types/phone_number_cost.rb +75 -0
  169. data/lib/rcs/types/phone_number_details.rb +110 -0
  170. data/lib/rcs/types/phone_number_enum.rb +18 -0
  171. data/lib/rcs/types/phone_number_region.rb +91 -0
  172. data/lib/rcs/types/phone_number_status.rb +90 -0
  173. data/lib/rcs/types/phone_number_status_enum.rb +16 -0
  174. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +84 -0
  175. data/lib/rcs/types/pinnacle_url_config.rb +71 -0
  176. data/lib/rcs/types/profile_status_enum.rb +17 -0
  177. data/lib/rcs/types/purchased_number.rb +75 -0
  178. data/lib/rcs/types/rcs.rb +70 -0
  179. data/lib/rcs/types/rcs_base.rb +82 -0
  180. data/lib/rcs/types/rcs_base_options.rb +100 -0
  181. data/lib/rcs/types/rcs_button_call.rb +68 -0
  182. data/lib/rcs/types/rcs_button_content.rb +148 -0
  183. data/lib/rcs/types/rcs_button_open_url.rb +68 -0
  184. data/lib/rcs/types/rcs_button_request_user_location.rb +58 -0
  185. data/lib/rcs/types/rcs_button_schedule_event.rb +98 -0
  186. data/lib/rcs/types/rcs_button_send_location.rb +74 -0
  187. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +68 -0
  188. data/lib/rcs/types/rcs_button_trigger.rb +78 -0
  189. data/lib/rcs/types/rcs_campaign.rb +143 -0
  190. data/lib/rcs/types/rcs_campaign_opt_in_method_enum.rb +15 -0
  191. data/lib/rcs/types/rcs_campaign_schema_agent.rb +134 -0
  192. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +69 -0
  193. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +69 -0
  194. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +69 -0
  195. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +134 -0
  196. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +70 -0
  197. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +70 -0
  198. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +71 -0
  199. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +70 -0
  200. data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +71 -0
  201. data/lib/rcs/types/rcs_campaign_schema_extra_opt_out.rb +70 -0
  202. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +71 -0
  203. data/lib/rcs/types/rcs_campaign_schema_links.rb +70 -0
  204. data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +71 -0
  205. data/lib/rcs/types/rcs_campaign_schema_opt_out.rb +70 -0
  206. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +71 -0
  207. data/lib/rcs/types/rcs_campaign_status.rb +86 -0
  208. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +23 -0
  209. data/lib/rcs/types/rcs_card.rb +110 -0
  210. data/lib/rcs/types/rcs_cards.rb +79 -0
  211. data/lib/rcs/types/rcs_cards_cards_item.rb +88 -0
  212. data/lib/rcs/types/rcs_cards_content.rb +79 -0
  213. data/lib/rcs/types/rcs_cards_content_cards_item.rb +94 -0
  214. data/lib/rcs/types/rcs_content.rb +72 -0
  215. data/lib/rcs/types/rcs_media.rb +110 -0
  216. data/lib/rcs/types/rcs_media_content.rb +81 -0
  217. data/lib/rcs/types/rcs_media_details_content.rb +77 -0
  218. data/lib/rcs/types/rcs_text.rb +106 -0
  219. data/lib/rcs/types/rcs_text_content.rb +72 -0
  220. data/lib/rcs/types/rcs_validate_content.rb +70 -0
  221. data/lib/rcs/{company/types/company_register_response.rb → types/rcs_validate_content_media.rb} +19 -21
  222. data/lib/rcs/types/rcs_validation_result.rb +76 -0
  223. data/lib/rcs/types/reaction_result.rb +67 -0
  224. data/lib/rcs/types/scheduled_messaage.rb +73 -0
  225. data/lib/rcs/types/scheduled_send_response_config.rb +89 -0
  226. data/lib/rcs/types/send_sms_response_segments.rb +69 -0
  227. data/lib/rcs/types/send_sms_response_segments_encoding.rb +11 -0
  228. data/lib/rcs/types/sent_mms_details.rb +102 -0
  229. data/lib/rcs/types/sent_rcs_details.rb +105 -0
  230. data/lib/rcs/types/sent_sms_details.rb +108 -0
  231. data/lib/rcs/types/shortened_url.rb +77 -0
  232. data/lib/rcs/types/shortened_url_with_click_data.rb +90 -0
  233. data/lib/rcs/types/sms_content.rb +58 -0
  234. data/lib/rcs/types/sms_validation_response_segments.rb +80 -0
  235. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +75 -0
  236. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +68 -0
  237. data/lib/rcs/types/sms_validation_response_total.rb +75 -0
  238. data/lib/rcs/types/sms_validation_result.rb +102 -0
  239. data/lib/rcs/types/sub_use_case_enum.rb +19 -0
  240. data/lib/rcs/types/submission_results.rb +57 -0
  241. data/lib/rcs/types/successful_conversation_update.rb +58 -0
  242. data/lib/rcs/types/toll_free_campaign.rb +118 -0
  243. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +78 -0
  244. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +71 -0
  245. data/lib/rcs/types/toll_free_campaign_status.rb +91 -0
  246. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +52 -0
  247. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +155 -0
  248. data/lib/rcs/types/toll_free_status_enum.rb +20 -0
  249. data/lib/rcs/types/tracking.rb +17 -0
  250. data/lib/rcs/types/updated_contact_id.rb +57 -0
  251. data/lib/rcs/types/upload_results.rb +80 -0
  252. data/lib/rcs/types/v_card_address_schema_type_item.rb +15 -0
  253. data/lib/rcs/types/v_card_data.rb +237 -0
  254. data/lib/rcs/types/v_card_data_file.rb +74 -0
  255. data/lib/rcs/types/v_card_data_file_metadata.rb +62 -0
  256. data/lib/rcs/types/v_card_email_schema_type_item.rb +21 -0
  257. data/lib/rcs/types/v_card_geo.rb +70 -0
  258. data/lib/rcs/types/v_card_name.rb +98 -0
  259. data/lib/rcs/types/v_card_organization.rb +70 -0
  260. data/lib/rcs/types/v_card_phone_schema_type_item.rb +21 -0
  261. data/lib/rcs/types/validate_campaign_params.rb +69 -0
  262. data/lib/rcs/types/validation_error_details.rb +76 -0
  263. data/lib/rcs/types/validation_results.rb +71 -0
  264. data/lib/rcs/types/vcard.rb +215 -0
  265. data/lib/rcs/types/vcard_address.rb +130 -0
  266. data/lib/rcs/types/vcard_content.rb +223 -0
  267. data/lib/rcs/types/vcard_email.rb +70 -0
  268. data/lib/rcs/types/vcard_phone.rb +70 -0
  269. data/lib/rcs/types/vcard_resource.rb +71 -0
  270. data/lib/rcs/types/vetting_feedback.rb +81 -0
  271. data/lib/rcs/types/vetting_history.rb +98 -0
  272. data/lib/rcs/types/vetting_history_vetting_status.rb +13 -0
  273. data/lib/rcs/types/vetting_results.rb +57 -0
  274. data/lib/rcs/types/webhook_event_enum.rb +13 -0
  275. data/lib/rcs/types/webhook_result.rb +64 -0
  276. data/lib/rcs/{company/types/company_update_response_brand.rb → types/webhooks.rb} +25 -17
  277. data/lib/rcs/types/zod_error.rb +73 -0
  278. data/lib/rcs/webhooks/client.rb +93 -0
  279. data/lib/rcs.rb +67 -83
  280. data/lib/requests.rb +4 -4
  281. data/lib/types_export.rb +252 -46
  282. metadata +278 -52
  283. data/lib/rcs/company/client.rb +0 -375
  284. data/lib/rcs/company/types/company_register_request_company.rb +0 -128
  285. data/lib/rcs/send/client.rb +0 -382
  286. data/lib/rcs/send/types/rcs_fallback.rb +0 -84
  287. data/lib/rcs/tools/types/tools_shorten_url_response.rb +0 -70
  288. data/lib/rcs/tools/types/tools_upload_url_response.rb +0 -69
  289. data/lib/rcs/types/action.rb +0 -154
  290. data/lib/rcs/types/action_lat_long.rb +0 -68
  291. data/lib/rcs/types/action_type.rb +0 -16
  292. data/lib/rcs/types/additional_email.rb +0 -65
  293. data/lib/rcs/types/additional_phone_number.rb +0 -65
  294. data/lib/rcs/types/additional_website.rb +0 -65
  295. data/lib/rcs/types/card.rb +0 -90
  296. data/lib/rcs/types/company.rb +0 -319
  297. data/lib/rcs/types/company_additional_emails_item.rb +0 -67
  298. data/lib/rcs/types/company_additional_phone_numbers_item.rb +0 -67
  299. data/lib/rcs/types/company_additional_websites_item.rb +0 -67
  300. data/lib/rcs/types/company_category.rb +0 -20
  301. data/lib/rcs/types/company_contact.rb +0 -117
  302. data/lib/rcs/types/company_details.rb +0 -120
  303. data/lib/rcs/types/forbidden_error_body.rb +0 -57
  304. data/lib/rcs/types/inbound_action_message.rb +0 -117
  305. data/lib/rcs/types/inbound_location_message.rb +0 -106
  306. data/lib/rcs/types/inbound_location_message_coordinates.rb +0 -65
  307. data/lib/rcs/types/inbound_media_message.rb +0 -112
  308. data/lib/rcs/types/inbound_message.rb +0 -88
  309. data/lib/rcs/types/inbound_message_message_type.rb +0 -10
  310. data/lib/rcs/types/inbound_message_metadata.rb +0 -79
  311. data/lib/rcs/types/inbound_text_message.rb +0 -100
  312. data/lib/rcs/types/internal_server_error_body.rb +0 -57
  313. data/lib/rcs/types/media_payload.rb +0 -65
  314. data/lib/rcs/types/message_metadata.rb +0 -56
  315. data/lib/rcs/types/messaging.rb +0 -95
  316. data/lib/rcs/types/optionals.rb +0 -99
  317. data/lib/rcs/types/payment_required_error_body.rb +0 -57
  318. data/lib/rcs/types/point_of_contact.rb +0 -72
  319. data/lib/rcs/types/rcs_functionalities.rb +0 -117
  320. data/lib/rcs/types/sender_metadata.rb +0 -74
  321. data/lib/rcs/types/unauthorized_error_body.rb +0 -57
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../types/sms_content"
5
+ require_relative "../../types/sms_validation_result"
6
+ require "async"
7
+
8
+ module Pinnacle
9
+ module Message
10
+ class SmsClient
11
+ # @return [Pinnacle::RequestClient]
12
+ attr_reader :request_client
13
+
14
+ # @param request_client [Pinnacle::RequestClient]
15
+ # @return [Pinnacle::Message::SmsClient]
16
+ def initialize(request_client:)
17
+ @request_client = request_client
18
+ end
19
+
20
+ # Validate SMS message content without sending it.
21
+ #
22
+ # @param request [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
23
+ # * :text (String)
24
+ # @param request_options [Pinnacle::RequestOptions]
25
+ # @return [Pinnacle::Types::SmsValidationResult]
26
+ # @example
27
+ # api = Pinnacle::Client.new(
28
+ # base_url: "https://api.example.com",
29
+ # environment: Pinnacle::Environment::DEFAULT,
30
+ # api_key: "YOUR_API_KEY"
31
+ # )
32
+ # api.message.sms.validate(request: { text: "Hello from Pinnacle" })
33
+ def validate(request:, request_options: nil)
34
+ response = @request_client.conn.post do |req|
35
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
36
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
37
+ req.headers = {
38
+ **(req.headers || {}),
39
+ **@request_client.get_headers,
40
+ **(request_options&.additional_headers || {})
41
+ }.compact
42
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
43
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
44
+ end
45
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
46
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/sms"
47
+ end
48
+ Pinnacle::Types::SmsValidationResult.from_json(json_object: response.body)
49
+ end
50
+ end
51
+
52
+ class AsyncSmsClient
53
+ # @return [Pinnacle::AsyncRequestClient]
54
+ attr_reader :request_client
55
+
56
+ # @param request_client [Pinnacle::AsyncRequestClient]
57
+ # @return [Pinnacle::Message::AsyncSmsClient]
58
+ def initialize(request_client:)
59
+ @request_client = request_client
60
+ end
61
+
62
+ # Validate SMS message content without sending it.
63
+ #
64
+ # @param request [Hash] Request of type Pinnacle::Types::SmsContent, as a Hash
65
+ # * :text (String)
66
+ # @param request_options [Pinnacle::RequestOptions]
67
+ # @return [Pinnacle::Types::SmsValidationResult]
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.message.sms.validate(request: { text: "Hello from Pinnacle" })
75
+ def validate(request:, request_options: nil)
76
+ Async do
77
+ response = @request_client.conn.post do |req|
78
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
79
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
80
+ req.headers = {
81
+ **(req.headers || {}),
82
+ **@request_client.get_headers,
83
+ **(request_options&.additional_headers || {})
84
+ }.compact
85
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
86
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
87
+ end
88
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
89
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/sms"
90
+ end
91
+ Pinnacle::Types::SmsValidationResult.from_json(json_object: response.body)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,185 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "../types/message"
5
+ require_relative "types/message_reaction_schema_options"
6
+ require_relative "../types/reaction_result"
7
+ require "async"
8
+
9
+ module Pinnacle
10
+ class MessagesClient
11
+ # @return [Pinnacle::RequestClient]
12
+ attr_reader :request_client
13
+
14
+ # @param request_client [Pinnacle::RequestClient]
15
+ # @return [Pinnacle::MessagesClient]
16
+ def initialize(request_client:)
17
+ @request_client = request_client
18
+ end
19
+
20
+ # Retrieve a previously sent message.
21
+ #
22
+ # @param id [Integer] Unique identifier of the message.
23
+ # @param request_options [Pinnacle::RequestOptions]
24
+ # @return [Pinnacle::Types::Message]
25
+ # @example
26
+ # api = Pinnacle::Client.new(
27
+ # base_url: "https://api.example.com",
28
+ # environment: Pinnacle::Environment::DEFAULT,
29
+ # api_key: "YOUR_API_KEY"
30
+ # )
31
+ # api.messages.get(id: 1240)
32
+ def get(id:, request_options: nil)
33
+ response = @request_client.conn.get do |req|
34
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
35
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
36
+ req.headers = {
37
+ **(req.headers || {}),
38
+ **@request_client.get_headers,
39
+ **(request_options&.additional_headers || {})
40
+ }.compact
41
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
42
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
43
+ end
44
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
45
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
46
+ end
47
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/#{id}"
48
+ end
49
+ Pinnacle::Types::Message.from_json(json_object: response.body)
50
+ end
51
+
52
+ # Add or remove an emoji reaction to a previously sent message.
53
+ #
54
+ # @param message_id [Integer] Unique identifier of the message.
55
+ # @param options [Hash] Request of type Pinnacle::Messages::Types::MessageReactionSchemaOptions, as a Hash
56
+ # * :force (Boolean)
57
+ # @param reaction [String] Unicode emoji to add. <br>
58
+ # Use `null` to remove existing reaction.
59
+ # @param request_options [Pinnacle::RequestOptions]
60
+ # @return [Pinnacle::Types::ReactionResult]
61
+ # @example
62
+ # api = Pinnacle::Client.new(
63
+ # base_url: "https://api.example.com",
64
+ # environment: Pinnacle::Environment::DEFAULT,
65
+ # api_key: "YOUR_API_KEY"
66
+ # )
67
+ # api.messages.react(
68
+ # message_id: 1410,
69
+ # options: { force: true },
70
+ # reaction: "👍"
71
+ # )
72
+ def react(message_id:, options: nil, reaction: nil, request_options: nil)
73
+ response = @request_client.conn.post do |req|
74
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
75
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
76
+ req.headers = {
77
+ **(req.headers || {}),
78
+ **@request_client.get_headers,
79
+ **(request_options&.additional_headers || {})
80
+ }.compact
81
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
82
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
83
+ end
84
+ req.body = {
85
+ **(request_options&.additional_body_parameters || {}),
86
+ messageId: message_id,
87
+ options: options,
88
+ reaction: reaction
89
+ }.compact
90
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/react"
91
+ end
92
+ Pinnacle::Types::ReactionResult.from_json(json_object: response.body)
93
+ end
94
+ end
95
+
96
+ class AsyncMessagesClient
97
+ # @return [Pinnacle::AsyncRequestClient]
98
+ attr_reader :request_client
99
+
100
+ # @param request_client [Pinnacle::AsyncRequestClient]
101
+ # @return [Pinnacle::AsyncMessagesClient]
102
+ def initialize(request_client:)
103
+ @request_client = request_client
104
+ end
105
+
106
+ # Retrieve a previously sent message.
107
+ #
108
+ # @param id [Integer] Unique identifier of the message.
109
+ # @param request_options [Pinnacle::RequestOptions]
110
+ # @return [Pinnacle::Types::Message]
111
+ # @example
112
+ # api = Pinnacle::Client.new(
113
+ # base_url: "https://api.example.com",
114
+ # environment: Pinnacle::Environment::DEFAULT,
115
+ # api_key: "YOUR_API_KEY"
116
+ # )
117
+ # api.messages.get(id: 1240)
118
+ def get(id:, request_options: nil)
119
+ Async do
120
+ response = @request_client.conn.get do |req|
121
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
122
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
123
+ req.headers = {
124
+ **(req.headers || {}),
125
+ **@request_client.get_headers,
126
+ **(request_options&.additional_headers || {})
127
+ }.compact
128
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
129
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
130
+ end
131
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
132
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
133
+ end
134
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/#{id}"
135
+ end
136
+ Pinnacle::Types::Message.from_json(json_object: response.body)
137
+ end
138
+ end
139
+
140
+ # Add or remove an emoji reaction to a previously sent message.
141
+ #
142
+ # @param message_id [Integer] Unique identifier of the message.
143
+ # @param options [Hash] Request of type Pinnacle::Messages::Types::MessageReactionSchemaOptions, as a Hash
144
+ # * :force (Boolean)
145
+ # @param reaction [String] Unicode emoji to add. <br>
146
+ # Use `null` to remove existing reaction.
147
+ # @param request_options [Pinnacle::RequestOptions]
148
+ # @return [Pinnacle::Types::ReactionResult]
149
+ # @example
150
+ # api = Pinnacle::Client.new(
151
+ # base_url: "https://api.example.com",
152
+ # environment: Pinnacle::Environment::DEFAULT,
153
+ # api_key: "YOUR_API_KEY"
154
+ # )
155
+ # api.messages.react(
156
+ # message_id: 1410,
157
+ # options: { force: true },
158
+ # reaction: "👍"
159
+ # )
160
+ def react(message_id:, options: nil, reaction: nil, request_options: nil)
161
+ Async do
162
+ response = @request_client.conn.post do |req|
163
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
164
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
165
+ req.headers = {
166
+ **(req.headers || {}),
167
+ **@request_client.get_headers,
168
+ **(request_options&.additional_headers || {})
169
+ }.compact
170
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
171
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
172
+ end
173
+ req.body = {
174
+ **(request_options&.additional_body_parameters || {}),
175
+ messageId: message_id,
176
+ options: options,
177
+ reaction: reaction
178
+ }.compact
179
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/react"
180
+ end
181
+ Pinnacle::Types::ReactionResult.from_json(json_object: response.body)
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../types/mms_content"
5
+ require_relative "../../types/mms_validation_result"
6
+ require "async"
7
+
8
+ module Pinnacle
9
+ module Messages
10
+ class MmsClient
11
+ # @return [Pinnacle::RequestClient]
12
+ attr_reader :request_client
13
+
14
+ # @param request_client [Pinnacle::RequestClient]
15
+ # @return [Pinnacle::Messages::MmsClient]
16
+ def initialize(request_client:)
17
+ @request_client = request_client
18
+ end
19
+
20
+ # Validate MMS message content without sending it.
21
+ #
22
+ # @param request [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
23
+ # * :media_urls (Array<String>)
24
+ # * :text (String)
25
+ # @param request_options [Pinnacle::RequestOptions]
26
+ # @return [Pinnacle::Types::MmsValidationResult]
27
+ # @example
28
+ # api = Pinnacle::Client.new(
29
+ # base_url: "https://api.example.com",
30
+ # environment: Pinnacle::Environment::DEFAULT,
31
+ # api_key: "YOUR_API_KEY"
32
+ # )
33
+ # api.messages.mms.validate(request: { media_urls: ["https://upload.wikimedia.org/wikipedia/commons/b/b9/Pizigani_1367_Chart_1MB.jpg", "https://fastly.picsum.photos/id/528/1000/1000.jpg?hmac=aTG0xNif9KbNryFN0ZNZ_nFK6aEpZxqUGCZF1KjOT8w", "https://file-examples.com/storage/fefdd7ab126835e7993bb1a/2017/10/file_example_JPG_500kB.jpg"], text: "Check out these images!" })
34
+ def validate(request:, request_options: nil)
35
+ response = @request_client.conn.post do |req|
36
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
37
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
38
+ req.headers = {
39
+ **(req.headers || {}),
40
+ **@request_client.get_headers,
41
+ **(request_options&.additional_headers || {})
42
+ }.compact
43
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
44
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
45
+ end
46
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
47
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/mms"
48
+ end
49
+ Pinnacle::Types::MmsValidationResult.from_json(json_object: response.body)
50
+ end
51
+ end
52
+
53
+ class AsyncMmsClient
54
+ # @return [Pinnacle::AsyncRequestClient]
55
+ attr_reader :request_client
56
+
57
+ # @param request_client [Pinnacle::AsyncRequestClient]
58
+ # @return [Pinnacle::Messages::AsyncMmsClient]
59
+ def initialize(request_client:)
60
+ @request_client = request_client
61
+ end
62
+
63
+ # Validate MMS message content without sending it.
64
+ #
65
+ # @param request [Hash] Request of type Pinnacle::Types::MmsContent, as a Hash
66
+ # * :media_urls (Array<String>)
67
+ # * :text (String)
68
+ # @param request_options [Pinnacle::RequestOptions]
69
+ # @return [Pinnacle::Types::MmsValidationResult]
70
+ # @example
71
+ # api = Pinnacle::Client.new(
72
+ # base_url: "https://api.example.com",
73
+ # environment: Pinnacle::Environment::DEFAULT,
74
+ # api_key: "YOUR_API_KEY"
75
+ # )
76
+ # api.messages.mms.validate(request: { media_urls: ["https://upload.wikimedia.org/wikipedia/commons/b/b9/Pizigani_1367_Chart_1MB.jpg", "https://fastly.picsum.photos/id/528/1000/1000.jpg?hmac=aTG0xNif9KbNryFN0ZNZ_nFK6aEpZxqUGCZF1KjOT8w", "https://file-examples.com/storage/fefdd7ab126835e7993bb1a/2017/10/file_example_JPG_500kB.jpg"], text: "Check out these images!" })
77
+ def validate(request:, request_options: nil)
78
+ Async do
79
+ response = @request_client.conn.post do |req|
80
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
81
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
82
+ req.headers = {
83
+ **(req.headers || {}),
84
+ **@request_client.get_headers,
85
+ **(request_options&.additional_headers || {})
86
+ }.compact
87
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
88
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
89
+ end
90
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
91
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/mms"
92
+ end
93
+ Pinnacle::Types::MmsValidationResult.from_json(json_object: response.body)
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../types/rcs_validate_content"
5
+ require_relative "../../types/rcs_validation_result"
6
+ require "async"
7
+
8
+ module Pinnacle
9
+ module Messages
10
+ class RcsClient
11
+ # @return [Pinnacle::RequestClient]
12
+ attr_reader :request_client
13
+
14
+ # @param request_client [Pinnacle::RequestClient]
15
+ # @return [Pinnacle::Messages::RcsClient]
16
+ def initialize(request_client:)
17
+ @request_client = request_client
18
+ end
19
+
20
+ # Validate RCS message content without sending it.
21
+ #
22
+ # @param request [Pinnacle::Types::RcsTextContent, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RcsCards]
23
+ # @param request_options [Pinnacle::RequestOptions]
24
+ # @return [Pinnacle::Types::RcsValidationResult]
25
+ # @example
26
+ # api = Pinnacle::Client.new(
27
+ # base_url: "https://api.example.com",
28
+ # environment: Pinnacle::Environment::DEFAULT,
29
+ # api_key: "YOUR_API_KEY"
30
+ # )
31
+ # api.messages.rcs.validate(request: { quick_replies: , text: "text" })
32
+ def validate(request:, request_options: nil)
33
+ response = @request_client.conn.post do |req|
34
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
35
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
36
+ req.headers = {
37
+ **(req.headers || {}),
38
+ **@request_client.get_headers,
39
+ **(request_options&.additional_headers || {})
40
+ }.compact
41
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
42
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
43
+ end
44
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
45
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/rcs"
46
+ end
47
+ Pinnacle::Types::RcsValidationResult.from_json(json_object: response.body)
48
+ end
49
+ end
50
+
51
+ class AsyncRcsClient
52
+ # @return [Pinnacle::AsyncRequestClient]
53
+ attr_reader :request_client
54
+
55
+ # @param request_client [Pinnacle::AsyncRequestClient]
56
+ # @return [Pinnacle::Messages::AsyncRcsClient]
57
+ def initialize(request_client:)
58
+ @request_client = request_client
59
+ end
60
+
61
+ # Validate RCS message content without sending it.
62
+ #
63
+ # @param request [Pinnacle::Types::RcsTextContent, Pinnacle::Types::RcsValidateContentMedia, Pinnacle::Types::RcsCards]
64
+ # @param request_options [Pinnacle::RequestOptions]
65
+ # @return [Pinnacle::Types::RcsValidationResult]
66
+ # @example
67
+ # api = Pinnacle::Client.new(
68
+ # base_url: "https://api.example.com",
69
+ # environment: Pinnacle::Environment::DEFAULT,
70
+ # api_key: "YOUR_API_KEY"
71
+ # )
72
+ # api.messages.rcs.validate(request: { quick_replies: , text: "text" })
73
+ def validate(request:, request_options: nil)
74
+ Async do
75
+ response = @request_client.conn.post do |req|
76
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
77
+ req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
78
+ req.headers = {
79
+ **(req.headers || {}),
80
+ **@request_client.get_headers,
81
+ **(request_options&.additional_headers || {})
82
+ }.compact
83
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
84
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
85
+ end
86
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
87
+ req.url "#{@request_client.get_url(request_options: request_options)}/messages/validate/rcs"
88
+ end
89
+ Pinnacle::Types::RcsValidationResult.from_json(json_object: response.body)
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end