rs.ge 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/Gemfile +4 -0
- data/README.md +23 -0
- data/Rakefile +12 -0
- data/lib/rs.rb +55 -0
- data/lib/rs/dict.rb +247 -0
- data/lib/rs/sys.rb +127 -0
- data/lib/rs/version.rb +4 -0
- data/lib/rs/waybill.rb +116 -0
- data/p1-soapui-project.xml +5505 -0
- data/rs.gemspec +26 -0
- data/spec/rs/dict_spec.rb +175 -0
- data/spec/rs/sys_spec.rb +69 -0
- data/spec/rs/waybill_spec.rb +84 -0
- data/spec/spec_helper.rb +50 -0
- data/test.rb +185 -0
- metadata +111 -0
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# RS.GE ვებ-სერვისები
|
2
|
+
|
3
|
+
ეს ბიბლიოთეკა განკუთვნილია RS.GE-ს ვებ სერვისების გამოყენებაზე.
|
4
|
+
ამ ბიბლიოთეკის მეშვეობით ადვილად მოახერხებთ ყველა ოპერაციის ჩატარებას,
|
5
|
+
რასაც აღნიშნული ვებ სერვისი ითვალისწინებს.
|
6
|
+
|
7
|
+
## გამოყენება
|
8
|
+
|
9
|
+
გამოყენებისათვის უნდა ჩასვათ შემდეგი ხაზი თქვენს Gemfile-ში:
|
10
|
+
|
11
|
+
gem 'rs'
|
12
|
+
|
13
|
+
შემდეგი გამოყენება ძალიან მარტივია:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
require 'rs'
|
17
|
+
|
18
|
+
puts RS.what_is_my_ip # თქვენს IP მისამართს დაბეჭდავს კონსოლში
|
19
|
+
```
|
20
|
+
|
21
|
+
## სხვა ფუნქციები
|
22
|
+
|
23
|
+
TODO: აქ დასაწერია თუ როგორ უნდა გამოიყენოთ სხვა ფუნქციები (დასალაგებბელია თემეტურად)
|
data/Rakefile
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
# RSpec
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new(:test) do |spec|
|
7
|
+
spec.rspec_opts = ["--color", "--format progress"]
|
8
|
+
spec.pattern = 'spec/**/*.rb'
|
9
|
+
spec.verbose = false
|
10
|
+
end
|
11
|
+
|
12
|
+
task :default => :test
|
data/lib/rs.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'savon'
|
3
|
+
require 'rs/version'
|
4
|
+
require 'rs/sys'
|
5
|
+
require 'rs/dict'
|
6
|
+
require 'rs/waybill'
|
7
|
+
|
8
|
+
module RS
|
9
|
+
# ელქტრონული ზედნადების ფორმის WSDL მისამართი
|
10
|
+
WAYBILL_SERVICE_URL = 'http://services.rs.ge/WayBillService/WayBillService.asmx?WSDL'
|
11
|
+
|
12
|
+
# ელექტრონული ა/ფ WSDL მისამართი
|
13
|
+
INVOICE_SERVICE_URL = 'https://www.revenue.mof.ge/ntosservice/ntosservice.asmx?WSDL'
|
14
|
+
|
15
|
+
# შეცდომის კლასი
|
16
|
+
class Error < RuntimeError
|
17
|
+
end
|
18
|
+
|
19
|
+
protected
|
20
|
+
|
21
|
+
# ელექტრონული ზედნადების SOAP კლიენტის მიღება
|
22
|
+
def self.waybill_service
|
23
|
+
Savon::Client.new do
|
24
|
+
wsdl.document = WAYBILL_SERVICE_URL
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# ანგარიშ-ფაქტურის SOAP კლიენტის მიღება
|
29
|
+
def self.invoice_service
|
30
|
+
Savon::Client.new do
|
31
|
+
wsdl.document = INVOICE_SERVICE_URL
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# ამოწმებს, რომ მოცემულ პარამეტრებში ყველას მნიშვნელობა განსხვავდებოდეს <code>nil</code>-სგან.
|
36
|
+
def self.validate_presence_of(params, *options)
|
37
|
+
options.each do |opt|
|
38
|
+
val = params[opt.to_s]
|
39
|
+
raise RS::Error.new("#{opt.to_s} required") if val.nil? or (val.instance_of? String and val.strip.empty?)
|
40
|
+
end if options
|
41
|
+
end
|
42
|
+
|
43
|
+
# უზრუნველყოფს <code>nil</code> მნიშვნელობების სწორად ჩაწერას.
|
44
|
+
def self.prepare_params(params)
|
45
|
+
attributes = {}
|
46
|
+
params.each do |k, v|
|
47
|
+
if v.nil?
|
48
|
+
params.delete k
|
49
|
+
attributes[k] = {'xsi:nil' => true}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
params['attributes!'] = attributes unless attributes.empty?
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/lib/rs/dict.rb
ADDED
@@ -0,0 +1,247 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module RS
|
4
|
+
|
5
|
+
# ეს არის აქციზის კოდის აღმწერი კლასი.
|
6
|
+
class ExciseCode
|
7
|
+
# name -- აქციზის დასახელება
|
8
|
+
# measure -- ზომის ერთეული
|
9
|
+
# code -- აქციზის კოდი
|
10
|
+
# value -- აქციზის განაკვეთი
|
11
|
+
attr_accessor :id, :name, :measure, :code, :value
|
12
|
+
end
|
13
|
+
|
14
|
+
# ეს არის ზედნადების ტიპის კლასი.
|
15
|
+
class WaybillType
|
16
|
+
INNER = 1
|
17
|
+
TRANSPORTATION = 2
|
18
|
+
WITHOUT_TRANSPORTATION = 3
|
19
|
+
DISTRIBUTION = 4
|
20
|
+
RETURN = 5
|
21
|
+
SUB_WAYBILL = 6
|
22
|
+
NAMES = {
|
23
|
+
INNER => 'შიდა გადაზიდვა', TRANSPORTATION => 'ტრანსპორტირებით', WITHOUT_TRANSPORTATION => 'ტრანსპორტირების გარეშე',
|
24
|
+
DISTRIBUTION => 'დისტრიბუცია', RETURN => 'უკან დაბრუნება', SUB_WAYBILL => 'ქვე-ზედნადები'
|
25
|
+
}
|
26
|
+
attr_accessor :id, :name
|
27
|
+
def self.create_from_id(id)
|
28
|
+
type = WaybillType.new
|
29
|
+
type.id = id
|
30
|
+
type.name = NAMES[id]
|
31
|
+
type
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# ზედნადების ერთეულების განსაზღვრა.
|
36
|
+
class WaybillUnit
|
37
|
+
attr_accessor :id, :name
|
38
|
+
|
39
|
+
# ეს კოდი შეესაბამება ზომის ერთეულს 'სხვა'.
|
40
|
+
OTHERS = 99
|
41
|
+
end
|
42
|
+
|
43
|
+
# ტრანსპორტირების ტიპი
|
44
|
+
class TransportType
|
45
|
+
VEHICLE = 1
|
46
|
+
RAILWAY = 2
|
47
|
+
AIR = 3
|
48
|
+
OTHERS = 4
|
49
|
+
NAMES = { VEHICLE => 'საავტომობილო', RAILWAY => 'სარკინიგზო', AIR => 'საავიაციო', OTHERS => 'სხვა' }
|
50
|
+
attr_accessor :id, :name
|
51
|
+
def self.create_from_id(id)
|
52
|
+
type = TransportType.new
|
53
|
+
type.id = id
|
54
|
+
type.name = NAMES[id]
|
55
|
+
type
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# შტრიხკოდის აღმწერი კლასი
|
60
|
+
class BarCode
|
61
|
+
attr_accessor :code, :name, :unit_id, :unit_name, :excise_id
|
62
|
+
end
|
63
|
+
|
64
|
+
protected
|
65
|
+
|
66
|
+
def normalize_excise_name(name)
|
67
|
+
index = name =~ /\([0-9]+\)/
|
68
|
+
index ? name[0..index-1].strip : name
|
69
|
+
end
|
70
|
+
|
71
|
+
public
|
72
|
+
|
73
|
+
# აქციზის კოდების სიის მიღება.
|
74
|
+
#
|
75
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
76
|
+
#
|
77
|
+
# su -- სერვისის მომხმარებლის სახელი
|
78
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
79
|
+
def self.get_excise_codes(params)
|
80
|
+
RS.validate_presence_of(params, 'su', 'sp')
|
81
|
+
client = RS.waybill_service
|
82
|
+
response = client.request 'get_akciz_codes' do
|
83
|
+
soap.body = params
|
84
|
+
end
|
85
|
+
codes_hash = response.to_hash[:get_akciz_codes_response][:get_akciz_codes_result][:akciz_codes][:akciz_code]
|
86
|
+
codes = []
|
87
|
+
codes_hash.each do |hash|
|
88
|
+
code = ExciseCode.new
|
89
|
+
code.id = hash[:id]
|
90
|
+
code.name = normalize_excise_name(hash[:title])
|
91
|
+
code.measure = hash[:measurement]
|
92
|
+
code.code = hash[:sakon_kodi]
|
93
|
+
code.value = hash[:akcis_ganakv].to_f
|
94
|
+
codes << code
|
95
|
+
end
|
96
|
+
codes
|
97
|
+
end
|
98
|
+
|
99
|
+
# ზედნადების ტიპების მიღება.
|
100
|
+
#
|
101
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
102
|
+
#
|
103
|
+
# su -- სერვისის მომხმარებლის სახელი
|
104
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
105
|
+
def self.get_waybill_types(params)
|
106
|
+
RS.validate_presence_of(params, 'su', 'sp')
|
107
|
+
client = RS.waybill_service
|
108
|
+
response = client.request 'get_waybill_types' do
|
109
|
+
soap.body = params
|
110
|
+
end
|
111
|
+
types_hash = response.to_hash[:get_waybill_types_response][:get_waybill_types_result][:waybill_types][:waybill_type]
|
112
|
+
types = []
|
113
|
+
types_hash.each do |hash|
|
114
|
+
type = WaybillType.new
|
115
|
+
type.id = hash[:id]
|
116
|
+
type.name = hash[:name]
|
117
|
+
#puts "#{type.id}: #{type.name}"
|
118
|
+
types << type
|
119
|
+
end
|
120
|
+
types
|
121
|
+
end
|
122
|
+
|
123
|
+
# ზედნადების ზომის ერთეულების მიღება.
|
124
|
+
#
|
125
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
126
|
+
#
|
127
|
+
# su -- სერვისის მომხმარებლის სახელი
|
128
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
129
|
+
def self.get_waybill_units(params)
|
130
|
+
RS.validate_presence_of(params, 'su', 'sp')
|
131
|
+
client = RS.waybill_service
|
132
|
+
response = client.request 'get_waybill_units' do
|
133
|
+
soap.body = params
|
134
|
+
end
|
135
|
+
units_hash = response.to_hash[:get_waybill_units_response][:get_waybill_units_result][:waybill_units][:waybill_unit]
|
136
|
+
units = []
|
137
|
+
units_hash.each do |hash|
|
138
|
+
unit = WaybillUnit.new
|
139
|
+
unit.id = hash[:id]
|
140
|
+
unit.name = hash[:name]
|
141
|
+
#puts "#{unit.id}: #{unit.name}"
|
142
|
+
units << unit
|
143
|
+
end
|
144
|
+
units
|
145
|
+
end
|
146
|
+
|
147
|
+
# ტრანსპორტის სახეობების მიღება.
|
148
|
+
#
|
149
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
150
|
+
#
|
151
|
+
# su -- სერვისის მომხმარებლის სახელი
|
152
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
153
|
+
def self.get_transport_types(params)
|
154
|
+
RS.validate_presence_of(params, 'su', 'sp')
|
155
|
+
client = RS.waybill_service
|
156
|
+
response = client.request 'get_trans_types' do
|
157
|
+
soap.body = params
|
158
|
+
end
|
159
|
+
types_hash = response.to_hash[:get_trans_types_response][:get_trans_types_result][:transport_types][:transport_type]
|
160
|
+
types = []
|
161
|
+
types_hash.each do |hash|
|
162
|
+
type = TransportType.new
|
163
|
+
type.id = hash[:id]
|
164
|
+
type.name = hash[:name]
|
165
|
+
#puts "#{type.id}: #{type.name}"
|
166
|
+
types << type
|
167
|
+
end
|
168
|
+
types
|
169
|
+
end
|
170
|
+
|
171
|
+
# შტრიხკოდის შენახვის მეთოდი.
|
172
|
+
#
|
173
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
174
|
+
#
|
175
|
+
# su -- სერვისის მომხმარებლის სახელი
|
176
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
177
|
+
# bar_code -- შტრიხკოდის მნიშვნელობა
|
178
|
+
# prod_name -- საქონლის დასახელება (შეესაბამება <code>goods_name</code> RS-ის სპეციფიკაციაში)
|
179
|
+
# unit_id -- ზომის ერთეულის კოდი
|
180
|
+
# unit_name -- ზომის ერთეულის დასახელება, როდესაც #{unit_id} ტოლია #{WaybillUnit::OTHERS},
|
181
|
+
# სხვა მნიშვნელობისთვის ეს პარამეტრი არ უნდა გადმოეცეს
|
182
|
+
# (შეესანამება <code>unit_txt</code> პარამეტრს RS-ის სპეციფიკაციაში)
|
183
|
+
# excise_id -- აქციზის კოდი. ან <code>nil</code>, თუ აქციზის კოდი არ უყენდება ამ საქონელს
|
184
|
+
# (შეესაბამება <code>a_id</code> პარამეტრს RS-ის სპეციფიკაციაში)
|
185
|
+
def self.save_bar_code(params)
|
186
|
+
RS.validate_presence_of(params, 'su', 'sp', 'bar_code', 'prod_name', 'unit_id')
|
187
|
+
params2 = {'su' => params['su'], 'sp' => params['sp'], 'bar_code' => params['bar_code'],
|
188
|
+
'goods_name' => params['prod_name'], 'unit_id' => params['unit_id'],
|
189
|
+
'unit_txt' => params['unit_name'], 'a_id' => params['excise_id']}
|
190
|
+
prepare_params(params2)
|
191
|
+
params2['order!'] = ['su', 'sp', 'bar_code', 'goods_name', 'unit_id', 'unit_txt', 'a_id']
|
192
|
+
client = RS.waybill_service
|
193
|
+
response = client.request 'save_bar_code' do
|
194
|
+
soap.body = params2
|
195
|
+
end
|
196
|
+
resp = response.to_hash[:save_bar_code_response][:save_bar_code_result]
|
197
|
+
resp.to_i == 1 # success!
|
198
|
+
end
|
199
|
+
|
200
|
+
# შტრიხკოდის წაშლის მეთოდი.
|
201
|
+
#
|
202
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
203
|
+
#
|
204
|
+
# su -- სერვისის მომხმარებლის სახელი
|
205
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
206
|
+
# bar_code -- შტრიხკოდის მნიშვნელობა
|
207
|
+
def self.delete_bar_code(params)
|
208
|
+
RS.validate_presence_of(params, 'su', 'sp', 'bar_code')
|
209
|
+
params['order!'] = ['su', 'sp', 'bar_code']
|
210
|
+
client = RS.waybill_service
|
211
|
+
response = client.request 'delete_bar_code' do
|
212
|
+
soap.body = params
|
213
|
+
end
|
214
|
+
resp = response.to_hash[:delete_bar_code_response][:delete_bar_code_result]
|
215
|
+
resp.to_i == 1 # success!
|
216
|
+
end
|
217
|
+
|
218
|
+
# შტრიხკოდების მიღების მეთოდი.
|
219
|
+
#
|
220
|
+
# უნდა გადაეცეს შემდეგი პარამეტრები:
|
221
|
+
#
|
222
|
+
# su -- სერვისის მომხმარებლის სახელი
|
223
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
224
|
+
# bar_code -- შტრიხკოდის მნიშვნელობა, რომლის მსგავსის ამოღებაც გვინდა
|
225
|
+
def self.get_bar_codes(params)
|
226
|
+
RS.validate_presence_of(params, 'su', 'sp', 'bar_code')
|
227
|
+
params['order!']= ['su', 'sp', 'bar_code']
|
228
|
+
client = RS.waybill_service
|
229
|
+
response = client.request 'get_bar_codes' do
|
230
|
+
soap.body = params
|
231
|
+
end
|
232
|
+
codes_hash = response.to_hash[:get_bar_codes_response][:bar_codes][:bar_codes][:bar_code]
|
233
|
+
codes_hash = [codes_hash] if codes_hash.instance_of? Hash
|
234
|
+
codes = []
|
235
|
+
codes_hash.each do |hash|
|
236
|
+
code = BarCode.new
|
237
|
+
code.code = hash[:code]
|
238
|
+
code.name = hash[:name]
|
239
|
+
code.unit_id = hash[:unit_id].to_i
|
240
|
+
code.unit_name = hash[:unit_txt]
|
241
|
+
code.excise_id = hash[:a_id].to_i == 0 ? nil : hash[:a_id].to_i
|
242
|
+
codes << code
|
243
|
+
end
|
244
|
+
codes
|
245
|
+
end
|
246
|
+
|
247
|
+
end
|
data/lib/rs/sys.rb
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module RS
|
4
|
+
|
5
|
+
# სერვისის მომხმარებლის კლასი.
|
6
|
+
class User
|
7
|
+
attr_accessor :id, :user_name, :payer_id, :ip, :name
|
8
|
+
end
|
9
|
+
|
10
|
+
# აბრუნებს თქვენი კომპიუტერის გარე IP მისამართს.
|
11
|
+
def self.what_is_my_ip
|
12
|
+
client = RS.waybill_service
|
13
|
+
response = client.request 'what_is_my_ip'
|
14
|
+
response.to_hash[:what_is_my_ip_response][:what_is_my_ip_result]
|
15
|
+
end
|
16
|
+
|
17
|
+
# ქმნის ახალ მომხმარებელს.
|
18
|
+
#
|
19
|
+
# გადაეცემა შემდეგი პარამეტრები:
|
20
|
+
#
|
21
|
+
# user_name -- მომხმარებლის სახელი
|
22
|
+
# user_password -- მომხმარებლის პაროლი
|
23
|
+
# ip -- მანქანის IP მისამართი, რომლიდანაც უნდა მოხდეს ამ მომხმარებლის შემოსვლა
|
24
|
+
# name -- მაღაზიის სახელი
|
25
|
+
# su -- სერვისის მომხმარებლის სახელი
|
26
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
27
|
+
def self.create_service_user(params)
|
28
|
+
RS.validate_presence_of(params, 'user_name', 'user_password', 'ip', 'name', 'su', 'sp')
|
29
|
+
client = RS.waybill_service
|
30
|
+
response = client.request 'create_service_user' do
|
31
|
+
soap.body = params
|
32
|
+
end
|
33
|
+
response.to_hash[:create_service_user_response][:create_service_user_result]
|
34
|
+
end
|
35
|
+
|
36
|
+
# აბრუნებს სერვისის მომხმარებლელბის სიას.
|
37
|
+
#
|
38
|
+
# გადაეცემა შემდეგი პარამეტრები:
|
39
|
+
#
|
40
|
+
# user_name -- მომხმარებლის სახელი
|
41
|
+
# user_password -- მომხმარებლი პაროლი
|
42
|
+
#
|
43
|
+
# ბრუნდება #{User}-ების მასივი.
|
44
|
+
def self.get_service_users(params)
|
45
|
+
RS.validate_presence_of(params, 'user_name', 'user_password')
|
46
|
+
client = RS.waybill_service
|
47
|
+
response = client.request 'get_service_users' do
|
48
|
+
soap.body = params
|
49
|
+
end
|
50
|
+
users_hash_array = response.to_hash[:get_service_users_response][:get_service_users_result][:service_users][:service_user]
|
51
|
+
#puts users_hash_array
|
52
|
+
users = []
|
53
|
+
users_hash_array.each do |user_hash|
|
54
|
+
user = User.new
|
55
|
+
user.id = user_hash[:id]
|
56
|
+
user.user_name = user_hash[:user_name]
|
57
|
+
user.payer_id = user_hash[:un_id]
|
58
|
+
user.ip = user_hash[:ip]
|
59
|
+
user.name = user_hash[:name]
|
60
|
+
users << user
|
61
|
+
end
|
62
|
+
users
|
63
|
+
end
|
64
|
+
|
65
|
+
# სერვისის მომხმარებლის პაროლის შემოწმება.
|
66
|
+
#
|
67
|
+
# გადაეცემა შემდეგი პარამეტრები:
|
68
|
+
#
|
69
|
+
# su -- სერვისის მომხმარებელი
|
70
|
+
# sp -- სერვისის მომხმარებლის პაროლი
|
71
|
+
#
|
72
|
+
# აბრუნებს #{User} ობიექტს, ცარიელი ip-თი ან <code>nil</code>-ს თუ არასწორი მომხმარებელია.
|
73
|
+
def self.check_service_user(params)
|
74
|
+
RS.validate_presence_of(params, 'su', 'sp')
|
75
|
+
client = RS.waybill_service
|
76
|
+
response = client.request 'chek_service_user' do
|
77
|
+
soap.body = params
|
78
|
+
end
|
79
|
+
if response[:chek_service_user_response][:chek_service_user_result]
|
80
|
+
payer_id = response[:chek_service_user_response][:un_id]
|
81
|
+
user_id = response[:chek_service_user_response][:s_user_id]
|
82
|
+
user = User.new
|
83
|
+
user.id = user_id
|
84
|
+
user.user_name = params['su']
|
85
|
+
user.payer_id = payer_id
|
86
|
+
user
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# სერვისის მომხმარებლის მონაცემების შეცვლა.
|
91
|
+
#
|
92
|
+
# გადაეცემა შემდეგი პარამეტრები:
|
93
|
+
#
|
94
|
+
# user_name -- მომხმარებლის სახელი
|
95
|
+
# user_password -- პაროლი
|
96
|
+
# ip -- მანქანის მისამართი,
|
97
|
+
# name -- მაღაზიის დასახელება
|
98
|
+
# su -- მომხამრებლის სახელი
|
99
|
+
# sp -- პაროლი
|
100
|
+
def self.update_service_user(params)
|
101
|
+
RS.validate_presence_of(params, 'user_name', 'user_password', 'ip', 'name', 'su', 'sp')
|
102
|
+
client = RS.waybill_service
|
103
|
+
response = client.request 'update_service_user' do
|
104
|
+
soap.body = params
|
105
|
+
end
|
106
|
+
#puts params
|
107
|
+
#puts response.to_hash
|
108
|
+
response.to_hash[:update_service_user_response][:update_service_user_result]
|
109
|
+
end
|
110
|
+
|
111
|
+
# აბრუნებს ორგანიზაციის/პიროვნების სახელს მისი საიდენტიფიკაციო ნომრიდან.
|
112
|
+
#
|
113
|
+
# გადაეცემა შემდეგი პარამეტრები:
|
114
|
+
#
|
115
|
+
# su -- მომხამრებლის სახელი
|
116
|
+
# sp -- პაროლი
|
117
|
+
# tin -- საიდენტიფიკაციო ნომერი
|
118
|
+
def self.get_name_from_tin(params)
|
119
|
+
RS.validate_presence_of(params, 'su', 'sp', 'tin')
|
120
|
+
client = RS.waybill_service
|
121
|
+
response = client.request 'get_name_from_tin' do
|
122
|
+
soap.body = params
|
123
|
+
end
|
124
|
+
response.to_hash[:get_name_from_tin_response][:get_name_from_tin_result]
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|