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
data/docs/index.html CHANGED
@@ -3,7 +3,7 @@
3
3
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
4
  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
5
  <head>
6
- <!-- 2021-09-30 Thu 22:59 -->
6
+ <!-- 2021-12-22 Wed 22:39 -->
7
7
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1" />
9
9
  <title>Sagekit</title>
@@ -208,59 +208,61 @@
208
208
  <h2>Table of Contents</h2>
209
209
  <div id="text-table-of-contents" role="doc-toc">
210
210
  <ul>
211
- <li><a href="#org4a2b8c2">Installation</a></li>
212
- <li><a href="#org2cc0de7">Usage</a></li>
213
- <li><a href="#orgb2253b7">Resources</a>
211
+ <li><a href="#org0e0a6d4">Installation</a></li>
212
+ <li><a href="#org8e7faa7">Usage</a></li>
213
+ <li><a href="#org25104bb">Resources</a>
214
214
  <ul>
215
- <li><a href="#org872b3df">Query options</a></li>
216
- <li><a href="#org5114ec7">Account Receivable (AR)</a>
215
+ <li><a href="#org907368f">Query options</a></li>
216
+ <li><a href="#org2130e9a">Account Receivable (AR)</a>
217
217
  <ul>
218
- <li><a href="#org54a46f1">Customers</a></li>
219
- <li><a href="#org6e1e6e2">Customer Groups</a></li>
220
- <li><a href="#orgd29f461">Customer Terms</a></li>
221
- <li><a href="#org1b0b277">Sales Persons</a></li>
222
- <li><a href="#org07687a2">Account Sets</a></li>
218
+ <li><a href="#orgd443b87">Customers</a></li>
219
+ <li><a href="#org22323d4">Customer Groups</a></li>
220
+ <li><a href="#orgebae13b">Customer Terms</a></li>
221
+ <li><a href="#orgd9a7a75">Sales Persons</a></li>
222
+ <li><a href="#orgd649d1f">Account Sets</a></li>
223
223
  </ul>
224
224
  </li>
225
- <li><a href="#org02af97f">Account Payable (AP)</a>
225
+ <li><a href="#orgd252f07">Account Payable (AP)</a>
226
226
  <ul>
227
- <li><a href="#org8f95439">Vendors</a></li>
228
- <li><a href="#org6beefc9">Vendor Groups</a></li>
229
- <li><a href="#orgc54b436">Vendor Terms</a></li>
227
+ <li><a href="#orgab9e1c2">Invoices Batches</a></li>
228
+ <li><a href="#org42b17bb">Vendors</a></li>
229
+ <li><a href="#org669bb84">Vendor Groups</a></li>
230
+ <li><a href="#org2fa6143">Vendor Terms</a></li>
230
231
  </ul>
231
232
  </li>
232
- <li><a href="#org75893b5">Invenotry Control (IC)</a>
233
+ <li><a href="#orgc8c0c1c">Invenotry Control (IC)</a>
233
234
  <ul>
234
- <li><a href="#orgca80fcf">Items</a></li>
235
- <li><a href="#orgeb67a64">Categories</a></li>
236
- <li><a href="#org518fec2">Locations</a></li>
235
+ <li><a href="#orgf2239f0">Items</a></li>
236
+ <li><a href="#org80481d5">Categories</a></li>
237
+ <li><a href="#org685463c">Locations</a></li>
237
238
  </ul>
238
239
  </li>
239
- <li><a href="#org5df9305">Order Entry (OE)</a>
240
+ <li><a href="#org0e61ae4">Order Entry (OE)</a>
240
241
  <ul>
241
- <li><a href="#orgc9178b1">Sales Orders</a></li>
242
- <li><a href="#org14cb642">Invoices</a></li>
243
- <li><a href="#orgb846a9a">Sales History</a></li>
244
- <li><a href="#orgb1c3102">Credit Notes</a></li>
242
+ <li><a href="#org414d9a9">Sales Orders</a></li>
243
+ <li><a href="#orgc572bae">Invoices</a></li>
244
+ <li><a href="#org484f806">Sales History</a></li>
245
+ <li><a href="#orgc00025a">Credit Notes</a></li>
245
246
  </ul>
246
247
  </li>
