tsubaiso-sdk 1.2.5 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/lib/tsubaiso_api.rb +12 -12
- data/lib/tsubaiso_sdk.rb +485 -366
- data/sample.rb +120 -33
- data/test/test_tsubaiso_api.rb +58 -14
- data/test/test_tsubaiso_sdk.rb +295 -138
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a8fcdac9b405b2c3bbb5725352eb209fd9e11b8932a4d7d817eaf949169a4cc
|
4
|
+
data.tar.gz: f214e4a11b5bcd4ebf8b80e7771011eed14c15e4c43057b14f8f32eb9625a1d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcd2ee90dcc53b1e9fd810f2a219166b729bc3b7e512413e738b633daaa513167425474d0b8cabc9e47343022bc8e65b6111edaea0546c09497eb6a2ebc2b24b
|
7
|
+
data.tar.gz: 2bee4d449797c0211a5f607e639815a3fb0134475bf50f1db0a042a546e3ae08e38bb4206f592125e85105ff8835b5ca1af8b5b741deb020dc53d6c6cf9fcd3c
|
data/Rakefile
CHANGED
data/lib/tsubaiso_api.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# ..
|
2
2
|
class TsubaisoAPI
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'net/http'
|
4
|
+
require 'json'
|
5
5
|
|
6
6
|
def initialize(options = {})
|
7
7
|
@base_url = options[:base_url] || 'https://tsubaiso.net'
|
@@ -9,45 +9,45 @@ class TsubaisoAPI
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def list(resource, params = {})
|
12
|
-
api_request(url_parse(resource + '/list'),
|
12
|
+
api_request(url_parse(resource + '/list'), 'GET', params)
|
13
13
|
end
|
14
14
|
|
15
15
|
def show(resource, params = {})
|
16
|
-
api_request(url_parse(resource + "/show/#{params[:id]}"),
|
16
|
+
api_request(url_parse(resource + "/show/#{params[:id]}"), 'GET', params)
|
17
17
|
end
|
18
18
|
|
19
19
|
def create(resource, params = {})
|
20
|
-
api_request(url_parse(resource + '/create'),
|
20
|
+
api_request(url_parse(resource + '/create'), 'POST', params)
|
21
21
|
end
|
22
22
|
|
23
23
|
def update(resource, params = {})
|
24
|
-
api_request(url_parse(resource + '/update'),
|
24
|
+
api_request(url_parse(resource + '/update'), 'POST', params)
|
25
25
|
end
|
26
26
|
|
27
27
|
def destroy(resource, params = {})
|
28
|
-
api_request(url_parse(resource + '/destroy'),
|
28
|
+
api_request(url_parse(resource + '/destroy'), 'POST', params)
|
29
29
|
end
|
30
30
|
|
31
31
|
def get(url, params = {})
|
32
|
-
api_request(url_parse(url),
|
32
|
+
api_request(url_parse(url), 'GET', params)
|
33
33
|
end
|
34
34
|
|
35
35
|
def post(url, params = {})
|
36
|
-
api_request(url_parse(url),
|
36
|
+
api_request(url_parse(url), 'POST', params)
|
37
37
|
end
|
38
38
|
|
39
39
|
private
|
40
40
|
|
41
41
|
def api_request(uri, http_verb, params)
|
42
42
|
http = Net::HTTP.new(uri.host, uri.port)
|
43
|
-
initheader = {'Content-Type' => 'application/json',
|
43
|
+
initheader = { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }
|
44
44
|
http.use_ssl = true if @base_url =~ /^https/
|
45
|
-
if http_verb ==
|
45
|
+
if http_verb == 'GET'
|
46
46
|
request = Net::HTTP::Get.new(uri.path, initheader)
|
47
47
|
else
|
48
48
|
request = Net::HTTP::Post.new(uri.path, initheader)
|
49
49
|
end
|
50
|
-
request[
|
50
|
+
request['Access-Token'] = @access_token
|
51
51
|
request.body = params.to_json
|
52
52
|
response = http.request(request)
|
53
53
|
if response.body
|
data/lib/tsubaiso_sdk.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class TsubaisoSDK
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'net/http'
|
3
|
+
require 'json'
|
4
4
|
|
5
5
|
def initialize(options = {})
|
6
6
|
@base_url = options[:base_url] || 'https://tsubaiso.net'
|
@@ -8,355 +8,413 @@ class TsubaisoSDK
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def list_sales(year, month)
|
11
|
-
params = {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
11
|
+
params = {
|
12
|
+
'year' => year,
|
13
|
+
'month' => month,
|
14
|
+
'format' => 'json'
|
15
|
+
}
|
16
|
+
uri = URI.parse(@base_url + '/ar/list/')
|
17
|
+
api_request(uri, 'GET', params)
|
17
18
|
end
|
18
19
|
|
19
20
|
def list_sales_and_account_balances(year, month, options = {})
|
20
|
-
params = {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
params = {
|
22
|
+
'year' => year,
|
23
|
+
'month' => month,
|
24
|
+
'customer_master_id' => options[:customer_master_id],
|
25
|
+
'ar_segment' => options[:ar_segment],
|
26
|
+
'format' => 'json'
|
25
27
|
}
|
26
|
-
uri = URI.parse(@base_url +
|
27
|
-
api_request(uri,
|
28
|
+
uri = URI.parse(@base_url + '/ar_receipts/balance/')
|
29
|
+
api_request(uri, 'GET', params)
|
28
30
|
end
|
29
31
|
|
30
32
|
def list_purchases(year, month)
|
31
|
-
params = {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
params = {
|
34
|
+
'year' => year,
|
35
|
+
'month' => month,
|
36
|
+
'format' => 'json'
|
37
|
+
}
|
38
|
+
uri = URI.parse(@base_url + '/ap_payments/list/')
|
39
|
+
api_request(uri, 'GET', params)
|
37
40
|
end
|
38
41
|
|
39
42
|
def list_purchases_and_account_balances(year, month, options = {})
|
40
|
-
params = {
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
43
|
+
params = {
|
44
|
+
'year' => year,
|
45
|
+
'month' => month,
|
46
|
+
'customer_master_id' => options[:customer_master_id],
|
47
|
+
'ap_segment' => options[:ap_segment],
|
48
|
+
'format' => 'json'
|
45
49
|
}
|
46
|
-
uri = URI.parse(@base_url +
|
47
|
-
api_request(uri,
|
50
|
+
uri = URI.parse(@base_url + '/ap_payments/balance/')
|
51
|
+
api_request(uri, 'GET', params)
|
48
52
|
end
|
49
53
|
|
50
54
|
def list_customers
|
51
|
-
params = {
|
52
|
-
uri = URI.parse(@base_url +
|
53
|
-
api_request(uri,
|
55
|
+
params = { 'format' => 'json' }
|
56
|
+
uri = URI.parse(@base_url + '/customer_masters/list/')
|
57
|
+
api_request(uri, 'GET', params)
|
54
58
|
end
|
55
59
|
|
56
60
|
def list_payrolls(year, month)
|
57
|
-
params = {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
params = {
|
62
|
+
'format' => 'json',
|
63
|
+
'year' => year,
|
64
|
+
'month' => month
|
65
|
+
}
|
66
|
+
uri = URI.parse(@base_url + '/payrolls/list/')
|
67
|
+
api_request(uri, 'GET', params)
|
63
68
|
end
|
64
69
|
|
65
70
|
def list_staff
|
66
|
-
params = {
|
67
|
-
uri = URI.parse(@base_url +
|
68
|
-
api_request(uri,
|
71
|
+
params = { 'format' => 'json' }
|
72
|
+
uri = URI.parse(@base_url + '/staffs/list/')
|
73
|
+
api_request(uri, 'GET', params)
|
69
74
|
end
|
70
75
|
|
71
76
|
def list_staff_data(staff_id)
|
72
|
-
params = {
|
73
|
-
|
74
|
-
|
75
|
-
|
77
|
+
params = {
|
78
|
+
'format' => 'json',
|
79
|
+
'staff_id' => staff_id
|
80
|
+
}
|
81
|
+
uri = URI.parse(@base_url + '/staff_data/list/')
|
82
|
+
api_request(uri, 'GET', params)
|
76
83
|
end
|
77
84
|
|
78
85
|
def list_staff_datum_masters
|
79
|
-
params = {
|
80
|
-
uri = URI.parse(@base_url +
|
81
|
-
api_request(uri,
|
86
|
+
params = { 'format' => 'json' }
|
87
|
+
uri = URI.parse(@base_url + '/staff_datum_masters/list/')
|
88
|
+
api_request(uri, 'GET', params)
|
82
89
|
end
|
83
90
|
|
84
91
|
def list_reimbursements(year, month)
|
85
|
-
params = {
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
92
|
+
params = {
|
93
|
+
'format' => 'json',
|
94
|
+
'year' => year,
|
95
|
+
'month' => month
|
96
|
+
}
|
97
|
+
uri = URI.parse(@base_url + '/reimbursements/list/')
|
98
|
+
api_request(uri, 'GET', params)
|
91
99
|
end
|
92
100
|
|
93
101
|
def list_reimbursement_transactions(reimbursement_id)
|
94
|
-
params = {
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
102
|
+
params = {
|
103
|
+
'format' => 'json',
|
104
|
+
'id' => reimbursement_id.to_i
|
105
|
+
}
|
106
|
+
uri = URI.parse(@base_url + '/reimbursement_transactions/list/')
|
107
|
+
api_request(uri, 'GET', params)
|
99
108
|
end
|
100
109
|
|
101
110
|
def list_reimbursement_reason_masters
|
102
|
-
params = {
|
103
|
-
uri = URI.parse(@base_url +
|
104
|
-
api_request(uri,
|
111
|
+
params = { 'format' => 'json' }
|
112
|
+
uri = URI.parse(@base_url + '/reimbursement_reason_masters/list/')
|
113
|
+
api_request(uri, 'GET', params)
|
105
114
|
end
|
106
115
|
|
107
116
|
def list_manual_journals(year = nil, month = nil)
|
108
|
-
params = {
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
117
|
+
params = {
|
118
|
+
'year' => year,
|
119
|
+
'month' => month,
|
120
|
+
'format' => 'json'
|
121
|
+
}
|
122
|
+
uri = URI.parse(@base_url + '/manual_journals/list/')
|
123
|
+
api_request(uri, 'GET', params)
|
114
124
|
end
|
115
125
|
|
116
126
|
def list_journals(options)
|
117
|
-
params = {
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
127
|
+
params = {
|
128
|
+
'start_date' => options[:start_date],
|
129
|
+
'finish_date' => options[:finish_date],
|
130
|
+
'start_created_at' => options[:start_created_at],
|
131
|
+
'finish_created_at' => options[:finish_created_at],
|
132
|
+
'timestamp_order' => options[:timestamp_order],
|
133
|
+
'account_codes' => options[:account_codes],
|
134
|
+
'price' => options[:price],
|
135
|
+
'memo' => options[:memo],
|
136
|
+
'dept_code' => options[:dept_code],
|
137
|
+
'tag_list' => options[:tag_list],
|
138
|
+
'id' => options[:id],
|
139
|
+
'format' => 'json'
|
140
|
+
}
|
141
|
+
uri = URI.parse(@base_url + '/journals/list/')
|
142
|
+
api_request(uri, 'GET', params)
|
132
143
|
end
|
133
144
|
|
134
145
|
def list_depts
|
135
|
-
params = {
|
136
|
-
uri = URI.parse(@base_url +
|
137
|
-
api_request(uri,
|
146
|
+
params = { 'format' => 'json' }
|
147
|
+
uri = URI.parse(@base_url + '/depts/list/')
|
148
|
+
api_request(uri, 'GET', params)
|
138
149
|
end
|
139
150
|
|
140
151
|
def list_tags
|
141
|
-
params = {
|
142
|
-
uri = URI.parse(@base_url +
|
143
|
-
api_request(uri,
|
152
|
+
params = { 'format' => 'json' }
|
153
|
+
uri = URI.parse(@base_url + '/tags/list/')
|
154
|
+
api_request(uri, 'GET', params)
|
144
155
|
end
|
145
156
|
|
146
157
|
def list_bonuses(bonus_no, target_year)
|
147
|
-
params = {
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
158
|
+
params = {
|
159
|
+
'format' => 'json',
|
160
|
+
'bonus_no' => bonus_no,
|
161
|
+
'target_year' => target_year
|
162
|
+
}
|
163
|
+
uri = URI.parse(@base_url + '/bonuses/list/')
|
164
|
+
api_request(uri, 'GET', params)
|
153
165
|
end
|
154
166
|
|
155
167
|
def list_ap_reason_masters
|
156
|
-
params = {
|
157
|
-
uri = URI.parse(@base_url +
|
158
|
-
api_request(uri,
|
168
|
+
params = { 'format' => 'json' }
|
169
|
+
uri = URI.parse(@base_url + '/ap_reason_masters/list')
|
170
|
+
api_request(uri, 'GET', params)
|
159
171
|
end
|
160
172
|
|
161
173
|
def list_ar_reason_masters
|
162
|
-
params = {
|
163
|
-
uri = URI.parse(@base_url +
|
164
|
-
api_request(uri,
|
174
|
+
params = { 'format' => 'json' }
|
175
|
+
uri = URI.parse(@base_url + '/ar_reason_masters/list/')
|
176
|
+
api_request(uri, 'GET', params)
|
165
177
|
end
|
166
178
|
|
167
179
|
# Alpha version now.
|
168
180
|
def list_fixed_assets
|
169
|
-
params = {
|
170
|
-
uri = URI.parse(@base_url +
|
171
|
-
api_request(uri,
|
181
|
+
params = { 'format' => 'json' }
|
182
|
+
uri = URI.parse(@base_url + '/fixed_assets/list/')
|
183
|
+
api_request(uri, 'GET', params)
|
172
184
|
end
|
173
185
|
|
174
186
|
def show_sale(voucher)
|
175
|
-
sale_id = voucher.scan(/\d/).join(
|
176
|
-
params = {
|
187
|
+
sale_id = voucher.scan(/\d/).join('')
|
188
|
+
params = { 'format' => 'json' }
|
177
189
|
uri = URI.parse(@base_url + "/ar/show/#{sale_id}")
|
178
|
-
api_request(uri,
|
190
|
+
api_request(uri, 'GET', params)
|
179
191
|
end
|
180
192
|
|
181
193
|
def show_purchase(voucher)
|
182
|
-
purchase_id = voucher.scan(/\d/).join(
|
183
|
-
params = {
|
194
|
+
purchase_id = voucher.scan(/\d/).join('')
|
195
|
+
params = { 'format' => 'json' }
|
184
196
|
uri = URI.parse(@base_url + "/ap_payments/show/#{purchase_id}")
|
185
|
-
api_request(uri,
|
197
|
+
api_request(uri, 'GET', params)
|
186
198
|
end
|
187
199
|
|
188
200
|
def show_customer(customer_id)
|
189
201
|
customer_id = customer_id.to_i
|
190
|
-
params = {
|
202
|
+
params = { 'format' => 'json' }
|
191
203
|
uri = URI.parse(@base_url + "/customer_masters/show/#{customer_id}")
|
192
|
-
api_request(uri,
|
204
|
+
api_request(uri, 'GET', params)
|
193
205
|
end
|
194
206
|
|
195
207
|
def show_staff(staff_id)
|
196
208
|
staff_id = staff_id.to_i
|
197
|
-
params = {
|
209
|
+
params = { 'format' => 'json' }
|
198
210
|
uri = URI.parse(@base_url + "/staffs/show/#{staff_id}")
|
199
|
-
api_request(uri,
|
211
|
+
api_request(uri, 'GET', params)
|
200
212
|
end
|
201
213
|
|
202
214
|
def show_staff_data(options)
|
203
215
|
if options.is_a?(Hash)
|
204
|
-
params = {
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
216
|
+
params = {
|
217
|
+
'staff_id' => options[:staff_id],
|
218
|
+
'code' => options[:code],
|
219
|
+
'time' => options[:time],
|
220
|
+
'format' => 'json'
|
221
|
+
}
|
209
222
|
id = options[:id]
|
210
223
|
else
|
211
|
-
params = {
|
224
|
+
params = { 'format' => 'json' }
|
212
225
|
id = options
|
213
226
|
end
|
214
227
|
uri = URI.parse(@base_url + "/staff_data/show/#{id}")
|
215
|
-
api_request(uri,
|
228
|
+
api_request(uri, 'GET', params)
|
216
229
|
end
|
217
230
|
|
218
231
|
def show_staff_datum_master(options)
|
219
232
|
if options.is_a?(Hash)
|
220
|
-
params = {
|
221
|
-
|
222
|
-
|
233
|
+
params = {
|
234
|
+
'code' => options[:code],
|
235
|
+
'format' => 'json'
|
236
|
+
}
|
223
237
|
id = options[:id]
|
224
238
|
else
|
225
|
-
params = {
|
239
|
+
params = { 'format' => 'json' }
|
226
240
|
id = options
|
227
241
|
end
|
228
242
|
uri = URI.parse(@base_url + "/staff_datum_masters/show/#{id}")
|
229
|
-
api_request(uri,
|
243
|
+
api_request(uri, 'GET', params)
|
230
244
|
end
|
231
245
|
|
232
246
|
def show_manual_journal(manual_journal_id)
|
233
|
-
params = {
|
247
|
+
params = { 'format' => 'json' }
|
234
248
|
uri = URI.parse(@base_url + "/manual_journals/show/#{manual_journal_id}")
|
235
|
-
api_request(uri,
|
249
|
+
api_request(uri, 'GET', params)
|
236
250
|
end
|
237
251
|
|
238
252
|
def show_journal(journal_id)
|
239
|
-
params = {
|
253
|
+
params = { 'format' => 'json' }
|
240
254
|
uri = URI.parse(@base_url + "/journals/show/#{journal_id}")
|
241
|
-
api_request(uri,
|
255
|
+
api_request(uri, 'GET', params)
|
242
256
|
end
|
243
257
|
|
244
258
|
def show_reimbursement(reimbursement_id)
|
245
|
-
params = {
|
259
|
+
params = { 'format' => 'json' }
|
246
260
|
uri = URI.parse(@base_url + "/reimbursements/show/#{reimbursement_id}")
|
247
|
-
api_request(uri,
|
261
|
+
api_request(uri, 'GET', params)
|
248
262
|
end
|
249
263
|
|
250
264
|
def show_reimbursement_transaction(reimbursement_transaction_id)
|
251
|
-
params = {
|
265
|
+
params = { 'format' => 'json' }
|
252
266
|
uri = URI.parse(@base_url + "/reimbursement_transactions/show/#{reimbursement_transaction_id}")
|
253
|
-
api_request(uri,
|
267
|
+
api_request(uri, 'GET', params)
|
254
268
|
end
|
255
269
|
|
256
270
|
def show_reimbursement_reason_master(reimbursement_reason_master_id)
|
257
|
-
params = {
|
271
|
+
params = { 'format' => 'json' }
|
258
272
|
uri = URI.parse(@base_url + "/reimbursement_reason_masters/show/#{reimbursement_reason_master_id}")
|
259
|
-
api_request(uri,
|
273
|
+
api_request(uri, 'GET', params)
|
260
274
|
end
|
261
275
|
|
262
276
|
def show_dept(dept_id)
|
263
|
-
params = {
|
277
|
+
params = { 'format' => 'json' }
|
264
278
|
uri = URI.parse(@base_url + "/depts/show/#{dept_id}")
|
265
|
-
api_request(uri,
|
279
|
+
api_request(uri, 'GET', params)
|
266
280
|
end
|
267
281
|
|
268
282
|
def show_tag(tag_id)
|
269
|
-
params = {
|
283
|
+
params = { 'format' => 'json' }
|
270
284
|
uri = URI.parse(@base_url + "/tags/show/#{tag_id}")
|
271
|
-
api_request(uri,
|
285
|
+
api_request(uri, 'GET', params)
|
272
286
|
end
|
273
287
|
|
274
288
|
def show_bonus(bonus_id)
|
275
|
-
params = {
|
289
|
+
params = { 'format' => 'json' }
|
276
290
|
uri = URI.parse(@base_url + "/bonuses/show/#{bonus_id}")
|
277
|
-
api_request(uri,
|
291
|
+
api_request(uri, 'GET', params)
|
278
292
|
end
|
279
293
|
|
280
294
|
def show_payroll(payroll_id)
|
281
|
-
params = {
|
295
|
+
params = { 'format' => 'json' }
|
282
296
|
uri = URI.parse(@base_url + "/payrolls/show/#{payroll_id}")
|
283
|
-
api_request(uri,
|
297
|
+
api_request(uri, 'GET', params)
|
284
298
|
end
|
285
299
|
|
286
300
|
def show_ar_reason_master(ar_reason_master_id)
|
287
|
-
params = {
|
301
|
+
params = { 'format' => 'json' }
|
288
302
|
uri = URI.parse(@base_url + "/ar_reason_masters/show/#{ar_reason_master_id}")
|
289
|
-
api_request(uri,
|
303
|
+
api_request(uri, 'GET', params)
|
290
304
|
end
|
291
305
|
|
292
306
|
def show_ap_reason_master(ap_reason_master_id)
|
293
|
-
params = {
|
307
|
+
params = { 'format' => 'json' }
|
294
308
|
uri = URI.parse(@base_url + "/ap_reason_masters/show/#{ap_reason_master_id}")
|
295
|
-
api_request(uri,
|
309
|
+
api_request(uri, 'GET', params)
|
296
310
|
end
|
297
311
|
|
298
312
|
def create_customer(options)
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
313
|
+
available_keys = [
|
314
|
+
'accountant_email',
|
315
|
+
'address',
|
316
|
+
'administrator_name',
|
317
|
+
'ap_account_code',
|
318
|
+
'ap_reason_selections',
|
319
|
+
'ar_account_code',
|
320
|
+
'ar_reason_selections',
|
321
|
+
'bank_account_number',
|
322
|
+
'bank_branch_code',
|
323
|
+
'bank_branch_name',
|
324
|
+
'bank_code',
|
325
|
+
'bank_course',
|
326
|
+
'bank_name',
|
327
|
+
'bank_nominee',
|
328
|
+
'bill_detail_round_rule',
|
329
|
+
'code',
|
330
|
+
'dept_code',
|
331
|
+
'email',
|
332
|
+
'fax',
|
333
|
+
'finish_timestamp',
|
334
|
+
'foreign_currency',
|
335
|
+
'is_valid',
|
336
|
+
'locale',
|
337
|
+
'name',
|
338
|
+
'name_kana',
|
339
|
+
'need_tax_deductions',
|
340
|
+
'pay_closing_schedule',
|
341
|
+
'pay_interface_id',
|
342
|
+
'pay_sight',
|
343
|
+
'receive_closing_schedule',
|
344
|
+
'receive_interface_id',
|
345
|
+
'receive_sight',
|
346
|
+
'sender_name',
|
347
|
+
'sort_no',
|
348
|
+
'start_timestamp',
|
349
|
+
'tax_type_for_remittance_charge',
|
350
|
+
'tel',
|
351
|
+
'memo',
|
352
|
+
'used_in_ap',
|
353
|
+
'used_in_ar',
|
354
|
+
'withholding_tax_base',
|
355
|
+
'withholding_tax_segment',
|
356
|
+
'zip',
|
357
|
+
'data_partner'
|
358
|
+
]
|
359
|
+
params = {}
|
360
|
+
available_keys.each do |key|
|
361
|
+
params[key.to_s] = options[key.to_sym]
|
362
|
+
end
|
363
|
+
params['format'] = 'json'
|
364
|
+
|
310
365
|
uri = URI.parse(@base_url + '/customer_masters/create')
|
311
|
-
api_request(uri,
|
366
|
+
api_request(uri, 'POST', params)
|
312
367
|
end
|
313
368
|
|
314
369
|
def create_sale(options)
|
315
|
-
params = {
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
370
|
+
params = {
|
371
|
+
'price_including_tax' => options[:price_including_tax],
|
372
|
+
'realization_timestamp' => options[:realization_timestamp],
|
373
|
+
'customer_master_code' => options[:customer_master_code],
|
374
|
+
'dept_code' => options[:dept_code],
|
375
|
+
'reason_master_code' => options[:reason_master_code],
|
376
|
+
'dc' => options[:dc],
|
377
|
+
'memo' => options[:memo],
|
378
|
+
'tax_code' => options[:tax_code],
|
379
|
+
'sales_tax' => options[:sales_tax],
|
380
|
+
'scheduled_memo' => options[:scheduled_memo],
|
381
|
+
'scheduled_receive_timestamp' => options[:scheduled_receive_timestamp],
|
382
|
+
'tag_list' => options[:tag_list],
|
383
|
+
'data_partner' => options[:data_partner],
|
384
|
+
'format' => 'json'
|
385
|
+
}
|
330
386
|
uri = URI.parse(@base_url + '/ar/create')
|
331
|
-
api_request(uri,
|
387
|
+
api_request(uri, 'POST', params)
|
332
388
|
end
|
333
389
|
|
334
390
|
def create_purchase(options)
|
335
|
-
params = {
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
391
|
+
params = {
|
392
|
+
'price_including_tax' => options[:price_including_tax],
|
393
|
+
'accrual_timestamp' => options[:accrual_timestamp],
|
394
|
+
'customer_master_code' => options[:customer_master_code],
|
395
|
+
'dept_code' => options[:dept_code],
|
396
|
+
'reason_master_code' => options[:reason_master_code],
|
397
|
+
'dc' => options[:dc],
|
398
|
+
'memo' => options[:memo],
|
399
|
+
'tax_code' => options[:tax_code],
|
400
|
+
'port_type' => options[:port_type],
|
401
|
+
'tag_list' => options[:tag_list],
|
402
|
+
'data_partner' => options[:data_partner],
|
403
|
+
'format' => 'json'
|
404
|
+
}
|
348
405
|
uri = URI.parse(@base_url + '/ap_payments/create')
|
349
|
-
api_request(uri,
|
406
|
+
api_request(uri, 'POST', params)
|
350
407
|
end
|
351
408
|
|
352
409
|
def create_staff_data(options)
|
353
|
-
params = {
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
410
|
+
params = {
|
411
|
+
'staff_id' => options[:staff_id],
|
412
|
+
'code' => options[:code],
|
413
|
+
'memo' => options[:memo],
|
414
|
+
'value' => options[:value],
|
415
|
+
'start_timestamp' => options[:start_timestamp],
|
416
|
+
'format' => 'json'
|
417
|
+
}
|
360
418
|
|
361
419
|
if options[:finish_timestamp]
|
362
420
|
params[:finish_timestamp] = options[:finish_timestamp]
|
@@ -365,132 +423,180 @@ class TsubaisoSDK
|
|
365
423
|
end
|
366
424
|
|
367
425
|
uri = URI.parse(@base_url + '/staff_data/create')
|
368
|
-
api_request(uri,
|
426
|
+
api_request(uri, 'POST', params)
|
369
427
|
end
|
370
428
|
|
371
429
|
def create_manual_journal(options)
|
372
|
-
params = {
|
373
|
-
|
374
|
-
|
375
|
-
|
430
|
+
params = {
|
431
|
+
'journal_timestamp' => options[:journal_timestamp],
|
432
|
+
'journal_dcs' => make_journal_dcs(options[:journal_dcs]),
|
433
|
+
'data_partner' => options[:data_partner],
|
434
|
+
'format' => 'json'
|
435
|
+
}
|
376
436
|
|
377
437
|
uri = URI.parse(@base_url + '/manual_journals/create')
|
378
|
-
api_request(uri,
|
438
|
+
api_request(uri, 'POST', params)
|
379
439
|
end
|
380
440
|
|
381
441
|
def create_reimbursement(options)
|
382
|
-
params = {
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
442
|
+
params = {
|
443
|
+
'format' => 'json',
|
444
|
+
'applicant' => options[:applicant],
|
445
|
+
'application_term' => options[:application_term],
|
446
|
+
'staff_code' => options[:staff_code],
|
447
|
+
'dept_code' => options[:dept_code],
|
448
|
+
'memo' => options[:memo]
|
449
|
+
}
|
450
|
+
uri = URI.parse(@base_url + '/reimbursements/create/')
|
451
|
+
api_request(uri, 'POST', params)
|
391
452
|
end
|
392
453
|
|
393
454
|
def create_reimbursement_transaction(options)
|
394
|
-
params = {
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
455
|
+
params = {
|
456
|
+
'format' => 'json',
|
457
|
+
'reimbursement_id' => options[:reimbursement_id].to_i,
|
458
|
+
'transaction_timestamp' => options[:transaction_timestamp],
|
459
|
+
'price_value' => options[:price_value],
|
460
|
+
'reason_code' => options[:reason_code],
|
461
|
+
'port_type' => options[:port_type],
|
462
|
+
'dc' => options[:dc],
|
463
|
+
'brief' => options[:brief],
|
464
|
+
'memo' => options[:memo],
|
465
|
+
'tag_list' => options[:tag_list],
|
466
|
+
'tax_type' => options[:tax_type],
|
467
|
+
'data_partner' => options[:data_partner]
|
468
|
+
}
|
407
469
|
uri = URI.parse(@base_url + '/reimbursement_transactions/create/')
|
408
|
-
api_request(uri,
|
470
|
+
api_request(uri, 'POST', params)
|
409
471
|
end
|
410
472
|
|
411
473
|
def create_dept(options)
|
412
|
-
params = {
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
474
|
+
params = {
|
475
|
+
'format' => 'json',
|
476
|
+
'sort_no' => options[:sort_no],
|
477
|
+
'code' => options[:code],
|
478
|
+
'name' => options[:name],
|
479
|
+
'name_abbr' => options[:name_abbr],
|
480
|
+
'color' => options[:color],
|
481
|
+
'memo' => options[:memo],
|
482
|
+
'start_date' => options[:start_date],
|
483
|
+
'finish_date' => options[:finish_date]
|
484
|
+
}
|
422
485
|
uri = URI.parse(@base_url + '/depts/create/')
|
423
|
-
api_request(uri,
|
486
|
+
api_request(uri, 'POST', params)
|
424
487
|
end
|
425
488
|
|
426
489
|
def create_tag(options)
|
427
|
-
params = {
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
490
|
+
params = {
|
491
|
+
'format' => 'json',
|
492
|
+
'code' => options[:code],
|
493
|
+
'name' => options[:name],
|
494
|
+
'sort_no' => options[:sort_no],
|
495
|
+
'tag_group_code' => options[:tag_group_code],
|
496
|
+
'start_ymd' => options[:start_ymd],
|
497
|
+
'finish_ymd' => options[:finish_ymd]
|
498
|
+
}
|
435
499
|
uri = URI.parse(@base_url + '/tags/create/')
|
436
|
-
api_request(uri,
|
500
|
+
api_request(uri, 'POST', params)
|
437
501
|
end
|
438
502
|
|
439
503
|
def create_journal_distribution(options)
|
440
|
-
params = {
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
504
|
+
params = {
|
505
|
+
'format' => 'json',
|
506
|
+
'search_conditions' => {
|
507
|
+
'start_date' => options[:start_date],
|
508
|
+
'finish_date' => options[:finish_date],
|
509
|
+
'account_codes' => options[:account_codes],
|
510
|
+
'dept_code' => options[:dept_code],
|
511
|
+
'tag_list' => options[:tag_list]
|
512
|
+
},
|
513
|
+
'title' => options[:title],
|
514
|
+
'target_timestamp' => options[:target_timestamp],
|
515
|
+
'memo' => options[:memo],
|
516
|
+
'criteria' => options[:criteria],
|
517
|
+
'distribution_conditions' => options[:distribution_conditions]
|
518
|
+
}
|
454
519
|
uri = URI.parse(@base_url + '/journal_distributions/create/')
|
455
|
-
api_request(uri,
|
520
|
+
api_request(uri, 'POST', params)
|
456
521
|
end
|
457
522
|
|
458
523
|
def update_sale(options)
|
459
|
-
params = options.merge({
|
524
|
+
params = options.merge({ 'format' => 'json' })
|
460
525
|
uri = URI.parse(@base_url + "/ar/update/#{options[:id]}")
|
461
|
-
api_request(uri,
|
526
|
+
api_request(uri, 'POST', params)
|
462
527
|
end
|
463
528
|
|
464
529
|
def update_purchase(options)
|
465
|
-
params = options.merge({
|
530
|
+
params = options.merge({ 'format' => 'json' })
|
466
531
|
|
467
532
|
uri = URI.parse(@base_url + "/ap_payments/update/#{options[:id]}")
|
468
|
-
api_request(uri,
|
533
|
+
api_request(uri, 'POST', params)
|
469
534
|
end
|
470
535
|
|
471
536
|
def update_customer(options)
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
537
|
+
available_keys = [
|
538
|
+
'accountant_email',
|
539
|
+
'address',
|
540
|
+
'administrator_name',
|
541
|
+
'ap_account_code',
|
542
|
+
'ap_reason_selections',
|
543
|
+
'ar_account_code',
|
544
|
+
'ar_reason_selections',
|
545
|
+
'bank_account_number',
|
546
|
+
'bank_branch_code',
|
547
|
+
'bank_branch_name',
|
548
|
+
'bank_code',
|
549
|
+
'bank_course',
|
550
|
+
'bank_name',
|
551
|
+
'bank_nominee',
|
552
|
+
'bill_detail_round_rule',
|
553
|
+
'code',
|
554
|
+
'dept_code',
|
555
|
+
'email',
|
556
|
+
'fax',
|
557
|
+
'finish_timestamp',
|
558
|
+
'foreign_currency',
|
559
|
+
'is_valid',
|
560
|
+
'locale',
|
561
|
+
'name',
|
562
|
+
'name_kana',
|
563
|
+
'need_tax_deductions',
|
564
|
+
'pay_closing_schedule',
|
565
|
+
'pay_interface_id',
|
566
|
+
'pay_sight',
|
567
|
+
'receive_closing_schedule',
|
568
|
+
'receive_interface_id',
|
569
|
+
'receive_sight',
|
570
|
+
'sender_name',
|
571
|
+
'sort_no',
|
572
|
+
'start_timestamp',
|
573
|
+
'tax_type_for_remittance_charge',
|
574
|
+
'tel',
|
575
|
+
'memo',
|
576
|
+
'used_in_ap',
|
577
|
+
'used_in_ar',
|
578
|
+
'withholding_tax_base',
|
579
|
+
'withholding_tax_segment',
|
580
|
+
'zip',
|
581
|
+
'data_partner'
|
582
|
+
]
|
583
|
+
params = {}
|
584
|
+
available_keys.each do |key|
|
585
|
+
params[key.to_s] = options[key.to_sym]
|
586
|
+
end
|
587
|
+
params['format'] = 'json'
|
483
588
|
|
484
589
|
uri = URI.parse(@base_url + "/customer_masters/update/#{options[:id]}")
|
485
|
-
api_request(uri,
|
590
|
+
api_request(uri, 'POST', params)
|
486
591
|
end
|
487
592
|
|
488
593
|
def update_staff_data(options)
|
489
|
-
params = {
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
594
|
+
params = {
|
595
|
+
'memo' => options[:memo],
|
596
|
+
'value' => options[:value],
|
597
|
+
'start_timestamp' => options[:start_timestamp],
|
598
|
+
'format' => 'json'
|
599
|
+
}
|
494
600
|
|
495
601
|
if options[:finish_timestamp]
|
496
602
|
params[:finish_timestamp] = options[:finish_timestamp]
|
@@ -499,162 +605,168 @@ class TsubaisoSDK
|
|
499
605
|
end
|
500
606
|
|
501
607
|
uri = URI.parse(@base_url + "/staff_data/update/#{options[:id]}")
|
502
|
-
api_request(uri,
|
608
|
+
api_request(uri, 'POST', params)
|
503
609
|
end
|
504
610
|
|
505
611
|
def update_manual_journal(options)
|
506
|
-
params = {
|
507
|
-
|
508
|
-
|
509
|
-
|
612
|
+
params = {
|
613
|
+
'journal_timestamp' => options[:journal_timestamp],
|
614
|
+
'journal_dcs' => make_journal_dcs(options[:journal_dcs]),
|
615
|
+
'data_partner' => options[:data_partner],
|
616
|
+
'format' => 'json'
|
617
|
+
}
|
510
618
|
|
511
619
|
uri = URI.parse(@base_url + "/manual_journals/update/#{options[:id]}")
|
512
|
-
api_request(uri,
|
620
|
+
api_request(uri, 'POST', params)
|
513
621
|
end
|
514
622
|
|
515
623
|
def update_reimbursement(reimbursement_id, options)
|
516
|
-
params = {
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
624
|
+
params = {
|
625
|
+
'format' => 'json',
|
626
|
+
'applicant' => options[:applicant],
|
627
|
+
'application_term' => options[:application_term],
|
628
|
+
'staff_code' => options[:staff_code],
|
629
|
+
'dept_code' => options[:dept_code],
|
630
|
+
'memo' => options[:memo]
|
631
|
+
}
|
523
632
|
uri = URI.parse(@base_url + "/reimbursements/update/#{reimbursement_id}")
|
524
|
-
api_request(uri,
|
633
|
+
api_request(uri, 'POST', params)
|
525
634
|
end
|
526
635
|
|
527
636
|
def update_reimbursement_transaction(options)
|
528
|
-
params = {
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
637
|
+
params = {
|
638
|
+
'format' => 'json',
|
639
|
+
'port_type' => options[:port_type],
|
640
|
+
'transaction_timestamp' => options[:transaction_timestamp],
|
641
|
+
'price_value' => options[:price_value],
|
642
|
+
'dc' => options[:dc],
|
643
|
+
'reason_code' => options[:reason_code],
|
644
|
+
'brief' => options[:brief],
|
645
|
+
'memo' => options[:memo],
|
646
|
+
'tag_list' => options[:tag_list],
|
647
|
+
'tax_type' => options[:tax_type],
|
648
|
+
'data_partner' => options[:data_partner]
|
649
|
+
}
|
540
650
|
uri = URI.parse(@base_url + "/reimbursement_transactions/update/#{options[:id]}")
|
541
|
-
api_request(uri,
|
651
|
+
api_request(uri, 'POST', params)
|
542
652
|
end
|
543
653
|
|
544
654
|
def update_dept(dept_id, options)
|
545
|
-
params = {
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
655
|
+
params = {
|
656
|
+
'format' => 'json',
|
657
|
+
'sort_no' => options[:sort_no],
|
658
|
+
'code' => options[:code],
|
659
|
+
'name' => options[:name],
|
660
|
+
'name_abbr' => options[:name_abbr],
|
661
|
+
'color' => options[:color],
|
662
|
+
'memo' => options[:memo],
|
663
|
+
'start_date' => options[:start_date],
|
664
|
+
'finish_date' => options[:finish_date]
|
665
|
+
}
|
555
666
|
uri = URI.parse(@base_url + "/depts/update/#{dept_id}")
|
556
|
-
api_request(uri,
|
667
|
+
api_request(uri, 'POST', params)
|
557
668
|
end
|
558
669
|
|
559
670
|
def update_tag(tag_id, options)
|
560
|
-
params = {
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
671
|
+
params = {
|
672
|
+
'format' => 'json',
|
673
|
+
'code' => options[:code],
|
674
|
+
'name' => options[:name],
|
675
|
+
'sort_no' => options[:sort_no],
|
676
|
+
'tag_group_code' => options[:tag_group_code],
|
677
|
+
'start_ymd' => options[:start_ymd],
|
678
|
+
'finish_ymd' => options[:finish_ymd]
|
679
|
+
}
|
568
680
|
uri = URI.parse(@base_url + "/tags/update/#{tag_id}")
|
569
|
-
api_request(uri,
|
681
|
+
api_request(uri, 'POST', params)
|
570
682
|
end
|
571
683
|
|
572
684
|
def destroy_sale(voucher)
|
573
|
-
sale_id = voucher.scan(/\d/).join(
|
574
|
-
params = {
|
685
|
+
sale_id = voucher.scan(/\d/).join('')
|
686
|
+
params = { 'format' => 'json' }
|
575
687
|
uri = URI.parse(@base_url + "/ar/destroy/#{sale_id}")
|
576
|
-
api_request(uri,
|
688
|
+
api_request(uri, 'POST', params)
|
577
689
|
end
|
578
690
|
|
579
691
|
def destroy_purchase(voucher)
|
580
|
-
purchase_id = voucher.scan(/\d/).join(
|
581
|
-
params = {
|
692
|
+
purchase_id = voucher.scan(/\d/).join('')
|
693
|
+
params = { 'format' => 'json' }
|
582
694
|
uri = URI.parse(@base_url + "/ap/destroy/#{purchase_id}")
|
583
|
-
api_request(uri,
|
695
|
+
api_request(uri, 'POST', params)
|
584
696
|
end
|
585
697
|
|
586
698
|
def destroy_customer(customer_id)
|
587
|
-
params = {
|
699
|
+
params = { 'format' => 'json' }
|
588
700
|
uri = URI.parse(@base_url + "/customer_masters/destroy/#{customer_id}")
|
589
|
-
api_request(uri,
|
701
|
+
api_request(uri, 'POST', params)
|
590
702
|
end
|
591
703
|
|
592
704
|
def destroy_staff_data(staff_data_id)
|
593
|
-
params = {
|
705
|
+
params = { 'format' => 'json' }
|
594
706
|
uri = URI.parse(@base_url + "/staff_data/destroy/#{staff_data_id}")
|
595
|
-
api_request(uri,
|
707
|
+
api_request(uri, 'POST', params)
|
596
708
|
end
|
597
709
|
|
598
710
|
def destroy_manual_journal(manual_journal_id)
|
599
|
-
params = {
|
711
|
+
params = { 'format' => 'json' }
|
600
712
|
uri = URI.parse(@base_url + "/manual_journals/destroy/#{manual_journal_id}")
|
601
|
-
api_request(uri,
|
713
|
+
api_request(uri, 'POST', params)
|
602
714
|
end
|
603
715
|
|
604
716
|
def destroy_reimbursement(reimbursement_id)
|
605
|
-
params = {
|
717
|
+
params = { 'format' => 'json' }
|
606
718
|
uri = URI.parse(@base_url + "/reimbursements/destroy/#{reimbursement_id}")
|
607
|
-
api_request(uri,
|
719
|
+
api_request(uri, 'POST', params)
|
608
720
|
end
|
609
721
|
|
610
722
|
def destroy_reimbursement_transaction(reimbursement_transaction_id)
|
611
|
-
params = {
|
723
|
+
params = { 'format' => 'json' }
|
612
724
|
uri = URI.parse(@base_url + "/reimbursement_transactions/destroy/#{reimbursement_transaction_id}")
|
613
|
-
api_request(uri,
|
725
|
+
api_request(uri, 'POST', params)
|
614
726
|
end
|
615
727
|
|
616
728
|
def destroy_dept(dept_id)
|
617
|
-
params = {
|
729
|
+
params = { 'format' => 'json' }
|
618
730
|
uri = URI.parse(@base_url + "/depts/destroy/#{dept_id}")
|
619
|
-
api_request(uri,
|
731
|
+
api_request(uri, 'POST', params)
|
620
732
|
end
|
621
733
|
|
622
734
|
def destroy_tag(tag_id)
|
623
|
-
params = {
|
735
|
+
params = { 'format' => 'json' }
|
624
736
|
uri = URI.parse(@base_url + "/tags/destroy/#{tag_id}")
|
625
|
-
api_request(uri,
|
737
|
+
api_request(uri, 'POST', params)
|
626
738
|
end
|
627
739
|
|
628
740
|
def destroy_journal_distribution(journal_distribution_id)
|
629
|
-
params = {
|
741
|
+
params = { 'format' => 'json' }
|
630
742
|
uri = URI.parse(@base_url + "/journal_distributions/destroy/#{journal_distribution_id}")
|
631
|
-
api_request(uri,
|
743
|
+
api_request(uri, 'POST', params)
|
632
744
|
end
|
633
745
|
|
634
746
|
# Alpha version now.
|
635
747
|
def destroy_fixed_asset(fixed_asset_id)
|
636
|
-
params = {
|
748
|
+
params = { 'format' => 'json' }
|
637
749
|
uri = URI.parse(@base_url + "/fixed_assets/destroy/#{fixed_asset_id}")
|
638
|
-
api_request(uri,
|
750
|
+
api_request(uri, 'POST', params)
|
639
751
|
end
|
640
752
|
|
641
753
|
private
|
642
754
|
|
643
755
|
def api_request(uri, http_verb, params)
|
644
756
|
http = Net::HTTP.new(uri.host, uri.port)
|
645
|
-
initheader = {'Content-Type' => 'application/json'}
|
757
|
+
initheader = { 'Content-Type' => 'application/json' }
|
646
758
|
http.use_ssl = true if @base_url =~ /^https/
|
647
|
-
if http_verb ==
|
759
|
+
if http_verb == 'GET'
|
648
760
|
request = Net::HTTP::Get.new(uri.path, initheader)
|
649
761
|
else
|
650
762
|
request = Net::HTTP::Post.new(uri.path, initheader)
|
651
763
|
end
|
652
|
-
request[
|
764
|
+
request['Access-Token'] = @access_token
|
653
765
|
request.body = params.to_json
|
654
766
|
response = http.request(request)
|
655
767
|
if response.body
|
656
768
|
begin
|
657
|
-
{:status => response.code, :json => recursive_symbolize_keys(JSON.
|
769
|
+
{ :status => response.code, :json => recursive_symbolize_keys(JSON.parse(response.body)) }
|
658
770
|
rescue
|
659
771
|
response.body
|
660
772
|
end
|
@@ -668,7 +780,7 @@ class TsubaisoSDK
|
|
668
780
|
when Hash
|
669
781
|
Hash[
|
670
782
|
data.map do |k, v|
|
671
|
-
[
|
783
|
+
[k.respond_to?(:to_sym) ? k.to_sym : k, recursive_symbolize_keys(v)]
|
672
784
|
end
|
673
785
|
]
|
674
786
|
when Enumerable
|
@@ -680,22 +792,29 @@ class TsubaisoSDK
|
|
680
792
|
|
681
793
|
def make_journal_dcs(journal_dcs)
|
682
794
|
return nil if journal_dcs.nil?
|
683
|
-
journal_dcs.map {|journal_dc| make_journal_dc(journal_dc)}
|
795
|
+
journal_dcs.map { |journal_dc| make_journal_dc(journal_dc) }
|
684
796
|
end
|
685
797
|
|
686
798
|
def make_journal_dc(journal_dc)
|
687
|
-
{
|
688
|
-
|
689
|
-
|
690
|
-
|
799
|
+
{ 'debit' => make_journal_dc_oneside(journal_dc[:debit]),
|
800
|
+
'credit' => make_journal_dc_oneside(journal_dc[:credit]),
|
801
|
+
'dept_code' => journal_dc[:dept_code],
|
802
|
+
'memo' => journal_dc[:memo] }
|
691
803
|
end
|
692
804
|
|
693
805
|
def make_journal_dc_oneside(side)
|
694
806
|
return nil if side.nil?
|
695
|
-
{
|
696
|
-
|
697
|
-
|
698
|
-
|
807
|
+
{ 'account_code' => side[:account_code].to_s,
|
808
|
+
'price_including_tax' => side[:price_including_tax],
|
809
|
+
'tax_type' => side[:tax_type],
|
810
|
+
'sales_tax' => side[:sales_tax] }
|
811
|
+
end
|
812
|
+
|
813
|
+
def next_customer_code
|
814
|
+
params = {
|
815
|
+
'format' => 'json'
|
699
816
|
}
|
817
|
+
uri = URI.parse(@base_url + '/customer_masters/next_code')
|
818
|
+
api_request(uri, 'GET', params)
|
700
819
|
end
|
701
820
|
end
|