Basics
SOAP
The API uses Simple Object Access Protocol (SOAP) technology.
Goods owners
In the terminology of Ongoing WMS, the customers of a warehouse are called goods owners. The goods owners are the companies which have outsourced their warehousing needs to the warehouse company.
Because a warehouse can potentially have more than one customer (goods owner), you will need to specify the goods owner in each call to the Ongoing WMS API.
Credentials
You will need four credentials in order to access the API. The administrator of the warehouse system can generate these by following this guide.
Credentials | |||
---|---|---|---|
UserName | str | Your username | |
Password | str | Your password | |
GoodsOwnerId | int | The id of the goods owner | |
GoodsOwnerCode | str | The code (name) of your goods owner |
UserName and Password will always be needed.
As explained above, each API call requires you to identify the intended goods owner. The goods owner is specified using either GoodsOwnerId or GoodsOwnerCode. Some API calls require the ID and others require the code. This is somewhat inconsistent, but there are historical reasons for why it is this way.
URL
Every Ongoing WMS has its own unique URL for the API endpoint. The base API URL for a production system looks like this:
API URL: https://api.ongoingsystems.se/{warehouse}/service.asmx
Ask your contact person at the warehouse to specify what {warehouse} should be in your particular case. {warehouse} can be taken from the same URL which they use to login to the system:
Login URL: https://{warehouse}.ongoingsystems.se/{warehouse}
As an example, this is the URL for our API demo site:
WSDL
The WSDL can be retrieved from the SOAP URL by adding the parameter "?WSDL". This is the WSDL of our demo system:
https://api.ongoingsystems.se/apidemo/service.asmx?WSDL
Note that excessive polling of this URL will result in a 503 error message. Only retrieve the WSDL once during development and not as a part of a scheduled integration task.
Changes to the API
As a general rule, we do not remove functions or fields from the API. However, we might add more fields or functions. This should be taken into account when building the integration. Your code should not break if a field is added. Fields are always added to the end of each object.
Polling rules
Make sure to not poll the API excessively. Your scheduled jobs should run a few times per hour, and not several times per second. If excessive polling occurs, Ongoing WMS will shut down the API access if the problem isn't fixed after a reasonable amount of time.
Required elements
In the documentation, required elements are marked with "Req.". These elements are always required. Elements marked with "Req.*" are conditionally required.
Note that elements are only required if the parent object is used.