247
- <li><a href="#org3384f69">Purchase Orders (PO)</a>
248
+ <li><a href="#orgb613df5">Purchase Orders (PO)</a>
248
249
  <ul>
249
- <li><a href="#orgbe20424">Purchase Orders</a></li>
250
- <li><a href="#org75ed03c">Receipts</a></li>
251
- <li><a href="#org5ead6ae">Vendor Contract Costs</a></li>
250
+ <li><a href="#org29c8b31">Purchase Orders</a></li>
251
+ <li><a href="#orgb5659ab">Receipts</a></li>
252
+ <li><a href="#orge7c641e">Vendor Contract Costs</a></li>
252
253
  </ul>
253
254
  </li>
254
255
  </ul>
255
256
  </li>
256
- <li><a href="#orgd26d23a">Performance tips</a>
257
+ <li><a href="#orga0c5995">Performance tips</a>
257
258
  <ul>
258
- <li><a href="#org39a47b2">Increase page size for requets</a></li>
259
- <li><a href="#org3235078">Change IIS idle time</a></li>
259
+ <li><a href="#org9b650c2">Increase page size for requets</a></li>
260
+ <li><a href="#org1f874e3">Change IIS idle time</a></li>
260
261
  </ul>
261
262
  </li>
262
- <li><a href="#orgfeb161c">Contributing</a></li>
263
- <li><a href="#orge595e00">License</a></li>
263
+ <li><a href="#org0a77b2e">Contributing</a></li>
264
+ <li><a href="#orgf15b5c0">License</a></li>
265
+ <li><a href="#org513d092"><span class="todo TODO">TODO</span> Sagekit todo list.</a></li>
264
266
  </ul>
265
267
  </div>
266
268
  </div>
@@ -268,6 +270,12 @@
268
270
  Sagekit is a ruby gem client library to talk with Sage300 API.
269
271
  </p>
270
272
 
273
+
274
+ <div id="org885f079" class="figure">
275
+ <p><img src="https://badge.fury.io/rb/sagekit.svg" alt="sagekit.svg" />
276
+ </p>
277
+ </div>
278
+
271
279
  <p>
272
280
  The gem maps as closely as possible to the Sage300 API so you can easily convert API examples to gem code.
273
281
  Responses are created as objects like. They&rsquo;re built using OpenStruct so you can easily access data in a Ruby-ish way.
@@ -277,9 +285,9 @@ Responses are created as objects like. They&rsquo;re built using OpenStruct so y
277
285
  The Sage 300 Web API makes it easier to create services that integrate with Sage 300 data and business logic. The Web API improves on existing tools for third-party integrations without requiring in-depth understanding of the Sage 300 View protocol and components.
278
286
  </p>
279
287
 
280
- <div id="outline-container-org4a2b8c2" class="outline-2">
281
- <h2 id="org4a2b8c2">Installation</h2>
282
- <div class="outline-text-2" id="text-org4a2b8c2">
288
+ <div id="outline-container-org0e0a6d4" class="outline-2">
289
+ <h2 id="org0e0a6d4">Installation</h2>
290
+ <div class="outline-text-2" id="text-org0e0a6d4">
283
291
  <p>
284
292
  Add this line to your application&rsquo;s Gemfile:
285
293
  </p>
@@ -309,9 +317,9 @@ Or install it yourself as:
309
317
  </div>
310
318
  </div>
311
319
 
312
- <div id="outline-container-org2cc0de7" class="outline-2">
313
- <h2 id="org2cc0de7">Usage</h2>
314
- <div class="outline-text-2" id="text-org2cc0de7">
320
+ <div id="outline-container-org8e7faa7" class="outline-2">
321
+ <h2 id="org8e7faa7">Usage</h2>
322
+ <div class="outline-text-2" id="text-org8e7faa7">
315
323
  <p>
316
324
  Make sure you have Sage300 web services up and runing. Web service is an easy way to communicate with 3rd party application without hampering the existing system &amp; this is the reason we will always suggest to go for web service integration, whenever any customer requires integration.
317
325
  </p>
@@ -409,9 +417,9 @@ Authorization: Basic QURNSU46QURNSU4=
409
417
  </div>
410
418
  </div>
411
419
 
