sagekit 0.1.0 → 0.1.2.2

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.org +44 -14
  4. data/docs/index.html +201 -144
  5. data/docs/style.css +9 -0
  6. data/lib/sagekit/client.rb +40 -31
  7. data/lib/sagekit/collection.rb +20 -0
  8. data/lib/sagekit/objects/invoice_batch.rb +4 -0
  9. data/lib/sagekit/resource.rb +2 -0
  10. data/lib/sagekit/resources/AP/invoice_batches.rb +27 -0
  11. data/lib/sagekit/resources/{vendor_contract_costs.rb → AP/vendor_contract_costs.rb} +3 -3
  12. data/lib/sagekit/resources/{vendor_groups.rb → AP/vendor_groups.rb} +4 -4
  13. data/lib/sagekit/resources/{vendor_terms.rb → AP/vendor_terms.rb} +2 -2
  14. data/lib/sagekit/resources/{vendors.rb → AP/vendors.rb} +5 -5
  15. data/lib/sagekit/resources/{account_sets.rb → AR/account_sets.rb} +2 -2
  16. data/lib/sagekit/resources/{customer_groups.rb → AR/customer_groups.rb} +2 -2
  17. data/lib/sagekit/resources/{customer_terms.rb → AR/customer_terms.rb} +2 -2
  18. data/lib/sagekit/resources/{customers.rb → AR/customers.rb} +2 -2
  19. data/lib/sagekit/resources/{sales_persons.rb → AR/sales_persons.rb} +3 -2
  20. data/lib/sagekit/resources/{categories.rb → IC/categories.rb} +4 -4
  21. data/lib/sagekit/resources/{items.rb → IC/items.rb} +4 -4
  22. data/lib/sagekit/resources/{locations.rb → IC/locations.rb} +4 -4
  23. data/lib/sagekit/resources/{credit_notes.rb → OE/credit_notes.rb} +2 -2
  24. data/lib/sagekit/resources/OE/invoices.rb +12 -0
  25. data/lib/sagekit/resources/OE/sales_history.rb +16 -0
  26. data/lib/sagekit/resources/OE/sales_orders.rb +20 -0
  27. data/lib/sagekit/resources/{purchase_orders.rb → PO/purchase_orders.rb} +2 -2
  28. data/lib/sagekit/resources/{receipts.rb → PO/receipts.rb} +2 -2
  29. data/lib/sagekit/resources/PO/vendor_contract_costs.rb +27 -0
  30. data/lib/sagekit/version.rb +1 -1
  31. data/lib/sagekit.rb +35 -18
  32. metadata +30 -23
  33. data/lib/sagekit/resources/invoices.rb +0 -12
  34. data/lib/sagekit/resources/sales_history.rb +0 -16
  35. data/lib/sagekit/resources/sales_orders.rb +0 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf9a2ad3103e00fb5a7c70db398b14b693da3458a3dd826f01ca453d37753cc2
4
- data.tar.gz: 8bc67fc26a566568542d8675741a4593942014f3e2872e4f34f79cf2bb3bce7d
3
+ metadata.gz: fda9e512edd1a664acd1a00b5b43e6c0948521aeff594789302bdb504071f78b
4
+ data.tar.gz: bb343128655e1da30c90a12d375255462028bb1da6201741af27f95aef12ca49
5
5
  SHA512:
6
- metadata.gz: adf9a8f1aed9563904da68f88238e9349ffe712b60d767661701e10206795037db32060d8c0e3784816c1bf6326549a9c871a53f3dab8babf4e75fa4e72dbf3a
7
- data.tar.gz: 9fb19570edd2aacbd78189a4f62589c357bd0afa70ed7ef955eb6dcf2955752d4c57cb23813dd5d48c7ea2adb1c64846779e6b1534be014029c7da27ebdfb879
6
+ metadata.gz: bc011fbb60922835e7f9a84625270ed04a08add389b57423f9a1bc7dfeb78321ec57e91d453147dfe4dc418c138076af294f453aa74de0b47663daeef1af9ab9
7
+ data.tar.gz: bb44641857ac43262528879c3bfb747c2cb6e695dc8d59cfdf3a451c27b793ce9835bc11cc269b61c76c8489179b3731d645501b2063172a96569f6f4bf243b0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
1
  ## 0.1.0 (2021-09-30)
2
2
 
3
3
  - First release
4
+
5
+ ## 0.1.1 (2021-10-05)
6
+
7
+ - Allow to create sales orders with json body
8
+
9
+ ## 0.1.2 (2021-10-14)
10
+
11
+ - Add collection rerouces for pagination
12
+ - Fixed IC Invoices endpoint
13
+
14
+ ## 0.1.2.1 (2021-12-22)
15
+
16
+ - Organize recources by Modules
17
+ - Add endpoint for AP Invoice Batches
18
+
19
+
20
+ ## 0.1.2.2 (2021-12-22)
21
+
22
+ - Fixed AP Invoice Batches URL typo
data/README.org CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  Sagekit is a ruby gem client library to talk with Sage300 API.
10
10
 
