Skip to the content.

SHARK WMS RESTAPI Version 1.2 (1.2.2)

Download OpenAPI specification:Download

SHARK WMS RESTAPI - REST based web service for SHARK WMS. The main purpose of the API is to maintain master data and to create orders from a Host system (ERP).

Orders

Create and maintain orders generated by a Host System.

Create a new order in SHARK.

Used to create all kind of orders in SHARK, like inbound, outbound and stock counting. The OrderTypeID defines the type of the order.

Authorizations:
bearerAuth
Request Body schema: application/json

Order to add

orderNumber
required
string [ 1 .. 50 ] characters

The order number is a reference number, that in combination with the OrderType and the DeliveryNoteNumber defines a unique order.

owner
string [ 1 .. 50 ] characters

Optional owner (company) of this order. In case an owner is specified, all articles in the order must be owned by the specified owner.

deliveryNoteNumber
string [ 1 .. 50 ] characters

A delivery number, a shipment number.

orderTypeID
required
integer [ 1 .. 32768 ]

OrderTypeID defines the type of the order. The default types are: 1=outbound (pick), 2=inbound (put-away). Other types can be defined as needed.

priority
integer [ 1 .. 255 ]
Default: 127

Priority is a number between 0 and 255. Default is 127, 0 is lowest and 255 is express orders.

deliveryDate
string <date>

Date the order should be delivered. Format: YYYY-MM-DD

note
string [ 0 .. 512 ] characters

Free order note.

shipment
string [ 0 .. 50 ] characters

Type of shipment. Information to the consolidation and shipment area and to an optional freight system.

carrier
string [ 0 .. 50 ] characters

Name of the transport company that will pick up a pick order.

tour
string [ 0 .. 50 ] characters

Orders can be picked to different tours. This parameter can be used to tell the system, that the order must be delivered with the specified tour.

gate
string [ 0 .. 50 ] characters

Where the order will be picked up, when leaving the warehouse.

object (CustomerJS)
Array of objects (DeliveryAddressJS)
object (MiscFields)

Optional fields used for keeping customized information.

Array of objects (OrderLineJS)
partlist
object

Responses

Request samples

Content type
application/json
{
  • "orderNumber": "ORD0001",
  • "owner": "string",
  • "deliveryNoteNumber": "string",
  • "orderTypeID": 1,
  • "priority": 127,
  • "deliveryDate": "2019-08-24",
  • "note": "string",
  • "shipment": "string",
  • "carrier": "string",
  • "tour": "string",
  • "gate": "string",
  • "customer": {
    },
  • "deliveryaddress": [
    ],
  • "misc": {
    },
  • "orderline": [
    ],
  • "partlist": { }
}

Delete an order from SHARK

Delete an order from SHARK. This is only possible, if the order is not working. Actually the order is only cancelled, it will still exists, but is not visible. When the order is cancelled, it can be overwritten with a new order with same order number.

Authorizations:
bearerAuth
query Parameters
orderNumber
required
string [ 1 .. 50 ] characters
Example: orderNumber=ORD0001

Order Number

deliveryNoteNumber
string [ 0 .. 50 ] characters

Delivery Note Number

orderTypeID
number

Default IDs are 1 for outbound (picking), 2 for inbound (store), 19 for at stock counting request. New order types can be created in SHARK.

owner
string [ 0 .. 50 ] characters

Owner

Responses

Start an order by Host control.

The normal way is that an order is started from Shark. This method allows an order to be started by a Host system.

Authorizations:
bearerAuth
query Parameters
orderNumber
required
string
deliveryNoteNumber
string
orderTypeID
required
integer
workstation
required
string

The order must be started related to a workstation. The workstation relation is used to define where the order execution belongs and the work group for the order.

Responses

Get acknowledgements from executed orders.

Returns information about order transactions that has been fullfilled or canceled. Confirmations are logged as documents with an ID number. Store the returned next id and use that for the next call. The confirmations can be generated at order, order line or at transaction level, depending on the configured confirmation mode.

Authorizations:
bearerAuth
query Parameters
nextID
required
integer

Return all confirmations from this ID and forward.

maxdocs
integer [ 1 .. 1000 ]

The maximum number of entries to return.

expandPartLists
boolean

Set to true to return detailed information about part lists in the order.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change the order state to closed. Used to close an inbound or outbound order not yet fully processed.

Order status

Authorizations:
bearerAuth
query Parameters
orderNumber
required
string
Example: orderNumber=ORD0001

Order Number

deliveryNoteNumber
string

Delivery Note Number

owner
string

Owner

OrderTypeID
required
number
close
required
boolean

Responses

Response samples

Content type
application/json
{
  • "orderNumber": "string",
  • "deliverNoteNumber": "string",
  • "owner": "string",
  • "status": "string"
}

Returns status of an order

Order status

Authorizations:
bearerAuth
query Parameters
orderNumber
required
string
Example: orderNumber=ORD0001

Order Number

deliveryNoteNumber
string

Delivery Note Number

owner
string