412
- <div id="outline-container-orgb2253b7" class="outline-2">
413
- <h2 id="orgb2253b7">Resources</h2>
414
- <div class="outline-text-2" id="text-orgb2253b7">
420
+ <div id="outline-container-org25104bb" class="outline-2">
421
+ <h2 id="org25104bb">Resources</h2>
422
+ <div class="outline-text-2" id="text-org25104bb">
415
423
  <p>
416
424
  The simplest way to retrieve records of a particular resource is to call a GET (list object).
417
425
  </p>
@@ -430,9 +438,9 @@ To reduce the number of requests necessary for transferring large datasets, the
430
438
  </p>
431
439
  </div>
432
440
 
433
- <div id="outline-container-org872b3df" class="outline-3">
434
- <h3 id="org872b3df">Query options</h3>
435
- <div class="outline-text-3" id="text-org872b3df">
441
+ <div id="outline-container-org907368f" class="outline-3">
442
+ <h3 id="org907368f">Query options</h3>
443
+ <div class="outline-text-3" id="text-org907368f">
436
444
  <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
437
445
 
438
446
 
@@ -510,6 +518,19 @@ The <code>$top</code> query option must a positive integer N that specifies the
510
518
  The <code>$count</code> 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.
511
519
  </p></li>
512
520
 
521
+ <li><p>
522
+ <code>$select</code>
523
+ </p>
524
+
525
+ <p>
526
+ The <code>$select</code> query option get records with a subset of properties to include in the response
527
+ </p>
528
+
529
+ <div class="org-src-container">
530
+ <pre class="src src-ruby"> client.sales_orders.list(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'$select'</span>:<span style="color: #f1fa8c;">'OrderNumber,CustomerNumber'</span>)
531
+ </pre>
532
+ </div></li>
533
+
513
534
  <li><p>
514
535
  <code>$filter</code>
515
536
  </p>
@@ -594,60 +615,60 @@ The following is a list of the operators that are supported in the Sage 300 Web
594
615
  </div>
595
616
  </div>
596
617
 
597
- <div id="outline-container-org5114ec7" class="outline-3">
598
- <h3 id="org5114ec7">Account Receivable (AR)</h3>
599
- <div class="outline-text-3" id="text-org5114ec7">
618
+ <div id="outline-container-org2130e9a" class="outline-3">
619
+ <h3 id="org2130e9a">Account Receivable (AR)</h3>
620
+ <div class="outline-text-3" id="text-org2130e9a">
600
621
  </div>
601
- <div id="outline-container-org54a46f1" class="outline-4">
602
- <h4 id="org54a46f1">Customers</h4>
603
- <div class="outline-text-4" id="text-org54a46f1">
622
+ <div id="outline-container-orgd443b87" class="outline-4">
623
+ <h4 id="orgd443b87">Customers</h4>
624
+ <div class="outline-text-4" id="text-orgd443b87">
604
625
  <div class="org-src-container">
605
626
  <pre class="src src-ruby">client.customers.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
606
627
  client.customers.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'IDCUST'</span>)
607
628
  client.customers.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
608
- client.customers.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
629
+ client.customers.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'IDCUST'</span>, {})
609
630
  client.customers.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'IDCUST'</span>)
610
631
  </pre>
611
632
  </div>
612
633
  </div>
613
634
  </div>
614
635
 
615
- <div id="outline-container-org6e1e6e2" class="outline-4">
616
- <h4 id="org6e1e6e2">Customer Groups</h4>
617
- <div class="outline-text-4" id="text-org6e1e6e2">
636
+ <div id="outline-container-org22323d4" class="outline-4">
637
+ <h4 id="org22323d4">Customer Groups</h4>
638
+ <div class="outline-text-4" id="text-org22323d4">
618
639
  <div class="org-src-container">
619
640
  <pre class="src src-ruby">client.customer_groups.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
620
641
  client.customer_groups.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>)
621
642
  client.customer_groups.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
622
- client.customer_groups.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
643
+ client.customer_groups.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>, {})
623
644
  client.customer_groups.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>)
624
645
  </pre>
625
646
  </div>
626
647
  </div>
627
648
  </div>
628
649
 
629
- <div id="outline-container-orgd29f461" class="outline-4">
630
- <h4 id="orgd29f461">Customer Terms</h4>
631
- <div class="outline-text-4" id="text-orgd29f461">
650
+ <div id="outline-container-orgebae13b" class="outline-4">
651
+ <h4 id="orgebae13b">Customer Terms</h4>
652
+ <div class="outline-text-4" id="text-orgebae13b">
632
653
  <div class="org-src-container">
