tsubaiso-sdk 1.2.5 → 1.2.6
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/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
|