Used if the system is running with multiple owners of the warehouse, eg. the warehouse is used for 3PL.

orderTypeID
required
number

Required order type id. Standard values are 1 for outbound and 2 for inbound, but order types can be customized for the installation.

Responses

Response samples

Content type
application/json
{
  • "orderNumber": "string",
  • "deliverNoteNumber": "string",
  • "owner": "string",
  • "status": "string"
}

Returns status of an order

Order status

Authorizations:
bearerAuth
query Parameters
orderNumber
required
string
Example: orderNumber=ORD0001

Order Number

deliveryNoteNumber
string

Delivery Note Number

orderTypeID
integer
owner
string

Owner

Responses

Response samples

Content type
application/json
{
  • "orderNumber": "string",
  • "deliverNoteNumber": "string",
  • "owner": "string",
  • "orderTypeID": 0,
  • "statusText": "string",
  • "statusID": "1=The order is finished (OK), 2=Not started, 4=Partly processed",
  • "released": "True if the order is released.",
  • "working": "True if the order is processed.",
  • "consolidated": "True if the order is consolidated (shipped)",
  • "cancelAllowed": "True if the order can be cancelled (deleted).",
  • "backOrderStatusID": 0,
  • "backOrderStatusText": "string",
  • "deliveryDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "startTime": "2019-08-24T14:15:22Z",
  • "completedTime": "2019-08-24T14:15:22Z",
  • "OrderLineStatusListJS": [
    ]
}

Subscribe to a webhook. (Not yet fully functional)

Subscribe to a webhook. Webhooks are user-defined HTTP callbacks. When a new confirmation is available in SHARK, it will post to the specified URL. Thereby polling can be avoided.

Authorizations:
bearerAuth
Request Body schema: application/json
url
required
string

URL that will be used as endpoint for the webhook.

type
required
string
Default: "ORDERCONFIRM"
Enum: "ORDERCONFIRM" "ORDERSTATECHANGED"

Type of event to receive.

includeContent
boolean
Default: false

If true the document that is waiting will be included in the body of the webhook postin.

Responses

Callbacks

Request samples

Content type
application/json
{}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "nextID": 0,
  • "documentID": 0,
  • "status": "string",
  • "orderTypeID": 0,
  • "orderNumber": "string",
  • "deliveryDate": "2019-08-24T14:15:22Z",
  • "owner": "string",
  • "deliverNoteNumber": "string",
  • "carrier": "string",
  • "weight": "string",
  • "colli": "string",
  • "misc": {
    },
  • "orderline": [
    ],
  • "partlist": [
    ]
}

Get a post every time an order change the state. (Not yet fully functional)

Subscribe to a webhook. Webhooks are user-defined HTTP callbacks. When a new confirmation is available in SHARK, it will post to the specified URL. Thereby polling can be avoided.

Authorizations:
bearerAuth
Request Body schema: application/json
url
required
string

URL that will be used as endpoint for the webhook.

type
required
string
Default: "ORDERCONFIRM"
Enum: "ORDERCONFIRM" "ORDERSTATECHANGED"

Type of event to receive.

includeContent
boolean
Default: false

If true the document that is waiting will be included in the body of the webhook postin.

Responses

Callbacks

Request samples

Content type
application/json
{}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "orderNumber": "string",
  • "deliveryNoteNumber": "string",
  • "orderTypeID": 0,
  • "owner": "string",
  • "state": "READY",
  • "createdDate": "2019-08-24T14:15:22Z"
}

Inventory

Get stock and location reports. Maintain quality inspection.

Get a stock report from system.

Return a complete stock report as a snapshot when the call is received. This is typically requested when the two systems are in an idle state – in other words, when no orders are in progress.

Authorizations:
bearerAuth
query Parameters
articleNumber
string
Example: articleNumber=ART001

The specify an article number to return info for only this number.

page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all locations

Return a list of all locations including stock

Authorizations:
bearerAuth
query Parameters
locationaddress
string

Optional location address to search for. A procent sign can be used for pattern matching.

page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lock stock by batch number

Lock or unlock locations by batch number. This might be used to avoid picking from a specific batch number, for example if the batch is expired.

Authorizations:
bearerAuth
query Parameters
article
required
string

The article number.

owner
string

Optional owner of the article number.

batchNumber
required
string

Batch numbers for inventoring orders are actually not supported and will be ignored if specified.

lock
required
boolean

Lock or unlock the locations.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all items in inspection (Not yet fully functional)

Return a list of all locations with articles stored waiting for inspection.

Authorizations:
bearerAuth
query Parameters
page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Maintain articles that was stored for inspection. Default is release stock that was locked until quality inspection has been fullfilled. Can also be used to reject inspected articles, by setting the passed flag to false.

Authorizations:
bearerAuth
query Parameters
article
required
string

The article number.

location
string

Optionally support for specifying a specific location where the articles are stored.

qty
number

This is used to define how many items are accepted or rejected currently in inspection. If the quantity is lower than the actually quantity in inspection, the stock will be adjusted to that value.