633
654
  <pre class="src src-ruby">client.customer_terms.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
634
655
  client.customer_terms.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>)
635
656
  client.customer_terms.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
636
- client.customer_terms.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
657
+ client.customer_terms.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>, {})
637
658
  client.customer_terms.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>)
638
659
  </pre>
639
660
  </div>
640
661
  </div>
641
662
  </div>
642
663
 
643
- <div id="outline-container-org1b0b277" class="outline-4">
644
- <h4 id="org1b0b277">Sales Persons</h4>
645
- <div class="outline-text-4" id="text-org1b0b277">
664
+ <div id="outline-container-orgd9a7a75" class="outline-4">
665
+ <h4 id="orgd9a7a75">Sales Persons</h4>
666
+ <div class="outline-text-4" id="text-orgd9a7a75">
646
667
  <div class="org-src-container">
647
668
  <pre class="src src-ruby">client.sales_persons.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
648
669
  client.sales_persons.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>)
649
670
  client.sales_persons.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
650
- client.sales_persons.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
671
+ client.sales_persons.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>, {})
651
672
  client.sales_persons.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>)
652
673
  client.sales_persons.statistics(<span style="color: #f1fa8c;">'COMPANY'</span>)
653
674
  client.sales_persons.filter_stats(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'SALESPERSON'</span>, <span style="color: #f1fa8c;">'YEAR'</span>, <span style="color: #f1fa8c;">'PERIDO'</span>)
@@ -656,14 +677,14 @@ client.sales_persons.filter_stats(<span style="color: #f1fa8c;">'COMPANY'</span>
656
677
  </div>
657
678
  </div>
658
679
 
659
- <div id="outline-container-org07687a2" class="outline-4">
660
- <h4 id="org07687a2">Account Sets</h4>
661
- <div class="outline-text-4" id="text-org07687a2">
680
+ <div id="outline-container-orgd649d1f" class="outline-4">
681
+ <h4 id="orgd649d1f">Account Sets</h4>
682
+ <div class="outline-text-4" id="text-orgd649d1f">
662
683
  <div class="org-src-container">
663
684
  <pre class="src src-ruby">client.account_sets.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
664
685
  client.account_sets.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>)
665
686
  client.account_sets.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
666
- client.account_sets.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
687
+ client.account_sets.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>, {})
667
688
  client.account_sets.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'KEY'</span>)
668
689
  </pre>
669
690
  </div>
@@ -671,47 +692,60 @@ client.account_sets.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span
671
692
  </div>
672
693
  </div>
673
694
 
674
- <div id="outline-container-org02af97f" class="outline-3">
675
- <h3 id="org02af97f">Account Payable (AP)</h3>
676
- <div class="outline-text-3" id="text-org02af97f">
695
+ <div id="outline-container-orgd252f07" class="outline-3">
696
+ <h3 id="orgd252f07">Account Payable (AP)</h3>
697
+ <div class="outline-text-3" id="text-orgd252f07">
698
+ </div>
699
+ <div id="outline-container-orgab9e1c2" class="outline-4">
700
+ <h4 id="orgab9e1c2">Invoices Batches</h4>
701
+ <div class="outline-text-4" id="text-orgab9e1c2">
702
+ <div class="org-src-container">
703
+ <pre class="src src-ruby">client.invoice_batches.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
704
+ client.invoice_batches.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'NUMBER'</span>)
705
+ client.invoice_batches.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
706
+ client.invoice_batches.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'NUMBER'</span>, {})
707
+ </pre>
708
+ </div>
677
709
  </div>
678
- <div id="outline-container-org8f95439" class="outline-4">
679
- <h4 id="org8f95439">Vendors</h4>
680
- <div class="outline-text-4" id="text-org8f95439">
710
+ </div>
711
+
712
+ <div id="outline-container-org42b17bb" class="outline-4">
713
+ <h4 id="org42b17bb">Vendors</h4>
714
+ <div class="outline-text-4" id="text-org42b17bb">
681
715
  <div class="org-src-container">
682
716
  <pre class="src src-ruby">client.vendors.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
