SOAP vs. REST

Table of contents

Introduction

Ongoing WMS has two different Application Programming Interfaces (APIs) which are intended for connecting systems like business systems (ERPs) and web shops to Ongoing WMS:

We also have an automation API which is used when you wish to connect automation equipment like conveyor belts.

In this article we will explain the difference between the Goods Owner SOAP API and the Goods Owner REST API.

Key difference

The key difference between the two APIs is:

  • The Goods Owner SOAP API is a large and extensive API which gives the API user wide latitude in how he wishes to control Ongoing WMS and which fields to use.
  • The Goods Owner REST API is a smaller and more focused API where the API user is offered less choice in how the integration works.
Thus, the Goods Owner SOAP API has more functionality, and the Goods Owner REST API is easier to use.

Detailed comparison

Here are some specific comparison points between the APIs.

Goods Owner SOAP API Goods Owner REST API
May create, update and read articles, orders, purchase orders and return orders Yes Yes
May cancel orders and purchase orders Yes Yes
May attach files to orders, purchase orders and articles Yes Yes
May read tracking information from orders Yes Yes
May read stock adjustments Yes Yes
May read both the current and historical stock balances Yes Yes
May read shipments and production orders 1 Yes No
Allows the API user to read and update a large variety of data fields on the orders, purchase orders and articles 3 Yes No
Can create kit articles and production articles4 Yes Yes
Can create sub order lines 5 Yes No
Each order and purchase order must have a unique order number 6 No Yes
Each article must have a unique article number 7 No Yes
Allows detailed advising of goods information on purchase orders 8 Yes Yes

Shipments and production orders

The following entities can only be managed using the SOAP API, and not by the REST API:

  • Shipment (note: this refers to Ongoing WMS' own concept of a shipment. It is unrelated to the "shipments" which transporters such as DHL and UPS have)
  • Production order
In our experience, very few integrations need to use these entities.

Which fields can be used?

The SOAP API allows you to update and read many fields on orders, purchase orders and articles. The REST API gives access to a much smaller selection of fields, making the REST API less complex.

Kit articles and production articles

A kit article is an article which is defined in terms of other articles. When you create an order for a kit article, the system will automatically create order lines for the articles which make up the kit. You cannot have the kit article in stock - only the underlying sub-articles can be kept in stock.

A production article is an article which may be produced from other articles. It is like a kit article in that it must be defined in terms of other articles. However, you can keep a production article in stock.

Both the SOAP and REST APIs may create and update kit articles and production articles.

Sub order lines

Only the SOAP API may create sub order lines, that is, define order lines which are "children" of another order line.

Unique order, purchase order and article numbers

The REST API has some requirements regarding uniqueness. In the REST API:

  • An article (SKU) must have a unique article number.
  • An order must have a unique order number.
  • A purchase order must have a unique purchase order number.
In the SOAP API, the above are not always required.

Advising detailed goods information on purchase orders

Both the REST API and SOAP API allow you to create purchase orders, which advise the warehouse of which articles and quantities are expected to arrive at the warehouse.

There is an optional step you can take, where you also advise exactly which batch numbers, pallet numbers, expiry dates, etc. are expected. Both APIs allow you to do this.