Sha256: ede20daabbe2e381e5928f7618124b1d7fd870920968486fdc550d1d4ff9e73d

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

require 'dry-validation'

module TochkaCyclopsApi
  module Schemas
    module Requests
      # https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-create-beneficiary-ip
      class CreateBeneficiaryIp < Dry::Validation::Contract
        # Schema for beneficiary_data field of main schema
        class BeneficiaryData < Dry::Validation::Contract
          params do
            required(:first_name).value(:string)
            required(:last_name).value(:string)
            optional(:middle_name).value(:string)
          end
        end

        schema do
          required(:inn).value(:string)
          optional(:nominal_account_code).value(:string)
          optional(:nominal_account_bic).value(:string)
          required(:beneficiary_data).schema(
            TochkaCyclopsApi::Schemas::Requests::CreateBeneficiaryIp::BeneficiaryData.schema
          )
        end

        EXAMPLE =
"{
  inn: '7743745038',
  nominal_account_code: '40702810338170022645',
  nominal_account_bic: '044525225',
  beneficiary_data: {
    first_name: 'Иван',
    last_name: 'Иванов',
    middle_name: 'Иванович'
  }
}"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tochka_cyclops_api-0.4.0 lib/tochka_cyclops_api/schemas/requests/create_beneficiary_ip.rb