683
717
  client.vendors.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'VENDCODE'</span>)
684
718
  client.vendors.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
685
- client.vendors.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
686
- client.vendors.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'NUMBER'</span>)
719
+ client.vendors.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'VENDCODE'</span>, {})
720
+ client.vendors.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'VENDCODE'</span>)
687
721
  client.vendors.statistics(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'VENDCODE'</span>)
688
722
  </pre>
689
723
  </div>
690
724
  </div>
691
725
  </div>
692
726
 
693
- <div id="outline-container-org6beefc9" class="outline-4">
694
- <h4 id="org6beefc9">Vendor Groups</h4>
695
- <div class="outline-text-4" id="text-org6beefc9">
727
+ <div id="outline-container-org669bb84" class="outline-4">
728
+ <h4 id="org669bb84">Vendor Groups</h4>
729
+ <div class="outline-text-4" id="text-org669bb84">
696
730
  <div class="org-src-container">
697
731
  <pre class="src src-ruby">client.vendor_groups.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
698
732
  client.vendor_groups.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>)
699
733
  client.vendor_groups.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
700
- client.vendor_groups.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
734
+ client.vendor_groups.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>, {})
701
735
  client.vendor_groups.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'GROUPCODE'</span>)
702
736
  </pre>
703
737
  </div>
704
738
  </div>
705
739
  </div>
706
740
 
707
- <div id="outline-container-orgc54b436" class="outline-4">
708
- <h4 id="orgc54b436">Vendor Terms</h4>
709
- <div class="outline-text-4" id="text-orgc54b436">
741
+ <div id="outline-container-org2fa6143" class="outline-4">
742
+ <h4 id="org2fa6143">Vendor Terms</h4>
743
+ <div class="outline-text-4" id="text-org2fa6143">
710
744
  <div class="org-src-container">
711
745
  <pre class="src src-ruby">client.vendor_terms.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
712
746
  client.vendor_terms.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>)
713
747
  client.vendor_terms.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
714
- client.vendor_terms.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
748
+ client.vendor_terms.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>, {})
715
749
  client.vendor_terms.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'TERMSCODE'</span>)
716
750
  </pre>
717
751
  </div>
@@ -719,46 +753,46 @@ client.vendor_terms.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span
719
753
  </div>
720
754
  </div>
721
755
 
722
- <div id="outline-container-org75893b5" class="outline-3">
723
- <h3 id="org75893b5">Invenotry Control (IC)</h3>
724
- <div class="outline-text-3" id="text-org75893b5">
756
+ <div id="outline-container-orgc8c0c1c" class="outline-3">
757
+ <h3 id="orgc8c0c1c">Invenotry Control (IC)</h3>
758
+ <div class="outline-text-3" id="text-orgc8c0c1c">
725
759
  </div>
726
- <div id="outline-container-orgca80fcf" class="outline-4">
727
- <h4 id="orgca80fcf">Items</h4>
728
- <div class="outline-text-4" id="text-orgca80fcf">
760
+ <div id="outline-container-orgf2239f0" class="outline-4">
761
+ <h4 id="orgf2239f0">Items</h4>
762
+ <div class="outline-text-4" id="text-orgf2239f0">
729
763
  <div class="org-src-container">
730
764
  <pre class="src src-ruby">client.items.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
731
765
  client.items.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'ITEMNO'</span>)
732
766
  client.items.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
733
- client.items.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
767
+ client.items.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'ITEMNO'</span>, {})
734
768
  client.items.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'ITEMNO'</span>)
735
769
  </pre>
736
770
  </div>
737
771
  </div>
738
772
  </div>
739
773
 
740
- <div id="outline-container-orgeb67a64" class="outline-4">
741
- <h4 id="orgeb67a64">Categories</h4>
742
- <div class="outline-text-4" id="text-orgeb67a64">
774
+ <div id="outline-container-org80481d5" class="outline-4">
775
+ <h4 id="org80481d5">Categories</h4>
776
+ <div class="outline-text-4" id="text-org80481d5">
743
777
  <div class="org-src-container">
744
778
  <pre class="src src-ruby">client.categories.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
745
- client.categories.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CATEGORYCODE'</span>)
779
+ client.categories.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CATEGORY'</span>)
746
780
  client.categories.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
