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,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Legal documentation links.
9
+ class DlcWithExtendedBrandAndStatusLinks
10
+ # @return [String] Privacy policy URL.
11
+ attr_reader :privacy_policy
12
+ # @return [String] Terms of service URL.
13
+ attr_reader :terms_of_service
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param privacy_policy [String] Privacy policy URL.
23
+ # @param terms_of_service [String] Terms of service URL.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusLinks]
26
+ def initialize(privacy_policy: OMIT, terms_of_service: OMIT, additional_properties: nil)
27
+ @privacy_policy = privacy_policy if privacy_policy != OMIT
28
+ @terms_of_service = terms_of_service if terms_of_service != OMIT
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "privacyPolicy": privacy_policy, "termsOfService": terms_of_service }.reject do |_k, v|
31
+ v == OMIT
32
+ end
33
+ end
34
+
35
+ # Deserialize a JSON object to an instance of DlcWithExtendedBrandAndStatusLinks
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusLinks]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ privacy_policy = parsed_json["privacyPolicy"]
43
+ terms_of_service = parsed_json["termsOfService"]
44
+ new(
45
+ privacy_policy: privacy_policy,
46
+ terms_of_service: terms_of_service,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of DlcWithExtendedBrandAndStatusLinks to a JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.privacy_policy&.is_a?(String) != false || raise("Passed value for field obj.privacy_policy is not the expected type, validation failed.")
66
+ obj.terms_of_service&.is_a?(String) != false || raise("Passed value for field obj.terms_of_service is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Campaign configuration options.
9
+ class DlcWithExtendedBrandAndStatusOptions
10
+ # @return [Boolean] Whether the campaign uses affiliate marketing.
11
+ attr_reader :affiliate_marketing
12
+ # @return [Boolean] Whether the campaign is age-gated.
13
+ attr_reader :age_gated
14
+ # @return [Boolean] Whether the campaign involves direct lending.
15
+ attr_reader :direct_lending
16
+ # @return [String] Link embedded in campaign message.
17
+ attr_reader :embedded_link
18
+ # @return [Boolean] Whether messages include phone numbers.
19
+ attr_reader :embedded_phone
20
+ # @return [Boolean] Whether the campaign uses number pooling.
21
+ attr_reader :number_pooling
22
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
23
+ attr_reader :additional_properties
24
+ # @return [Object]
25
+ attr_reader :_field_set
26
+ protected :_field_set
27
+
28
+ OMIT = Object.new
29
+
30
+ # @param affiliate_marketing [Boolean] Whether the campaign uses affiliate marketing.
31
+ # @param age_gated [Boolean] Whether the campaign is age-gated.
32
+ # @param direct_lending [Boolean] Whether the campaign involves direct lending.
33
+ # @param embedded_link [String] Link embedded in campaign message.
34
+ # @param embedded_phone [Boolean] Whether messages include phone numbers.
35
+ # @param number_pooling [Boolean] Whether the campaign uses number pooling.
36
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusOptions]
38
+ def initialize(affiliate_marketing:, age_gated:, direct_lending:, embedded_phone:, number_pooling:,
39
+ embedded_link: OMIT, additional_properties: nil)
40
+ @affiliate_marketing = affiliate_marketing
41
+ @age_gated = age_gated
42
+ @direct_lending = direct_lending
43
+ @embedded_link = embedded_link if embedded_link != OMIT
44
+ @embedded_phone = embedded_phone
45
+ @number_pooling = number_pooling
46
+ @additional_properties = additional_properties
47
+ @_field_set = {
48
+ "affiliateMarketing": affiliate_marketing,
49
+ "ageGated": age_gated,
50
+ "directLending": direct_lending,
51
+ "embeddedLink": embedded_link,
52
+ "embeddedPhone": embedded_phone,
53
+ "numberPooling": number_pooling
54
+ }.reject do |_k, v|
55
+ v == OMIT
56
+ end
57
+ end
58
+
59
+ # Deserialize a JSON object to an instance of DlcWithExtendedBrandAndStatusOptions
60
+ #
61
+ # @param json_object [String]
62
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusOptions]
63
+ def self.from_json(json_object:)
64
+ struct = JSON.parse(json_object, object_class: OpenStruct)
65
+ parsed_json = JSON.parse(json_object)
66
+ affiliate_marketing = parsed_json["affiliateMarketing"]
67
+ age_gated = parsed_json["ageGated"]
68
+ direct_lending = parsed_json["directLending"]
69
+ embedded_link = parsed_json["embeddedLink"]
70
+ embedded_phone = parsed_json["embeddedPhone"]
71
+ number_pooling = parsed_json["numberPooling"]
72
+ new(
73
+ affiliate_marketing: affiliate_marketing,
74
+ age_gated: age_gated,
75
+ direct_lending: direct_lending,
76
+ embedded_link: embedded_link,
77
+ embedded_phone: embedded_phone,
78
+ number_pooling: number_pooling,
79
+ additional_properties: struct
80
+ )
81
+ end
82
+
83
+ # Serialize an instance of DlcWithExtendedBrandAndStatusOptions to a JSON object
84
+ #
85
+ # @return [String]
86
+ def to_json(*_args)
87
+ @_field_set&.to_json
88
+ end
89
+
90
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
91
+ # hash and check each fields type against the current object's property
92
+ # definitions.
93
+ #
94
+ # @param obj [Object]
95
+ # @return [Void]
96
+ def self.validate_raw(obj:)
97
+ obj.affiliate_marketing.is_a?(Boolean) != false || raise("Passed value for field obj.affiliate_marketing is not the expected type, validation failed.")
98
+ obj.age_gated.is_a?(Boolean) != false || raise("Passed value for field obj.age_gated is not the expected type, validation failed.")
99
+ obj.direct_lending.is_a?(Boolean) != false || raise("Passed value for field obj.direct_lending is not the expected type, validation failed.")
100
+ obj.embedded_link&.is_a?(String) != false || raise("Passed value for field obj.embedded_link is not the expected type, validation failed.")
101
+ obj.embedded_phone.is_a?(Boolean) != false || raise("Passed value for field obj.embedded_phone is not the expected type, validation failed.")
102
+ obj.number_pooling.is_a?(Boolean) != false || raise("Passed value for field obj.number_pooling is not the expected type, validation failed.")
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "sub_use_case_enum"
4
+ require_relative "dlc_campaign_use_case_enum"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Pinnacle
9
+ module Types
10
+ # Use case for the campaign.
11
+ class DlcWithExtendedBrandAndStatusUseCase
12
+ # @return [Array<Pinnacle::Types::SubUseCaseEnum>] Sub-use case categories.
13
+ attr_reader :sub
14
+ # @return [Pinnacle::Types::DlcCampaignUseCaseEnum]
15
+ attr_reader :value
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param sub [Array<Pinnacle::Types::SubUseCaseEnum>] Sub-use case categories.
25
+ # @param value [Pinnacle::Types::DlcCampaignUseCaseEnum]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusUseCase]
28
+ def initialize(sub: OMIT, value: OMIT, additional_properties: nil)
29
+ @sub = sub if sub != OMIT
30
+ @value = value if value != OMIT
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "sub": sub, "value": value }.reject do |_k, v|
33
+ v == OMIT
34
+ end
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of DlcWithExtendedBrandAndStatusUseCase
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Pinnacle::Types::DlcWithExtendedBrandAndStatusUseCase]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ sub = parsed_json["sub"]
45
+ value = parsed_json["value"]
46
+ new(
47
+ sub: sub,
48
+ value: value,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+
53
+ # Serialize an instance of DlcWithExtendedBrandAndStatusUseCase to a JSON object
54
+ #
55
+ # @return [String]
56
+ def to_json(*_args)
57
+ @_field_set&.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ obj.sub&.is_a?(Array) != false || raise("Passed value for field obj.sub is not the expected type, validation failed.")
68
+ obj.value&.is_a?(Pinnacle::Types::DlcCampaignUseCaseEnum) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "enhanced_contact_item"
4
+
5
+ module Pinnacle
6
+ module Types
7
+ ENHANCED_CONTACT = Array
8
+ end
9
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ class EnhancedContactItem
9
+ # @return [String] Professional or personal description of the contact.
10
+ # May include job title, company affiliation, or biographical information.
11
+ attr_reader :description
12
+ # @return [String] Primary email address associated with this contact profile.
13
+ attr_reader :email
14
+ # @return [Array<String>] Additional web links associated with this contact profile.
15
+ # May include personal websites, social media profiles, or professional
16
+ # portfolios.
17
+ attr_reader :links
18
+ # @return [String] LinkedIn profile URL if available and publicly accessible.
19
+ # Null if no LinkedIn profile is found or accessible.
20
+ attr_reader :linkedin
21
+ # @return [String] Full name of the contact person associated with this profile.
22
+ attr_reader :name
23
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
24
+ attr_reader :additional_properties
25
+ # @return [Object]
26
+ attr_reader :_field_set
27
+ protected :_field_set
28
+
29
+ OMIT = Object.new
30
+
31
+ # @param description [String] Professional or personal description of the contact.
32
+ # May include job title, company affiliation, or biographical information.
33
+ # @param email [String] Primary email address associated with this contact profile.
34
+ # @param links [Array<String>] Additional web links associated with this contact profile.
35
+ # May include personal websites, social media profiles, or professional
36
+ # portfolios.
37
+ # @param linkedin [String] LinkedIn profile URL if available and publicly accessible.
38
+ # Null if no LinkedIn profile is found or accessible.
39
+ # @param name [String] Full name of the contact person associated with this profile.
40
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
+ # @return [Pinnacle::Types::EnhancedContactItem]
42
+ def initialize(description:, email:, links:, name:, linkedin: OMIT, additional_properties: nil)
43
+ @description = description
44
+ @email = email
45
+ @links = links
46
+ @linkedin = linkedin if linkedin != OMIT
47
+ @name = name
48
+ @additional_properties = additional_properties
49
+ @_field_set = {
50
+ "description": description,
51
+ "email": email,
52
+ "links": links,
53
+ "linkedin": linkedin,
54
+ "name": name
55
+ }.reject do |_k, v|
56
+ v == OMIT
57
+ end
58
+ end
59
+
60
+ # Deserialize a JSON object to an instance of EnhancedContactItem
61
+ #
62
+ # @param json_object [String]
63
+ # @return [Pinnacle::Types::EnhancedContactItem]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ description = parsed_json["description"]
68
+ email = parsed_json["email"]
69
+ links = parsed_json["links"]
70
+ linkedin = parsed_json["linkedin"]
71
+ name = parsed_json["name"]
72
+ new(
73
+ description: description,
74
+ email: email,
75
+ links: links,
76
+ linkedin: linkedin,
77
+ name: name,
78
+ additional_properties: struct
79
+ )
80
+ end
81
+
82
+ # Serialize an instance of EnhancedContactItem to a JSON object
83
+ #
84
+ # @return [String]
85
+ def to_json(*_args)
86
+ @_field_set&.to_json
87
+ end
88
+
89
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
90
+ # hash and check each fields type against the current object's property
91
+ # definitions.
92
+ #
93
+ # @param obj [Object]
94
+ # @return [Void]
95
+ def self.validate_raw(obj:)
96
+ obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
97
+ obj.email.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
98
+ obj.links.is_a?(Array) != false || raise("Passed value for field obj.links is not the expected type, validation failed.")
99
+ obj.linkedin&.is_a?(String) != false || raise("Passed value for field obj.linkedin is not the expected type, validation failed.")
100
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Standard error response returned when a request cannot be processed
9
+ # successfully.
10
+ class Error
11
+ # @return [String] Human-readable description of the error that occurred, corresponding to the HTTP
12
+ # status code.
13
+ attr_reader :error
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param error [String] Human-readable description of the error that occurred, corresponding to the HTTP
23
+ # status code.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Pinnacle::Types::Error]
26
+ def initialize(error:, additional_properties: nil)
27
+ @error = error
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "error": error }
30
+ end
31
+
32
+ # Deserialize a JSON object to an instance of Error
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Pinnacle::Types::Error]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ parsed_json = JSON.parse(json_object)
39
+ error = parsed_json["error"]
40
+ new(error: error, additional_properties: struct)
41
+ end
42
+
43
+ # Serialize an instance of Error to a JSON object
44
+ #
45
+ # @return [String]
46
+ def to_json(*_args)
47
+ @_field_set&.to_json
48
+ end
49
+
50
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
51
+ # hash and check each fields type against the current object's property
52
+ # definitions.
53
+ #
54
+ # @param obj [Object]
55
+ # @return [Void]
56
+ def self.validate_raw(obj:)
57
+ obj.error.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "brand_status_enum"
4
+ require_relative "optional_contacts"
5
+ require_relative "company_sector_enum"
6
+ require_relative "company_type_enum"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Pinnacle
11
+ module Types
12
+ class ExtendedBrand
13
+ # @return [String] ISO 8601 formatted timestamp of when this brand was added to our system.
14
+ attr_reader :created_at
15
+ # @return [Integer] The brand's ID.
16
+ attr_reader :id
17
+ # @return [Boolean] Indicates if this brand is archived.
18
+ attr_reader :is_archived
19
+ # @return [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
20
+ # `INCOMPLETE`: Not submitted.<br>
21
+ # `IN REVIEW`: Being reviewed by carriers.<br>
22
+ # `VERIFIED`: Approved and ready to send messages.<br>
23
+ # `FAILED`: Issues and errors related to the campaign's details.
24
+ attr_reader :status
25
+ # @return [String] ISO 8601 formatted timestamp of when this brand was last updated.
26
+ attr_reader :updated_at
27
+ # @return [String] Primary brand address where this brand is located.
28
+ attr_reader :address
29
+ # @return [Pinnacle::Types::OptionalContacts]
30
+ attr_reader :contact
31
+ # @return [String] "Doing Business As" name - the public name this brand operates under.
32
+ attr_reader :dba
33
+ # @return [String] Brief description of what this brand does.
34
+ attr_reader :description
35
+ # @return [String] Employer Identification Number (EIN) assigned by the IRS.
36
+ attr_reader :ein
37
+ # @return [String] Main contact email address for this brand.
38
+ attr_reader :email
39
+ # @return [String] Legal name of the brand as registered.
40
+ attr_reader :name
41
+ # @return [Pinnacle::Types::CompanySectorEnum]
42
+ attr_reader :sector
43
+ # @return [Pinnacle::Types::CompanyTypeEnum]
44
+ attr_reader :type
45
+ # @return [String] Brand website URL.
46
+ attr_reader :website
47
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
48
+ attr_reader :additional_properties
49
+ # @return [Object]
50
+ attr_reader :_field_set
51
+ protected :_field_set
52
+
53
+ OMIT = Object.new
54
+
55
+ # @param created_at [String] ISO 8601 formatted timestamp of when this brand was added to our system.
56
+ # @param id [Integer] The brand's ID.
57
+ # @param is_archived [Boolean] Indicates if this brand is archived.
58
+ # @param status [Pinnacle::Types::BrandStatusEnum] Current review status of the campaign.<br>
59
+ # `INCOMPLETE`: Not submitted.<br>
60
+ # `IN REVIEW`: Being reviewed by carriers.<br>
61
+ # `VERIFIED`: Approved and ready to send messages.<br>
62
+ # `FAILED`: Issues and errors related to the campaign's details.
63
+ # @param updated_at [String] ISO 8601 formatted timestamp of when this brand was last updated.
64
+ # @param address [String] Primary brand address where this brand is located.
65
+ # @param contact [Pinnacle::Types::OptionalContacts]
66
+ # @param dba [String] "Doing Business As" name - the public name this brand operates under.
67
+ # @param description [String] Brief description of what this brand does.
68
+ # @param ein [String] Employer Identification Number (EIN) assigned by the IRS.
69
+ # @param email [String] Main contact email address for this brand.
70
+ # @param name [String] Legal name of the brand as registered.
71
+ # @param sector [Pinnacle::Types::CompanySectorEnum]
72
+ # @param type [Pinnacle::Types::CompanyTypeEnum]
73
+ # @param website [String] Brand website URL.
74
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
75
+ # @return [Pinnacle::Types::ExtendedBrand]
76
+ def initialize(created_at:, id:, is_archived:, status:, updated_at:, address: OMIT, contact: OMIT, dba: OMIT,
77
+ description: OMIT, ein: OMIT, email: OMIT, name: OMIT, sector: OMIT, type: OMIT, website: OMIT, additional_properties: nil)
78
+ @created_at = created_at
79
+ @id = id
80
+ @is_archived = is_archived
81
+ @status = status
82
+ @updated_at = updated_at
83
+ @address = address if address != OMIT
84
+ @contact = contact if contact != OMIT
85
+ @dba = dba if dba != OMIT
86
+ @description = description if description != OMIT
87
+ @ein = ein if ein != OMIT
88
+ @email = email if email != OMIT
89
+ @name = name if name != OMIT
90
+ @sector = sector if sector != OMIT
91
+ @type = type if type != OMIT
92
+ @website = website if website != OMIT
93
+ @additional_properties = additional_properties
94
+ @_field_set = {
95
+ "createdAt": created_at,
96
+ "id": id,
97
+ "isArchived": is_archived,
98
+ "status": status,
99
+ "updatedAt": updated_at,
100
+ "address": address,
101
+ "contact": contact,
102
+ "dba": dba,
103
+ "description": description,
104
+ "ein": ein,
105
+ "email": email,
106
+ "name": name,
107
+ "sector": sector,
108
+ "type": type,
109
+ "website": website
110
+ }.reject do |_k, v|
111
+ v == OMIT
112
+ end
113
+ end
114
+
115
+ # Deserialize a JSON object to an instance of ExtendedBrand
116
+ #
117
+ # @param json_object [String]
118
+ # @return [Pinnacle::Types::ExtendedBrand]
119
+ def self.from_json(json_object:)
120
+ struct = JSON.parse(json_object, object_class: OpenStruct)
121
+ parsed_json = JSON.parse(json_object)
122
+ created_at = parsed_json["createdAt"]
123
+ id = parsed_json["id"]
124
+ is_archived = parsed_json["isArchived"]
125
+ status = parsed_json["status"]
126
+ updated_at = parsed_json["updatedAt"]
127
+ address = parsed_json["address"]
128
+ if parsed_json["contact"].nil?
129
+ contact = nil
130
+ else
131
+ contact = parsed_json["contact"].to_json
132
+ contact = Pinnacle::Types::OptionalContacts.from_json(json_object: contact)
133
+ end
134
+ dba = parsed_json["dba"]
135
+ description = parsed_json["description"]
136
+ ein = parsed_json["ein"]
137
+ email = parsed_json["email"]
138
+ name = parsed_json["name"]
139
+ sector = parsed_json["sector"]
140
+ type = parsed_json["type"]
141
+ website = parsed_json["website"]
142
+ new(
143
+ created_at: created_at,
144
+ id: id,
145
+ is_archived: is_archived,
146
+ status: status,
147
+ updated_at: updated_at,
148
+ address: address,
149
+ contact: contact,
150
+ dba: dba,
151
+ description: description,
152
+ ein: ein,
153
+ email: email,
154
+ name: name,
155
+ sector: sector,
156
+ type: type,
157
+ website: website,
158
+ additional_properties: struct
159
+ )
160
+ end
161
+
162
+ # Serialize an instance of ExtendedBrand to a JSON object
163
+ #
164
+ # @return [String]
165
+ def to_json(*_args)
166
+ @_field_set&.to_json
167
+ end
168
+
169
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
170
+ # hash and check each fields type against the current object's property
171
+ # definitions.
172
+ #
173
+ # @param obj [Object]
174
+ # @return [Void]
175
+ def self.validate_raw(obj:)
176
+ obj.created_at.is_a?(String) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
177
+ obj.id.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
178
+ obj.is_archived.is_a?(Boolean) != false || raise("Passed value for field obj.is_archived is not the expected type, validation failed.")
179
+ obj.status.is_a?(Pinnacle::Types::BrandStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
180
+ obj.updated_at.is_a?(String) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
181
+ obj.address&.is_a?(String) != false || raise("Passed value for field obj.address is not the expected type, validation failed.")
182
+ obj.contact.nil? || Pinnacle::Types::OptionalContacts.validate_raw(obj: obj.contact)
183
+ obj.dba&.is_a?(String) != false || raise("Passed value for field obj.dba is not the expected type, validation failed.")
184
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
185
+ obj.ein&.is_a?(String) != false || raise("Passed value for field obj.ein is not the expected type, validation failed.")
186
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
187
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
188
+ obj.sector&.is_a?(Pinnacle::Types::CompanySectorEnum) != false || raise("Passed value for field obj.sector is not the expected type, validation failed.")
189
+ obj.type&.is_a?(Pinnacle::Types::CompanyTypeEnum) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
190
+ obj.website&.is_a?(String) != false || raise("Passed value for field obj.website is not the expected type, validation failed.")
191
+ end
192
+ end
193
+ end
194
+ end