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.
URLs
API endpoint URL for live systems
Every live Ongoing WMS has a single, unique URL for the API endpoint. Every API request has to be made to this URL, regardless of what type of API call it is. The base API URL for a production system looks like this:
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:
https://{warehouse}.ongoingsystems.se/{warehouse}
As an example, this is the URL for our API demo site:
https://api.ongoingsystems.se/apidemo/service.asmx
API endpoint URL for demo systems
If you have received a demo system, the API endpoint URL is slightly different. In the case of demo systems, the API endpoint URL takes this form:
https://wms1.ongoingsystems.se/{warehouse}/service.asmx
SOAPAction header URL
Whenever you make a call to the API, you also have specify an HTTP header with the key "SOAPAction". This is part of the SOAP standard. The value of the header is an URL which depends on the name of the API call. The entire header looks like this:
SOAPAction: "http://ongoingsystems.se/WSI/{name of API call}"
Note that the header URL is different from the API endpoint URL. These two URLs have no relation to one another.
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
The API is under constant development. Do not assume that the API is fully static. 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.