747
- client.categories.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
748
- client.categories.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CATEGORYCODE'</span>)
781
+ client.categories.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CATEGORY'</span>, {})
782
+ client.categories.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CATEGORY'</span>)
749
783
  </pre>
750
784
  </div>
751
785
  </div>
752
786
  </div>
753
787
 
754
- <div id="outline-container-org518fec2" class="outline-4">
755
- <h4 id="org518fec2">Locations</h4>
756
- <div class="outline-text-4" id="text-org518fec2">
788
+ <div id="outline-container-org685463c" class="outline-4">
789
+ <h4 id="org685463c">Locations</h4>
790
+ <div class="outline-text-4" id="text-org685463c">
757
791
  <div class="org-src-container">
758
792
  <pre class="src src-ruby">client.locations.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
759
793
  client.locations.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'LOCATION'</span>)
760
794
  client.locations.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
761
- client.locations.update(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
795
+ client.locations.update(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'LOCATION'</span>, {})
762
796
  client.locations.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'LOCATION'</span>)
763
797
  </pre>
764
798
  </div>
@@ -766,25 +800,33 @@ client.locations.delete(<span style="color: #f1fa8c;">'COMPANY'</span>, <span st
766
800
  </div>
767
801
  </div>
768
802
 
769
- <div id="outline-container-org5df9305" class="outline-3">
770
- <h3 id="org5df9305">Order Entry (OE)</h3>
771
- <div class="outline-text-3" id="text-org5df9305">
803
+ <div id="outline-container-org0e61ae4" class="outline-3">
804
+ <h3 id="org0e61ae4">Order Entry (OE)</h3>
805
+ <div class="outline-text-3" id="text-org0e61ae4">
772
806
  </div>
773
- <div id="outline-container-orgc9178b1" class="outline-4">
774
- <h4 id="orgc9178b1">Sales Orders</h4>
775
- <div class="outline-text-4" id="text-orgc9178b1">
807
+ <div id="outline-container-org414d9a9" class="outline-4">
808
+ <h4 id="org414d9a9">Sales Orders</h4>
809
+ <div class="outline-text-4" id="text-org414d9a9">
776
810
  <div class="org-src-container">
777
811
  <pre class="src src-ruby">client.sales_orders.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
778
812
  client.sales_orders.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'ORDERID'</span>)
779
813
  client.sales_orders.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
780
814
  </pre>
781
815
  </div>
816
+
817
+ <p>
818
+ Create sales order passing json payload instead of ruby atributes.
819
+ </p>
820
+ <div class="org-src-container">
821
+ <pre class="src src-ruby">client.sales_orders.create_json(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
822
+ </pre>
823
+ </div>
782
824
  </div>
783
825
  </div>
784
826
 
785
- <div id="outline-container-org14cb642" class="outline-4">
786
- <h4 id="org14cb642">Invoices</h4>
787
- <div class="outline-text-4" id="text-org14cb642">
827
+ <div id="outline-container-orgc572bae" class="outline-4">
828
+ <h4 id="orgc572bae">Invoices</h4>
829
+ <div class="outline-text-4" id="text-orgc572bae">
788
830
  <div class="org-src-container">
789
831
  <pre class="src src-ruby">client.invoices.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
790
832
  client.invoices.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'INVUNIQ'</span>)
@@ -793,9 +835,9 @@ client.invoices.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span s
793
835
  </div>
794
836
  </div>
795
837
 
796
- <div id="outline-container-orgb846a9a" class="outline-4">
797
- <h4 id="orgb846a9a">Sales History</h4>
798
- <div class="outline-text-4" id="text-orgb846a9a">
838
+ <div id="outline-container-org484f806" class="outline-4">
839
+ <h4 id="org484f806">Sales History</h4>
840
+ <div class="outline-text-4" id="text-org484f806">
799
841
  <div class="org-src-container">
