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.
- checksums.yaml +4 -4
- data/lib/environment.rb +1 -1
- data/lib/rcs/brands/client.rb +631 -0
- data/lib/rcs/brands/types/autofill_brand_schema_options.rb +61 -0
- data/lib/rcs/brands/types/brand_contact.rb +84 -0
- data/lib/rcs/campaigns/client.rb +44 -0
- data/lib/rcs/campaigns/dlc/client.rb +480 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords.rb +99 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_help.rb +74 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_in.rb +74 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_out.rb +74 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_links.rb +74 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_options.rb +110 -0
- data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_use_case.rb +76 -0
- data/lib/rcs/campaigns/rcs/client.rb +457 -0
- data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +155 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent.rb +140 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_emails_item.rb +73 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_phones_item.rb +73 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_websites_item.rb +73 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_links.rb +74 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_in.rb +75 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_out.rb +76 -0
- data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_use_case.rb +75 -0
- data/lib/rcs/campaigns/toll_free/client.rb +429 -0
- data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +130 -0
- data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_opt_in.rb +86 -0
- data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_use_case.rb +75 -0
- data/lib/rcs/contacts/client.rb +275 -0
- data/lib/rcs/conversations/client.rb +273 -0
- data/lib/rcs/message/client.rb +30 -0
- data/lib/rcs/message/sms/client.rb +96 -0
- data/lib/rcs/messages/client.rb +185 -0
- data/lib/rcs/messages/mms/client.rb +98 -0
- data/lib/rcs/messages/rcs/client.rb +94 -0
- data/lib/rcs/messages/send/client.rb +318 -0
- data/lib/rcs/messages/send/types/send_mms_response.rb +60 -0
- data/lib/rcs/messages/send/types/send_mms_schema_options.rb +108 -0
- data/lib/rcs/messages/send/types/send_rcs_response.rb +60 -0
- data/lib/rcs/messages/send/types/send_sms_response.rb +60 -0
- data/lib/rcs/messages/send/types/send_sms_schema_options.rb +81 -0
- data/lib/rcs/messages/types/message_reaction_schema_options.rb +71 -0
- data/lib/rcs/phone_numbers/campaign/client.rb +179 -0
- data/lib/rcs/phone_numbers/client.rb +345 -0
- data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +16 -0
- data/lib/rcs/phone_numbers/types/phone_details_schema_options.rb +93 -0
- data/lib/rcs/phone_numbers/types/phone_details_schema_options_enhanced_contact_info.rb +64 -0
- data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +58 -0
- data/lib/rcs/phone_numbers/types/search_schema_location.rb +96 -0
- data/lib/rcs/phone_numbers/types/search_schema_number.rb +81 -0
- data/lib/rcs/phone_numbers/types/search_schema_options.rb +62 -0
- data/lib/rcs/phone_numbers/webhook/client.rb +191 -0
- data/lib/rcs/status/client.rb +30 -0
- data/lib/rcs/status/get/client.rb +367 -0
- data/lib/rcs/tools/client.rb +32 -199
- data/lib/rcs/tools/contact_card/client.rb +285 -0
- data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +67 -0
- data/lib/rcs/tools/file/client.rb +138 -0
- data/lib/rcs/tools/file/types/file_upload_schema_options.rb +70 -0
- data/lib/rcs/tools/file/types/file_upload_schema_options_download.rb +66 -0
- data/lib/rcs/tools/url/client.rb +245 -0
- data/lib/rcs/types/advanced_phone_information.rb +147 -0
- data/lib/rcs/types/advanced_phone_information_carrier.rb +90 -0
- data/lib/rcs/types/advanced_phone_information_contact.rb +146 -0
- data/lib/rcs/types/advanced_phone_information_location.rb +142 -0
- data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +73 -0
- data/lib/rcs/types/advanced_phone_information_location_country.rb +77 -0
- data/lib/rcs/types/advanced_phone_information_type.rb +97 -0
- data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +15 -0
- data/lib/rcs/types/agent.rb +68 -0
- data/lib/rcs/types/attach_webhook_params.rb +60 -0
- data/lib/rcs/types/attach_webhook_response_webhook.rb +86 -0
- data/lib/rcs/types/attach_webhook_schema_name.rb +88 -0
- data/lib/rcs/types/attach_webhook_schema_webhook_id.rb +77 -0
- data/lib/rcs/types/attached_phone_number_result.rb +75 -0
- data/lib/rcs/types/autofill_campaign_params.rb +69 -0
- data/lib/rcs/types/autofill_dlc_campaign_response.rb +169 -0
- data/lib/rcs/types/autofill_dlc_response_keywords.rb +95 -0
- data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +70 -0
- data/lib/rcs/{send/types/send_sms_response.rb → types/autofill_dlc_response_keywords_opt_in.rb} +18 -17
- data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +70 -0
- data/lib/rcs/types/autofill_dlc_response_links.rb +70 -0
- data/lib/rcs/types/autofill_dlc_response_options.rb +106 -0
- data/lib/rcs/types/autofill_dlc_response_use_case.rb +72 -0
- data/lib/rcs/types/bad_request_error_body.rb +44 -45
- data/lib/rcs/types/basic_phone_information.rb +127 -0
- data/lib/rcs/{company/types/company_register_response_brand.rb → types/basic_phone_information_contact.rb} +12 -21
- data/lib/rcs/types/basic_phone_information_location.rb +74 -0
- data/lib/rcs/types/basic_phone_information_location_country.rb +75 -0
- data/lib/rcs/types/brand_status.rb +92 -0
- data/lib/rcs/types/brand_status_enum.rb +21 -0
- data/lib/rcs/types/buy_response_capabilities.rb +77 -0
- data/lib/rcs/types/campaign_enum.rb +15 -0
- data/lib/rcs/types/campaign_query.rb +69 -0
- data/lib/rcs/{company/types/company_register_request_company_id.rb → types/campaign_submission_result.rb} +15 -16
- data/lib/rcs/types/campaign_validation_response_errors_item.rb +76 -0
- data/lib/rcs/types/campaign_validation_result.rb +71 -0
- data/lib/rcs/types/click_action.rb +73 -0
- data/lib/rcs/types/click_action_data.rb +56 -0
- data/lib/rcs/types/click_action_data_metadata.rb +69 -0
- data/lib/rcs/types/company_sector_enum.rb +26 -0
- data/lib/rcs/types/company_type_enum.rb +14 -0
- data/lib/rcs/types/configured_webhook.rb +85 -0
- data/lib/rcs/types/contact.rb +105 -0
- data/lib/rcs/types/contact_id.rb +57 -0
- data/lib/rcs/types/conversation.rb +146 -0
- data/lib/rcs/types/conversation_contact.rb +68 -0
- data/lib/rcs/types/conversation_list.rb +79 -0
- data/lib/rcs/types/conversation_sender.rb +60 -0
- data/lib/rcs/types/create_url_options.rb +61 -0
- data/lib/rcs/types/detached_phone_number_result.rb +75 -0
- data/lib/rcs/types/detached_webhook_info.rb +74 -0
- data/lib/rcs/types/detailed_phone_number_enum.rb +25 -0
- data/lib/rcs/types/dlc_assignment_status_enum.rb +19 -0
- data/lib/rcs/types/dlc_campaign_status.rb +107 -0
- data/lib/rcs/types/dlc_campaign_use_case_enum.rb +35 -0
- data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +194 -0
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +94 -0
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +72 -0
- data/lib/rcs/{send/types/send_mms_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_in.rb} +20 -17
- data/lib/rcs/{send/types/send_rcs_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_out.rb} +20 -17
- data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +70 -0
- data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +106 -0
- data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +72 -0
- data/lib/rcs/types/enhanced_contact.rb +9 -0
- data/lib/rcs/types/enhanced_contact_item.rb +104 -0
- data/lib/rcs/types/error.rb +61 -0
- data/lib/rcs/types/extended_brand.rb +194 -0
- data/lib/rcs/types/extended_brand_with_vetting.rb +226 -0
- data/lib/rcs/types/extended_rcs_campaign.rb +173 -0
- data/lib/rcs/{company/types/company_register_request.rb → types/get_conversation_params.rb} +13 -12
- data/lib/rcs/types/get_conversation_request_id.rb +58 -0
- data/lib/rcs/types/get_conversation_request_recipient.rb +72 -0
- data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +96 -0
- data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +92 -0
- data/lib/rcs/types/inbound_button.rb +56 -0
- data/lib/rcs/types/link_click_event.rb +465 -0
- data/lib/rcs/{company/types/company_update_response.rb → types/location_share_action.rb} +19 -19
- data/lib/rcs/types/location_share_action_data.rb +89 -0
- data/lib/rcs/types/message.rb +174 -0
- data/lib/rcs/types/message_content.rb +85 -0
- data/lib/rcs/types/message_method_enum.rb +12 -0
- data/lib/rcs/types/message_protocol_enum.rb +12 -0
- data/lib/rcs/types/message_schedule.rb +94 -0
- data/lib/rcs/types/message_status_enum.rb +16 -0
- data/lib/rcs/types/message_volume_enum.rb +20 -0
- data/lib/rcs/types/messaging_profile_enum.rb +11 -0
- data/lib/rcs/types/mms_content.rb +74 -0
- data/lib/rcs/types/mms_validation_response_segments.rb +85 -0
- data/lib/rcs/types/mms_validation_response_segments_value_item.rb +75 -0
- data/lib/rcs/types/mms_validation_result.rb +82 -0
- data/lib/rcs/types/nullable_contact.rb +84 -0
- data/lib/rcs/types/number_format.rb +79 -0
- data/lib/rcs/types/opt_in_method_enum.rb +13 -0
- data/lib/rcs/types/optional_brand_info.rb +145 -0
- data/lib/rcs/types/optional_contact.rb +83 -0
- data/lib/rcs/types/optional_contacts.rb +84 -0
- data/lib/rcs/types/phone.rb +101 -0
- data/lib/rcs/types/phone_capabilities.rb +75 -0
- data/lib/rcs/types/phone_enum.rb +13 -0
- data/lib/rcs/types/phone_feature_enum.rb +18 -0
- data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +67 -0
- data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +75 -0
- data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +78 -0
- data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +67 -0
- data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +75 -0
- data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +78 -0
- data/lib/rcs/types/phone_number_cost.rb +75 -0
- data/lib/rcs/types/phone_number_details.rb +110 -0
- data/lib/rcs/types/phone_number_enum.rb +18 -0
- data/lib/rcs/types/phone_number_region.rb +91 -0
- data/lib/rcs/types/phone_number_status.rb +90 -0
- data/lib/rcs/types/phone_number_status_enum.rb +16 -0
- data/lib/rcs/types/pinnacle_file_upload_metadata.rb +84 -0
- data/lib/rcs/types/pinnacle_url_config.rb +71 -0
- data/lib/rcs/types/profile_status_enum.rb +17 -0
- data/lib/rcs/types/purchased_number.rb +75 -0
- data/lib/rcs/types/rcs.rb +70 -0
- data/lib/rcs/types/rcs_base.rb +82 -0
- data/lib/rcs/types/rcs_base_options.rb +100 -0
- data/lib/rcs/types/rcs_button_call.rb +68 -0
- data/lib/rcs/types/rcs_button_content.rb +148 -0
- data/lib/rcs/types/rcs_button_open_url.rb +68 -0
- data/lib/rcs/types/rcs_button_request_user_location.rb +58 -0
- data/lib/rcs/types/rcs_button_schedule_event.rb +98 -0
- data/lib/rcs/types/rcs_button_send_location.rb +74 -0
- data/lib/rcs/types/rcs_button_send_location_lat_long.rb +68 -0
- data/lib/rcs/types/rcs_button_trigger.rb +78 -0
- data/lib/rcs/types/rcs_campaign.rb +143 -0
- data/lib/rcs/types/rcs_campaign_opt_in_method_enum.rb +15 -0
- data/lib/rcs/types/rcs_campaign_schema_agent.rb +134 -0
- data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +69 -0
- data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +69 -0
- data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +69 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +134 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +71 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +71 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_opt_out.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +71 -0
- data/lib/rcs/types/rcs_campaign_schema_links.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +71 -0
- data/lib/rcs/types/rcs_campaign_schema_opt_out.rb +70 -0
- data/lib/rcs/types/rcs_campaign_schema_use_case.rb +71 -0
- data/lib/rcs/types/rcs_campaign_status.rb +86 -0
- data/lib/rcs/types/rcs_campaign_use_case_enum.rb +23 -0
- data/lib/rcs/types/rcs_card.rb +110 -0
- data/lib/rcs/types/rcs_cards.rb +79 -0
- data/lib/rcs/types/rcs_cards_cards_item.rb +88 -0
- data/lib/rcs/types/rcs_cards_content.rb +79 -0
- data/lib/rcs/types/rcs_cards_content_cards_item.rb +94 -0
- data/lib/rcs/types/rcs_content.rb +72 -0
- data/lib/rcs/types/rcs_media.rb +110 -0
- data/lib/rcs/types/rcs_media_content.rb +81 -0
- data/lib/rcs/types/rcs_media_details_content.rb +77 -0
- data/lib/rcs/types/rcs_text.rb +106 -0
- data/lib/rcs/types/rcs_text_content.rb +72 -0
- data/lib/rcs/types/rcs_validate_content.rb +70 -0
- data/lib/rcs/{company/types/company_register_response.rb → types/rcs_validate_content_media.rb} +19 -21
- data/lib/rcs/types/rcs_validation_result.rb +76 -0
- data/lib/rcs/types/reaction_result.rb +67 -0
- data/lib/rcs/types/scheduled_messaage.rb +73 -0
- data/lib/rcs/types/scheduled_send_response_config.rb +89 -0
- data/lib/rcs/types/send_sms_response_segments.rb +69 -0
- data/lib/rcs/types/send_sms_response_segments_encoding.rb +11 -0
- data/lib/rcs/types/sent_mms_details.rb +102 -0
- data/lib/rcs/types/sent_rcs_details.rb +105 -0
- data/lib/rcs/types/sent_sms_details.rb +108 -0
- data/lib/rcs/types/shortened_url.rb +77 -0
- data/lib/rcs/types/shortened_url_with_click_data.rb +90 -0
- data/lib/rcs/types/sms_content.rb +58 -0
- data/lib/rcs/types/sms_validation_response_segments.rb +80 -0
- data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +75 -0
- data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +68 -0
- data/lib/rcs/types/sms_validation_response_total.rb +75 -0
- data/lib/rcs/types/sms_validation_result.rb +102 -0
- data/lib/rcs/types/sub_use_case_enum.rb +19 -0
- data/lib/rcs/types/submission_results.rb +57 -0
- data/lib/rcs/types/successful_conversation_update.rb +58 -0
- data/lib/rcs/types/toll_free_campaign.rb +118 -0
- data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +78 -0
- data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +71 -0
- data/lib/rcs/types/toll_free_campaign_status.rb +91 -0
- data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +52 -0
- data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +155 -0
- data/lib/rcs/types/toll_free_status_enum.rb +20 -0
- data/lib/rcs/types/tracking.rb +17 -0
- data/lib/rcs/types/updated_contact_id.rb +57 -0
- data/lib/rcs/types/upload_results.rb +80 -0
- data/lib/rcs/types/v_card_address_schema_type_item.rb +15 -0
- data/lib/rcs/types/v_card_data.rb +237 -0
- data/lib/rcs/types/v_card_data_file.rb +74 -0
- data/lib/rcs/types/v_card_data_file_metadata.rb +62 -0
- data/lib/rcs/types/v_card_email_schema_type_item.rb +21 -0
- data/lib/rcs/types/v_card_geo.rb +70 -0
- data/lib/rcs/types/v_card_name.rb +98 -0
- data/lib/rcs/types/v_card_organization.rb +70 -0
- data/lib/rcs/types/v_card_phone_schema_type_item.rb +21 -0
- data/lib/rcs/types/validate_campaign_params.rb +69 -0
- data/lib/rcs/types/validation_error_details.rb +76 -0
- data/lib/rcs/types/validation_results.rb +71 -0
- data/lib/rcs/types/vcard.rb +215 -0
- data/lib/rcs/types/vcard_address.rb +130 -0
- data/lib/rcs/types/vcard_content.rb +223 -0
- data/lib/rcs/types/vcard_email.rb +70 -0
- data/lib/rcs/types/vcard_phone.rb +70 -0
- data/lib/rcs/types/vcard_resource.rb +71 -0
- data/lib/rcs/types/vetting_feedback.rb +81 -0
- data/lib/rcs/types/vetting_history.rb +98 -0
- data/lib/rcs/types/vetting_history_vetting_status.rb +13 -0
- data/lib/rcs/types/vetting_results.rb +57 -0
- data/lib/rcs/types/webhook_event_enum.rb +13 -0
- data/lib/rcs/types/webhook_result.rb +64 -0
- data/lib/rcs/{company/types/company_update_response_brand.rb → types/webhooks.rb} +25 -17
- data/lib/rcs/types/zod_error.rb +73 -0
- data/lib/rcs/webhooks/client.rb +93 -0
- data/lib/rcs.rb +67 -83
- data/lib/requests.rb +4 -4
- data/lib/types_export.rb +252 -46
- metadata +278 -52
- data/lib/rcs/company/client.rb +0 -375
- data/lib/rcs/company/types/company_register_request_company.rb +0 -128
- data/lib/rcs/send/client.rb +0 -382
- data/lib/rcs/send/types/rcs_fallback.rb +0 -84
- data/lib/rcs/tools/types/tools_shorten_url_response.rb +0 -70
- data/lib/rcs/tools/types/tools_upload_url_response.rb +0 -69
- data/lib/rcs/types/action.rb +0 -154
- data/lib/rcs/types/action_lat_long.rb +0 -68
- data/lib/rcs/types/action_type.rb +0 -16
- data/lib/rcs/types/additional_email.rb +0 -65
- data/lib/rcs/types/additional_phone_number.rb +0 -65
- data/lib/rcs/types/additional_website.rb +0 -65
- data/lib/rcs/types/card.rb +0 -90
- data/lib/rcs/types/company.rb +0 -319
- data/lib/rcs/types/company_additional_emails_item.rb +0 -67
- data/lib/rcs/types/company_additional_phone_numbers_item.rb +0 -67
- data/lib/rcs/types/company_additional_websites_item.rb +0 -67
- data/lib/rcs/types/company_category.rb +0 -20
- data/lib/rcs/types/company_contact.rb +0 -117
- data/lib/rcs/types/company_details.rb +0 -120
- data/lib/rcs/types/forbidden_error_body.rb +0 -57
- data/lib/rcs/types/inbound_action_message.rb +0 -117
- data/lib/rcs/types/inbound_location_message.rb +0 -106
- data/lib/rcs/types/inbound_location_message_coordinates.rb +0 -65
- data/lib/rcs/types/inbound_media_message.rb +0 -112
- data/lib/rcs/types/inbound_message.rb +0 -88
- data/lib/rcs/types/inbound_message_message_type.rb +0 -10
- data/lib/rcs/types/inbound_message_metadata.rb +0 -79
- data/lib/rcs/types/inbound_text_message.rb +0 -100
- data/lib/rcs/types/internal_server_error_body.rb +0 -57
- data/lib/rcs/types/media_payload.rb +0 -65
- data/lib/rcs/types/message_metadata.rb +0 -56
- data/lib/rcs/types/messaging.rb +0 -95
- data/lib/rcs/types/optionals.rb +0 -99
- data/lib/rcs/types/payment_required_error_body.rb +0 -57
- data/lib/rcs/types/point_of_contact.rb +0 -72
- data/lib/rcs/types/rcs_functionalities.rb +0 -117
- data/lib/rcs/types/sender_metadata.rb +0 -74
- data/lib/rcs/types/unauthorized_error_body.rb +0 -57
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "rcs_base_options"
|
4
|
+
require_relative "rcs_button_content"
|
5
|
+
require "ostruct"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module Pinnacle
|
9
|
+
module Types
|
10
|
+
class RcsText
|
11
|
+
# @return [String] Your RCS agent ID which must be prefixed with 'agent_'.
|
12
|
+
attr_reader :from
|
13
|
+
# @return [Pinnacle::Types::RcsBaseOptions] Configure how your RCS message is sent and tracked.
|
14
|
+
attr_reader :options
|
15
|
+
# @return [String] Recipient's phone number in E.164 format.
|
16
|
+
attr_reader :to
|
17
|
+
# @return [Array<Pinnacle::Types::RcsButtonContent>] List of interactive quick reply buttons in the message.
|
18
|
+
attr_reader :quick_replies
|
19
|
+
# @return [String] Text content of the RCS message.
|
20
|
+
attr_reader :text
|
21
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
attr_reader :additional_properties
|
23
|
+
# @return [Object]
|
24
|
+
attr_reader :_field_set
|
25
|
+
protected :_field_set
|
26
|
+
|
27
|
+
OMIT = Object.new
|
28
|
+
|
29
|
+
# @param from [String] Your RCS agent ID which must be prefixed with 'agent_'.
|
30
|
+
# @param options [Pinnacle::Types::RcsBaseOptions] Configure how your RCS message is sent and tracked.
|
31
|
+
# @param to [String] Recipient's phone number in E.164 format.
|
32
|
+
# @param quick_replies [Array<Pinnacle::Types::RcsButtonContent>] List of interactive quick reply buttons in the message.
|
33
|
+
# @param text [String] Text content of the RCS message.
|
34
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
35
|
+
# @return [Pinnacle::Types::RcsText]
|
36
|
+
def initialize(from:, to:, quick_replies:, text:, options: OMIT, additional_properties: nil)
|
37
|
+
@from = from
|
38
|
+
@options = options if options != OMIT
|
39
|
+
@to = to
|
40
|
+
@quick_replies = quick_replies
|
41
|
+
@text = text
|
42
|
+
@additional_properties = additional_properties
|
43
|
+
@_field_set = {
|
44
|
+
"from": from,
|
45
|
+
"options": options,
|
46
|
+
"to": to,
|
47
|
+
"quickReplies": quick_replies,
|
48
|
+
"text": text
|
49
|
+
}.reject do |_k, v|
|
50
|
+
v == OMIT
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Deserialize a JSON object to an instance of RcsText
|
55
|
+
#
|
56
|
+
# @param json_object [String]
|
57
|
+
# @return [Pinnacle::Types::RcsText]
|
58
|
+
def self.from_json(json_object:)
|
59
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
60
|
+
parsed_json = JSON.parse(json_object)
|
61
|
+
from = parsed_json["from"]
|
62
|
+
if parsed_json["options"].nil?
|
63
|
+
options = nil
|
64
|
+
else
|
65
|
+
options = parsed_json["options"].to_json
|
66
|
+
options = Pinnacle::Types::RcsBaseOptions.from_json(json_object: options)
|
67
|
+
end
|
68
|
+
to = parsed_json["to"]
|
69
|
+
quick_replies = parsed_json["quickReplies"]&.map do |item|
|
70
|
+
item = item.to_json
|
71
|
+
Pinnacle::Types::RcsButtonContent.from_json(json_object: item)
|
72
|
+
end
|
73
|
+
text = parsed_json["text"]
|
74
|
+
new(
|
75
|
+
from: from,
|
76
|
+
options: options,
|
77
|
+
to: to,
|
78
|
+
quick_replies: quick_replies,
|
79
|
+
text: text,
|
80
|
+
additional_properties: struct
|
81
|
+
)
|
82
|
+
end
|
83
|
+
|
84
|
+
# Serialize an instance of RcsText to a JSON object
|
85
|
+
#
|
86
|
+
# @return [String]
|
87
|
+
def to_json(*_args)
|
88
|
+
@_field_set&.to_json
|
89
|
+
end
|
90
|
+
|
91
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
92
|
+
# hash and check each fields type against the current object's property
|
93
|
+
# definitions.
|
94
|
+
#
|
95
|
+
# @param obj [Object]
|
96
|
+
# @return [Void]
|
97
|
+
def self.validate_raw(obj:)
|
98
|
+
obj.from.is_a?(String) != false || raise("Passed value for field obj.from is not the expected type, validation failed.")
|
99
|
+
obj.options.nil? || Pinnacle::Types::RcsBaseOptions.validate_raw(obj: obj.options)
|
100
|
+
obj.to.is_a?(String) != false || raise("Passed value for field obj.to is not the expected type, validation failed.")
|
101
|
+
obj.quick_replies.is_a?(Array) != false || raise("Passed value for field obj.quick_replies is not the expected type, validation failed.")
|
102
|
+
obj.text.is_a?(String) != false || raise("Passed value for field obj.text 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 "rcs_button_content"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Pinnacle
|
8
|
+
module Types
|
9
|
+
# Message containing longer text content with optional quick reply buttons.
|
10
|
+
class RcsTextContent
|
11
|
+
# @return [Array<Pinnacle::Types::RcsButtonContent>] List of interactive quick reply buttons in the message.
|
12
|
+
attr_reader :quick_replies
|
13
|
+
# @return [String] Text content of the RCS message.
|
14
|
+
attr_reader :text
|
15
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
16
|
+
attr_reader :additional_properties
|
17
|
+
# @return [Object]
|
18
|
+
attr_reader :_field_set
|
19
|
+
protected :_field_set
|
20
|
+
|
21
|
+
OMIT = Object.new
|
22
|
+
|
23
|
+
# @param quick_replies [Array<Pinnacle::Types::RcsButtonContent>] List of interactive quick reply buttons in the message.
|
24
|
+
# @param text [String] Text content of the RCS message.
|
25
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
# @return [Pinnacle::Types::RcsTextContent]
|
27
|
+
def initialize(quick_replies:, text:, additional_properties: nil)
|
28
|
+
@quick_replies = quick_replies
|
29
|
+
@text = text
|
30
|
+
@additional_properties = additional_properties
|
31
|
+
@_field_set = { "quickReplies": quick_replies, "text": text }
|
32
|
+
end
|
33
|
+
|
34
|
+
# Deserialize a JSON object to an instance of RcsTextContent
|
35
|
+
#
|
36
|
+
# @param json_object [String]
|
37
|
+
# @return [Pinnacle::Types::RcsTextContent]
|
38
|
+
def self.from_json(json_object:)
|
39
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
40
|
+
parsed_json = JSON.parse(json_object)
|
41
|
+
quick_replies = parsed_json["quickReplies"]&.map do |item|
|
42
|
+
item = item.to_json
|
43
|
+
Pinnacle::Types::RcsButtonContent.from_json(json_object: item)
|
44
|
+
end
|
45
|
+
text = parsed_json["text"]
|
46
|
+
new(
|
47
|
+
quick_replies: quick_replies,
|
48
|
+
text: text,
|
49
|
+
additional_properties: struct
|
50
|
+
)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Serialize an instance of RcsTextContent 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.quick_replies.is_a?(Array) != false || raise("Passed value for field obj.quick_replies is not the expected type, validation failed.")
|
68
|
+
obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "rcs_text_content"
|
5
|
+
require_relative "rcs_validate_content_media"
|
6
|
+
require_relative "rcs_cards"
|
7
|
+
|
8
|
+
module Pinnacle
|
9
|
+
module Types
|
10
|
+
class RcsValidateContent
|
11
|
+
# Deserialize a JSON object to an instance of RcsValidateContent
|
12
|
+
#
|
13
|
+
# @param json_object [String]
|
14
|
+
# @return [Pinnacle::Types::RcsValidateContent]
|
15
|
+
def self.from_json(json_object:)
|
16
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
17
|
+
begin
|
18
|
+
Pinnacle::Types::RcsTextContent.validate_raw(obj: struct)
|
19
|
+
return Pinnacle::Types::RcsTextContent.from_json(json_object: struct) unless struct.nil?
|
20
|
+
|
21
|
+
return nil
|
22
|
+
rescue StandardError
|
23
|
+
# noop
|
24
|
+
end
|
25
|
+
begin
|
26
|
+
Pinnacle::Types::RcsValidateContentMedia.validate_raw(obj: struct)
|
27
|
+
return Pinnacle::Types::RcsValidateContentMedia.from_json(json_object: struct) unless struct.nil?
|
28
|
+
|
29
|
+
return nil
|
30
|
+
rescue StandardError
|
31
|
+
# noop
|
32
|
+
end
|
33
|
+
begin
|
34
|
+
Pinnacle::Types::RcsCards.validate_raw(obj: struct)
|
35
|
+
return Pinnacle::Types::RcsCards.from_json(json_object: struct) unless struct.nil?
|
36
|
+
|
37
|
+
return nil
|
38
|
+
rescue StandardError
|
39
|
+
# noop
|
40
|
+
end
|
41
|
+
struct
|
42
|
+
end
|
43
|
+
|
44
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
45
|
+
# hash and check each fields type against the current object's property
|
46
|
+
# definitions.
|
47
|
+
#
|
48
|
+
# @param obj [Object]
|
49
|
+
# @return [Void]
|
50
|
+
def self.validate_raw(obj:)
|
51
|
+
begin
|
52
|
+
return Pinnacle::Types::RcsTextContent.validate_raw(obj: obj)
|
53
|
+
rescue StandardError
|
54
|
+
# noop
|
55
|
+
end
|
56
|
+
begin
|
57
|
+
return Pinnacle::Types::RcsValidateContentMedia.validate_raw(obj: obj)
|
58
|
+
rescue StandardError
|
59
|
+
# noop
|
60
|
+
end
|
61
|
+
begin
|
62
|
+
return Pinnacle::Types::RcsCards.validate_raw(obj: obj)
|
63
|
+
rescue StandardError
|
64
|
+
# noop
|
65
|
+
end
|
66
|
+
raise("Passed value matched no type within the union, validation failed.")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/lib/rcs/{company/types/company_register_response.rb → types/rcs_validate_content_media.rb}
RENAMED
@@ -1,14 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative "company_register_response_brand"
|
4
3
|
require "ostruct"
|
5
4
|
require "json"
|
6
5
|
|
7
6
|
module Pinnacle
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
module Types
|
8
|
+
# Message containing a media file and/or text with optional quick reply
|
9
|
+
# buttons.<br>
|
10
|
+
# See [supported media
|
11
|
+
# types](https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA).
|
12
|
+
class RcsValidateContentMedia
|
13
|
+
# @return [String] Media file URLs to send.
|
14
|
+
attr_reader :media
|
12
15
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
13
16
|
attr_reader :additional_properties
|
14
17
|
# @return [Object]
|
@@ -17,32 +20,27 @@ module Pinnacle
|
|
17
20
|
|
18
21
|
OMIT = Object.new
|
19
22
|
|
20
|
-
# @param
|
23
|
+
# @param media [String] Media file URLs to send.
|
21
24
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
-
# @return [Pinnacle::
|
23
|
-
def initialize(
|
24
|
-
@
|
25
|
+
# @return [Pinnacle::Types::RcsValidateContentMedia]
|
26
|
+
def initialize(media:, additional_properties: nil)
|
27
|
+
@media = media
|
25
28
|
@additional_properties = additional_properties
|
26
|
-
@_field_set = { "
|
29
|
+
@_field_set = { "media": media }
|
27
30
|
end
|
28
31
|
|
29
|
-
# Deserialize a JSON object to an instance of
|
32
|
+
# Deserialize a JSON object to an instance of RcsValidateContentMedia
|
30
33
|
#
|
31
34
|
# @param json_object [String]
|
32
|
-
# @return [Pinnacle::
|
35
|
+
# @return [Pinnacle::Types::RcsValidateContentMedia]
|
33
36
|
def self.from_json(json_object:)
|
34
37
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
35
38
|
parsed_json = JSON.parse(json_object)
|
36
|
-
|
37
|
-
|
38
|
-
else
|
39
|
-
brand = parsed_json["brand"].to_json
|
40
|
-
brand = Pinnacle::Company::CompanyRegisterResponseBrand.from_json(json_object: brand)
|
41
|
-
end
|
42
|
-
new(brand: brand, additional_properties: struct)
|
39
|
+
media = parsed_json["media"]
|
40
|
+
new(media: media, additional_properties: struct)
|
43
41
|
end
|
44
42
|
|
45
|
-
# Serialize an instance of
|
43
|
+
# Serialize an instance of RcsValidateContentMedia to a JSON object
|
46
44
|
#
|
47
45
|
# @return [String]
|
48
46
|
def to_json(*_args)
|
@@ -56,7 +54,7 @@ module Pinnacle
|
|
56
54
|
# @param obj [Object]
|
57
55
|
# @return [Void]
|
58
56
|
def self.validate_raw(obj:)
|
59
|
-
|
57
|
+
obj.media.is_a?(String) != false || raise("Passed value for field obj.media is not the expected type, validation failed.")
|
60
58
|
end
|
61
59
|
end
|
62
60
|
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
class RcsValidationResult
|
9
|
+
# @return [Float] Total price of this message. Calculated by multiplying the number of messages by
|
10
|
+
# the unit cost.
|
11
|
+
attr_reader :total
|
12
|
+
# @return [Float] Cost per message.
|
13
|
+
attr_reader :unit
|
14
|
+
# @return [Array<String>] List of unsupported media file names or URLs.
|
15
|
+
attr_reader :unsupported_files
|
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 total [Float] Total price of this message. Calculated by multiplying the number of messages by
|
25
|
+
# the unit cost.
|
26
|
+
# @param unit [Float] Cost per message.
|
27
|
+
# @param unsupported_files [Array<String>] List of unsupported media file names or URLs.
|
28
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
29
|
+
# @return [Pinnacle::Types::RcsValidationResult]
|
30
|
+
def initialize(total:, unit:, unsupported_files:, additional_properties: nil)
|
31
|
+
@total = total
|
32
|
+
@unit = unit
|
33
|
+
@unsupported_files = unsupported_files
|
34
|
+
@additional_properties = additional_properties
|
35
|
+
@_field_set = { "total": total, "unit": unit, "unsupportedFiles": unsupported_files }
|
36
|
+
end
|
37
|
+
|
38
|
+
# Deserialize a JSON object to an instance of RcsValidationResult
|
39
|
+
#
|
40
|
+
# @param json_object [String]
|
41
|
+
# @return [Pinnacle::Types::RcsValidationResult]
|
42
|
+
def self.from_json(json_object:)
|
43
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
44
|
+
parsed_json = JSON.parse(json_object)
|
45
|
+
total = parsed_json["total"]
|
46
|
+
unit = parsed_json["unit"]
|
47
|
+
unsupported_files = parsed_json["unsupportedFiles"]
|
48
|
+
new(
|
49
|
+
total: total,
|
50
|
+
unit: unit,
|
51
|
+
unsupported_files: unsupported_files,
|
52
|
+
additional_properties: struct
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Serialize an instance of RcsValidationResult to a JSON object
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
def to_json(*_args)
|
60
|
+
@_field_set&.to_json
|
61
|
+
end
|
62
|
+
|
63
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
64
|
+
# hash and check each fields type against the current object's property
|
65
|
+
# definitions.
|
66
|
+
#
|
67
|
+
# @param obj [Object]
|
68
|
+
# @return [Void]
|
69
|
+
def self.validate_raw(obj:)
|
70
|
+
obj.total.is_a?(Float) != false || raise("Passed value for field obj.total is not the expected type, validation failed.")
|
71
|
+
obj.unit.is_a?(Float) != false || raise("Passed value for field obj.unit is not the expected type, validation failed.")
|
72
|
+
obj.unsupported_files.is_a?(Array) != false || raise("Passed value for field obj.unsupported_files is not the expected type, validation failed.")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
class ReactionResult
|
9
|
+
# @return [Integer] ID of the message.
|
10
|
+
attr_reader :message_id
|
11
|
+
# @return [Integer] Unique identifier for the reaction.
|
12
|
+
attr_reader :reaction_message_id
|
13
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
attr_reader :additional_properties
|
15
|
+
# @return [Object]
|
16
|
+
attr_reader :_field_set
|
17
|
+
protected :_field_set
|
18
|
+
|
19
|
+
OMIT = Object.new
|
20
|
+
|
21
|
+
# @param message_id [Integer] ID of the message.
|
22
|
+
# @param reaction_message_id [Integer] Unique identifier for the reaction.
|
23
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
24
|
+
# @return [Pinnacle::Types::ReactionResult]
|
25
|
+
def initialize(message_id:, reaction_message_id:, additional_properties: nil)
|
26
|
+
@message_id = message_id
|
27
|
+
@reaction_message_id = reaction_message_id
|
28
|
+
@additional_properties = additional_properties
|
29
|
+
@_field_set = { "messageId": message_id, "reactionMessageId": reaction_message_id }
|
30
|
+
end
|
31
|
+
|
32
|
+
# Deserialize a JSON object to an instance of ReactionResult
|
33
|
+
#
|
34
|
+
# @param json_object [String]
|
35
|
+
# @return [Pinnacle::Types::ReactionResult]
|
36
|
+
def self.from_json(json_object:)
|
37
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
38
|
+
parsed_json = JSON.parse(json_object)
|
39
|
+
message_id = parsed_json["messageId"]
|
40
|
+
reaction_message_id = parsed_json["reactionMessageId"]
|
41
|
+
new(
|
42
|
+
message_id: message_id,
|
43
|
+
reaction_message_id: reaction_message_id,
|
44
|
+
additional_properties: struct
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Serialize an instance of ReactionResult to a JSON object
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
def to_json(*_args)
|
52
|
+
@_field_set&.to_json
|
53
|
+
end
|
54
|
+
|
55
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
56
|
+
# hash and check each fields type against the current object's property
|
57
|
+
# definitions.
|
58
|
+
#
|
59
|
+
# @param obj [Object]
|
60
|
+
# @return [Void]
|
61
|
+
def self.validate_raw(obj:)
|
62
|
+
obj.message_id.is_a?(Integer) != false || raise("Passed value for field obj.message_id is not the expected type, validation failed.")
|
63
|
+
obj.reaction_message_id.is_a?(Integer) != false || raise("Passed value for field obj.reaction_message_id is not the expected type, validation failed.")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "scheduled_send_response_config"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Pinnacle
|
8
|
+
module Types
|
9
|
+
class ScheduledMessaage
|
10
|
+
# @return [Integer] Unique identifier for the scheduled send.
|
11
|
+
attr_reader :schedule_id
|
12
|
+
# @return [Pinnacle::Types::ScheduledSendResponseConfig] Configuration for the scheduled message.
|
13
|
+
attr_reader :config
|
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 schedule_id [Integer] Unique identifier for the scheduled send.
|
23
|
+
# @param config [Pinnacle::Types::ScheduledSendResponseConfig] Configuration for the scheduled message.
|
24
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
# @return [Pinnacle::Types::ScheduledMessaage]
|
26
|
+
def initialize(schedule_id:, config:, additional_properties: nil)
|
27
|
+
@schedule_id = schedule_id
|
28
|
+
@config = config
|
29
|
+
@additional_properties = additional_properties
|
30
|
+
@_field_set = { "scheduleId": schedule_id, "config": config }
|
31
|
+
end
|
32
|
+
|
33
|
+
# Deserialize a JSON object to an instance of ScheduledMessaage
|
34
|
+
#
|
35
|
+
# @param json_object [String]
|
36
|
+
# @return [Pinnacle::Types::ScheduledMessaage]
|
37
|
+
def self.from_json(json_object:)
|
38
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
39
|
+
parsed_json = JSON.parse(json_object)
|
40
|
+
schedule_id = parsed_json["scheduleId"]
|
41
|
+
if parsed_json["config"].nil?
|
42
|
+
config = nil
|
43
|
+
else
|
44
|
+
config = parsed_json["config"].to_json
|
45
|
+
config = Pinnacle::Types::ScheduledSendResponseConfig.from_json(json_object: config)
|
46
|
+
end
|
47
|
+
new(
|
48
|
+
schedule_id: schedule_id,
|
49
|
+
config: config,
|
50
|
+
additional_properties: struct
|
51
|
+
)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Serialize an instance of ScheduledMessaage to a JSON object
|
55
|
+
#
|
56
|
+
# @return [String]
|
57
|
+
def to_json(*_args)
|
58
|
+
@_field_set&.to_json
|
59
|
+
end
|
60
|
+
|
61
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
62
|
+
# hash and check each fields type against the current object's property
|
63
|
+
# definitions.
|
64
|
+
#
|
65
|
+
# @param obj [Object]
|
66
|
+
# @return [Void]
|
67
|
+
def self.validate_raw(obj:)
|
68
|
+
obj.schedule_id.is_a?(Integer) != false || raise("Passed value for field obj.schedule_id is not the expected type, validation failed.")
|
69
|
+
Pinnacle::Types::ScheduledSendResponseConfig.validate_raw(obj: obj.config)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
# Configuration for the scheduled message.
|
9
|
+
class ScheduledSendResponseConfig
|
10
|
+
# @return [String] When the message will be sent in ISO 8601 format.
|
11
|
+
attr_reader :send_at
|
12
|
+
# @return [String] AWS cron expression used for recurring messages.
|
13
|
+
attr_reader :recurrence
|
14
|
+
# @return [String] IANA timezone identifier.
|
15
|
+
attr_reader :timezone
|
16
|
+
# @return [String] When the recurring messages stops in ISO 8601 format.
|
17
|
+
attr_reader :end_date
|
18
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
19
|
+
attr_reader :additional_properties
|
20
|
+
# @return [Object]
|
21
|
+
attr_reader :_field_set
|
22
|
+
protected :_field_set
|
23
|
+
|
24
|
+
OMIT = Object.new
|
25
|
+
|
26
|
+
# @param send_at [String] When the message will be sent in ISO 8601 format.
|
27
|
+
# @param recurrence [String] AWS cron expression used for recurring messages.
|
28
|
+
# @param timezone [String] IANA timezone identifier.
|
29
|
+
# @param end_date [String] When the recurring messages stops in ISO 8601 format.
|
30
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
31
|
+
# @return [Pinnacle::Types::ScheduledSendResponseConfig]
|
32
|
+
def initialize(send_at:, timezone:, recurrence: OMIT, end_date: OMIT, additional_properties: nil)
|
33
|
+
@send_at = send_at
|
34
|
+
@recurrence = recurrence if recurrence != OMIT
|
35
|
+
@timezone = timezone
|
36
|
+
@end_date = end_date if end_date != OMIT
|
37
|
+
@additional_properties = additional_properties
|
38
|
+
@_field_set = {
|
39
|
+
"sendAt": send_at,
|
40
|
+
"recurrence": recurrence,
|
41
|
+
"timezone": timezone,
|
42
|
+
"endDate": end_date
|
43
|
+
}.reject do |_k, v|
|
44
|
+
v == OMIT
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Deserialize a JSON object to an instance of ScheduledSendResponseConfig
|
49
|
+
#
|
50
|
+
# @param json_object [String]
|
51
|
+
# @return [Pinnacle::Types::ScheduledSendResponseConfig]
|
52
|
+
def self.from_json(json_object:)
|
53
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
54
|
+
parsed_json = JSON.parse(json_object)
|
55
|
+
send_at = parsed_json["sendAt"]
|
56
|
+
recurrence = parsed_json["recurrence"]
|
57
|
+
timezone = parsed_json["timezone"]
|
58
|
+
end_date = parsed_json["endDate"]
|
59
|
+
new(
|
60
|
+
send_at: send_at,
|
61
|
+
recurrence: recurrence,
|
62
|
+
timezone: timezone,
|
63
|
+
end_date: end_date,
|
64
|
+
additional_properties: struct
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
# Serialize an instance of ScheduledSendResponseConfig to a JSON object
|
69
|
+
#
|
70
|
+
# @return [String]
|
71
|
+
def to_json(*_args)
|
72
|
+
@_field_set&.to_json
|
73
|
+
end
|
74
|
+
|
75
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
76
|
+
# hash and check each fields type against the current object's property
|
77
|
+
# definitions.
|
78
|
+
#
|
79
|
+
# @param obj [Object]
|
80
|
+
# @return [Void]
|
81
|
+
def self.validate_raw(obj:)
|
82
|
+
obj.send_at.is_a?(String) != false || raise("Passed value for field obj.send_at is not the expected type, validation failed.")
|
83
|
+
obj.recurrence&.is_a?(String) != false || raise("Passed value for field obj.recurrence is not the expected type, validation failed.")
|
84
|
+
obj.timezone.is_a?(String) != false || raise("Passed value for field obj.timezone is not the expected type, validation failed.")
|
85
|
+
obj.end_date&.is_a?(String) != false || raise("Passed value for field obj.end_date is not the expected type, validation failed.")
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|