rcs 1.0.18 → 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,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "sms_validation_response_segments_gsm_7"
|
4
|
+
require_relative "sms_validation_response_segments_utf_16"
|
5
|
+
require "ostruct"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module Pinnacle
|
9
|
+
module Types
|
10
|
+
# Details about how the SMS content would be segmented for delivery.
|
11
|
+
class SmsValidationResponseSegments
|
12
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsGsm7] Segmentation details when your message is encoded with GSM-7.
|
13
|
+
attr_reader :gsm_7
|
14
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsUtf16] Segmentation details when your message is encoded with UTF-16.
|
15
|
+
attr_reader :utf_16
|
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 gsm_7 [Pinnacle::Types::SmsValidationResponseSegmentsGsm7] Segmentation details when your message is encoded with GSM-7.
|
25
|
+
# @param utf_16 [Pinnacle::Types::SmsValidationResponseSegmentsUtf16] Segmentation details when your message is encoded with UTF-16.
|
26
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegments]
|
28
|
+
def initialize(gsm_7:, utf_16:, additional_properties: nil)
|
29
|
+
@gsm_7 = gsm_7
|
30
|
+
@utf_16 = utf_16
|
31
|
+
@additional_properties = additional_properties
|
32
|
+
@_field_set = { "gsm7": gsm_7, "utf16": utf_16 }
|
33
|
+
end
|
34
|
+
|
35
|
+
# Deserialize a JSON object to an instance of SmsValidationResponseSegments
|
36
|
+
#
|
37
|
+
# @param json_object [String]
|
38
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegments]
|
39
|
+
def self.from_json(json_object:)
|
40
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
41
|
+
parsed_json = JSON.parse(json_object)
|
42
|
+
if parsed_json["gsm7"].nil?
|
43
|
+
gsm_7 = nil
|
44
|
+
else
|
45
|
+
gsm_7 = parsed_json["gsm7"].to_json
|
46
|
+
gsm_7 = Pinnacle::Types::SmsValidationResponseSegmentsGsm7.from_json(json_object: gsm_7)
|
47
|
+
end
|
48
|
+
if parsed_json["utf16"].nil?
|
49
|
+
utf_16 = nil
|
50
|
+
else
|
51
|
+
utf_16 = parsed_json["utf16"].to_json
|
52
|
+
utf_16 = Pinnacle::Types::SmsValidationResponseSegmentsUtf16.from_json(json_object: utf_16)
|
53
|
+
end
|
54
|
+
new(
|
55
|
+
gsm_7: gsm_7,
|
56
|
+
utf_16: utf_16,
|
57
|
+
additional_properties: struct
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Serialize an instance of SmsValidationResponseSegments to a JSON object
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
def to_json(*_args)
|
65
|
+
@_field_set&.to_json
|
66
|
+
end
|
67
|
+
|
68
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
69
|
+
# hash and check each fields type against the current object's property
|
70
|
+
# definitions.
|
71
|
+
#
|
72
|
+
# @param obj [Object]
|
73
|
+
# @return [Void]
|
74
|
+
def self.validate_raw(obj:)
|
75
|
+
Pinnacle::Types::SmsValidationResponseSegmentsGsm7.validate_raw(obj: obj.gsm_7)
|
76
|
+
Pinnacle::Types::SmsValidationResponseSegmentsUtf16.validate_raw(obj: obj.utf_16)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
# Segmentation details when your message is encoded with GSM-7.
|
9
|
+
class SmsValidationResponseSegmentsGsm7
|
10
|
+
# @return [Integer] Total number of bytes used by the GSM-7 segments.
|
11
|
+
attr_reader :total_bytes
|
12
|
+
# @return [Array<String>] Characters not supported by GSM-7 encoding.
|
13
|
+
attr_reader :unsupported
|
14
|
+
# @return [Array<String>] Message broken down into segments using GSM-7 encoding.
|
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 total_bytes [Integer] Total number of bytes used by the GSM-7 segments.
|
25
|
+
# @param unsupported [Array<String>] Characters not supported by GSM-7 encoding.
|
26
|
+
# @param value [Array<String>] Message broken down into segments using GSM-7 encoding.
|
27
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
28
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsGsm7]
|
29
|
+
def initialize(total_bytes:, unsupported:, value:, additional_properties: nil)
|
30
|
+
@total_bytes = total_bytes
|
31
|
+
@unsupported = unsupported
|
32
|
+
@value = value
|
33
|
+
@additional_properties = additional_properties
|
34
|
+
@_field_set = { "totalBytes": total_bytes, "unsupported": unsupported, "value": value }
|
35
|
+
end
|
36
|
+
|
37
|
+
# Deserialize a JSON object to an instance of SmsValidationResponseSegmentsGsm7
|
38
|
+
#
|
39
|
+
# @param json_object [String]
|
40
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsGsm7]
|
41
|
+
def self.from_json(json_object:)
|
42
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
43
|
+
parsed_json = JSON.parse(json_object)
|
44
|
+
total_bytes = parsed_json["totalBytes"]
|
45
|
+
unsupported = parsed_json["unsupported"]
|
46
|
+
value = parsed_json["value"]
|
47
|
+
new(
|
48
|
+
total_bytes: total_bytes,
|
49
|
+
unsupported: unsupported,
|
50
|
+
value: value,
|
51
|
+
additional_properties: struct
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Serialize an instance of SmsValidationResponseSegmentsGsm7 to a JSON object
|
56
|
+
#
|
57
|
+
# @return [String]
|
58
|
+
def to_json(*_args)
|
59
|
+
@_field_set&.to_json
|
60
|
+
end
|
61
|
+
|
62
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
63
|
+
# hash and check each fields type against the current object's property
|
64
|
+
# definitions.
|
65
|
+
#
|
66
|
+
# @param obj [Object]
|
67
|
+
# @return [Void]
|
68
|
+
def self.validate_raw(obj:)
|
69
|
+
obj.total_bytes.is_a?(Integer) != false || raise("Passed value for field obj.total_bytes is not the expected type, validation failed.")
|
70
|
+
obj.unsupported.is_a?(Array) != false || raise("Passed value for field obj.unsupported is not the expected type, validation failed.")
|
71
|
+
obj.value.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
# Segmentation details when your message is encoded with UTF-16.
|
9
|
+
class SmsValidationResponseSegmentsUtf16
|
10
|
+
# @return [Integer] Total number of bytes used by the UTF-16 segments.
|
11
|
+
attr_reader :total_bytes
|
12
|
+
# @return [Array<String>] Message broken down into segments using UTF-16 encoding.
|
13
|
+
attr_reader :value
|
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 total_bytes [Integer] Total number of bytes used by the UTF-16 segments.
|
23
|
+
# @param value [Array<String>] Message broken down into segments using UTF-16 encoding.
|
24
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsUtf16]
|
26
|
+
def initialize(total_bytes:, value:, additional_properties: nil)
|
27
|
+
@total_bytes = total_bytes
|
28
|
+
@value = value
|
29
|
+
@additional_properties = additional_properties
|
30
|
+
@_field_set = { "totalBytes": total_bytes, "value": value }
|
31
|
+
end
|
32
|
+
|
33
|
+
# Deserialize a JSON object to an instance of SmsValidationResponseSegmentsUtf16
|
34
|
+
#
|
35
|
+
# @param json_object [String]
|
36
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegmentsUtf16]
|
37
|
+
def self.from_json(json_object:)
|
38
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
39
|
+
parsed_json = JSON.parse(json_object)
|
40
|
+
total_bytes = parsed_json["totalBytes"]
|
41
|
+
value = parsed_json["value"]
|
42
|
+
new(
|
43
|
+
total_bytes: total_bytes,
|
44
|
+
value: value,
|
45
|
+
additional_properties: struct
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Serialize an instance of SmsValidationResponseSegmentsUtf16 to a JSON object
|
50
|
+
#
|
51
|
+
# @return [String]
|
52
|
+
def to_json(*_args)
|
53
|
+
@_field_set&.to_json
|
54
|
+
end
|
55
|
+
|
56
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
57
|
+
# hash and check each fields type against the current object's property
|
58
|
+
# definitions.
|
59
|
+
#
|
60
|
+
# @param obj [Object]
|
61
|
+
# @return [Void]
|
62
|
+
def self.validate_raw(obj:)
|
63
|
+
obj.total_bytes.is_a?(Integer) != false || raise("Passed value for field obj.total_bytes is not the expected type, validation failed.")
|
64
|
+
obj.value.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
class SmsValidationResponseTotal
|
9
|
+
# @return [Float] Total price of this message. Calculated by multiplying the number of GSM-7
|
10
|
+
# segments by the unit cost. <br>
|
11
|
+
# You must remove all unsupported UTF-16 characters before this message can be
|
12
|
+
# sent as GSM-7.
|
13
|
+
attr_reader :gsm_7
|
14
|
+
# @return [Float] Total price of this message. Calculated by multiplying the number of UTF-16
|
15
|
+
# segments by the unit cost.
|
16
|
+
attr_reader :utf_16
|
17
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
18
|
+
attr_reader :additional_properties
|
19
|
+
# @return [Object]
|
20
|
+
attr_reader :_field_set
|
21
|
+
protected :_field_set
|
22
|
+
|
23
|
+
OMIT = Object.new
|
24
|
+
|
25
|
+
# @param gsm_7 [Float] Total price of this message. Calculated by multiplying the number of GSM-7
|
26
|
+
# segments by the unit cost. <br>
|
27
|
+
# You must remove all unsupported UTF-16 characters before this message can be
|
28
|
+
# sent as GSM-7.
|
29
|
+
# @param utf_16 [Float] Total price of this message. Calculated by multiplying the number of UTF-16
|
30
|
+
# segments by the unit cost.
|
31
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
32
|
+
# @return [Pinnacle::Types::SmsValidationResponseTotal]
|
33
|
+
def initialize(gsm_7:, utf_16:, additional_properties: nil)
|
34
|
+
@gsm_7 = gsm_7
|
35
|
+
@utf_16 = utf_16
|
36
|
+
@additional_properties = additional_properties
|
37
|
+
@_field_set = { "gsm7": gsm_7, "utf16": utf_16 }
|
38
|
+
end
|
39
|
+
|
40
|
+
# Deserialize a JSON object to an instance of SmsValidationResponseTotal
|
41
|
+
#
|
42
|
+
# @param json_object [String]
|
43
|
+
# @return [Pinnacle::Types::SmsValidationResponseTotal]
|
44
|
+
def self.from_json(json_object:)
|
45
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
46
|
+
parsed_json = JSON.parse(json_object)
|
47
|
+
gsm_7 = parsed_json["gsm7"]
|
48
|
+
utf_16 = parsed_json["utf16"]
|
49
|
+
new(
|
50
|
+
gsm_7: gsm_7,
|
51
|
+
utf_16: utf_16,
|
52
|
+
additional_properties: struct
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Serialize an instance of SmsValidationResponseTotal 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.gsm_7.is_a?(Float) != false || raise("Passed value for field obj.gsm_7 is not the expected type, validation failed.")
|
71
|
+
obj.utf_16.is_a?(Float) != false || raise("Passed value for field obj.utf_16 is not the expected type, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "sms_validation_response_segments"
|
4
|
+
require_relative "sms_validation_response_total"
|
5
|
+
require "ostruct"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module Pinnacle
|
9
|
+
module Types
|
10
|
+
class SmsValidationResult
|
11
|
+
# @return [Boolean] Indicates if the message exceeds the allowed segment limit. <br>
|
12
|
+
# For SMS, this is limit is 10.
|
13
|
+
attr_reader :is_over_segment_limit
|
14
|
+
# @return [Pinnacle::Types::SmsValidationResponseSegments] Details about how the SMS content would be segmented for delivery.
|
15
|
+
attr_reader :segments
|
16
|
+
# @return [Pinnacle::Types::SmsValidationResponseTotal]
|
17
|
+
attr_reader :total
|
18
|
+
# @return [Float] Cost per message segment.
|
19
|
+
attr_reader :unit
|
20
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
21
|
+
attr_reader :additional_properties
|
22
|
+
# @return [Object]
|
23
|
+
attr_reader :_field_set
|
24
|
+
protected :_field_set
|
25
|
+
|
26
|
+
OMIT = Object.new
|
27
|
+
|
28
|
+
# @param is_over_segment_limit [Boolean] Indicates if the message exceeds the allowed segment limit. <br>
|
29
|
+
# For SMS, this is limit is 10.
|
30
|
+
# @param segments [Pinnacle::Types::SmsValidationResponseSegments] Details about how the SMS content would be segmented for delivery.
|
31
|
+
# @param total [Pinnacle::Types::SmsValidationResponseTotal]
|
32
|
+
# @param unit [Float] Cost per message segment.
|
33
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
34
|
+
# @return [Pinnacle::Types::SmsValidationResult]
|
35
|
+
def initialize(segments:, total:, unit:, is_over_segment_limit: OMIT, additional_properties: nil)
|
36
|
+
@is_over_segment_limit = is_over_segment_limit if is_over_segment_limit != OMIT
|
37
|
+
@segments = segments
|
38
|
+
@total = total
|
39
|
+
@unit = unit
|
40
|
+
@additional_properties = additional_properties
|
41
|
+
@_field_set = {
|
42
|
+
"isOverSegmentLimit": is_over_segment_limit,
|
43
|
+
"segments": segments,
|
44
|
+
"total": total,
|
45
|
+
"unit": unit
|
46
|
+
}.reject do |_k, v|
|
47
|
+
v == OMIT
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Deserialize a JSON object to an instance of SmsValidationResult
|
52
|
+
#
|
53
|
+
# @param json_object [String]
|
54
|
+
# @return [Pinnacle::Types::SmsValidationResult]
|
55
|
+
def self.from_json(json_object:)
|
56
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
57
|
+
parsed_json = JSON.parse(json_object)
|
58
|
+
is_over_segment_limit = parsed_json["isOverSegmentLimit"]
|
59
|
+
if parsed_json["segments"].nil?
|
60
|
+
segments = nil
|
61
|
+
else
|
62
|
+
segments = parsed_json["segments"].to_json
|
63
|
+
segments = Pinnacle::Types::SmsValidationResponseSegments.from_json(json_object: segments)
|
64
|
+
end
|
65
|
+
if parsed_json["total"].nil?
|
66
|
+
total = nil
|
67
|
+
else
|
68
|
+
total = parsed_json["total"].to_json
|
69
|
+
total = Pinnacle::Types::SmsValidationResponseTotal.from_json(json_object: total)
|
70
|
+
end
|
71
|
+
unit = parsed_json["unit"]
|
72
|
+
new(
|
73
|
+
is_over_segment_limit: is_over_segment_limit,
|
74
|
+
segments: segments,
|
75
|
+
total: total,
|
76
|
+
unit: unit,
|
77
|
+
additional_properties: struct
|
78
|
+
)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Serialize an instance of SmsValidationResult to a JSON object
|
82
|
+
#
|
83
|
+
# @return [String]
|
84
|
+
def to_json(*_args)
|
85
|
+
@_field_set&.to_json
|
86
|
+
end
|
87
|
+
|
88
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
89
|
+
# hash and check each fields type against the current object's property
|
90
|
+
# definitions.
|
91
|
+
#
|
92
|
+
# @param obj [Object]
|
93
|
+
# @return [Void]
|
94
|
+
def self.validate_raw(obj:)
|
95
|
+
obj.is_over_segment_limit&.is_a?(Boolean) != false || raise("Passed value for field obj.is_over_segment_limit is not the expected type, validation failed.")
|
96
|
+
Pinnacle::Types::SmsValidationResponseSegments.validate_raw(obj: obj.segments)
|
97
|
+
Pinnacle::Types::SmsValidationResponseTotal.validate_raw(obj: obj.total)
|
98
|
+
obj.unit.is_a?(Float) != false || raise("Passed value for field obj.unit is not the expected type, validation failed.")
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pinnacle
|
4
|
+
module Types
|
5
|
+
# Additional subcategories for the primary use case.
|
6
|
+
class SubUseCaseEnum
|
7
|
+
ACCOUNT_NOTIFICATION = "ACCOUNT_NOTIFICATION"
|
8
|
+
CUSTOMER_CARE = "CUSTOMER_CARE"
|
9
|
+
DELIVERY_NOTIFICATION = "DELIVERY_NOTIFICATION"
|
10
|
+
FRAUD_ALERT = "FRAUD_ALERT"
|
11
|
+
HIGHER_EDUCATION = "HIGHER_EDUCATION"
|
12
|
+
MARKETING = "MARKETING"
|
13
|
+
POLLING_VOTING = "POLLING_VOTING"
|
14
|
+
PUBLIC_SERVICE_ANNOUNCEMENT = "PUBLIC_SERVICE_ANNOUNCEMENT"
|
15
|
+
SECURITY_ALERT = "SECURITY_ALERT"
|
16
|
+
TWO_FA = "TWO_FA"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
class SubmissionResults
|
9
|
+
# @return [Boolean] Indicates if the submission was successful.
|
10
|
+
attr_reader :success
|
11
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
12
|
+
attr_reader :additional_properties
|
13
|
+
# @return [Object]
|
14
|
+
attr_reader :_field_set
|
15
|
+
protected :_field_set
|
16
|
+
|
17
|
+
OMIT = Object.new
|
18
|
+
|
19
|
+
# @param success [Boolean] Indicates if the submission was successful.
|
20
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
21
|
+
# @return [Pinnacle::Types::SubmissionResults]
|
22
|
+
def initialize(success:, additional_properties: nil)
|
23
|
+
@success = success
|
24
|
+
@additional_properties = additional_properties
|
25
|
+
@_field_set = { "success": success }
|
26
|
+
end
|
27
|
+
|
28
|
+
# Deserialize a JSON object to an instance of SubmissionResults
|
29
|
+
#
|
30
|
+
# @param json_object [String]
|
31
|
+
# @return [Pinnacle::Types::SubmissionResults]
|
32
|
+
def self.from_json(json_object:)
|
33
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
34
|
+
parsed_json = JSON.parse(json_object)
|
35
|
+
success = parsed_json["success"]
|
36
|
+
new(success: success, additional_properties: struct)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Serialize an instance of SubmissionResults to a JSON object
|
40
|
+
#
|
41
|
+
# @return [String]
|
42
|
+
def to_json(*_args)
|
43
|
+
@_field_set&.to_json
|
44
|
+
end
|
45
|
+
|
46
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
47
|
+
# hash and check each fields type against the current object's property
|
48
|
+
# definitions.
|
49
|
+
#
|
50
|
+
# @param obj [Object]
|
51
|
+
# @return [Void]
|
52
|
+
def self.validate_raw(obj:)
|
53
|
+
obj.success.is_a?(Boolean) != false || raise("Passed value for field obj.success is not the expected type, validation failed.")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Pinnacle
|
7
|
+
module Types
|
8
|
+
# Successfully updated conversation.
|
9
|
+
class SuccessfulConversationUpdate
|
10
|
+
# @return [Boolean] Indicates the operation was successful.
|
11
|
+
attr_reader :success
|
12
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
13
|
+
attr_reader :additional_properties
|
14
|
+
# @return [Object]
|
15
|
+
attr_reader :_field_set
|
16
|
+
protected :_field_set
|
17
|
+
|
18
|
+
OMIT = Object.new
|
19
|
+
|
20
|
+
# @param success [Boolean] Indicates the operation was successful.
|
21
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
# @return [Pinnacle::Types::SuccessfulConversationUpdate]
|
23
|
+
def initialize(success:, additional_properties: nil)
|
24
|
+
@success = success
|
25
|
+
@additional_properties = additional_properties
|
26
|
+
@_field_set = { "success": success }
|
27
|
+
end
|
28
|
+
|
29
|
+
# Deserialize a JSON object to an instance of SuccessfulConversationUpdate
|
30
|
+
#
|
31
|
+
# @param json_object [String]
|
32
|
+
# @return [Pinnacle::Types::SuccessfulConversationUpdate]
|
33
|
+
def self.from_json(json_object:)
|
34
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
35
|
+
parsed_json = JSON.parse(json_object)
|
36
|
+
success = parsed_json["success"]
|
37
|
+
new(success: success, additional_properties: struct)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Serialize an instance of SuccessfulConversationUpdate to a JSON object
|
41
|
+
#
|
42
|
+
# @return [String]
|
43
|
+
def to_json(*_args)
|
44
|
+
@_field_set&.to_json
|
45
|
+
end
|
46
|
+
|
47
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
48
|
+
# hash and check each fields type against the current object's property
|
49
|
+
# definitions.
|
50
|
+
#
|
51
|
+
# @param obj [Object]
|
52
|
+
# @return [Void]
|
53
|
+
def self.validate_raw(obj:)
|
54
|
+
obj.success.is_a?(Boolean) != false || raise("Passed value for field obj.success is not the expected type, validation failed.")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "message_volume_enum"
|
4
|
+
require_relative "toll_free_campaign_schema_opt_in"
|
5
|
+
require_relative "toll_free_campaign_schema_use_case"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module Pinnacle
|
10
|
+
module Types
|
11
|
+
class TollFreeCampaign
|
12
|
+
# @return [Integer] Unique identifier for the campaign.
|
13
|
+
attr_reader :campaign_id
|
14
|
+
# @return [Pinnacle::Types::MessageVolumeEnum]
|
15
|
+
attr_reader :monthly_volume
|
16
|
+
# @return [String] Display name of the campaign.
|
17
|
+
attr_reader :name
|
18
|
+
# @return [Pinnacle::Types::TollFreeCampaignSchemaOptIn] Opt-in keyword settings.
|
19
|
+
attr_reader :opt_in
|
20
|
+
# @return [String] Explain message that would be sent.
|
21
|
+
attr_reader :production_message_content
|
22
|
+
# @return [Pinnacle::Types::TollFreeCampaignSchemaUseCase] Use case classification for the campaign.
|
23
|
+
attr_reader :use_case
|
24
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
attr_reader :additional_properties
|
26
|
+
# @return [Object]
|
27
|
+
attr_reader :_field_set
|
28
|
+
protected :_field_set
|
29
|
+
|
30
|
+
OMIT = Object.new
|
31
|
+
|
32
|
+
# @param campaign_id [Integer] Unique identifier for the campaign.
|
33
|
+
# @param monthly_volume [Pinnacle::Types::MessageVolumeEnum]
|
34
|
+
# @param name [String] Display name of the campaign.
|
35
|
+
# @param opt_in [Pinnacle::Types::TollFreeCampaignSchemaOptIn] Opt-in keyword settings.
|
36
|
+
# @param production_message_content [String] Explain message that would be sent.
|
37
|
+
# @param use_case [Pinnacle::Types::TollFreeCampaignSchemaUseCase] Use case classification for the campaign.
|
38
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
39
|
+
# @return [Pinnacle::Types::TollFreeCampaign]
|
40
|
+
def initialize(campaign_id: OMIT, monthly_volume: OMIT, name: OMIT, opt_in: OMIT,
|
41
|
+
production_message_content: OMIT, use_case: OMIT, additional_properties: nil)
|
42
|
+
@campaign_id = campaign_id if campaign_id != OMIT
|
43
|
+
@monthly_volume = monthly_volume if monthly_volume != OMIT
|
44
|
+
@name = name if name != OMIT
|
45
|
+
@opt_in = opt_in if opt_in != OMIT
|
46
|
+
@production_message_content = production_message_content if production_message_content != OMIT
|
47
|
+
@use_case = use_case if use_case != OMIT
|
48
|
+
@additional_properties = additional_properties
|
49
|
+
@_field_set = {
|
50
|
+
"campaignId": campaign_id,
|
51
|
+
"monthlyVolume": monthly_volume,
|
52
|
+
"name": name,
|
53
|
+
"optIn": opt_in,
|
54
|
+
"productionMessageContent": production_message_content,
|
55
|
+
"useCase": use_case
|
56
|
+
}.reject do |_k, v|
|
57
|
+
v == OMIT
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# Deserialize a JSON object to an instance of TollFreeCampaign
|
62
|
+
#
|
63
|
+
# @param json_object [String]
|
64
|
+
# @return [Pinnacle::Types::TollFreeCampaign]
|
65
|
+
def self.from_json(json_object:)
|
66
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
67
|
+
parsed_json = JSON.parse(json_object)
|
68
|
+
campaign_id = parsed_json["campaignId"]
|
69
|
+
monthly_volume = parsed_json["monthlyVolume"]
|
70
|
+
name = parsed_json["name"]
|
71
|
+
if parsed_json["optIn"].nil?
|
72
|
+
opt_in = nil
|
73
|
+
else
|
74
|
+
opt_in = parsed_json["optIn"].to_json
|
75
|
+
opt_in = Pinnacle::Types::TollFreeCampaignSchemaOptIn.from_json(json_object: opt_in)
|
76
|
+
end
|
77
|
+
production_message_content = parsed_json["productionMessageContent"]
|
78
|
+
if parsed_json["useCase"].nil?
|
79
|
+
use_case = nil
|
80
|
+
else
|
81
|
+
use_case = parsed_json["useCase"].to_json
|
82
|
+
use_case = Pinnacle::Types::TollFreeCampaignSchemaUseCase.from_json(json_object: use_case)
|
83
|
+
end
|
84
|
+
new(
|
85
|
+
campaign_id: campaign_id,
|
86
|
+
monthly_volume: monthly_volume,
|
87
|
+
name: name,
|
88
|
+
opt_in: opt_in,
|
89
|
+
production_message_content: production_message_content,
|
90
|
+
use_case: use_case,
|
91
|
+
additional_properties: struct
|
92
|
+
)
|
93
|
+
end
|
94
|
+
|
95
|
+
# Serialize an instance of TollFreeCampaign to a JSON object
|
96
|
+
#
|
97
|
+
# @return [String]
|
98
|
+
def to_json(*_args)
|
99
|
+
@_field_set&.to_json
|
100
|
+
end
|
101
|
+
|
102
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
103
|
+
# hash and check each fields type against the current object's property
|
104
|
+
# definitions.
|
105
|
+
#
|
106
|
+
# @param obj [Object]
|
107
|
+
# @return [Void]
|
108
|
+
def self.validate_raw(obj:)
|
109
|
+
obj.campaign_id&.is_a?(Integer) != false || raise("Passed value for field obj.campaign_id is not the expected type, validation failed.")
|
110
|
+
obj.monthly_volume&.is_a?(Pinnacle::Types::MessageVolumeEnum) != false || raise("Passed value for field obj.monthly_volume is not the expected type, validation failed.")
|
111
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
112
|
+
obj.opt_in.nil? || Pinnacle::Types::TollFreeCampaignSchemaOptIn.validate_raw(obj: obj.opt_in)
|
113
|
+
obj.production_message_content&.is_a?(String) != false || raise("Passed value for field obj.production_message_content is not the expected type, validation failed.")
|
114
|
+
obj.use_case.nil? || Pinnacle::Types::TollFreeCampaignSchemaUseCase.validate_raw(obj: obj.use_case)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|