800
842
  <pre class="src src-ruby">client.sales_history.list(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
801
843
  client.sales_history.details(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
@@ -805,9 +847,9 @@ client.sales_history.stats(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
805
847
  </div>
806
848
  </div>
807
849
 
808
- <div id="outline-container-orgb1c3102" class="outline-4">
809
- <h4 id="orgb1c3102">Credit Notes</h4>
810
- <div class="outline-text-4" id="text-orgb1c3102">
850
+ <div id="outline-container-orgc00025a" class="outline-4">
851
+ <h4 id="orgc00025a">Credit Notes</h4>
852
+ <div class="outline-text-4" id="text-orgc00025a">
811
853
  <div class="org-src-container">
812
854
  <pre class="src src-ruby">client.credit_notes.list(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
813
855
  client.credit_notes.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'CNUNIQ'</span>)
@@ -818,13 +860,13 @@ client.credit_notes.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
818
860
  </div>
819
861
  </div>
820
862
 
821
- <div id="outline-container-org3384f69" class="outline-3">
822
- <h3 id="org3384f69">Purchase Orders (PO)</h3>
823
- <div class="outline-text-3" id="text-org3384f69">
863
+ <div id="outline-container-orgb613df5" class="outline-3">
864
+ <h3 id="orgb613df5">Purchase Orders (PO)</h3>
865
+ <div class="outline-text-3" id="text-orgb613df5">
824
866
  </div>
825
- <div id="outline-container-orgbe20424" class="outline-4">
826
- <h4 id="orgbe20424">Purchase Orders</h4>
827
- <div class="outline-text-4" id="text-orgbe20424">
867
+ <div id="outline-container-org29c8b31" class="outline-4">
868
+ <h4 id="org29c8b31">Purchase Orders</h4>
869
+ <div class="outline-text-4" id="text-org29c8b31">
828
870
  <div class="org-src-container">
829
871
  <pre class="src src-ruby">client.purchase_orders.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
830
872
  client.purchase_orders.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'SECUENCEID'</span>)
@@ -834,9 +876,9 @@ client.purchase_orders.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {}
834
876
  </div>
835
877
  </div>
836
878
 
837
- <div id="outline-container-org75ed03c" class="outline-4">
838
- <h4 id="org75ed03c">Receipts</h4>
839
- <div class="outline-text-4" id="text-org75ed03c">
879
+ <div id="outline-container-orgb5659ab" class="outline-4">
880
+ <h4 id="orgb5659ab">Receipts</h4>
881
+ <div class="outline-text-4" id="text-orgb5659ab">
840
882
  <div class="org-src-container">
841
883
  <pre class="src src-ruby">client.receipts.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
842
884
  client.receipts.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'SECUENCEID'</span>)
@@ -846,9 +888,9 @@ client.receipts.create(<span style="color: #f1fa8c;">'COMPANY'</span>, {})
846
888
  </div>
847
889
  </div>
848
890
 
849
- <div id="outline-container-org5ead6ae" class="outline-4">
850
- <h4 id="org5ead6ae">Vendor Contract Costs</h4>
851
- <div class="outline-text-4" id="text-org5ead6ae">
891
+ <div id="outline-container-orge7c641e" class="outline-4">
892
+ <h4 id="orge7c641e">Vendor Contract Costs</h4>
893
+ <div class="outline-text-4" id="text-orge7c641e">
852
894
  <div class="org-src-container">
853
895
  <pre class="src src-ruby">client.vendor_contract_costs.list(<span style="color: #f1fa8c;">'COMPANY'</span>)
854
896
  client.vendor_contract_costs.retreive(<span style="color: #f1fa8c;">'COMPANY'</span>, <span style="color: #f1fa8c;">'ITEMNO'</span>, <span style="color: #f1fa8c;">'VENDCODE'</span>)
@@ -862,17 +904,17 @@ client.vendor_contract_costs.delete(<span style="color: #f1fa8c;">'COMPANY'</spa
862
904
  </div>
863
905
  </div>
864
906
 
865
- <div id="outline-container-orgd26d23a" class="outline-2">
866
- <h2 id="orgd26d23a">Performance tips</h2>
867
- <div class="outline-text-2" id="text-orgd26d23a">
907
+ <div id="outline-container-orga0c5995" class="outline-2">
908
+ <h2 id="orga0c5995">Performance tips</h2>
909
+ <div class="outline-text-2" id="text-orga0c5995">
868
910
  <p>
869
911
  It is possible to adjust the performance of Sage 300 Web API if improvements are required for integration purposes.
870
912
  </p>
871
913
  </div>
872
914
 
873
- <div id="outline-container-org39a47b2" class="outline-3">
874
- <h3 id="org39a47b2">Increase page size for requets</h3>
875
- <div class="outline-text-3" id="text-org39a47b2">
915
+ <div id="outline-container-org9b650c2" class="outline-3">
916
+ <h3 id="org9b650c2">Increase page size for requets</h3>
917
+ <div class="outline-text-3" id="text-org9b650c2">
876
918
  <p>
877
919
  When large amounts of records need to be retrieved through Sage 300 Web API, the page size setting can be increased to reduce the number of GET requests and thus reduce the overall time for the entire process.
878
920
  </p>
@@ -892,9 +934,9 @@ Increase the value to the required page size. The recommended setting for large
892
934
  </div>
893
935
  </div>
894
936
 
895
- <div id="outline-container-org3235078" class="outline-3">
896
- <h3 id="org3235078">Change IIS idle time</h3>
897
- <div class="outline-text-3" id="text-org3235078">
937
+ <div id="outline-container-org1f874e3" class="outline-3">
938
+ <h3 id="org1f874e3">Change IIS idle time</h3>
939
+ <div class="outline-text-3" id="text-org1f874e3">
898
940
  <p>
899
941
  By default, IIS terminates a web application after 20 minutes of inactivity. This means that if Sage 300 Web API requests are not made within 20 minutes of one another, a request will take longer than usual to process. To curb this behavior, the IIS application pool Idle Time-out setting can be adjusted.
900
942
  </p>
@@ -913,9 +955,9 @@ To increase the Time-out time and Time-out Action:
913
955
  </div>
914
956
  </div>
915
957
 
916
- <div id="outline-container-orgfeb161c" class="outline-2">
917
- <h2 id="orgfeb161c">Contributing</h2>
918
- <div class="outline-text-2" id="text-orgfeb161c">
958
+ <div id="outline-container-org0a77b2e" class="outline-2">
959
+ <h2 id="org0a77b2e">Contributing</h2>
960
+ <div class="outline-text-2" id="text-org0a77b2e">
919
961
  <p>
920
962
  Everyone is encouraged to help improve this project. Bug reports and pull requests are welcome at <a href="https://github.com/lepepe/sagekit/pulls">https://github.com/lepepe/sagekit/pulls</a>.
921
963
  Feel free to open an <a href="https://github.com/lepepe/sagekit/issues">issue</a> to get feedback on your idea before spending too much time on it.
@@ -923,18 +965,33 @@ Feel free to open an <a href="https://github.com/lepepe/sagekit/issues">issue</a
923
965
  </div>
924
966
  </div>
925
967
 
926
- <div id="outline-container-orge595e00" class="outline-2">
927
- <h2 id="orge595e00">License</h2>
928
- <div class="outline-text-2" id="text-orge595e00">
968
+ <div id="outline-container-orgf15b5c0" class="outline-2">
969
+ <h2 id="orgf15b5c0">License</h2>
970
+ <div class="outline-text-2" id="text-orgf15b5c0">
929
971
  <p>
930
972
  The gem is available as open source under the terms of the <a href="https://opensource.org/licenses/MIT">MIT License</a>.
931
973
  </p>
932
974
  </div>
933
975
  </div>
976
+
977
+ <div id="outline-container-org513d092" class="outline-2">
978
+ <h2 id="org513d092"><span class="todo TODO">TODO</span> Sagekit todo list.</h2>
979
+ <div class="outline-text-2" id="text-org513d092">
980
+ <ul class="org-ul">
981
+ <li class="off"><code>[&#xa0;]</code> Testing API requests</li>
982
+ <li class="off"><code>[&#xa0;]</code> Add endpoints for:
983
+ <ul class="org-ul">
984
+ <li class="off"><code>[&#xa0;]</code> Common Services</li>
985
+ <li class="off"><code>[&#xa0;]</code> General Ledger</li>
986
+ <li class="off"><code>[&#xa0;]</code> Complete other module&rsquo;s endpoints</li>
987
+ </ul></li>
988
+ </ul>
989
+ </div>
990
+ </div>
934
991
  </div>
935
992
  <div id="postamble" class="status">
936
993
  <p class="author">Author: Jose Perez</p>
937
- <p class="date">Created: 2021-09-30 Thu 22:59</p>
994
+ <p class="date">Created: 2021-12-22 Wed 22:39</p>
938
995
  </div>
939
996
  </body>
940
997
  </html>