11
+ [[https://badge.fury.io/rb/sagekit.svg]]
12
+
11
13
  The gem maps as closely as possible to the Sage300 API so you can easily convert API examples to gem code.
12
14
  Responses are created as objects like. They're built using OpenStruct so you can easily access data in a Ruby-ish way.
13
15
 
@@ -110,6 +112,14 @@ To reduce the number of requests necessary for transferring large datasets, the
110
112
 
111
113
  The =$count= query option specifies whether a count of all records will be returned as part of the response feed, regardless of how many records are actually returned in the response.
112
114
 
115
+ - ~$select~
116
+
117
+ The =$select= query option get records with a subset of properties to include in the response
118
+
119
+ #+begin_src ruby
120
+ client.sales_orders.list('COMPANY', '$select':'OrderNumber,CustomerNumber')
121
+ #+end_src
122
+
113
123
  - ~$filter~
114
124
 
115
125
  The =$filter= query option specifies a set of criteria that records must satisfy before being returned, effectively allowing the caller to retrieve a subset of the resource collection based on a specified filter.
@@ -140,7 +150,7 @@ client.customers.list('COMPANY', '$filter':"CustomerNumber eq '112321' and Order
140
150
  client.customers.list('COMPANY')
141
151
  client.customers.retreive('COMPANY', 'IDCUST')
142
152
  client.customers.create('COMPANY', {})
143
- client.customers.update('COMPANY', {})
153
+ client.customers.update('COMPANY', 'IDCUST', {})
144
154
  client.customers.delete('COMPANY', 'IDCUST')
145
155
  #+end_src
146
156
 
@@ -150,7 +160,7 @@ client.customers.delete('COMPANY', 'IDCUST')
150
160
  client.customer_groups.list('COMPANY')
151
161
  client.customer_groups.retreive('COMPANY', 'GROUPCODE')
152
162
  client.customer_groups.create('COMPANY', {})
153
- client.customer_groups.update('COMPANY', {})
163
+ client.customer_groups.update('COMPANY', 'GROUPCODE', {})
154
164
  client.customer_groups.delete('COMPANY', 'GROUPCODE')
155
165
  #+end_src
156
166
 
@@ -160,7 +170,7 @@ client.customer_groups.delete('COMPANY', 'GROUPCODE')
160
170
  client.customer_terms.list('COMPANY')
161
171
  client.customer_terms.retreive('COMPANY', 'TERMSCODE')
162
172
  client.customer_terms.create('COMPANY', {})
163
- client.customer_terms.update('COMPANY', {})
173
+ client.customer_terms.update('COMPANY', 'TERMSCODE', {})
164
174
  client.customer_terms.delete('COMPANY', 'TERMSCODE')
165
175
  #+end_src
166
176
 
@@ -170,7 +180,7 @@ client.customer_terms.delete('COMPANY', 'TERMSCODE')
170
180
  client.sales_persons.list('COMPANY')
171
181
  client.sales_persons.retreive('COMPANY', 'KEY')
172
182
  client.sales_persons.create('COMPANY', {})
173
- client.sales_persons.update('COMPANY', {})
183
+ client.sales_persons.update('COMPANY', 'KEY', {})
174
184
  client.sales_persons.delete('COMPANY', 'KEY')
175
185
  client.sales_persons.statistics('COMPANY')
176
186
  client.sales_persons.filter_stats('COMPANY', 'SALESPERSON', 'YEAR', 'PERIDO')
@@ -182,20 +192,28 @@ client.sales_persons.filter_stats('COMPANY', 'SALESPERSON', 'YEAR', 'PERIDO')
182
192
  client.account_sets.list('COMPANY')
183
193
  client.account_sets.retreive('COMPANY', 'KEY')
184
194
  client.account_sets.create('COMPANY', {})
185
- client.account_sets.update('COMPANY', {})
195
+ client.account_sets.update('COMPANY', 'KEY', {})
186
196
  client.account_sets.delete('COMPANY', 'KEY')
187
197
  #+end_src
188
198
 
189
199
  *** Account Payable (AP)
190
200
 
201
+ **** Invoices Batches
202
+ #+begin_src ruby
203
+ client.invoice_batches.list('COMPANY')
204
+ client.invoice_batches.retreive('COMPANY', 'NUMBER')
205
+ client.invoice_batches.create('COMPANY', {})
206
+ client.invoice_batches.update('COMPANY', 'NUMBER', {})
207
+ #+end_src
208
+
191
209
  **** Vendors
192
210
 
193
211
  #+begin_src ruby
194
212
  client.vendors.list('COMPANY')
195
213
  client.vendors.retreive('COMPANY', 'VENDCODE')
196
214
  client.vendors.create('COMPANY', {})
197
- client.vendors.update('COMPANY', {})
198
- client.vendors.delete('COMPANY', 'NUMBER')
215
+ client.vendors.update('COMPANY', 'VENDCODE', {})
216
+ client.vendors.delete('COMPANY', 'VENDCODE')
199
217
  client.vendors.statistics('COMPANY', 'VENDCODE')
200
218
  #+end_src
201
219
 
@@ -205,7 +223,7 @@ client.vendors.statistics('COMPANY', 'VENDCODE')
205
223
  client.vendor_groups.list('COMPANY')
206
224
  client.vendor_groups.retreive('COMPANY', 'GROUPCODE')
207
225
  client.vendor_groups.create('COMPANY', {})
208
- client.vendor_groups.update('COMPANY', {})
226
+ client.vendor_groups.update('COMPANY', 'GROUPCODE', {})
209
227
  client.vendor_groups.delete('COMPANY', 'GROUPCODE')
210
228
  #+end_src
211
229
 
@@ -215,7 +233,7 @@ client.vendor_groups.delete('COMPANY', 'GROUPCODE')
215
233
  client.vendor_terms.list('COMPANY')
216
234
  client.vendor_terms.retreive('COMPANY', 'TERMSCODE')
217
235
  client.vendor_terms.create('COMPANY', {})
218
- client.vendor_terms.update('COMPANY', {})
236
+ client.vendor_terms.update('COMPANY', 'TERMSCODE', {})
219
237
  client.vendor_terms.delete('COMPANY', 'TERMSCODE')
220
238
  #+end_src
221
239
 
@@ -227,7 +245,7 @@ client.vendor_terms.delete('COMPANY', 'TERMSCODE')
227
245
  client.items.list('COMPANY')
228
246
  client.items.retreive('COMPANY', 'ITEMNO')
229
247
  client.items.create('COMPANY', {})
230
- client.items.update('COMPANY', {})
248
+ client.items.update('COMPANY', 'ITEMNO', {})
231
249
  client.items.delete('COMPANY', 'ITEMNO')
232
250
  #+end_src
233
251
 
@@ -235,10 +253,10 @@ client.items.delete('COMPANY', 'ITEMNO')
235
253
 
236
254
  #+begin_src ruby
237
255
  client.categories.list('COMPANY')
238
- client.categories.retreive('COMPANY', 'CATEGORYCODE')
256
+ client.categories.retreive('COMPANY', 'CATEGORY')
239
257
  client.categories.create('COMPANY', {})
240
- client.categories.update('COMPANY', {})
241
- client.categories.delete('COMPANY', 'CATEGORYCODE')
258
+ client.categories.update('COMPANY', 'CATEGORY', {})
259
+ client.categories.delete('COMPANY', 'CATEGORY')
242
260
  #+end_src
243
261
 
244
262
  **** Locations
@@ -247,7 +265,7 @@ client.categories.delete('COMPANY', 'CATEGORYCODE')
247
265
  client.locations.list('COMPANY')
248
266
  client.locations.retreive('COMPANY', 'LOCATION')
249
267
  client.locations.create('COMPANY', {})
250
- client.locations.update('COMPANY', {})
268
+ client.locations.update('COMPANY', 'LOCATION', {})
251
269
  client.locations.delete('COMPANY', 'LOCATION')
252
270
  #+end_src
253
271
 
@@ -261,6 +279,11 @@ client.sales_orders.retreive('COMPANY', 'ORDERID')
261
279
  client.sales_orders.create('COMPANY', {})
262
280
  #+end_src
263
281
 
282
+ Create sales order passing json payload instead of ruby atributes.
283
+ #+begin_src ruby
284
+ client.sales_orders.create_json('COMPANY', {})
285
+ #+end_src
286
+
264
287
  **** Invoices
265
288
 
266
289
  #+begin_src ruby
@@ -344,3 +367,10 @@ Feel free to open an [[https://github.com/lepepe/sagekit/issues][issue]] to get
344
367
  ** License
345
368
 
346
369
  The gem is available as open source under the terms of the [[https://opensource.org/licenses/MIT][MIT License]].
370
+
371
+ ** TODO Sagekit todo list.
372
+ + [ ] Testing API requests
373
+ + [ ] Add endpoints for:
374
+ + [ ] Common Services
375
+ + [ ] General Ledger
376
+ + [ ] Complete other module's endpoints