User Tools

Site Tools


webapi_swagger_documentation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
webapi_swagger_documentation [2019/11/13 11:46 (4 years ago)] kevinwebapi_swagger_documentation [2019/11/19 14:51 (4 years ago)] – [Beta 6.2.7.x History] kevin
Line 1: Line 1:
-====== Windward Web API Swagger 2.0 Documentation Usage ======+====== Windward Web API Swagger 2.0 Documentation ======
  
 ===== Summary ===== ===== Summary =====
-Our s5webAPI solution runs as a service and provides a doorway to push and pull information from a System Five database.  This technology will work with both onPrem installations and our System Five on Cloud deployments.  +The s5webAPI solution runs as a 32 bit service and provides a doorway to push and pull information from a System Five database.  This technology will work with both onPrem installations and our System Five on Cloud deployments.   
 + 
 +The following is an explanation for retrieving and using the Swagger 2.0 documentation from all available endpoints of the Windward S5WebAPI.  Several end points have been marked as deprecated in version 6.2.2.175 which occurred in August of 2018.  Deprecated methods will continue to operate but no new development is planned for these areas. 
 + 
 +As a developer, keep in mind since this is a 32 bit service, it will not be able to access more than [[https://stackoverflow.com/questions/8869563/how-much-memory-can-be-accessed-by-a-32-bit-machine|4GB limited]] by this address space.  Asking for large amounts of data such as inventory should use pagination and will give you better performance and memory utilization. 
  
 <note important> Be aware that WEB API uses a Pervasive License. </note> <note important> Be aware that WEB API uses a Pervasive License. </note>
  
-The following is an explanation for retrieving and using the Swagger 2.0 documentation from all available endpoints of the Windward S5WebAPI. 
  
 ===== Endpoints ===== ===== Endpoints =====
Line 22: Line 25:
   - TServerMethodsWebAPI   - TServerMethodsWebAPI
  
-All of these endpoints can be accessed with either of the following URLs:+All of these endpoints can be accessed with the following URL:
   * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT   * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT
-  * http://API_IP_ADDRESS:API_PORT/datasnap/rest/ENDPOINT 
  
 ==== Deprecated Methods ==== ==== Deprecated Methods ====
Line 57: Line 59:
 ===== Known Limitations ===== ===== Known Limitations =====
  
-Prior to 6.2.2.175 released versions of the Web API has a maximum limit of 32 concurrent connections. This limit has been removed in the 6.2.2.175 and is now limited by how much available memory is on the server or workstation running the API.+Prior to 6.2.2.175 released versions of the Web API had a maximum limit of 32 concurrent connections. This limit has been removed and is now limited by how much available memory (max 4GB as this is a 32 bit service) running the API.
  
 <note tip> <note tip>
-Due to the JSON parser that the Windward Web API uses, any '%' characters inside of JSON strings will cause internal server errors.+Due to the JSON parser that the Windward Web API uses, any '%' characters inside of JSON strings can cause internal server errors.  Best practice is to scrub your JSON passed of these characters.
 </note> </note>
  
 ===== Retrieving The Documentation ===== ===== Retrieving The Documentation =====
  
-The Swagger documentation for a particular endpoint can be retrieved by using a method of the endpoint.  Using your preferred method or app (we suggest [[https://www.getpostman.com|Postman]]), send a GET request to one of the following URLs:+The Swagger documentation for a particular endpoint can be retrieved by using a method of the endpoint.  Using your preferred method or app (we suggest [[https://www.getpostman.com|Postman]]), send a GET request to the following URL:
     * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT/Swagger     * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT/Swagger
-    * http://API_IP_ADDRESS:API_PORT/datasnap/rest/ENDPOINT/Swagger 
  
 The contents of the response from the calls is the Swagger 2.0 documentation, after copying the response text and saving it into a text file use your preferred Swagger editor (we suggest [[http://editor.swagger.io|editor.swagger.io]]) to view the Swagger documentation. The contents of the response from the calls is the Swagger 2.0 documentation, after copying the response text and saving it into a text file use your preferred Swagger editor (we suggest [[http://editor.swagger.io|editor.swagger.io]]) to view the Swagger documentation.
Line 79: Line 80:
   - Enter one of the URLs, substituting the API_IP_ADDRESS, API_PORT and ENDPOINT placeholders with the appropriate information for your Web API installation:   - Enter one of the URLs, substituting the API_IP_ADDRESS, API_PORT and ENDPOINT placeholders with the appropriate information for your Web API installation:
     * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT/Swagger     * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/ENDPOINT/Swagger
-    * http://API_IP_ADDRESS:API_PORT/datasnap/rest/ENDPOINT/Swagger  
   - Set the authorization type to Basic and enter your Web API credentials.   - Set the authorization type to Basic and enter your Web API credentials.
   - Send the request.   - Send the request.
Line 97: Line 97:
  
 ==== Interacting With The Swagger 2.0 Documentation Via A Browser ==== ==== Interacting With The Swagger 2.0 Documentation Via A Browser ====
-  - As of Beta 6.2.7, The Swagger 2.0 documentation can be viewed and interacted with through a browser.+  - As of release 6.2.2.179 Swagger 2.0 documentation can be viewed and interacted with through a browser.
   - Using a set of options in the S5WebAPISvc.ini file, the configuration of the Swagger publishing can be set and changed.   - Using a set of options in the S5WebAPISvc.ini file, the configuration of the Swagger publishing can be set and changed.
     - {{:undefined:swagger_ini_options.png?200|}}      - {{:undefined:swagger_ini_options.png?200|}} 
Line 114: Line 114:
  
 ===== What Version are you using? ===== ===== What Version are you using? =====
-Assuming the API is running, you can access the version using this url+Depending on the feature you may be looking for in an endpoint you may need to know what version you are running.  
-  * API_IP_ADDRESS:API_PORT/datasnap/rest/TServerMethodsWebAPI/WebAPI_Connect+ It is not uncommon to have a training and production WebAPI configured when testing new features.  Assuming the API is running, you can access the version using the TServerMethodsWebAPI and the Connect endpoint
 +  * http://API_IP_ADDRESS:API_PORT/Windward/WebAPI/TServerMethodsWebAPI/Connect
  
 +<code>
 +{"result":[{"Response":"Success","CompanyName":"System Five","Serial":"103000",
 +"Department":"1","ApplicationVersion":"6.2.2.350","DataVersion":"6.2.2.21"}]}
 +</code>
 ===== Release 6.2.2.x History ===== ===== Release 6.2.2.x History =====
 +  * Version 6.2.2.517 – October 29, 2019
 +    * [TFS 20705] Fix for S5WebAPISvc that was broken due to new data collector list load.
   * Version 6.2.2.491 – September 17, 2019   * Version 6.2.2.491 – September 17, 2019
     *[57680] Corrected a problem that prevented the pagination from working correctly in the Inventory End Point with S5WebAPI service.     *[57680] Corrected a problem that prevented the pagination from working correctly in the Inventory End Point with S5WebAPI service.
Line 132: Line 139:
   * Version 6.2.2.269 – February 14, 2019   * Version 6.2.2.269 – February 14, 2019
     * [56999] Added pagination to the Inventory, Virtual Inventory, Customer and A/P Bill end points to eliminate calls that exceed the maximum number of records that the S5WebAPISvc can handle.     * [56999] Added pagination to the Inventory, Virtual Inventory, Customer and A/P Bill end points to eliminate calls that exceed the maximum number of records that the S5WebAPISvc can handle.
- +  * Version 6.2.2.214 – November 30, 2018 
-===== BETA 6.2.7.x History =====+    * [56482] Found and solved a problem when the API is passed an invalid Department value. 
 +  * Version 6.2.2.211 - December 27, 2018 
 +    * [56750] Removed the duplicate error from the Free Form information in the WebAPI for Polaris Integration. 
 +  * Version 6.2.2.188 - September 4, 2018 
 +      * [56391] WebAPI: Fixed fields not geting updated in Customer methods. 
 +      * [56404] WebAPI: Fixed errors when calling Insert_Invoice_Lines and Delete_Full_Invoice. 
 +  * Version 6.2.2.183 
 +      * [56351] WebAPI: Fixed fields not getting updated when using the Suppliers_Update call. 
 +      * [56372] WebAPI: Added support for invoice totals, taxes, and amounts paid to invoices created by the WebAPI. 
 +  * Version 6.2.2.182 
 +      * [54843] WebAPI: Added support for the needed fields for the Virtual Inventory WebAPI methods. 
 +  * Version 6.2.2.181 
 +      * [56047] WebAPI: Fixed broken legacy calls, unexposed Put calls, and updated Swagger documentation. 
 +      * [56349] WebAPI: Fixed Get_Superseding_Parts to properly return an array of superseding parts. 
 +  * Version 6.2.2.180 
 +      * [56191] WebAPI: Added the Swagger-Publishing sub folder to the client bin to support the Swagger documentation for the S5WebAPI. 
 +  * Version 6.2.2.179 
 +      * [56335] WebAPI: Port System Five WebAPI service (S5WebAPISvc) to Release. 
 +  * Version 6.2.2.178 
 +      * [56020] WebAPI: Made the WebAPI aware of the data version it is connecting to, only connecting to data version it was compiled with. Swagger documents now show the data version number. 
 +      * [56242] WebAPI: Added support to the Invoice endpoint for Keywords on Invoice Lines. 
 +      * [56268] WebAPI: Added Big Rock Quantity lookup to Part Find. 
 +      * [55003] WebAPI: Solved the problems with the Change_Invoice_Type and Perform_Stock_Adjustment end points. 
 +  * Version 6.2.2.175 - August 08, 2018 
 +    * [56297] WebAPI: Get_Part_Prices call would now acknowledge the set Effective Date. 
 +    * Prior to 6.2.2.175 the Web API has a maximum limit of 32 concurrent connections. This limit has been removed and is now limited by how much available memory (max 4GB as this is a 32 bit service) running the API. 
 +  * Version 6.2.2.172 - July 24, 2018 
 +      * [55894] Web API: Fixed the Get_Customer_By_Email POST method. 
 +  * Version 6.2.2.168 
 +    * [54843] Web API: Added support for the needed fields for the Virtual Inventory Web API methods. 
 +    * [54703] Web API: Fixed the Get_Parts POST method to return the list of linked Free Form Comments. 
 +  * Version 6.2.2.163 
 +    * [55777] WebAPI: The Part Image fetch is now constrained to accept a single part unique at a time. This is required to prevent the API running out of memory trying to build a JSON object that contains 500KB of encoded data for the entire inventory file. It simply is not possible to create a JSON document that large. 
 +  * Version 6.2.2.161 
 +    * [55898] WebAPI: The Customer, Supplier and Invoice List end points have been updated to POST Commands that accept a Body containing the Field and/or Filter items.  
 +  * Version 6.2.2.160 
 +    * [55895] WebAPI: Fixed the Get_Parts POST method to return the list of linked Lookup Words. 
 +    * [55924] WebAPI: Polaris Dealers can now select the System Five Supplier that their Polaris Parts are linked to for the purposes of reporting to the Process Parts Inventory feature of the Polaris integration. 
 +  * Version 6.2.2.154 
 +    * [55313] Cloud WebAPI: Solved blank field issues. 
 +    * [55859] WebAPI: Fixed an access violation error when importing inventory with the S5WebAPI and seasonal highs / lows enabled in System Five. 
 +  * Version 6.2.2.150 - April 26, 2018 
 +    * [55692] Solve the User/Threading issues in the WebAPI. 
 +  * Version 6.2.2.148 
 +    * [54977] The Inventory Value reporting is now exposed through the S5WebAPISvc. 
 +===== Beta 6.2.7.x History ===== 
 +There can be functionality available in our beta that will not be present in our released product.  Typically new enhancement work is completed in this release. 
 +  * Version 6.2.7.396 – October 29, 2019 
 +    * [TFS 20705] Fix for S5WebAPISvc that was broken due to new data collector list load.
   * Version 6.2.7.360 – September 11, 2019   * Version 6.2.7.360 – September 11, 2019
     * [57680] Corrected a problem that prevented the pagination from working correctly in the Inventory End Point with S5WebAPI service.     * [57680] Corrected a problem that prevented the pagination from working correctly in the Inventory End Point with S5WebAPI service.
Line 140: Line 195:
   * Version 6.2.7.309 – July 15, 2019   * Version 6.2.7.309 – July 15, 2019
     * [57554] Corrected a problem in the \addInvoice method of the S5WebAPISvc's Invoice end point. In previous versions, the Billing and Shipping information was not correctly setting the Tax Area on the Invoice and in some specific cases, new Customers were not being added to the system.     * [57554] Corrected a problem in the \addInvoice method of the S5WebAPISvc's Invoice end point. In previous versions, the Billing and Shipping information was not correctly setting the Tax Area on the Invoice and in some specific cases, new Customers were not being added to the system.
-  * Version 6.2.7.297 – July 4, 2019 +  * **Version 6.2.7.297 – July 4, 2019** 
-    * [57526] S5WebAPISrv - Inventory End Points have been updated to support all of the configured default inventory records and allow for the configuration of prices based on the Price Codes, using Prices, Markups, Margins or Discounts within the bounds of the maximum number of Price Schedules configured in the system. There is no provision to allows the external systems to change the number of Price Schedules.+    * [57526] S5WebAPISrv - **Inventory End Points** have been updated to support all of the **configured default inventory records** and allow for the configuration of prices based on the Price Codes, using Prices, Markups, Margins or Discounts within the bounds of the maximum number of Price Schedules configured in the system. There is no provision to allows the external systems to change the number of Price Schedules.
   * Version 6.2.7.265 – June 6, 2019   * Version 6.2.7.265 – June 6, 2019
     * [57332] Added KitType, Weight, Instock by Dept, SaleStart, SaleEnd, AltSuply, and Barcodes information to the GET /Inventory end point of the S5WebAPI.     * [57332] Added KitType, Weight, Instock by Dept, SaleStart, SaleEnd, AltSuply, and Barcodes information to the GET /Inventory end point of the S5WebAPI.
webapi_swagger_documentation.txt · Last modified: 2022/02/23 13:40 (2 years ago) by kevin