rcs 2.0.5 → 2.0.7
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/.fern/metadata.json +12 -0
- data/.fernignore +7 -0
- data/.rubocop.yml +60 -0
- data/README.md +121 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +13 -0
- data/lib/pinnacle/audiences/client.rb +183 -0
- data/lib/pinnacle/audiences/contacts/client.rb +97 -0
- data/lib/pinnacle/audiences/contacts/types/add_contacts_params.rb +14 -0
- data/lib/pinnacle/audiences/contacts/types/remove_contacts_params.rb +14 -0
- data/lib/pinnacle/audiences/types/audiences_delete_request.rb +11 -0
- data/lib/pinnacle/audiences/types/audiences_get_request.rb +13 -0
- data/lib/pinnacle/audiences/types/audiences_get_response.rb +14 -0
- data/lib/pinnacle/audiences/types/create_audience_params.rb +13 -0
- data/lib/pinnacle/audiences/types/update_audience_params.rb +13 -0
- data/lib/pinnacle/brands/client.rb +245 -0
- data/lib/pinnacle/brands/types/autofill_brand_options.rb +11 -0
- data/lib/pinnacle/brands/types/autofill_brand_params.rb +14 -0
- data/lib/pinnacle/brands/types/brands_get_request.rb +12 -0
- data/lib/pinnacle/brands/types/upsert_brand_params.rb +22 -0
- data/lib/pinnacle/brands/types/upsert_brand_schema_contact.rb +15 -0
- data/lib/pinnacle/brands/types/upsert_brand_schema_entity_type.rb +17 -0
- data/lib/pinnacle/brands/types/upsert_brand_schema_sector.rb +29 -0
- data/lib/pinnacle/brands/types/upsert_brand_schema_type.rb +17 -0
- data/lib/pinnacle/brands/types/vet_brand_params.rb +14 -0
- data/lib/pinnacle/campaigns/client.rb +29 -0
- data/lib/pinnacle/campaigns/dlc/client.rb +201 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_help_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_keywords.rb +16 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_links.rb +15 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_options.rb +19 -0
- data/lib/pinnacle/campaigns/dlc/types/dlc_campaign_use_case.rb +15 -0
- data/lib/pinnacle/campaigns/dlc/types/upsert_dlc_campaign_params.rb +23 -0
- data/lib/pinnacle/campaigns/rcs/client.rb +199 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_agent.rb +21 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_agent_email.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_agent_phone.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_agent_website.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_autofill_response.rb +13 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_help_keywords.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_campaign_traffic.rb +14 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_links.rb +15 -0
- data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +15 -0
- data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +28 -0
- data/lib/pinnacle/campaigns/toll_free/client.rb +201 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_autofill_response.rb +13 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +14 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_links.rb +15 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +16 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +15 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_options.rb +14 -0
- data/lib/pinnacle/campaigns/toll_free/types/toll_free_campaign_use_case.rb +15 -0
- data/lib/pinnacle/campaigns/toll_free/types/upsert_toll_free_campaign_params.rb +22 -0
- data/lib/pinnacle/client.rb +75 -0
- data/lib/pinnacle/contacts/client.rb +130 -0
- data/lib/pinnacle/contacts/types/contacts_get_request.rb +12 -0
- data/lib/pinnacle/contacts/types/create_contact_params.rb +15 -0
- data/lib/pinnacle/contacts/types/update_contact_params.rb +15 -0
- data/lib/pinnacle/conversations/client.rb +175 -0
- data/lib/pinnacle/conversations/types/conversations_list_messages_request.rb +19 -0
- data/lib/pinnacle/conversations/types/conversations_list_messages_request_direction.rb +14 -0
- data/lib/pinnacle/conversations/types/conversations_list_messages_request_sort_order.rb +14 -0
- data/lib/pinnacle/conversations/types/conversations_list_messages_request_status.rb +19 -0
- data/lib/pinnacle/conversations/types/conversations_list_messages_request_type.rb +15 -0
- data/lib/pinnacle/conversations/types/list_conversations_params.rb +17 -0
- data/lib/pinnacle/conversations/types/update_conversation_params.rb +12 -0
- data/lib/pinnacle/errors/api_error.rb +8 -0
- data/lib/pinnacle/errors/client_error.rb +17 -0
- data/lib/pinnacle/errors/redirect_error.rb +8 -0
- data/lib/pinnacle/errors/response_error.rb +42 -0
- data/lib/pinnacle/errors/server_error.rb +11 -0
- data/lib/pinnacle/errors/timeout_error.rb +8 -0
- data/lib/pinnacle/internal/errors/constraint_error.rb +10 -0
- data/lib/pinnacle/internal/errors/type_error.rb +10 -0
- data/lib/pinnacle/internal/http/base_request.rb +31 -0
- data/lib/pinnacle/internal/http/raw_client.rb +116 -0
- data/lib/pinnacle/internal/iterators/cursor_item_iterator.rb +28 -0
- data/lib/pinnacle/internal/iterators/cursor_page_iterator.rb +51 -0
- data/lib/pinnacle/internal/iterators/item_iterator.rb +59 -0
- data/lib/pinnacle/internal/iterators/offset_item_iterator.rb +30 -0
- data/lib/pinnacle/internal/iterators/offset_page_iterator.rb +83 -0
- data/lib/pinnacle/internal/json/request.rb +39 -0
- data/lib/pinnacle/internal/json/serializable.rb +25 -0
- data/lib/pinnacle/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/pinnacle/internal/multipart/multipart_form_data.rb +78 -0
- data/lib/pinnacle/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/pinnacle/internal/multipart/multipart_request.rb +38 -0
- data/lib/pinnacle/internal/types/array.rb +47 -0
- data/lib/pinnacle/internal/types/boolean.rb +34 -0
- data/lib/pinnacle/internal/types/enum.rb +56 -0
- data/lib/pinnacle/internal/types/hash.rb +36 -0
- data/lib/pinnacle/internal/types/model/field.rb +38 -0
- data/lib/pinnacle/internal/types/model.rb +208 -0
- data/lib/pinnacle/internal/types/type.rb +35 -0
- data/lib/pinnacle/internal/types/union.rb +161 -0
- data/lib/pinnacle/internal/types/unknown.rb +15 -0
- data/lib/pinnacle/internal/types/utils.rb +116 -0
- data/lib/pinnacle/messages/blast/client.rb +143 -0
- data/lib/pinnacle/messages/blast/types/blast_mms.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_mms_options.rb +15 -0
- data/lib/pinnacle/messages/blast/types/blast_mms_response.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs_options.rb +17 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card.rb +20 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_rcs_response.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_sms.rb +16 -0
- data/lib/pinnacle/messages/blast/types/blast_sms_options.rb +14 -0
- data/lib/pinnacle/messages/blast/types/blast_sms_response.rb +16 -0
- data/lib/pinnacle/messages/client.rb +110 -0
- data/lib/pinnacle/messages/mms/client.rb +87 -0
- data/lib/pinnacle/messages/mms/types/mms.rb +17 -0
- data/lib/pinnacle/messages/mms/types/mms_send_response.rb +16 -0
- data/lib/pinnacle/messages/mms/types/send_mms_options.rb +17 -0
- data/lib/pinnacle/messages/rcs/client.rb +140 -0
- data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +16 -0
- data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +15 -0
- data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +14 -0
- data/lib/pinnacle/messages/schedule/client.rb +53 -0
- data/lib/pinnacle/messages/sms/client.rb +87 -0
- data/lib/pinnacle/messages/sms/types/send_sms_options.rb +15 -0
- data/lib/pinnacle/messages/sms/types/sms.rb +16 -0
- data/lib/pinnacle/messages/sms/types/sms_send_response.rb +16 -0
- data/lib/pinnacle/messages/types/react_message_options.rb +11 -0
- data/lib/pinnacle/messages/types/react_message_params.rb +13 -0
- data/lib/pinnacle/phone_numbers/campaign/client.rb +90 -0
- data/lib/pinnacle/phone_numbers/campaign/types/attach_campaign_params.rb +15 -0
- data/lib/pinnacle/phone_numbers/campaign/types/detach_campaign_params.rb +13 -0
- data/lib/pinnacle/phone_numbers/client.rb +133 -0
- data/lib/pinnacle/phone_numbers/types/buy_phone_number_params.rb +11 -0
- data/lib/pinnacle/phone_numbers/types/enhanced_contact_info.rb +12 -0
- data/lib/pinnacle/phone_numbers/types/phone_details_schema_level.rb +14 -0
- data/lib/pinnacle/phone_numbers/types/phone_numbers_get_response.rb +14 -0
- data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_options.rb +14 -0
- data/lib/pinnacle/phone_numbers/types/retrieve_phone_number_details_params.rb +13 -0
- data/lib/pinnacle/phone_numbers/types/search_phone_number_by_digits.rb +14 -0
- data/lib/pinnacle/phone_numbers/types/search_phone_number_by_location.rb +17 -0
- data/lib/pinnacle/phone_numbers/types/search_phone_number_options.rb +12 -0
- data/lib/pinnacle/phone_numbers/types/search_phone_number_params.rb +15 -0
- data/lib/pinnacle/phone_numbers/webhook/client.rb +90 -0
- data/lib/pinnacle/pinnacle_client.rb +24 -0
- data/lib/pinnacle/rcs/client.rb +159 -0
- data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +11 -0
- data/lib/pinnacle/rcs/types/rcs_link_request.rb +14 -0
- data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +12 -0
- data/lib/pinnacle/status/client.rb +19 -0
- data/lib/pinnacle/status/get/client.rb +188 -0
- data/lib/pinnacle/tools/client.rb +29 -0
- data/lib/pinnacle/tools/contact_card/client.rb +92 -0
- data/lib/pinnacle/tools/contact_card/types/get_v_card_schema_options.rb +13 -0
- data/lib/pinnacle/tools/contact_card/types/get_vcard_params.rb +14 -0
- data/lib/pinnacle/tools/contact_card/types/upsert_vcard_params.rb +29 -0
- data/lib/pinnacle/tools/file/client.rb +94 -0
- data/lib/pinnacle/tools/file/types/download_options.rb +14 -0
- data/lib/pinnacle/tools/file/types/refresh_file_params.rb +13 -0
- data/lib/pinnacle/tools/file/types/upload_file_options.rb +15 -0
- data/lib/pinnacle/tools/file/types/upload_file_params.rb +16 -0
- data/lib/pinnacle/tools/url/client.rb +128 -0
- data/lib/pinnacle/tools/url/types/create_url_params.rb +14 -0
- data/lib/pinnacle/tools/url/types/update_url_params.rb +15 -0
- data/lib/pinnacle/types/advanced_phone_information.rb +17 -0
- data/lib/pinnacle/types/advanced_phone_information_carrier.rb +13 -0
- data/lib/pinnacle/types/advanced_phone_information_contact.rb +19 -0
- data/lib/pinnacle/types/advanced_phone_information_location.rb +18 -0
- data/lib/pinnacle/types/advanced_phone_information_location_coordinates.rb +11 -0
- data/lib/pinnacle/types/advanced_phone_information_location_country.rb +12 -0
- data/lib/pinnacle/types/advanced_phone_information_type.rb +13 -0
- data/lib/pinnacle/types/advanced_phone_information_type_recommendation.rb +13 -0
- data/lib/pinnacle/types/agent.rb +11 -0
- data/lib/pinnacle/types/attach_webhook_by_id_params.rb +11 -0
- data/lib/pinnacle/types/attach_webhook_params.rb +15 -0
- data/lib/pinnacle/types/attach_webhook_response_webhook.rb +13 -0
- data/lib/pinnacle/types/attached_phone_number_result.rb +10 -0
- data/lib/pinnacle/types/audience_count_only.rb +12 -0
- data/lib/pinnacle/types/audience_with_pagination.rb +14 -0
- data/lib/pinnacle/types/autofill_campaign_params.rb +10 -0
- data/lib/pinnacle/types/autofill_dlc_campaign_response.rb +19 -0
- data/lib/pinnacle/types/autofill_dlc_response_keywords.rb +12 -0
- data/lib/pinnacle/types/autofill_dlc_response_keywords_help.rb +11 -0
- data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_in.rb +11 -0
- data/lib/pinnacle/types/autofill_dlc_response_keywords_opt_out.rb +11 -0
- data/lib/pinnacle/types/autofill_dlc_response_links.rb +11 -0
- data/lib/pinnacle/types/autofill_dlc_response_options.rb +15 -0
- data/lib/pinnacle/types/autofill_dlc_response_use_case.rb +11 -0
- data/lib/pinnacle/types/bad_request_error_body.rb +12 -0
- data/lib/pinnacle/types/base_rich_message.rb +11 -0
- data/lib/pinnacle/types/basic_phone_information.rb +16 -0
- data/lib/pinnacle/types/basic_phone_information_contact.rb +10 -0
- data/lib/pinnacle/types/basic_phone_information_location.rb +11 -0
- data/lib/pinnacle/types/basic_phone_information_location_country.rb +12 -0
- data/lib/pinnacle/types/blast_details.rb +15 -0
- data/lib/pinnacle/types/brand_status.rb +12 -0
- data/lib/pinnacle/types/brand_status_enum.rb +16 -0
- data/lib/pinnacle/types/button_clicked.rb +12 -0
- data/lib/pinnacle/types/button_clicked_data.rb +11 -0
- data/lib/pinnacle/types/button_clicked_data_button.rb +14 -0
- data/lib/pinnacle/types/button_clicked_data_button_raw.rb +14 -0
- data/lib/pinnacle/types/button_clicked_data_button_type.rb +12 -0
- data/lib/pinnacle/types/buy_response_capabilities.rb +12 -0
- data/lib/pinnacle/types/campaign_enum.rb +13 -0
- data/lib/pinnacle/types/campaign_query.rb +11 -0
- data/lib/pinnacle/types/campaign_submission_result.rb +9 -0
- data/lib/pinnacle/types/campaign_validation_response_errors_item.rb +11 -0
- data/lib/pinnacle/types/campaign_validation_result.rb +10 -0
- data/lib/pinnacle/types/company_entity_type_enum.rb +15 -0
- data/lib/pinnacle/types/company_sector_enum.rb +27 -0
- data/lib/pinnacle/types/company_type_enum.rb +15 -0
- data/lib/pinnacle/types/configured_webhook.rb +13 -0
- data/lib/pinnacle/types/contact.rb +14 -0
- data/lib/pinnacle/types/contact_id.rb +9 -0
- data/lib/pinnacle/types/conversation.rb +17 -0
- data/lib/pinnacle/types/conversation_by_id_params.rb +10 -0
- data/lib/pinnacle/types/conversation_by_participants_params.rb +11 -0
- data/lib/pinnacle/types/conversation_contact.rb +11 -0
- data/lib/pinnacle/types/conversation_list.rb +12 -0
- data/lib/pinnacle/types/conversation_sender.rb +16 -0
- data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +12 -0
- data/lib/pinnacle/types/create_url_options.rb +9 -0
- data/lib/pinnacle/types/delete_audience_response.rb +9 -0
- data/lib/pinnacle/types/detached_phone_number_result.rb +10 -0
- data/lib/pinnacle/types/detached_webhook_info.rb +11 -0
- data/lib/pinnacle/types/detailed_phone_number_enum.rb +22 -0
- data/lib/pinnacle/types/dlc_assignment_status_enum.rb +15 -0
- data/lib/pinnacle/types/dlc_campaign_status.rb +13 -0
- data/lib/pinnacle/types/dlc_campaign_use_case_enum.rb +36 -0
- data/lib/pinnacle/types/dlc_campaign_with_extended_brand_and_status.rb +23 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords.rb +12 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_help.rb +11 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +11 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_links.rb +11 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +14 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +20 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_options.rb +15 -0
- data/lib/pinnacle/types/dlc_with_extended_brand_and_status_use_case.rb +11 -0
- data/lib/pinnacle/types/enhanced_contact.rb +23 -0
- data/lib/pinnacle/types/enhanced_contact_item.rb +13 -0
- data/lib/pinnacle/types/error.rb +10 -0
- data/lib/pinnacle/types/extended_brand.rb +13 -0
- data/lib/pinnacle/types/extended_brand_with_vetting.rb +11 -0
- data/lib/pinnacle/types/extended_rcs_campaign.rb +26 -0
- data/lib/pinnacle/types/get_conversation_params.rb +13 -0
- data/lib/pinnacle/types/get_dlc_campaign_status_response_updates.rb +15 -0
- data/lib/pinnacle/types/get_toll_free_campaign_status_response_updates.rb +15 -0
- data/lib/pinnacle/types/link_click_event.rb +57 -0
- data/lib/pinnacle/types/location_share_action.rb +9 -0
- data/lib/pinnacle/types/location_share_action_data.rb +13 -0
- data/lib/pinnacle/types/message.rb +20 -0
- data/lib/pinnacle/types/message_content.rb +15 -0
- data/lib/pinnacle/types/message_event.rb +17 -0
- data/lib/pinnacle/types/message_event_content.rb +18 -0
- data/lib/pinnacle/types/message_event_conversation.rb +12 -0
- data/lib/pinnacle/types/message_event_direction.rb +12 -0
- data/lib/pinnacle/types/message_event_mms_content.rb +13 -0
- data/lib/pinnacle/types/message_event_rcs_button_data.rb +15 -0
- data/lib/pinnacle/types/message_event_rcs_cards_content.rb +16 -0
- data/lib/pinnacle/types/message_event_rcs_cards_content_cards_item.rb +13 -0
- data/lib/pinnacle/types/message_event_rcs_location_data.rb +15 -0
- data/lib/pinnacle/types/message_event_rcs_media_content.rb +15 -0
- data/lib/pinnacle/types/message_event_rcs_text_content.rb +13 -0
- data/lib/pinnacle/types/message_event_sms_content.rb +12 -0
- data/lib/pinnacle/types/message_list.rb +12 -0
- data/lib/pinnacle/types/message_method_enum.rb +13 -0
- data/lib/pinnacle/types/message_protocol_enum.rb +13 -0
- data/lib/pinnacle/types/message_schedule.rb +13 -0
- data/lib/pinnacle/types/message_status_enum.rb +18 -0
- data/lib/pinnacle/types/message_volume_enum.rb +21 -0
- data/lib/pinnacle/types/message_with_reaction.rb +11 -0
- data/lib/pinnacle/types/message_with_reaction_direction.rb +12 -0
- data/lib/pinnacle/types/messaging_profile_enum.rb +12 -0
- data/lib/pinnacle/types/mms_content.rb +11 -0
- data/lib/pinnacle/types/mms_validation_response_segments.rb +12 -0
- data/lib/pinnacle/types/mms_validation_response_segments_value_item.rb +11 -0
- data/lib/pinnacle/types/mms_validation_result.rb +11 -0
- data/lib/pinnacle/types/not_found_error_body.rb +9 -0
- data/lib/pinnacle/types/number_format.rb +13 -0
- data/lib/pinnacle/types/opt_in_method_enum.rb +14 -0
- data/lib/pinnacle/types/optional_brand_info.rb +19 -0
- data/lib/pinnacle/types/optional_contact.rb +12 -0
- data/lib/pinnacle/types/optional_contacts.rb +13 -0
- data/lib/pinnacle/types/pagination.rb +12 -0
- data/lib/pinnacle/types/phone.rb +14 -0
- data/lib/pinnacle/types/phone_capabilities.rb +12 -0
- data/lib/pinnacle/types/phone_enum.rb +12 -0
- data/lib/pinnacle/types/phone_feature_enum.rb +18 -0
- data/lib/pinnacle/types/phone_number_campaign_attach_failed_item.rb +10 -0
- data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item.rb +10 -0
- data/lib/pinnacle/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +12 -0
- data/lib/pinnacle/types/phone_number_campaign_detach_failed_item.rb +10 -0
- data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item.rb +10 -0
- data/lib/pinnacle/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +12 -0
- data/lib/pinnacle/types/phone_number_cost.rb +12 -0
- data/lib/pinnacle/types/phone_number_details.rb +15 -0
- data/lib/pinnacle/types/phone_number_enum.rb +18 -0
- data/lib/pinnacle/types/phone_number_region.rb +13 -0
- data/lib/pinnacle/types/phone_number_status.rb +12 -0
- data/lib/pinnacle/types/phone_number_status_enum.rb +13 -0
- data/lib/pinnacle/types/pinnacle_file_upload_metadata.rb +12 -0
- data/lib/pinnacle/types/pinnacle_url_config.rb +10 -0
- data/lib/pinnacle/types/profile_status_enum.rb +14 -0
- data/lib/pinnacle/types/purchased_number.rb +12 -0
- data/lib/pinnacle/types/rcs_button_call.rb +12 -0
- data/lib/pinnacle/types/rcs_button_open_url.rb +13 -0
- data/lib/pinnacle/types/rcs_button_open_url_webview_mode.rb +13 -0
- data/lib/pinnacle/types/rcs_button_request_user_location.rb +11 -0
- data/lib/pinnacle/types/rcs_button_schedule_event.rb +15 -0
- data/lib/pinnacle/types/rcs_button_send_location.rb +13 -0
- data/lib/pinnacle/types/rcs_button_send_location_lat_long.rb +11 -0
- data/lib/pinnacle/types/rcs_button_trigger.rb +12 -0
- data/lib/pinnacle/types/rcs_campaign.rb +23 -0
- data/lib/pinnacle/types/rcs_campaign_schema_agent.rb +17 -0
- data/lib/pinnacle/types/rcs_campaign_schema_agent_emails_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_agent_phones_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_agent_websites_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_agent.rb +17 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_emails_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_phones_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_agent_websites_item.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_help.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_in.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_keywords_opt_out.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_links.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_traffic.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_schema_keywords.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_schema_keywords_help.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_in.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_keywords_opt_out.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_links.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_schema_traffic.rb +10 -0
- data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +11 -0
- data/lib/pinnacle/types/rcs_campaign_status.rb +12 -0
- data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +24 -0
- data/lib/pinnacle/types/rcs_capabilities_result.rb +23 -0
- data/lib/pinnacle/types/rcs_capability.rb +11 -0
- data/lib/pinnacle/types/rcs_capability_actions.rb +16 -0
- data/lib/pinnacle/types/rcs_capability_cards.rb +10 -0
- data/lib/pinnacle/types/rcs_cards_content.rb +13 -0
- data/lib/pinnacle/types/rcs_cards_content_cards_item.rb +13 -0
- data/lib/pinnacle/types/rcs_content.rb +14 -0
- data/lib/pinnacle/types/rcs_link_result.rb +13 -0
- data/lib/pinnacle/types/rcs_media_content.rb +13 -0
- data/lib/pinnacle/types/rcs_media_details_content.rb +12 -0
- data/lib/pinnacle/types/rcs_messaging_type_enum.rb +14 -0
- data/lib/pinnacle/types/rcs_validate_content.rb +13 -0
- data/lib/pinnacle/types/rcs_validate_content_media.rb +13 -0
- data/lib/pinnacle/types/rcs_validation_result.rb +12 -0
- data/lib/pinnacle/types/rcs_whitelist_response.rb +10 -0
- data/lib/pinnacle/types/reaction_result.rb +10 -0
- data/lib/pinnacle/types/refreshed_file.rb +10 -0
- data/lib/pinnacle/types/rich_button.rb +18 -0
- data/lib/pinnacle/types/rich_card.rb +13 -0
- data/lib/pinnacle/types/rich_cards.rb +13 -0
- data/lib/pinnacle/types/rich_cards_message.rb +11 -0
- data/lib/pinnacle/types/rich_media_message.rb +10 -0
- data/lib/pinnacle/types/rich_message.rb +13 -0
- data/lib/pinnacle/types/rich_standalone_card_options.rb +17 -0
- data/lib/pinnacle/types/rich_text.rb +11 -0
- data/lib/pinnacle/types/rich_text_message.rb +7 -0
- data/lib/pinnacle/types/schedule_cancel_result.rb +10 -0
- data/lib/pinnacle/types/scheduled_blast_details.rb +11 -0
- data/lib/pinnacle/types/scheduled_blast_response_config.rb +13 -0
- data/lib/pinnacle/types/scheduled_message.rb +10 -0
- data/lib/pinnacle/types/scheduled_send_response_config.rb +13 -0
- data/lib/pinnacle/types/send_rcs_card_options_standalone_card_image_alignment.rb +12 -0
- data/lib/pinnacle/types/send_rcs_card_options_standalone_card_orientation.rb +12 -0
- data/lib/pinnacle/types/send_rich_cards_options.rb +9 -0
- data/lib/pinnacle/types/send_rich_message_options.rb +14 -0
- data/lib/pinnacle/types/send_sms_response_segments.rb +11 -0
- data/lib/pinnacle/types/send_sms_response_segments_encoding.rb +12 -0
- data/lib/pinnacle/types/send_typing_indicator_response.rb +14 -0
- data/lib/pinnacle/types/sender.rb +23 -0
- data/lib/pinnacle/types/sent_mms_details.rb +14 -0
- data/lib/pinnacle/types/sent_rich_message.rb +14 -0
- data/lib/pinnacle/types/sent_sms_details.rb +14 -0
- data/lib/pinnacle/types/shortened_url.rb +10 -0
- data/lib/pinnacle/types/shortened_url_with_click_data.rb +9 -0
- data/lib/pinnacle/types/sms_content.rb +10 -0
- data/lib/pinnacle/types/sms_validation_response_segments.rb +11 -0
- data/lib/pinnacle/types/sms_validation_response_segments_gsm_7.rb +12 -0
- data/lib/pinnacle/types/sms_validation_response_segments_utf_16.rb +11 -0
- data/lib/pinnacle/types/sms_validation_response_total.rb +10 -0
- data/lib/pinnacle/types/sms_validation_result.rb +12 -0
- data/lib/pinnacle/types/sub_use_case_enum.rb +20 -0
- data/lib/pinnacle/types/submission_results.rb +9 -0
- data/lib/pinnacle/types/successful_conversation_update.rb +10 -0
- data/lib/pinnacle/types/toll_free_campaign.rb +17 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_keywords.rb +11 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_keywords_help.rb +10 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_keywords_opt_in.rb +11 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_links.rb +11 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_opt_in.rb +12 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_options.rb +10 -0
- data/lib/pinnacle/types/toll_free_campaign_schema_use_case.rb +11 -0
- data/lib/pinnacle/types/toll_free_campaign_status.rb +12 -0
- data/lib/pinnacle/types/toll_free_campaign_use_case_enum.rb +53 -0
- data/lib/pinnacle/types/toll_free_campaign_with_extended_brand_and_status.rb +19 -0
- data/lib/pinnacle/types/toll_free_status_enum.rb +16 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords.rb +11 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_help.rb +10 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_keywords_opt_in.rb +11 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_links.rb +11 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_opt_in.rb +12 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_options.rb +10 -0
- data/lib/pinnacle/types/toll_free_with_extended_brand_and_status_use_case.rb +11 -0
- data/lib/pinnacle/types/tracking.rb +12 -0
- data/lib/pinnacle/types/updated_contact_id.rb +9 -0
- data/lib/pinnacle/types/upload_results.rb +11 -0
- data/lib/pinnacle/types/user_event.rb +12 -0
- data/lib/pinnacle/types/user_event_conversation.rb +12 -0
- data/lib/pinnacle/types/v_card_address_schema_type_item.rb +17 -0
- data/lib/pinnacle/types/v_card_data.rb +9 -0
- data/lib/pinnacle/types/v_card_data_file.rb +11 -0
- data/lib/pinnacle/types/v_card_data_file_metadata.rb +10 -0
- data/lib/pinnacle/types/v_card_email_schema_type_item.rb +23 -0
- data/lib/pinnacle/types/v_card_geo.rb +11 -0
- data/lib/pinnacle/types/v_card_name.rb +14 -0
- data/lib/pinnacle/types/v_card_organization.rb +11 -0
- data/lib/pinnacle/types/v_card_phone_schema_type_item.rb +23 -0
- data/lib/pinnacle/types/validate_campaign_params.rb +10 -0
- data/lib/pinnacle/types/validation_error_details.rb +11 -0
- data/lib/pinnacle/types/validation_results.rb +10 -0
- data/lib/pinnacle/types/vcard.rb +24 -0
- data/lib/pinnacle/types/vcard_address.rb +17 -0
- data/lib/pinnacle/types/vcard_content.rb +9 -0
- data/lib/pinnacle/types/vcard_email.rb +10 -0
- data/lib/pinnacle/types/vcard_phone.rb +10 -0
- data/lib/pinnacle/types/vcard_resource.rb +10 -0
- data/lib/pinnacle/types/vetting_feedback.rb +12 -0
- data/lib/pinnacle/types/vetting_history.rb +13 -0
- data/lib/pinnacle/types/vetting_history_vetting_status.rb +14 -0
- data/lib/pinnacle/types/vetting_results.rb +9 -0
- data/lib/pinnacle/types/webhook_event_enum.rb +12 -0
- data/lib/pinnacle/types/webhook_result.rb +11 -0
- data/lib/pinnacle/types/webhooks.rb +12 -0
- data/lib/pinnacle/types/zod_error.rb +10 -0
- data/lib/pinnacle/version.rb +5 -0
- data/lib/pinnacle/webhooks/client.rb +51 -0
- data/lib/pinnacle/webhooks/types/get_webhook_params.rb +11 -0
- data/lib/pinnacle/wrapper/messages/client.rb +72 -0
- data/lib/pinnacle/wrapper/tools/client.rb +14 -0
- data/lib/pinnacle/wrapper/tools/file_uploader.rb +149 -0
- data/lib/pinnacle.rb +450 -0
- data/reference.md +5956 -0
- data/wiremock/docker-compose.test.yml +14 -0
- data/wiremock/wiremock-mappings.json +1 -0
- metadata +468 -456
- data/lib/gemconfig.rb +0 -14
- data/lib/rcs/audiences/client.rb +0 -347
- data/lib/rcs/audiences/contacts/client.rb +0 -177
- data/lib/rcs/audiences/types/audiences_get_response.rb +0 -58
- data/lib/rcs/brands/client.rb +0 -605
- data/lib/rcs/brands/types/autofill_brand_options.rb +0 -61
- data/lib/rcs/brands/types/upsert_brand_schema_contact.rb +0 -86
- data/lib/rcs/brands/types/upsert_brand_schema_entity_type.rb +0 -16
- data/lib/rcs/brands/types/upsert_brand_schema_sector.rb +0 -28
- data/lib/rcs/brands/types/upsert_brand_schema_type.rb +0 -16
- data/lib/rcs/campaigns/client.rb +0 -44
- data/lib/rcs/campaigns/dlc/client.rb +0 -492
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_help_keywords.rb +0 -74
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_keywords.rb +0 -99
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_links.rb +0 -74
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_in_keywords.rb +0 -74
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_opt_out_keywords.rb +0 -74
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_options.rb +0 -110
- data/lib/rcs/campaigns/dlc/types/dlc_campaign_use_case.rb +0 -76
- data/lib/rcs/campaigns/rcs/client.rb +0 -566
- data/lib/rcs/campaigns/rcs/types/rcs_agent.rb +0 -152
- data/lib/rcs/campaigns/rcs/types/rcs_agent_email.rb +0 -73
- data/lib/rcs/campaigns/rcs/types/rcs_agent_phone.rb +0 -73
- data/lib/rcs/campaigns/rcs/types/rcs_agent_website.rb +0 -73
- data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +0 -246
- data/lib/rcs/campaigns/rcs/types/rcs_campaign_help_keywords.rb +0 -77
- data/lib/rcs/campaigns/rcs/types/rcs_campaign_keywords.rb +0 -98
- data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_in_keywords.rb +0 -87
- data/lib/rcs/campaigns/rcs/types/rcs_campaign_opt_out_keywords.rb +0 -83
- data/lib/rcs/campaigns/rcs/types/rcs_campaign_traffic.rb +0 -76
- data/lib/rcs/campaigns/rcs/types/rcs_links.rb +0 -74
- data/lib/rcs/campaigns/rcs/types/rcs_use_case.rb +0 -75
- data/lib/rcs/campaigns/toll_free/client.rb +0 -478
- data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +0 -172
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_help_keywords.rb +0 -66
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_keywords.rb +0 -86
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_links.rb +0 -74
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in.rb +0 -86
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_opt_in_keywords.rb +0 -78
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_options.rb +0 -64
- data/lib/rcs/campaigns/toll_free/types/toll_free_campaign_use_case.rb +0 -75
- data/lib/rcs/contacts/client.rb +0 -277
- data/lib/rcs/conversations/client.rb +0 -401
- data/lib/rcs/conversations/types/conversations_list_messages_request_direction.rb +0 -12
- data/lib/rcs/conversations/types/conversations_list_messages_request_sort_order.rb +0 -12
- data/lib/rcs/conversations/types/conversations_list_messages_request_status.rb +0 -17
- data/lib/rcs/conversations/types/conversations_list_messages_request_type.rb +0 -13
- data/lib/rcs/messages/blast/client.rb +0 -425
- data/lib/rcs/messages/blast/types/blast_mms_options.rb +0 -82
- data/lib/rcs/messages/blast/types/blast_mms_response.rb +0 -60
- data/lib/rcs/messages/blast/types/blast_rcs_options.rb +0 -118
- data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card.rb +0 -82
- data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_image_alignment.rb +0 -16
- data/lib/rcs/messages/blast/types/blast_rcs_request_options_standalone_card_orientation.rb +0 -15
- data/lib/rcs/messages/blast/types/blast_rcs_response.rb +0 -60
- data/lib/rcs/messages/blast/types/blast_sms_options.rb +0 -70
- data/lib/rcs/messages/blast/types/blast_sms_response.rb +0 -60
- data/lib/rcs/messages/client.rb +0 -189
- data/lib/rcs/messages/mms/client.rb +0 -216
- data/lib/rcs/messages/mms/types/mms_send_response.rb +0 -60
- data/lib/rcs/messages/mms/types/send_mms_options.rb +0 -108
- data/lib/rcs/messages/rcs/client.rb +0 -286
- data/lib/rcs/messages/rcs/types/send_rich_message_response.rb +0 -60
- data/lib/rcs/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -66
- data/lib/rcs/messages/schedule/client.rb +0 -103
- data/lib/rcs/messages/sms/client.rb +0 -198
- data/lib/rcs/messages/sms/types/send_sms_options.rb +0 -81
- data/lib/rcs/messages/sms/types/sms_send_response.rb +0 -60
- data/lib/rcs/messages/types/react_message_options.rb +0 -71
- data/lib/rcs/phone_numbers/campaign/client.rb +0 -197
- data/lib/rcs/phone_numbers/client.rb +0 -345
- data/lib/rcs/phone_numbers/types/enhanced_contact_info.rb +0 -62
- data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +0 -16
- data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +0 -58
- data/lib/rcs/phone_numbers/types/retrieve_phone_number_details_options.rb +0 -93
- data/lib/rcs/phone_numbers/types/search_phone_number_by_digits.rb +0 -81
- data/lib/rcs/phone_numbers/types/search_phone_number_by_location.rb +0 -96
- data/lib/rcs/phone_numbers/types/search_phone_number_options.rb +0 -62
- data/lib/rcs/phone_numbers/webhook/client.rb +0 -193
- data/lib/rcs/rcs/client.rb +0 -332
- data/lib/rcs/status/client.rb +0 -30
- data/lib/rcs/status/get/client.rb +0 -383
- data/lib/rcs/tools/client.rb +0 -44
- data/lib/rcs/tools/contact_card/client.rb +0 -295
- data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +0 -67
- data/lib/rcs/tools/file/client.rb +0 -228
- data/lib/rcs/tools/file/types/download_options.rb +0 -66
- data/lib/rcs/tools/file/types/upload_file_options.rb +0 -88
- data/lib/rcs/tools/url/client.rb +0 -247
- data/lib/rcs/types/advanced_phone_information.rb +0 -147
- data/lib/rcs/types/advanced_phone_information_carrier.rb +0 -90
- data/lib/rcs/types/advanced_phone_information_contact.rb +0 -146
- data/lib/rcs/types/advanced_phone_information_location.rb +0 -142
- data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +0 -73
- data/lib/rcs/types/advanced_phone_information_location_country.rb +0 -77
- data/lib/rcs/types/advanced_phone_information_type.rb +0 -97
- data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +0 -15
- data/lib/rcs/types/agent.rb +0 -68
- data/lib/rcs/types/attach_webhook_by_id_params.rb +0 -77
- data/lib/rcs/types/attach_webhook_params.rb +0 -60
- data/lib/rcs/types/attach_webhook_response_webhook.rb +0 -88
- data/lib/rcs/types/attached_phone_number_result.rb +0 -75
- data/lib/rcs/types/audience_count_only.rb +0 -87
- data/lib/rcs/types/audience_with_pagination.rb +0 -114
- data/lib/rcs/types/autofill_campaign_params.rb +0 -81
- data/lib/rcs/types/autofill_dlc_campaign_response.rb +0 -173
- data/lib/rcs/types/autofill_dlc_response_keywords.rb +0 -93
- data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +0 -70
- data/lib/rcs/types/autofill_dlc_response_keywords_opt_in.rb +0 -70
- data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +0 -70
- data/lib/rcs/types/autofill_dlc_response_links.rb +0 -70
- data/lib/rcs/types/autofill_dlc_response_options.rb +0 -106
- data/lib/rcs/types/autofill_dlc_response_use_case.rb +0 -72
- data/lib/rcs/types/bad_request_error_body.rb +0 -56
- data/lib/rcs/types/base_rich_message.rb +0 -82
- data/lib/rcs/types/basic_phone_information.rb +0 -127
- data/lib/rcs/types/basic_phone_information_contact.rb +0 -58
- data/lib/rcs/types/basic_phone_information_location.rb +0 -74
- data/lib/rcs/types/basic_phone_information_location_country.rb +0 -75
- data/lib/rcs/types/blast_details.rb +0 -110
- data/lib/rcs/types/brand_status.rb +0 -94
- data/lib/rcs/types/brand_status_enum.rb +0 -21
- data/lib/rcs/types/button_clicked.rb +0 -56
- data/lib/rcs/types/button_clicked_data.rb +0 -80
- data/lib/rcs/types/button_clicked_data_button.rb +0 -118
- data/lib/rcs/types/button_clicked_data_button_raw.rb +0 -58
- data/lib/rcs/types/button_clicked_data_button_type.rb +0 -15
- data/lib/rcs/types/buy_response_capabilities.rb +0 -77
- data/lib/rcs/types/campaign_enum.rb +0 -15
- data/lib/rcs/types/campaign_query.rb +0 -77
- data/lib/rcs/types/campaign_submission_result.rb +0 -57
- data/lib/rcs/types/campaign_validation_response_errors_item.rb +0 -76
- data/lib/rcs/types/campaign_validation_result.rb +0 -71
- data/lib/rcs/types/company_entity_type_enum.rb +0 -14
- data/lib/rcs/types/company_sector_enum.rb +0 -26
- data/lib/rcs/types/company_type_enum.rb +0 -14
- data/lib/rcs/types/configured_webhook.rb +0 -85
- data/lib/rcs/types/contact.rb +0 -107
- data/lib/rcs/types/contact_id.rb +0 -59
- data/lib/rcs/types/conversation.rb +0 -154
- data/lib/rcs/types/conversation_by_id_params.rb +0 -62
- data/lib/rcs/types/conversation_by_participants_params.rb +0 -72
- data/lib/rcs/types/conversation_contact.rb +0 -70
- data/lib/rcs/types/conversation_list.rb +0 -79
- data/lib/rcs/types/conversation_sender.rb +0 -60
- data/lib/rcs/types/create_and_attach_webhook_by_url_params.rb +0 -88
- data/lib/rcs/types/create_url_options.rb +0 -63
- data/lib/rcs/types/delete_audience_response.rb +0 -57
- data/lib/rcs/types/detached_phone_number_result.rb +0 -75
- data/lib/rcs/types/detached_webhook_info.rb +0 -76
- data/lib/rcs/types/detailed_phone_number_enum.rb +0 -25
- data/lib/rcs/types/dlc_assignment_status_enum.rb +0 -19
- data/lib/rcs/types/dlc_campaign_status.rb +0 -109
- data/lib/rcs/types/dlc_campaign_use_case_enum.rb +0 -35
- data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +0 -224
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +0 -94
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +0 -72
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_in.rb +0 -72
- data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_opt_out.rb +0 -72
- data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +0 -70
- data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_brand_tier.rb +0 -15
- data/lib/rcs/types/dlc_with_extended_brand_and_status_mno_tcr_tier.rb +0 -22
- data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +0 -106
- data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +0 -72
- data/lib/rcs/types/enhanced_contact.rb +0 -9
- data/lib/rcs/types/enhanced_contact_item.rb +0 -104
- data/lib/rcs/types/error.rb +0 -61
- data/lib/rcs/types/extended_brand.rb +0 -215
- data/lib/rcs/types/extended_brand_with_vetting.rb +0 -247
- data/lib/rcs/types/extended_rcs_campaign.rb +0 -267
- data/lib/rcs/types/get_conversation_params.rb +0 -57
- data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +0 -96
- data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +0 -92
- data/lib/rcs/types/link_click_event.rb +0 -449
- data/lib/rcs/types/location_share_action.rb +0 -63
- data/lib/rcs/types/location_share_action_data.rb +0 -89
- data/lib/rcs/types/message.rb +0 -176
- data/lib/rcs/types/message_content.rb +0 -85
- data/lib/rcs/types/message_event.rb +0 -143
- data/lib/rcs/types/message_event_content.rb +0 -127
- data/lib/rcs/types/message_event_conversation.rb +0 -82
- data/lib/rcs/types/message_event_direction.rb +0 -11
- data/lib/rcs/types/message_event_mms_content.rb +0 -94
- data/lib/rcs/types/message_event_rcs_button_data.rb +0 -104
- data/lib/rcs/types/message_event_rcs_cards_content.rb +0 -103
- data/lib/rcs/types/message_event_rcs_cards_content_cards_item.rb +0 -96
- data/lib/rcs/types/message_event_rcs_location_data.rb +0 -91
- data/lib/rcs/types/message_event_rcs_media_content.rb +0 -96
- data/lib/rcs/types/message_event_rcs_text_content.rb +0 -94
- data/lib/rcs/types/message_event_sms_content.rb +0 -81
- data/lib/rcs/types/message_list.rb +0 -79
- data/lib/rcs/types/message_method_enum.rb +0 -12
- data/lib/rcs/types/message_protocol_enum.rb +0 -12
- data/lib/rcs/types/message_schedule.rb +0 -121
- data/lib/rcs/types/message_status_enum.rb +0 -17
- data/lib/rcs/types/message_volume_enum.rb +0 -20
- data/lib/rcs/types/message_with_reaction.rb +0 -197
- data/lib/rcs/types/message_with_reaction_direction.rb +0 -11
- data/lib/rcs/types/messaging_profile_enum.rb +0 -11
- data/lib/rcs/types/mms_content.rb +0 -74
- data/lib/rcs/types/mms_validation_response_segments.rb +0 -85
- data/lib/rcs/types/mms_validation_response_segments_value_item.rb +0 -75
- data/lib/rcs/types/mms_validation_result.rb +0 -82
- data/lib/rcs/types/not_found_error_body.rb +0 -59
- data/lib/rcs/types/number_format.rb +0 -79
- data/lib/rcs/types/opt_in_method_enum.rb +0 -13
- data/lib/rcs/types/optional_brand_info.rb +0 -154
- data/lib/rcs/types/optional_contact.rb +0 -83
- data/lib/rcs/types/optional_contacts.rb +0 -84
- data/lib/rcs/types/pagination.rb +0 -81
- data/lib/rcs/types/phone.rb +0 -101
- data/lib/rcs/types/phone_capabilities.rb +0 -75
- data/lib/rcs/types/phone_enum.rb +0 -13
- data/lib/rcs/types/phone_feature_enum.rb +0 -18
- data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +0 -67
- data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +0 -75
- data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +0 -82
- data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +0 -67
- data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +0 -75
- data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +0 -82
- data/lib/rcs/types/phone_number_cost.rb +0 -75
- data/lib/rcs/types/phone_number_details.rb +0 -110
- data/lib/rcs/types/phone_number_enum.rb +0 -18
- data/lib/rcs/types/phone_number_region.rb +0 -91
- data/lib/rcs/types/phone_number_status.rb +0 -90
- data/lib/rcs/types/phone_number_status_enum.rb +0 -16
- data/lib/rcs/types/pinnacle_file_upload_metadata.rb +0 -100
- data/lib/rcs/types/pinnacle_url_config.rb +0 -71
- data/lib/rcs/types/profile_status_enum.rb +0 -17
- data/lib/rcs/types/purchased_number.rb +0 -75
- data/lib/rcs/types/rcs_button_call.rb +0 -77
- data/lib/rcs/types/rcs_button_open_url.rb +0 -104
- data/lib/rcs/types/rcs_button_open_url_webview_mode.rb +0 -19
- data/lib/rcs/types/rcs_button_request_user_location.rb +0 -70
- data/lib/rcs/types/rcs_button_schedule_event.rb +0 -106
- data/lib/rcs/types/rcs_button_send_location.rb +0 -94
- data/lib/rcs/types/rcs_button_send_location_lat_long.rb +0 -68
- data/lib/rcs/types/rcs_button_trigger.rb +0 -80
- data/lib/rcs/types/rcs_campaign.rb +0 -234
- data/lib/rcs/types/rcs_campaign_schema_agent.rb +0 -134
- data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +0 -69
- data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +0 -69
- data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +0 -69
- data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +0 -134
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +0 -70
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +0 -70
- data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +0 -71
- data/lib/rcs/types/rcs_campaign_schema_extra_keywords.rb +0 -94
- data/lib/rcs/types/rcs_campaign_schema_extra_keywords_help.rb +0 -71
- data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_in.rb +0 -73
- data/lib/rcs/types/rcs_campaign_schema_extra_keywords_opt_out.rb +0 -73
- data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +0 -70
- data/lib/rcs/types/rcs_campaign_schema_extra_traffic.rb +0 -72
- data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +0 -71
- data/lib/rcs/types/rcs_campaign_schema_keywords.rb +0 -94
- data/lib/rcs/types/rcs_campaign_schema_keywords_help.rb +0 -71
- data/lib/rcs/types/rcs_campaign_schema_keywords_opt_in.rb +0 -73
- data/lib/rcs/types/rcs_campaign_schema_keywords_opt_out.rb +0 -73
- data/lib/rcs/types/rcs_campaign_schema_links.rb +0 -70
- data/lib/rcs/types/rcs_campaign_schema_traffic.rb +0 -72
- data/lib/rcs/types/rcs_campaign_schema_use_case.rb +0 -71
- data/lib/rcs/types/rcs_campaign_status.rb +0 -88
- data/lib/rcs/types/rcs_campaign_use_case_enum.rb +0 -23
- data/lib/rcs/types/rcs_capabilities_result.rb +0 -7
- data/lib/rcs/types/rcs_capability.rb +0 -82
- data/lib/rcs/types/rcs_capability_actions.rb +0 -105
- data/lib/rcs/types/rcs_capability_cards.rb +0 -67
- data/lib/rcs/types/rcs_cards_content.rb +0 -83
- data/lib/rcs/types/rcs_cards_content_cards_item.rb +0 -98
- data/lib/rcs/types/rcs_content.rb +0 -72
- data/lib/rcs/types/rcs_link_result.rb +0 -75
- data/lib/rcs/types/rcs_media_content.rb +0 -83
- data/lib/rcs/types/rcs_media_details_content.rb +0 -77
- data/lib/rcs/types/rcs_messaging_type_enum.rb +0 -17
- data/lib/rcs/types/rcs_validate_content.rb +0 -70
- data/lib/rcs/types/rcs_validate_content_media.rb +0 -75
- data/lib/rcs/types/rcs_validation_result.rb +0 -83
- data/lib/rcs/types/rcs_whitelist_response.rb +0 -58
- data/lib/rcs/types/reaction_result.rb +0 -71
- data/lib/rcs/types/refreshed_file.rb +0 -67
- data/lib/rcs/types/rich_button.rb +0 -148
- data/lib/rcs/types/rich_card.rb +0 -92
- data/lib/rcs/types/rich_cards.rb +0 -83
- data/lib/rcs/types/rich_cards_message.rb +0 -114
- data/lib/rcs/types/rich_media_message.rb +0 -112
- data/lib/rcs/types/rich_message.rb +0 -70
- data/lib/rcs/types/rich_standalone_card_options.rb +0 -80
- data/lib/rcs/types/rich_text.rb +0 -74
- data/lib/rcs/types/rich_text_message.rb +0 -108
- data/lib/rcs/types/schedule_cancel_result.rb +0 -58
- data/lib/rcs/types/scheduled_blast_details.rb +0 -76
- data/lib/rcs/types/scheduled_blast_response_config.rb +0 -89
- data/lib/rcs/types/scheduled_message.rb +0 -75
- data/lib/rcs/types/scheduled_send_response_config.rb +0 -89
- data/lib/rcs/types/send_rcs_card_options_standalone_card_image_alignment.rb +0 -12
- data/lib/rcs/types/send_rcs_card_options_standalone_card_orientation.rb +0 -11
- data/lib/rcs/types/send_rich_cards_options.rb +0 -136
- data/lib/rcs/types/send_rich_message_options.rb +0 -111
- data/lib/rcs/types/send_sms_response_segments.rb +0 -69
- data/lib/rcs/types/send_sms_response_segments_encoding.rb +0 -11
- data/lib/rcs/types/send_typing_indicator_response.rb +0 -100
- data/lib/rcs/types/sent_mms_details.rb +0 -118
- data/lib/rcs/types/sent_rich_message.rb +0 -104
- data/lib/rcs/types/sent_sms_details.rb +0 -110
- data/lib/rcs/types/shortened_url.rb +0 -77
- data/lib/rcs/types/shortened_url_with_click_data.rb +0 -90
- data/lib/rcs/types/sms_content.rb +0 -58
- data/lib/rcs/types/sms_validation_response_segments.rb +0 -80
- data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +0 -75
- data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +0 -68
- data/lib/rcs/types/sms_validation_response_total.rb +0 -75
- data/lib/rcs/types/sms_validation_result.rb +0 -102
- data/lib/rcs/types/sub_use_case_enum.rb +0 -19
- data/lib/rcs/types/submission_results.rb +0 -57
- data/lib/rcs/types/successful_conversation_update.rb +0 -58
- data/lib/rcs/types/toll_free_campaign.rb +0 -160
- data/lib/rcs/types/toll_free_campaign_schema_keywords.rb +0 -82
- data/lib/rcs/types/toll_free_campaign_schema_keywords_help.rb +0 -62
- data/lib/rcs/types/toll_free_campaign_schema_keywords_opt_in.rb +0 -74
- data/lib/rcs/types/toll_free_campaign_schema_links.rb +0 -70
- data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +0 -78
- data/lib/rcs/types/toll_free_campaign_schema_options.rb +0 -60
- data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +0 -71
- data/lib/rcs/types/toll_free_campaign_status.rb +0 -93
- data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +0 -52
- data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +0 -195
- data/lib/rcs/types/toll_free_status_enum.rb +0 -20
- data/lib/rcs/types/tracking.rb +0 -17
- data/lib/rcs/types/updated_contact_id.rb +0 -59
- data/lib/rcs/types/upload_results.rb +0 -80
- data/lib/rcs/types/user_event.rb +0 -83
- data/lib/rcs/types/user_event_conversation.rb +0 -78
- data/lib/rcs/types/v_card_address_schema_type_item.rb +0 -15
- data/lib/rcs/types/v_card_data.rb +0 -239
- data/lib/rcs/types/v_card_data_file.rb +0 -74
- data/lib/rcs/types/v_card_data_file_metadata.rb +0 -62
- data/lib/rcs/types/v_card_email_schema_type_item.rb +0 -21
- data/lib/rcs/types/v_card_geo.rb +0 -70
- data/lib/rcs/types/v_card_name.rb +0 -98
- data/lib/rcs/types/v_card_organization.rb +0 -70
- data/lib/rcs/types/v_card_phone_schema_type_item.rb +0 -21
- data/lib/rcs/types/validate_campaign_params.rb +0 -81
- data/lib/rcs/types/validation_error_details.rb +0 -76
- data/lib/rcs/types/validation_results.rb +0 -71
- data/lib/rcs/types/vcard.rb +0 -217
- data/lib/rcs/types/vcard_address.rb +0 -130
- data/lib/rcs/types/vcard_content.rb +0 -225
- data/lib/rcs/types/vcard_email.rb +0 -70
- data/lib/rcs/types/vcard_phone.rb +0 -70
- data/lib/rcs/types/vcard_resource.rb +0 -73
- data/lib/rcs/types/vetting_feedback.rb +0 -81
- data/lib/rcs/types/vetting_history.rb +0 -98
- data/lib/rcs/types/vetting_history_vetting_status.rb +0 -13
- data/lib/rcs/types/vetting_results.rb +0 -57
- data/lib/rcs/types/webhook_event_enum.rb +0 -14
- data/lib/rcs/types/webhook_result.rb +0 -64
- data/lib/rcs/types/webhooks.rb +0 -77
- data/lib/rcs/types/zod_error.rb +0 -73
- data/lib/rcs/webhooks/client.rb +0 -97
- data/lib/rcs.rb +0 -124
- data/lib/requests.rb +0 -163
- data/lib/types_export.rb +0 -334
- /data/lib/{environment.rb → pinnacle/environment.rb} +0 -0
|
@@ -1,566 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative "../../../requests"
|
|
4
|
-
require_relative "../../types/autofill_campaign_params"
|
|
5
|
-
require_relative "types/rcs_autofill_response"
|
|
6
|
-
require_relative "../../types/extended_rcs_campaign"
|
|
7
|
-
require_relative "../../types/campaign_submission_result"
|
|
8
|
-
require_relative "types/rcs_agent"
|
|
9
|
-
require_relative "types/rcs_links"
|
|
10
|
-
require_relative "types/rcs_use_case"
|
|
11
|
-
require_relative "../../types/rcs_messaging_type_enum"
|
|
12
|
-
require_relative "types/rcs_campaign_keywords"
|
|
13
|
-
require_relative "types/rcs_campaign_traffic"
|
|
14
|
-
require_relative "../../types/validate_campaign_params"
|
|
15
|
-
require_relative "../../types/campaign_validation_result"
|
|
16
|
-
require "async"
|
|
17
|
-
|
|
18
|
-
module Pinnacle
|
|
19
|
-
module Campaigns
|
|
20
|
-
class RcsClient
|
|
21
|
-
# @return [Pinnacle::RequestClient]
|
|
22
|
-
attr_reader :request_client
|
|
23
|
-
|
|
24
|
-
# @param request_client [Pinnacle::RequestClient]
|
|
25
|
-
# @return [Pinnacle::Campaigns::RcsClient]
|
|
26
|
-
def initialize(request_client:)
|
|
27
|
-
@request_client = request_client
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# Generate campaign details based off existing campaign and the brand it's
|
|
31
|
-
# connected to.
|
|
32
|
-
#
|
|
33
|
-
# @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
|
|
34
|
-
# * :additional_info (String)
|
|
35
|
-
# * :campaign_id (String)
|
|
36
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
37
|
-
# @return [Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse]
|
|
38
|
-
# @example
|
|
39
|
-
# api = Pinnacle::Client.new(
|
|
40
|
-
# base_url: "https://api.example.com",
|
|
41
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
42
|
-
# api_key: "YOUR_API_KEY"
|
|
43
|
-
# )
|
|
44
|
-
# api.campaigns.rcs.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
|
|
45
|
-
def autofill(request:, request_options: nil)
|
|
46
|
-
response = @request_client.conn.post do |req|
|
|
47
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
48
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
49
|
-
req.headers = {
|
|
50
|
-
**(req.headers || {}),
|
|
51
|
-
**@request_client.get_headers,
|
|
52
|
-
**(request_options&.additional_headers || {})
|
|
53
|
-
}.compact
|
|
54
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
55
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
56
|
-
end
|
|
57
|
-
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
58
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/autofill"
|
|
59
|
-
end
|
|
60
|
-
Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse.from_json(json_object: response.body)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# Retrieve RCS campaign.
|
|
64
|
-
#
|
|
65
|
-
# @param campaign_id [String] Unique identifier of the RCS campaign. Must begin with the prefix `rcs_`.
|
|
66
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
67
|
-
# @return [Pinnacle::Types::ExtendedRcsCampaign]
|
|
68
|
-
# @example
|
|
69
|
-
# api = Pinnacle::Client.new(
|
|
70
|
-
# base_url: "https://api.example.com",
|
|
71
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
72
|
-
# api_key: "YOUR_API_KEY"
|
|
73
|
-
# )
|
|
74
|
-
# api.campaigns.rcs.get(campaign_id: "rcs_1234567890")
|
|
75
|
-
def get(campaign_id:, request_options: nil)
|
|
76
|
-
response = @request_client.conn.get do |req|
|
|
77
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
78
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
79
|
-
req.headers = {
|
|
80
|
-
**(req.headers || {}),
|
|
81
|
-
**@request_client.get_headers,
|
|
82
|
-
**(request_options&.additional_headers || {})
|
|
83
|
-
}.compact
|
|
84
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
85
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
86
|
-
end
|
|
87
|
-
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
88
|
-
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
89
|
-
end
|
|
90
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/#{campaign_id}"
|
|
91
|
-
end
|
|
92
|
-
Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
# Submit your RCS campaign for approval and activation with carriers.
|
|
96
|
-
#
|
|
97
|
-
# @param campaign_id [String] Unique identifier of the RCS campaign to retrieve. Must begin with the prefix
|
|
98
|
-
# `rcs_`.
|
|
99
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
100
|
-
# @return [Pinnacle::Types::CampaignSubmissionResult]
|
|
101
|
-
# @example
|
|
102
|
-
# api = Pinnacle::Client.new(
|
|
103
|
-
# base_url: "https://api.example.com",
|
|
104
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
105
|
-
# api_key: "YOUR_API_KEY"
|
|
106
|
-
# )
|
|
107
|
-
# api.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
|
|
108
|
-
def submit(campaign_id:, request_options: nil)
|
|
109
|
-
response = @request_client.conn.post do |req|
|
|
110
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
111
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
112
|
-
req.headers = {
|
|
113
|
-
**(req.headers || {}),
|
|
114
|
-
**@request_client.get_headers,
|
|
115
|
-
**(request_options&.additional_headers || {})
|
|
116
|
-
}.compact
|
|
117
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
118
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
119
|
-
end
|
|
120
|
-
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
121
|
-
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
122
|
-
end
|
|
123
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/submit/#{campaign_id}"
|
|
124
|
-
end
|
|
125
|
-
Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
# Create a new RCS campaign or updates an existing one. <br>
|
|
129
|
-
# Omit campaignId to create a campaign.
|
|
130
|
-
#
|
|
131
|
-
# @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
|
|
132
|
-
# * :color (String)
|
|
133
|
-
# * :description (String)
|
|
134
|
-
# * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
|
|
135
|
-
# * :hero_url (String)
|
|
136
|
-
# * :icon_url (String)
|
|
137
|
-
# * :name (String)
|
|
138
|
-
# * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
|
|
139
|
-
# * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
|
|
140
|
-
# @param brand [String] Unique identifier for the brand.
|
|
141
|
-
# @param campaign_id [String] Unique identifier for the campaign.
|
|
142
|
-
# @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
|
|
143
|
-
# **Limit:** 1 to 5
|
|
144
|
-
# @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
|
|
145
|
-
# * :privacy_policy (String)
|
|
146
|
-
# * :terms_of_service (String)
|
|
147
|
-
# @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
|
|
148
|
-
# * :behavior (String)
|
|
149
|
-
# * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
|
|
150
|
-
# @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
|
|
151
|
-
# provide the link.
|
|
152
|
-
# @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
|
|
153
|
-
# @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
|
|
154
|
-
# @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
|
|
155
|
-
# * :help (Hash)
|
|
156
|
-
# * :message (String)
|
|
157
|
-
# * :keywords (Array<String>)
|
|
158
|
-
# * :opt_in (Hash)
|
|
159
|
-
# * :message (String)
|
|
160
|
-
# * :keywords (Array<String>)
|
|
161
|
-
# * :opt_out (Hash)
|
|
162
|
-
# * :message (String)
|
|
163
|
-
# * :keywords (Array<String>)
|
|
164
|
-
# @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
|
|
165
|
-
# * :monthly_website (Integer)
|
|
166
|
-
# * :monthly_rcs_estimate (Integer)
|
|
167
|
-
# @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
|
|
168
|
-
# is delivered, whether messages follow a schedule or triggered by user actions,
|
|
169
|
-
# and any external triggers.
|
|
170
|
-
# @param interaction_description [String] Description of all agent interactions.
|
|
171
|
-
# @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
|
|
172
|
-
# the users. Set to false for one-way messages from agent to user.
|
|
173
|
-
# @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
|
|
174
|
-
# This checkbox has to be unchecked by default. The text should meet the US CTIA
|
|
175
|
-
# requirements and is usually in the following format: <br>
|
|
176
|
-
# [Program description of the company sending the messages and what type of
|
|
177
|
-
# messages are being sent]. Msg&data rates may apply. [Message frequency: How
|
|
178
|
-
# frequently messages are sent]. [Privacy statement or link to privacy policy].
|
|
179
|
-
# [Link to full mobile
|
|
180
|
-
# T&Cs page].
|
|
181
|
-
# @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
|
|
182
|
-
# flow from the agent. This is usually an inbound text message to the agent that
|
|
183
|
-
# will start a flow of messages between the agent and the user.
|
|
184
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
185
|
-
# @return [Pinnacle::Types::ExtendedRcsCampaign]
|
|
186
|
-
# @example
|
|
187
|
-
# api = Pinnacle::Client.new(
|
|
188
|
-
# base_url: "https://api.example.com",
|
|
189
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
190
|
-
# api_key: "YOUR_API_KEY"
|
|
191
|
-
# )
|
|
192
|
-
# api.campaigns.rcs.upsert(
|
|
193
|
-
# agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
|
|
194
|
-
# brand: "b_1234567890",
|
|
195
|
-
# campaign_id: "rcs_1234567890",
|
|
196
|
-
# expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
|
|
197
|
-
# links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
|
|
198
|
-
# use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
|
|
199
|
-
# The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
|
|
200
|
-
# ", value: OTHER },
|
|
201
|
-
# opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
|
|
202
|
-
# Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
|
|
203
|
-
# ",
|
|
204
|
-
# messaging_type: MULTI_USE,
|
|
205
|
-
# carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
|
|
206
|
-
# keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
|
|
207
|
-
# 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
|
|
208
|
-
# Reply STOP to opt out and HELP for support. Message & rates may apply.
|
|
209
|
-
# ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
|
|
210
|
-
# traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
|
|
211
|
-
# agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
|
|
212
|
-
# interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
|
|
213
|
-
# is_conversational: true,
|
|
214
|
-
# cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
|
|
215
|
-
# demo_trigger: "Text "START" to trigger the flow."
|
|
216
|
-
# )
|
|
217
|
-
def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
|
|
218
|
-
opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
|
|
219
|
-
response = @request_client.conn.post do |req|
|
|
220
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
221
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
222
|
-
req.headers = {
|
|
223
|
-
**(req.headers || {}),
|
|
224
|
-
**@request_client.get_headers,
|
|
225
|
-
**(request_options&.additional_headers || {})
|
|
226
|
-
}.compact
|
|
227
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
228
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
229
|
-
end
|
|
230
|
-
req.body = {
|
|
231
|
-
**(request_options&.additional_body_parameters || {}),
|
|
232
|
-
agent: agent,
|
|
233
|
-
brand: brand,
|
|
234
|
-
campaignId: campaign_id,
|
|
235
|
-
expectedAgentResponses: expected_agent_responses,
|
|
236
|
-
links: links,
|
|
237
|
-
useCase: use_case,
|
|
238
|
-
optInTermsAndConditions: opt_in_terms_and_conditions,
|
|
239
|
-
messagingType: messaging_type,
|
|
240
|
-
carrierDescription: carrier_description,
|
|
241
|
-
keywords: keywords,
|
|
242
|
-
traffic: traffic,
|
|
243
|
-
agentTriggers: agent_triggers,
|
|
244
|
-
interactionDescription: interaction_description,
|
|
245
|
-
isConversational: is_conversational,
|
|
246
|
-
ctaLanguage: cta_language,
|
|
247
|
-
demoTrigger: demo_trigger
|
|
248
|
-
}.compact
|
|
249
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
|
|
250
|
-
end
|
|
251
|
-
Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
|
|
252
|
-
end
|
|
253
|
-
|
|
254
|
-
# Validate your RCS campaign configuration against carrier requirements and
|
|
255
|
-
# compliance rules.
|
|
256
|
-
#
|
|
257
|
-
# @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
|
|
258
|
-
# * :additional_info (String)
|
|
259
|
-
# * :campaign_id (String)
|
|
260
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
261
|
-
# @return [Pinnacle::Types::CampaignValidationResult]
|
|
262
|
-
# @example
|
|
263
|
-
# api = Pinnacle::Client.new(
|
|
264
|
-
# base_url: "https://api.example.com",
|
|
265
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
266
|
-
# api_key: "YOUR_API_KEY"
|
|
267
|
-
# )
|
|
268
|
-
# api.campaigns.rcs.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
|
|
269
|
-
def validate(request:, request_options: nil)
|
|
270
|
-
response = @request_client.conn.post do |req|
|
|
271
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
272
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
273
|
-
req.headers = {
|
|
274
|
-
**(req.headers || {}),
|
|
275
|
-
**@request_client.get_headers,
|
|
276
|
-
**(request_options&.additional_headers || {})
|
|
277
|
-
}.compact
|
|
278
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
279
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
280
|
-
end
|
|
281
|
-
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
282
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/validate"
|
|
283
|
-
end
|
|
284
|
-
Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
|
|
285
|
-
end
|
|
286
|
-
end
|
|
287
|
-
|
|
288
|
-
class AsyncRcsClient
|
|
289
|
-
# @return [Pinnacle::AsyncRequestClient]
|
|
290
|
-
attr_reader :request_client
|
|
291
|
-
|
|
292
|
-
# @param request_client [Pinnacle::AsyncRequestClient]
|
|
293
|
-
# @return [Pinnacle::Campaigns::AsyncRcsClient]
|
|
294
|
-
def initialize(request_client:)
|
|
295
|
-
@request_client = request_client
|
|
296
|
-
end
|
|
297
|
-
|
|
298
|
-
# Generate campaign details based off existing campaign and the brand it's
|
|
299
|
-
# connected to.
|
|
300
|
-
#
|
|
301
|
-
# @param request [Hash] Request of type Pinnacle::Types::AutofillCampaignParams, as a Hash
|
|
302
|
-
# * :additional_info (String)
|
|
303
|
-
# * :campaign_id (String)
|
|
304
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
305
|
-
# @return [Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse]
|
|
306
|
-
# @example
|
|
307
|
-
# api = Pinnacle::Client.new(
|
|
308
|
-
# base_url: "https://api.example.com",
|
|
309
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
310
|
-
# api_key: "YOUR_API_KEY"
|
|
311
|
-
# )
|
|
312
|
-
# api.campaigns.rcs.autofill(request: { additional_info: "Please autofill missing campaign fields using my brand profile", campaign_id: "dlc_1234567890" })
|
|
313
|
-
def autofill(request:, request_options: nil)
|
|
314
|
-
Async do
|
|
315
|
-
response = @request_client.conn.post do |req|
|
|
316
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
317
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
318
|
-
req.headers = {
|
|
319
|
-
**(req.headers || {}),
|
|
320
|
-
**@request_client.get_headers,
|
|
321
|
-
**(request_options&.additional_headers || {})
|
|
322
|
-
}.compact
|
|
323
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
324
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
325
|
-
end
|
|
326
|
-
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
327
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/autofill"
|
|
328
|
-
end
|
|
329
|
-
Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse.from_json(json_object: response.body)
|
|
330
|
-
end
|
|
331
|
-
end
|
|
332
|
-
|
|
333
|
-
# Retrieve RCS campaign.
|
|
334
|
-
#
|
|
335
|
-
# @param campaign_id [String] Unique identifier of the RCS campaign. Must begin with the prefix `rcs_`.
|
|
336
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
337
|
-
# @return [Pinnacle::Types::ExtendedRcsCampaign]
|
|
338
|
-
# @example
|
|
339
|
-
# api = Pinnacle::Client.new(
|
|
340
|
-
# base_url: "https://api.example.com",
|
|
341
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
342
|
-
# api_key: "YOUR_API_KEY"
|
|
343
|
-
# )
|
|
344
|
-
# api.campaigns.rcs.get(campaign_id: "rcs_1234567890")
|
|
345
|
-
def get(campaign_id:, request_options: nil)
|
|
346
|
-
Async do
|
|
347
|
-
response = @request_client.conn.get do |req|
|
|
348
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
349
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
350
|
-
req.headers = {
|
|
351
|
-
**(req.headers || {}),
|
|
352
|
-
**@request_client.get_headers,
|
|
353
|
-
**(request_options&.additional_headers || {})
|
|
354
|
-
}.compact
|
|
355
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
356
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
357
|
-
end
|
|
358
|
-
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
359
|
-
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
360
|
-
end
|
|
361
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/#{campaign_id}"
|
|
362
|
-
end
|
|
363
|
-
Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
|
|
364
|
-
end
|
|
365
|
-
end
|
|
366
|
-
|
|
367
|
-
# Submit your RCS campaign for approval and activation with carriers.
|
|
368
|
-
#
|
|
369
|
-
# @param campaign_id [String] Unique identifier of the RCS campaign to retrieve. Must begin with the prefix
|
|
370
|
-
# `rcs_`.
|
|
371
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
372
|
-
# @return [Pinnacle::Types::CampaignSubmissionResult]
|
|
373
|
-
# @example
|
|
374
|
-
# api = Pinnacle::Client.new(
|
|
375
|
-
# base_url: "https://api.example.com",
|
|
376
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
377
|
-
# api_key: "YOUR_API_KEY"
|
|
378
|
-
# )
|
|
379
|
-
# api.campaigns.rcs.submit(campaign_id: "rcs_1234567890")
|
|
380
|
-
def submit(campaign_id:, request_options: nil)
|
|
381
|
-
Async do
|
|
382
|
-
response = @request_client.conn.post do |req|
|
|
383
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
384
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
385
|
-
req.headers = {
|
|
386
|
-
**(req.headers || {}),
|
|
387
|
-
**@request_client.get_headers,
|
|
388
|
-
**(request_options&.additional_headers || {})
|
|
389
|
-
}.compact
|
|
390
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
391
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
392
|
-
end
|
|
393
|
-
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
394
|
-
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
395
|
-
end
|
|
396
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/submit/#{campaign_id}"
|
|
397
|
-
end
|
|
398
|
-
Pinnacle::Types::CampaignSubmissionResult.from_json(json_object: response.body)
|
|
399
|
-
end
|
|
400
|
-
end
|
|
401
|
-
|
|
402
|
-
# Create a new RCS campaign or updates an existing one. <br>
|
|
403
|
-
# Omit campaignId to create a campaign.
|
|
404
|
-
#
|
|
405
|
-
# @param agent [Hash] Create an agent for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsAgent, as a Hash
|
|
406
|
-
# * :color (String)
|
|
407
|
-
# * :description (String)
|
|
408
|
-
# * :emails (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentEmail>)
|
|
409
|
-
# * :hero_url (String)
|
|
410
|
-
# * :icon_url (String)
|
|
411
|
-
# * :name (String)
|
|
412
|
-
# * :phones (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentPhone>)
|
|
413
|
-
# * :websites (Array<Pinnacle::Campaigns::Rcs::Types::RcsAgentWebsite>)
|
|
414
|
-
# @param brand [String] Unique identifier for the brand.
|
|
415
|
-
# @param campaign_id [String] Unique identifier for the campaign.
|
|
416
|
-
# @param expected_agent_responses [Array<String>] List of what the agent might say to users. <br><br>
|
|
417
|
-
# **Limit:** 1 to 5
|
|
418
|
-
# @param links [Hash] Legal documentation links.Request of type Pinnacle::Campaigns::Rcs::Types::RcsLinks, as a Hash
|
|
419
|
-
# * :privacy_policy (String)
|
|
420
|
-
# * :terms_of_service (String)
|
|
421
|
-
# @param use_case [Hash] Use case classification for the campaign.Request of type Pinnacle::Campaigns::Rcs::Types::RcsUseCase, as a Hash
|
|
422
|
-
# * :behavior (String)
|
|
423
|
-
# * :value (Pinnacle::Types::RcsCampaignUseCaseEnum)
|
|
424
|
-
# @param opt_in_terms_and_conditions [String] Details on how opt-in is acquired. If it is done through a website or app,
|
|
425
|
-
# provide the link.
|
|
426
|
-
# @param messaging_type [Pinnacle::Types::RcsMessagingTypeEnum]
|
|
427
|
-
# @param carrier_description [String] Description of the agent's purpose, shown to carriers for approval.
|
|
428
|
-
# @param keywords [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignKeywords, as a Hash
|
|
429
|
-
# * :help (Hash)
|
|
430
|
-
# * :message (String)
|
|
431
|
-
# * :keywords (Array<String>)
|
|
432
|
-
# * :opt_in (Hash)
|
|
433
|
-
# * :message (String)
|
|
434
|
-
# * :keywords (Array<String>)
|
|
435
|
-
# * :opt_out (Hash)
|
|
436
|
-
# * :message (String)
|
|
437
|
-
# * :keywords (Array<String>)
|
|
438
|
-
# @param traffic [Hash] Request of type Pinnacle::Campaigns::Rcs::Types::RcsCampaignTraffic, as a Hash
|
|
439
|
-
# * :monthly_website (Integer)
|
|
440
|
-
# * :monthly_rcs_estimate (Integer)
|
|
441
|
-
# @param agent_triggers [String] Explanation of how the agent is triggered. This includes how the first message
|
|
442
|
-
# is delivered, whether messages follow a schedule or triggered by user actions,
|
|
443
|
-
# and any external triggers.
|
|
444
|
-
# @param interaction_description [String] Description of all agent interactions.
|
|
445
|
-
# @param is_conversational [Boolean] Whether the agent supports conversational flows or respond to P2A messages from
|
|
446
|
-
# the users. Set to false for one-way messages from agent to user.
|
|
447
|
-
# @param cta_language [String] Required text that appears next to the opt-in checkbox for your opt-in form.
|
|
448
|
-
# This checkbox has to be unchecked by default. The text should meet the US CTIA
|
|
449
|
-
# requirements and is usually in the following format: <br>
|
|
450
|
-
# [Program description of the company sending the messages and what type of
|
|
451
|
-
# messages are being sent]. Msg&data rates may apply. [Message frequency: How
|
|
452
|
-
# frequently messages are sent]. [Privacy statement or link to privacy policy].
|
|
453
|
-
# [Link to full mobile
|
|
454
|
-
# T&Cs page].
|
|
455
|
-
# @param demo_trigger [String] Instructions on how an external reviewer can trigger messages and an example
|
|
456
|
-
# flow from the agent. This is usually an inbound text message to the agent that
|
|
457
|
-
# will start a flow of messages between the agent and the user.
|
|
458
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
459
|
-
# @return [Pinnacle::Types::ExtendedRcsCampaign]
|
|
460
|
-
# @example
|
|
461
|
-
# api = Pinnacle::Client.new(
|
|
462
|
-
# base_url: "https://api.example.com",
|
|
463
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
464
|
-
# api_key: "YOUR_API_KEY"
|
|
465
|
-
# )
|
|
466
|
-
# api.campaigns.rcs.upsert(
|
|
467
|
-
# agent: { color: "#000000", description: "Experience the power of RCS messaging with interactive demos. Test rich features like carousels, suggested replies, and media sharing. Get started with our developer-friendly APIs.", emails: [{ email: "founders@trypinnacle.app", label: "Email Us" }], hero_url: "https://pncl.to/D6pDSqGxqgfbCfQmw4gXdnlHu4uSB4", icon_url: "https://pncl.to/mq_tdIDenRb5eYpJiM8-3THCaUBrZP", name: "Pinnacle - RCS Demo", phones: [{ label: "Contact us directly", phone: "+14154467821" }], websites: [{ label: "Get started with Pinnacle", url: "https://www.trypinnacle.app/" }] },
|
|
468
|
-
# brand: "b_1234567890",
|
|
469
|
-
# campaign_id: "rcs_1234567890",
|
|
470
|
-
# expected_agent_responses: ["Here are the things I can help you with.", "I can assist you with booking an appointment, or you may choose to book manually.", "Here are the available times to connect with a representative tomorrow.", "Your appointment has been scheduled."],
|
|
471
|
-
# links: { privacy_policy: "https://www.trypinnacle.app/privacy", terms_of_service: "https://www.trypinnacle.app/terms" },
|
|
472
|
-
# use_case: { behavior: "Pinnacle is a developer-focused RCS assistant that helps teams design, test, and optimize rich messaging experiences across SMS, MMS, and RCS. The agent acts as both an “onboarding guide” for new customers and a “best-practices coach” for existing teams exploring higher-value RCS workflows like rich cards, carousels, and suggested actions.<br>
|
|
473
|
-
# The agent delivers a mix of operational updates and educational content (2–6 messages/month). Content includes important platform notices (e.g., deliverability or throughput changes), implementation tips with sample RCS templates, and personalized recommendations on how to upgrade existing SMS campaigns into richer, higher-converting RCS conversations.
|
|
474
|
-
# ", value: OTHER },
|
|
475
|
-
# opt_in_terms_and_conditions: "We ensure consent through an explicit opt-in process that follows 10DLC best practices.Users must agree to receive messages from Pinnacle before the agent sends them any messages.<br>
|
|
476
|
-
# Users agree to these messages by signing an opt-in paper form that they can be found online at https://www.pinnacle.sh/opt-in. We only send messages once users have filled out the form and submitted it to us via email or through the dashboard.
|
|
477
|
-
# ",
|
|
478
|
-
# messaging_type: MULTI_USE,
|
|
479
|
-
# carrier_description: "Demonstrate the power of RCS to medium and large companies already sending massive SMS/MMS volumes through our platform. These clients send conversational messages in industries such as commerce, appointments, and customer support.",
|
|
480
|
-
# keywords: { help: { message: "Email founders@trypinnacle.app for support.", keywords: ["HELP", "SUPPORT"] }, opt_in: { message: "Welcome back to Pinnacle!<br>
|
|
481
|
-
# 🔔 You're now subscribed to Pinnacle - RCS Demo and will continue receiving important updates and news. Feel free to contact this us at any time for help.<br>
|
|
482
|
-
# Reply STOP to opt out and HELP for support. Message & rates may apply.
|
|
483
|
-
# ", keywords: ["START", "SUBSCRIBE"] }, opt_out: { message: "You've been unsubscribed from Pinnacle - RCS Demo and will no longer receive notifications. If you ever change your mind, reply START or SUBSCRIBE to rejoin anytime.", keywords: ["STOP", "UNSUBSCRIBE", "END"] } },
|
|
484
|
-
# traffic: { monthly_website: 10000, monthly_rcs_estimate: 10000 },
|
|
485
|
-
# agent_triggers: "The agent sends the first message when the user subscribes to Pinnacle. Messages are based on user actions such as pressing suggestion buttons. External triggers such as reminders can be setup by users in advance for a later time.",
|
|
486
|
-
# interaction_description: "The agent's primary interaction will be customer service — helping users with questions, troubleshooting issues, and providing quick assistance through chat. Other interactions include appointment management and sending notifications to the user.",
|
|
487
|
-
# is_conversational: true,
|
|
488
|
-
# cta_language: "By checking this box and submitting this form, you consent to receive transactional text messages for support, appointment, and reminder messages from Pinnacle Software Development Inc. Reply STOP to opt out. Reply HELP for help. Standard message and data rates may apply. Message frequency may vary. View our Terms and Conditions at https://www.pinnacle.sh/terms. View our Privacy Policy at https://www.pinnacle.sh/privacy.",
|
|
489
|
-
# demo_trigger: "Text "START" to trigger the flow."
|
|
490
|
-
# )
|
|
491
|
-
def upsert(agent: nil, brand: nil, campaign_id: nil, expected_agent_responses: nil, links: nil, use_case: nil,
|
|
492
|
-
opt_in_terms_and_conditions: nil, messaging_type: nil, carrier_description: nil, keywords: nil, traffic: nil, agent_triggers: nil, interaction_description: nil, is_conversational: nil, cta_language: nil, demo_trigger: nil, request_options: nil)
|
|
493
|
-
Async do
|
|
494
|
-
response = @request_client.conn.post do |req|
|
|
495
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
496
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
497
|
-
req.headers = {
|
|
498
|
-
**(req.headers || {}),
|
|
499
|
-
**@request_client.get_headers,
|
|
500
|
-
**(request_options&.additional_headers || {})
|
|
501
|
-
}.compact
|
|
502
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
503
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
504
|
-
end
|
|
505
|
-
req.body = {
|
|
506
|
-
**(request_options&.additional_body_parameters || {}),
|
|
507
|
-
agent: agent,
|
|
508
|
-
brand: brand,
|
|
509
|
-
campaignId: campaign_id,
|
|
510
|
-
expectedAgentResponses: expected_agent_responses,
|
|
511
|
-
links: links,
|
|
512
|
-
useCase: use_case,
|
|
513
|
-
optInTermsAndConditions: opt_in_terms_and_conditions,
|
|
514
|
-
messagingType: messaging_type,
|
|
515
|
-
carrierDescription: carrier_description,
|
|
516
|
-
keywords: keywords,
|
|
517
|
-
traffic: traffic,
|
|
518
|
-
agentTriggers: agent_triggers,
|
|
519
|
-
interactionDescription: interaction_description,
|
|
520
|
-
isConversational: is_conversational,
|
|
521
|
-
ctaLanguage: cta_language,
|
|
522
|
-
demoTrigger: demo_trigger
|
|
523
|
-
}.compact
|
|
524
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs"
|
|
525
|
-
end
|
|
526
|
-
Pinnacle::Types::ExtendedRcsCampaign.from_json(json_object: response.body)
|
|
527
|
-
end
|
|
528
|
-
end
|
|
529
|
-
|
|
530
|
-
# Validate your RCS campaign configuration against carrier requirements and
|
|
531
|
-
# compliance rules.
|
|
532
|
-
#
|
|
533
|
-
# @param request [Hash] Request of type Pinnacle::Types::ValidateCampaignParams, as a Hash
|
|
534
|
-
# * :additional_info (String)
|
|
535
|
-
# * :campaign_id (String)
|
|
536
|
-
# @param request_options [Pinnacle::RequestOptions]
|
|
537
|
-
# @return [Pinnacle::Types::CampaignValidationResult]
|
|
538
|
-
# @example
|
|
539
|
-
# api = Pinnacle::Client.new(
|
|
540
|
-
# base_url: "https://api.example.com",
|
|
541
|
-
# environment: Pinnacle::Environment::DEFAULT,
|
|
542
|
-
# api_key: "YOUR_API_KEY"
|
|
543
|
-
# )
|
|
544
|
-
# api.campaigns.rcs.validate(request: { additional_info: "Please validate this DLC campaign for 10DLC compliance", campaign_id: "dlc_1234567890" })
|
|
545
|
-
def validate(request:, request_options: nil)
|
|
546
|
-
Async do
|
|
547
|
-
response = @request_client.conn.post do |req|
|
|
548
|
-
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
549
|
-
req.headers["PINNACLE-API-KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
|
550
|
-
req.headers = {
|
|
551
|
-
**(req.headers || {}),
|
|
552
|
-
**@request_client.get_headers,
|
|
553
|
-
**(request_options&.additional_headers || {})
|
|
554
|
-
}.compact
|
|
555
|
-
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
556
|
-
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
557
|
-
end
|
|
558
|
-
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
|
559
|
-
req.url "#{@request_client.get_url(request_options: request_options)}/campaigns/rcs/validate"
|
|
560
|
-
end
|
|
561
|
-
Pinnacle::Types::CampaignValidationResult.from_json(json_object: response.body)
|
|
562
|
-
end
|
|
563
|
-
end
|
|
564
|
-
end
|
|
565
|
-
end
|
|
566
|
-
end
|