# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/shopping/merchant/issueresolution/v1/issueresolution.proto for package 'Google.Shopping.Merchant.IssueResolution.V1'
# Original file comments:
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

require 'grpc'
require 'google/shopping/merchant/issueresolution/v1/issueresolution_pb'

module Google
  module Shopping
    module Merchant
      module IssueResolution
        module V1
          module IssueResolutionService
            # Service to provide an issue resolution content for account issues and product
            # issues.
            class Service

              include ::GRPC::GenericService

              self.marshal_class_method = :encode
              self.unmarshal_class_method = :decode
              self.service_name = 'google.shopping.merchant.issueresolution.v1.IssueResolutionService'

              # Provide a list of business's account issues with an issue resolution
              # content and available actions. This content and actions are meant to be
              # rendered and shown in third-party applications.
              rpc :RenderAccountIssues, ::Google::Shopping::Merchant::IssueResolution::V1::RenderAccountIssuesRequest, ::Google::Shopping::Merchant::IssueResolution::V1::RenderAccountIssuesResponse
              # Provide a list of issues for business's product with an issue resolution
              # content and available actions. This content and actions are meant to be
              # rendered and shown in third-party applications.
              rpc :RenderProductIssues, ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest, ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesResponse
              # Start an action. The action can be requested by a business in
              # third-party application. Before the business can request the action, the
              # third-party application needs to show them action specific content and
              # display a user input form.
              #
              # The action can be successfully started only once all `required` inputs are
              # provided. If any `required` input is missing, or invalid value was
              # provided, the service will return 400 error. Validation errors will contain
              # [Ids][google.shopping.merchant.issueresolution.v1.InputField.id] for all
              # problematic field together with translated, human readable error messages
              # that can be shown to the user.
              rpc :TriggerAction, ::Google::Shopping::Merchant::IssueResolution::V1::TriggerActionRequest, ::Google::Shopping::Merchant::IssueResolution::V1::TriggerActionResponse
            end

            Stub = Service.rpc_stub_class
          end
        end
      end
    end
  end
end
