tochka_cyclops_api 0.3.0 → 0.4.0
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/README.md +65 -8
- data/Rakefile +0 -4
- data/lib/tasks/methods.rake +11 -0
- data/lib/tochka_cyclops_api/data_processor.rb +44 -19
- data/lib/tochka_cyclops_api/generators/templates/tochka_cyclops_request_model_template.rb +1 -1
- data/lib/tochka_cyclops_api/generators/templates/tochka_cyclops_responses_migration_template.rb +1 -1
- data/lib/tochka_cyclops_api/methods.rb +198 -5
- data/lib/tochka_cyclops_api/request.rb +66 -31
- data/lib/tochka_cyclops_api/response.rb +27 -34
- data/lib/tochka_cyclops_api/result.rb +33 -0
- data/lib/tochka_cyclops_api/schemas/requests/activate_beneficiary.rb +22 -0
- data/lib/tochka_cyclops_api/schemas/requests/create_beneficiary_fl.rb +56 -0
- data/lib/tochka_cyclops_api/schemas/requests/create_beneficiary_ip.rb +22 -10
- data/lib/tochka_cyclops_api/schemas/requests/create_beneficiary_ul.rb +22 -10
- data/lib/tochka_cyclops_api/schemas/requests/deactivate_beneficiary.rb +22 -0
- data/lib/tochka_cyclops_api/schemas/requests/echo.rb +2 -0
- data/lib/tochka_cyclops_api/schemas/requests/get_beneficiary.rb +22 -0
- data/lib/tochka_cyclops_api/schemas/requests/list_beneficiary.rb +44 -0
- data/lib/tochka_cyclops_api/schemas/requests/update_beneficiary_fl.rb +51 -0
- data/lib/tochka_cyclops_api/schemas/requests/update_beneficiary_ip.rb +39 -0
- data/lib/tochka_cyclops_api/schemas/requests/update_beneficiary_ul.rb +38 -0
- data/lib/tochka_cyclops_api/schemas/responses/activate_beneficiary.rb +24 -0
- data/lib/tochka_cyclops_api/schemas/responses/create_beneficiary_fl.rb +24 -0
- data/lib/tochka_cyclops_api/schemas/responses/create_beneficiary_ip.rb +10 -1
- data/lib/tochka_cyclops_api/schemas/responses/create_beneficiary_ul.rb +9 -9
- data/lib/tochka_cyclops_api/schemas/responses/deactivate_beneficiary.rb +24 -0
- data/lib/tochka_cyclops_api/schemas/responses/echo.rb +1 -1
- data/lib/tochka_cyclops_api/schemas/responses/error.rb +5 -2
- data/lib/tochka_cyclops_api/schemas/responses/get_beneficiary.rb +48 -0
- data/lib/tochka_cyclops_api/schemas/responses/list_beneficiary.rb +38 -0
- data/lib/tochka_cyclops_api/schemas/responses/update_beneficiary_fl.rb +20 -0
- data/lib/tochka_cyclops_api/schemas/responses/update_beneficiary_ip.rb +20 -0
- data/lib/tochka_cyclops_api/schemas/responses/update_beneficiary_ul.rb +24 -0
- data/lib/tochka_cyclops_api/schemas/results/local_error.rb +0 -0
- data/lib/tochka_cyclops_api/test.rb +0 -0
- data/lib/tochka_cyclops_api/version.rb +1 -1
- data/lib/tochka_cyclops_api.rb +5 -2
- metadata +22 -2
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module TochkaCyclopsApi
|
4
|
+
# Displays the result of request
|
5
|
+
class Result
|
6
|
+
attr_reader :success, :data, :error_message
|
7
|
+
|
8
|
+
def self.create(success, data = nil, error_message = nil)
|
9
|
+
@success = success
|
10
|
+
@data = data
|
11
|
+
@error_message = error_message
|
12
|
+
|
13
|
+
display_result
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.success(data)
|
17
|
+
Result.create(true, data)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.failure(error_message)
|
21
|
+
Result.create(false, nil, error_message)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def self.display_result
|
27
|
+
{
|
28
|
+
success: @success,
|
29
|
+
data: @data || @error_message
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-activate-beneficiary
|
9
|
+
class ActivateBeneficiary < Dry::Validation::Contract
|
10
|
+
schema do
|
11
|
+
required(:beneficiary_id).value(:string)
|
12
|
+
end
|
13
|
+
|
14
|
+
EXAMPLE = "
|
15
|
+
{
|
16
|
+
beneficiary_id: '981fee11-9969-4e80-9f5f-02af462cb51e'
|
17
|
+
}
|
18
|
+
"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-create-beneficiary-fl
|
9
|
+
class CreateBeneficiaryFl < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:first_name).value(:string)
|
14
|
+
required(:last_name).value(:string)
|
15
|
+
required(:birth_date).value(:string)
|
16
|
+
required(:birth_place).value(:string)
|
17
|
+
required(:passport_number).value(:string)
|
18
|
+
required(:passport_date).value(:string)
|
19
|
+
required(:registration_address).value(:string)
|
20
|
+
|
21
|
+
optional(:passport_series).value(:string)
|
22
|
+
optional(:middle_name).value(:string)
|
23
|
+
optional(:resident).value(:bool)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
schema do
|
28
|
+
required(:inn).value(:string)
|
29
|
+
required(:beneficiary_data).schema(
|
30
|
+
TochkaCyclopsApi::Schemas::Requests::CreateBeneficiaryFl::BeneficiaryData.schema
|
31
|
+
)
|
32
|
+
|
33
|
+
optional(:nominal_account_code).value(:string)
|
34
|
+
optional(:nominal_account_bic).value(:string)
|
35
|
+
end
|
36
|
+
|
37
|
+
EXAMPLE ="
|
38
|
+
{
|
39
|
+
inn: '7925930371',
|
40
|
+
nominal_account_code: '000000000000000000000',
|
41
|
+
nominal_account_bic: '0000000000',
|
42
|
+
beneficiary_data: {
|
43
|
+
first_name: 'Иван',
|
44
|
+
last_name: 'Иванов',
|
45
|
+
birth_date: '1990-01-24',
|
46
|
+
birth_place: 'г. Свердловск',
|
47
|
+
passport_series: '6509',
|
48
|
+
passport_number: '123456',
|
49
|
+
passport_date: '2020-01-01',
|
50
|
+
registration_address: '683031, г. Петропавловск-Камчатский, пр-кт. Карла Маркса, д. 21/1, офис 305'
|
51
|
+
}
|
52
|
+
}"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -5,25 +5,37 @@ require 'dry-validation'
|
|
5
5
|
module TochkaCyclopsApi
|
6
6
|
module Schemas
|
7
7
|
module Requests
|
8
|
-
# Schema for beneficiary_data field of main schema
|
9
|
-
class BeneficiaryData < Dry::Validation::Contract
|
10
|
-
params do
|
11
|
-
required(:first_name).value(:string)
|
12
|
-
required(:last_name).value(:string)
|
13
|
-
optional(:middle_name).value(:string)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
8
|
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-create-beneficiary-ip
|
18
9
|
class CreateBeneficiaryIp < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:first_name).value(:string)
|
14
|
+
required(:last_name).value(:string)
|
15
|
+
optional(:middle_name).value(:string)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
19
|
schema do
|
20
20
|
required(:inn).value(:string)
|
21
21
|
optional(:nominal_account_code).value(:string)
|
22
22
|
optional(:nominal_account_bic).value(:string)
|
23
23
|
required(:beneficiary_data).schema(
|
24
|
-
TochkaCyclopsApi::Schemas::
|
24
|
+
TochkaCyclopsApi::Schemas::Requests::CreateBeneficiaryIp::BeneficiaryData.schema
|
25
25
|
)
|
26
26
|
end
|
27
|
+
|
28
|
+
EXAMPLE =
|
29
|
+
"{
|
30
|
+
inn: '7743745038',
|
31
|
+
nominal_account_code: '40702810338170022645',
|
32
|
+
nominal_account_bic: '044525225',
|
33
|
+
beneficiary_data: {
|
34
|
+
first_name: 'Иван',
|
35
|
+
last_name: 'Иванов',
|
36
|
+
middle_name: 'Иванович'
|
37
|
+
}
|
38
|
+
}"
|
27
39
|
end
|
28
40
|
end
|
29
41
|
end
|
@@ -5,25 +5,37 @@ require 'dry-validation'
|
|
5
5
|
module TochkaCyclopsApi
|
6
6
|
module Schemas
|
7
7
|
module Requests
|
8
|
-
# Schema for beneficiary_data field of main schema
|
9
|
-
class BeneficiaryData < Dry::Validation::Contract
|
10
|
-
params do
|
11
|
-
required(:name).value(:string)
|
12
|
-
required(:kpp).value(:string)
|
13
|
-
optional(:ogrn).value(:string)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
8
|
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-create-beneficiary-ul
|
18
9
|
class CreateBeneficiaryUl < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:name).value(:string)
|
14
|
+
required(:kpp).value(:string)
|
15
|
+
optional(:ogrn).value(:string)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
19
|
schema do
|
20
20
|
required(:inn).value(:string)
|
21
21
|
optional(:nominal_account_code).value(:string)
|
22
22
|
optional(:nominal_account_bic).value(:string)
|
23
23
|
required(:beneficiary_data).schema(
|
24
|
-
TochkaCyclopsApi::Schemas::Requests::BeneficiaryData.schema
|
24
|
+
TochkaCyclopsApi::Schemas::Requests::CreateBeneficiaryUl::BeneficiaryData.schema
|
25
25
|
)
|
26
26
|
end
|
27
|
+
|
28
|
+
EXAMPLE =
|
29
|
+
"{
|
30
|
+
inn: '7743745038',
|
31
|
+
nominal_account_code: '40702810338170022645',
|
32
|
+
nominal_account_bic: '044525225',
|
33
|
+
beneficiary_data: {
|
34
|
+
name: 'ООО «ТК ИнжСтройКомплект»',
|
35
|
+
kpp: '773401001',
|
36
|
+
ogrn: '1097746324169'
|
37
|
+
}
|
38
|
+
}"
|
27
39
|
end
|
28
40
|
end
|
29
41
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-deactivate-beneficiary
|
9
|
+
class DeactivateBeneficiary < Dry::Validation::Contract
|
10
|
+
schema do
|
11
|
+
required(:beneficiary_id).value(:string)
|
12
|
+
end
|
13
|
+
|
14
|
+
EXAMPLE = "
|
15
|
+
{
|
16
|
+
beneficiary_id: '981fee11-9969-4e80-9f5f-02af462cb51e'
|
17
|
+
}
|
18
|
+
"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-get-beneficiary
|
9
|
+
class GetBeneficiary < Dry::Validation::Contract
|
10
|
+
schema do
|
11
|
+
required(:beneficiary_id).value(:string)
|
12
|
+
end
|
13
|
+
|
14
|
+
EXAMPLE = "
|
15
|
+
{
|
16
|
+
beneficiary_id: '981fee11-9969-4e80-9f5f-02af462cb51e'
|
17
|
+
}
|
18
|
+
"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-list-beneficiary
|
9
|
+
class ListBeneficiary < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class Filters < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
optional(:inn).value(:string)
|
14
|
+
optional(:is_active).value(:bool)
|
15
|
+
optional(:legal_type).value(:string)
|
16
|
+
optional(:nominal_account_code).value(:string)
|
17
|
+
optional(:nominal_account_bic).value(:string)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
schema do
|
22
|
+
optional(:page).value(:integer)
|
23
|
+
optional(:per_page).value(:integer)
|
24
|
+
optional(:filters).schema(
|
25
|
+
TochkaCyclopsApi::Schemas::Requests::ListBeneficiary::Filters.schema
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
EXAMPLE = "
|
30
|
+
{
|
31
|
+
page: 2,
|
32
|
+
per_page: 20,
|
33
|
+
filters: {
|
34
|
+
is_active: true,
|
35
|
+
legal_type: 'F',
|
36
|
+
nominal_account_code: '000000000000000000000',
|
37
|
+
nominal_account_bic: '0000000000',
|
38
|
+
}
|
39
|
+
}
|
40
|
+
"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-update-beneficiary-fl
|
9
|
+
class UpdateBeneficiaryFl < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:first_name).value(:string)
|
14
|
+
required(:last_name).value(:string)
|
15
|
+
required(:birth_date).value(:string)
|
16
|
+
required(:birth_place).value(:string)
|
17
|
+
required(:passport_number).value(:string)
|
18
|
+
required(:passport_date).value(:string)
|
19
|
+
required(:registration_address).value(:string)
|
20
|
+
|
21
|
+
optional(:passport_series).value(:string)
|
22
|
+
optional(:middle_name).value(:string)
|
23
|
+
optional(:resident).value(:bool)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
schema do
|
28
|
+
required(:beneficiary_id).value(:string)
|
29
|
+
required(:beneficiary_data).schema(
|
30
|
+
TochkaCyclopsApi::Schemas::Requests::UpdateBeneficiaryFl::BeneficiaryData.schema
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
EXAMPLE = "
|
35
|
+
{
|
36
|
+
beneficiary_id: '981fee11-9969-4e80-9f5f-02af462cb51e',
|
37
|
+
beneficiary_data: {
|
38
|
+
first_name: 'Иван',
|
39
|
+
last_name: 'Иванов',
|
40
|
+
birth_date: '1990-01-24',
|
41
|
+
birth_place: 'г. Свердловск',
|
42
|
+
passport_series: '6509',
|
43
|
+
passport_number: '123456',
|
44
|
+
passport_date: '2020-01-01',
|
45
|
+
registration_address: '683031, г. Петропавловск-Камчатский, пр-кт. Карла Маркса, д. 21/1, офис 305'
|
46
|
+
}
|
47
|
+
}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-update-beneficiary-ip
|
9
|
+
class UpdateBeneficiaryIp < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:first_name).value(:string)
|
14
|
+
required(:last_name).value(:string)
|
15
|
+
optional(:middle_name).value(:string)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
schema do
|
20
|
+
required(:beneficiary_id).value(:string)
|
21
|
+
required(:beneficiary_data).schema(
|
22
|
+
TochkaCyclopsApi::Schemas::Requests::UpdateBeneficiaryIp::BeneficiaryData.schema
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
EXAMPLE = "
|
27
|
+
{
|
28
|
+
beneficiary_id: 981fee11-9969-4e80-9f5f-02af462cb51e,
|
29
|
+
beneficiary_data: {
|
30
|
+
first_name: 'Иван',
|
31
|
+
middle_name: 'Иванович',
|
32
|
+
last_name: 'Иванов'
|
33
|
+
}
|
34
|
+
}
|
35
|
+
"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-validation'
|
4
|
+
|
5
|
+
module TochkaCyclopsApi
|
6
|
+
module Schemas
|
7
|
+
module Requests
|
8
|
+
# https://api.tochka.com/static/v1/tender-docs/cyclops/main/api_v2.html#api-v2-update-beneficiary-ul
|
9
|
+
class UpdateBeneficiaryUl < Dry::Validation::Contract
|
10
|
+
# Schema for beneficiary_data field of main schema
|
11
|
+
class BeneficiaryData < Dry::Validation::Contract
|
12
|
+
params do
|
13
|
+
required(:name).value(:string)
|
14
|
+
required(:kpp).value(:string)
|
15
|
+
optional(:ogrn).value(:string)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
schema do
|
20
|
+
required(:beneficiary_id).value(:string)
|
21
|
+
required(:beneficiary_data).schema(
|
22
|
+
TochkaCyclopsApi::Schemas::Requests::UpdateBeneficiaryUl::BeneficiaryData.schema
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
EXAMPLE = "
|
27
|
+
{
|
28
|
+
beneficiary_id: '981fee11-9969-4e80-9f5f-02af462cb51e',
|
29
|
+
beneficiary_data: {
|
30
|
+
name: 'ООО \"Рога и Копыта\"',
|
31
|
+
kpp: '246301001'
|
32
|
+
}
|
33
|
+
}
|
34
|
+
"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-struct'
|
4
|
+
|
5
|
+
module Types
|
6
|
+
include Dry.Types()
|
7
|
+
end
|
8
|
+
|
9
|
+
module TochkaCyclopsApi
|
10
|
+
module Schemas
|
11
|
+
module Responses
|
12
|
+
# Response schema for activate_beneficiary request
|
13
|
+
class ActivateBeneficicary < Dry::Struct
|
14
|
+
# Schema for beneficiary field of main response
|
15
|
+
class BeneficiaryData < Dry::Struct
|
16
|
+
attribute :inn, Types::Strict::String
|
17
|
+
attribute :id, Types::Strict::String
|
18
|
+
end
|
19
|
+
|
20
|
+
attribute :beneficiary, BeneficiaryData
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'dry-struct'
|
2
|
+
|
3
|
+
module Types
|
4
|
+
include Dry.Types()
|
5
|
+
end
|
6
|
+
|
7
|
+
module TochkaCyclopsApi
|
8
|
+
module Schemas
|
9
|
+
module Responses
|
10
|
+
# Response schema for create_beneficiary_fl request
|
11
|
+
class CreateBeneficiaryFl < Dry::Struct
|
12
|
+
# Schema for beneficiary field of main response
|
13
|
+
class BeneficiaryData < Dry::Struct
|
14
|
+
attribute :inn, Types::Strict::String
|
15
|
+
attribute :id, Types::Strict::String
|
16
|
+
attribute :nominal_account_code, Types::Strict::String.optional
|
17
|
+
attribute :nominal_account_bic, Types::Strict::String.optional
|
18
|
+
end
|
19
|
+
|
20
|
+
attribute :beneficiary, BeneficiaryData
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -5,8 +5,17 @@ require 'dry-struct'
|
|
5
5
|
module TochkaCyclopsApi
|
6
6
|
module Schemas
|
7
7
|
module Responses
|
8
|
-
# Response
|
8
|
+
# Response schema for create_beneficiary_ip request
|
9
9
|
class CreateBeneficiaryIp < Dry::Struct
|
10
|
+
# Schema for beneficiary field of main response
|
11
|
+
class BeneficiaryData < Dry::Struct
|
12
|
+
attribute :inn, Types::Strict::String
|
13
|
+
attribute :id, Types::Strict::String
|
14
|
+
attribute :nominal_account_code, Types::Strict::String.optional
|
15
|
+
attribute :nominal_account_bic, Types::Strict::String.optional
|
16
|
+
end
|
17
|
+
|
18
|
+
attribute :beneficiary, BeneficiaryData
|
10
19
|
end
|
11
20
|
end
|
12
21
|
end
|
@@ -9,16 +9,16 @@ end
|
|
9
9
|
module TochkaCyclopsApi
|
10
10
|
module Schemas
|
11
11
|
module Responses
|
12
|
-
#
|
13
|
-
class BeneficiaryData < Dry::Struct
|
14
|
-
attribute :inn, Types::Strict::String
|
15
|
-
attribute :id, Types::Strict::String
|
16
|
-
attribute :nominal_account_code, Types::Strict::String.optional
|
17
|
-
attribute :nominal_account_bic, Types::Strict::String.optional
|
18
|
-
end
|
19
|
-
|
20
|
-
# Response chema for create_beneficiary_ul request
|
12
|
+
# Response schema for create_beneficiary_ul request
|
21
13
|
class CreateBeneficiaryUl < Dry::Struct
|
14
|
+
# Schema for beneficiary field of main response
|
15
|
+
class BeneficiaryData < Dry::Struct
|
16
|
+
attribute :inn, Types::Strict::String
|
17
|
+
attribute :id, Types::Strict::String
|
18
|
+
attribute :nominal_account_code, Types::Strict::String.optional
|
19
|
+
attribute :nominal_account_bic, Types::Strict::String.optional
|
20
|
+
end
|
21
|
+
|
22
22
|
attribute :beneficiary, BeneficiaryData
|
23
23
|
end
|
24
24
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-struct'
|
4
|
+
|
5
|
+
module Types
|
6
|
+
include Dry.Types()
|
7
|
+
end
|
8
|
+
|
9
|
+
module TochkaCyclopsApi
|
10
|
+
module Schemas
|
11
|
+
module Responses
|
12
|
+
# Response schema for deactivate_beneficiary request
|
13
|
+
class DeactivateBeneficicary < Dry::Struct
|
14
|
+
# Schema for beneficiary field of main response
|
15
|
+
class BeneficiaryData < Dry::Struct
|
16
|
+
attribute :inn, Types::Strict::String
|
17
|
+
attribute :id, Types::Strict::String
|
18
|
+
end
|
19
|
+
|
20
|
+
attribute :beneficiary, BeneficiaryData
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -5,11 +5,14 @@ require 'dry-struct'
|
|
5
5
|
module TochkaCyclopsApi
|
6
6
|
module Schemas
|
7
7
|
module Responses
|
8
|
-
|
8
|
+
module Types
|
9
|
+
include Dry.Types()
|
10
|
+
end
|
11
|
+
# Response schema for bank's api errors
|
9
12
|
class Error < Dry::Struct
|
10
13
|
attribute :code, Types::Strict::Integer
|
11
14
|
attribute :message, Types::Strict::String
|
12
|
-
attribute :meta, Types::Strict::Array
|
15
|
+
attribute :meta, Types::Strict::Array.optional
|
13
16
|
end
|
14
17
|
end
|
15
18
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-struct'
|
4
|
+
|
5
|
+
module Types
|
6
|
+
include Dry.Types()
|
7
|
+
end
|
8
|
+
|
9
|
+
module TochkaCyclopsApi
|
10
|
+
module Schemas
|
11
|
+
module Responses
|
12
|
+
# Response schema for get_beneficiary request
|
13
|
+
class ListBeneficicary < Dry::Struct
|
14
|
+
class LastContractOffer < Dry::Struct
|
15
|
+
attribute :id, ::Types::String
|
16
|
+
attribute :type, ::Types::String
|
17
|
+
attribute :success_added, ::Types::Bool
|
18
|
+
attribute :success_added_desc, ::Types::String
|
19
|
+
end
|
20
|
+
|
21
|
+
class NominalAccount < Dry::Struct
|
22
|
+
attribute :bic, ::Types::String
|
23
|
+
attribute :code, ::Types::String
|
24
|
+
end
|
25
|
+
|
26
|
+
class BeneficiaryData < Dry::Struct
|
27
|
+
attribute :name, ::Types::String
|
28
|
+
end
|
29
|
+
|
30
|
+
class Beneficiary < Dry::Struct
|
31
|
+
attribute :inn, Types::String
|
32
|
+
attribute :id, Types::String
|
33
|
+
attribute :is_active, Types::Bool
|
34
|
+
attribute :legal_type, Types::String
|
35
|
+
attribute :ogrn, Types::String
|
36
|
+
attribute :beneficiary_data, BeneficiaryData
|
37
|
+
end
|
38
|
+
|
39
|
+
attribute :beneficiary, Beneficiary
|
40
|
+
attribute :nominal_account, NominalAccount
|
41
|
+
attribute :last_contract_offer, LastContractOffer
|
42
|
+
attribute :permission, Types::Bool
|
43
|
+
attribute :permission_description, Types::String
|
44
|
+
attribute :meta, Meta
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'dry-struct'
|
4
|
+
|
5
|
+
module Types
|
6
|
+
include Dry.Types()
|
7
|
+
end
|
8
|
+
|
9
|
+
module TochkaCyclopsApi
|
10
|
+
module Schemas
|
11
|
+
module Responses
|
12
|
+
# Response schema for list_beneficiary request
|
13
|
+
class ListBeneficicary < Dry::Struct
|
14
|
+
class Beneficiary < Dry::Struct
|
15
|
+
attribute :inn, Types::String
|
16
|
+
attribute :id, Types::String
|
17
|
+
attribute :is_active, Types::Bool
|
18
|
+
attribute :legal_type, Types::String
|
19
|
+
attribute :nominal_account_code, Types::String
|
20
|
+
attribute :nominal_account_bic, Types::String
|
21
|
+
end
|
22
|
+
|
23
|
+
class Page < Dry::Struct
|
24
|
+
attribute :current_page, Types::Integer
|
25
|
+
attribute :per_page, Types::Integer
|
26
|
+
end
|
27
|
+
|
28
|
+
class Meta < Dry::Struct
|
29
|
+
attribute :total, Types::Integer
|
30
|
+
attribute :page, Page
|
31
|
+
end
|
32
|
+
|
33
|
+
attribute :beneficiaries, Types::Array.of(Beneficiary)
|
34
|
+
attribute :meta, Meta
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|