action
required
string
Enum: "REJECTED" "ACCEPTED" "MOVE_TO_QUARANTINE" "MOVE_TO_SCRAP"

What to do with the articles. If ACCEPTED the articles specified by qty will be unlocked and available as ordinary stock, if qty is less than the locked quantity, it will be removed (supposed already to be removed). If REJECTED the stock will be removed. If MOVE_TO_QUARATINE, the articles will be moved to a quaratine zone and still be locked. If MOVE_TO_SCRAP, the articles will be moved to a scrap zone and not any longer be available.

batchNumber
string

Batch numbers for inventoring orders are actually not supported and will be ignored if specified.

owner
string

Owner is only required in setups for 3PL where the warehouse supports multiple owners of the stock.

orderNumber
required
string

This is the inbound order number, original used when the articles were received. It is required in all requests to identify the articles.

serialNumber
string

Optional serial number (only one can be specified). So far not supported.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Articles

Maintain article master data.

Search for one or more articles.

Get information about the specified article(s). Returns the relevant information.

Authorizations:
bearerAuth
query Parameters
articleNumber
string

Specify the article number to find. A procent sign can be used for pattern matching.

owner
string

For sites with multiple owners of the articles, specify the actually owner.

page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add or update master data for articles.

Master data is basic information about the articles. The most important information is the article number and description, but other information can be transferred as well. SHARK will create new articles and update the description, when met in an imported order, but the Master Data allows more information and will also work if SHARK is used with the Manual Transactions (transactions with no host-orders), this could be the case in an initial store process, where goods are moved from old locations into SHARK without orders.

Authorizations:
bearerAuth
Request Body schema: application/json
Array
articleNumber
required
string [ 1 .. 50 ] characters
owner
string [ 0 .. 50 ] characters
Default: ""
description
string [ 0 .. 150 ] characters
Default: ""
description1
string [ 0 .. 150 ] characters
Default: ""
description2
string [ 0 .. 150 ] characters
Default: ""
ean
string [ 0 .. 50 ] characters
Default: ""

EAN Number

erpcount
number
Default: 0

The Host systems stock quantity, used to compare SHARK stock with the Host stock.

locationstrategy
string
Default: "FLOATING"
Enum: "FIFO" "FIXED" "FLOATING"

The storage strategy used either FIFO, FIXED or FLOATING

markForDeletion
boolean
Default: false

If true the article will be deleted if possible else it will marked for later deletion. It cannot be used in new orders or put-away operations. The article cannot be deleted immediately, because it might have database references.

batchNumberRequired
boolean
Default: false

If true a batch number must be registered when picked or stored.

serialNumberRequired
string
Default: "NEVER"
Enum: "NEVER" "ALWAYS" "INBOUND" "OUTBOUND" "TRACKED"

Set the serial number strategy used.

alternativeArticleNumber1
string [ 1 .. 50 ] characters
Default: "NEVER"
alternativeArticleNumber2
string [ 1 .. 50 ] characters
Default: "NEVER"
group
string [ 1 .. 50 ] characters
Default: "NEVER"
pickingRate
string [ 1 .. 10 ] characters
Default: null
unit
string [ 1 .. 10 ] characters
Default: "NEVER"
Array of objects (PackagesListJS)
Array of objects (ReplenishmentListJS)
Array of objects (LocationTypeListJS)
object (MiscFields)

Optional fields used for keeping customized information.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

/article

Authorizations:
bearerAuth
query Parameters
articleNumber
string

Specify the article number to find. A procent sign can be used for pattern matching.

owner
string

For sites with multiple owners of the articles, specify the actually owner.

Responses

Rename an article.

Rename an article. This is used to rename an article number. The new article number must not exist.

Authorizations:
bearerAuth
query Parameters
articleNumber
string

Specify the article number to find. A procent sign can be used for pattern matching.

newArticleNumber
string

Specify the new article number.

owner
string

For sites with multiple owners of the articles, specify the actually owner.

Responses

XML

Write data in XML format.

Post SHARK standard XML.

This allows existing SHARK XML files to be posted, using the REST API (Not yet fully functional)

Authorizations:
bearerAuth
Request Body schema: application/json
string <xml>

Responses

Request samples

Content type
application/json
"string"

System

System related queries.

Get statistic information

Authorizations:
bearerAuth
query Parameters
page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a custom data report.

SHARK allows customized reports to be generated as views in the database. This call can be used to extract the report data.

Authorizations:
bearerAuth
query Parameters
reportName
required
string

This is the name of the predefined report in the SHARK system.

columns
string

Optional list of comma separated column names to return. Default is all columns.

sort
string

Comma separated list of column names to order by.

filter
string

Filter for a single column. Format colname EQ/NEQ/GT/LT value.

page
number >= 1

Page number if the response is paged.

pageSize
number [ 1 .. 100000 ]

Number of returned rows in the response set.

Responses

Response samples

Content type
application/json
{
  • "metadata": [
    ],
  • "data": [
    ]
}

Get general health information (Not yet fully functional)

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]