4 REST Web Services

Web services are intended for integration to allow a system using those services to control the flow and processing of data within EICS. There are multiple types of data involved in this integration. Data that is managed by other systems and needs to get into our system, but that EICS does not manage. This includes such concepts as item, stores, and point-of-sale transaction. Data that is managed by EICS includes such ideas as inventory adjustments, transfers, deliveries, and stock counts. Some services will provide ability for external data to get into EICS, some are intended to be used real time such as approving, picking, and dispatching shipments.

REST WEB Services Security Considerations

The REST web services provided by EICS are secured using OAuth2 tokens and require SSL.

The supported OAuth2 security requires a token requested for the client_credentials grant with the EICS integration scope (for example, rgbu:siocs:integration).

Note that the scope name differs for each environment.

REST Web Service OAuth2 Requests

This section will describe how to call an EICS web service using the OAuth2 protocol. The target audience is developers who are looking to write code that calls the web service.

Using the OAuth Protocol

The OAuth protocol is relatively straightforward:

  • Get an access token from the authentication provider

  • Pass the access token along with the web service request

In this case, the authentication provider is Oracle Identity Cloud Service (IDCS). Every customer who purchases a subscription to EICS gets a subscription to IDCS as part of their purchase.

Obtaining a Token

REST APIs use OAuth2.0 for authorization.

To generate a token from IDCS, an IDCS application client will need to be created for you to use.

The Customer Administration users must create their own client credential IDCS application using the Oracle Retail Home Cloud Service. For additional details, refer to Oracle® Retail Home Administration Guide- Chapter: Oauth Application Configuration chapter – Section: Creating OAuth Client Applications.

The App name and scope that should be used for IDCS application creation should be environment specific using the format :

App Name- RGBU_SIOCS_<ENV>_EICS_INT

Scope 1 - rgbu:siocs:integration-<ENV>

Scope 2 - rgbu:siocs:security-<ENV>

Please note that the integration scope is the default and other scopes are needed when specified.

Example:

App Name- RGBU_SIOCS_STG1_ EICS_INT

Scope 1 - rgbu:siocs:integration-STG1

Scope 2 - rgbu:siocs:security-STG1

You will need the following information about the IDCS application client to request a token:

  • IDCS URL

  • Client Id

  • Client Secret

  • Scope Name

Note:

the application client must be assigned the scope from the EICS IDCS cloud service in order to request the token. This assignment is performed when the application client is created.

The scope name will differ for each environment. Please ensure the correct value is used for your environment.

To generate a token, you will need to invoke the appropriate IDCS REST API. The curl command in Linux that describes the POST that will return a token is as follows:

curl -H 'Authorization: Basic <base64(clientId:clientSecret)>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST <IDCS URL>/oauth2/v1/token -d 'grant_type=client_credentials&scope=<EICS Scope>'

In Windows, use double-quotes, as follows:

curl -H "Authorization: Basic <base64(clientId:clientSecret)>" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" --request POST <IDCS URL>/oauth2/v1/token -d "grant_type=client_credentials&scope=<EICS Scope>"

This is a standard REST POST, with the following details:

  • <IDCS URL> is the IDCS URL the retailer provided

  • Include the Client Id and Client Secret as a Basic Authentication header

  • Specify the Content Type as application/x-www-form-urlencoded;charset=UTF-8

  • Specify the body as grant_type=client_credentials&scope=<EICS Scope>

The service will respond with the following JSON message:

{

"access_token": "<TOKEN>",

"token_type": "Bearer",

"expires_in": 3600

}

Note that the response will return how long the token is valid for. You should reuse the same token until it expires in order to minimize calls to IDCS to get a token.

If the token request fails, you will receive the following JSON response:

{

"error":"<error>",

"error_description":"<error description>",

"ecid":"u….."

}

The most common errors are:

  • Invalid Client. This means that the client information you send in is not correct. The error description will expand on the reason:

    • Client Authentication Failed means that the client is valid, but the client secret is incorrect.

    • Invalid OAuth Client <CLIENT> means that the client id is not valid, and the invalid client will be listed in the error message.

  • Invalid Request. Some part of the inbound request is not valid. The error description is usually descriptive about what the actual error condition is

Calling the EICS Web Service

To invoke the web service with an OAuth2 token, you must add an Authorization header to the request. The value of the Authorization header must be Bearer <token>, that is:

  • The word Bearer

  • A space

  • A valid token

For a REST service call, the request might look something like this:

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <TOKEN>' -i https://CloudServiceURL --data '{PAYLOAD}'

Remember that the token will expire after a specific amount time, and to be more efficient you should always use a token so long as it's valid. It is your responsibility to make sure that you are keeping track of whether the token is still valid. Your pattern should be:

  • Check to see if you have a valid token that has not expired.

  • If not, call to IDCS and get a new token. Store it and its expiration time.

  • Send the request into the web service with the token in the Authorization header as a Bearer token.

REST WEB Services Basic Design Principles

Requests and Responses

When making requests and processing responses from REST web services it is important for the client to handle headers correctly.

The client should always use Accept for the appropriate content type when making requests.

The client should always check the response status code and Content-Type header before processing a response body.

When reading a payload from the response body, the Content-Length header must be used safely and securely along with the Content-Type.

This is important even for error responses. It is possible for errors to occur outside of the REST API layer, which may produce different content for the error. In these cases, it is common to get text or HTML content for the response body.

API Versioning

Accept-Version

The REST end points have an optional API versioning feature allowing the client to specify an API version to be accepted.

This may be used by the client to ensure that no calls may be made to a web service that uses an incorrect version number.

For example: Accept-Version: 22.1.301

If the web service does not support this API version, then the server will produce a 400 Bad Request error response.

Content-Type

application/json

The content type of both REST input and returned output is application/json.

In the case that no content is included, a content type may not be assigned.

When handling REST service responses, the client must always check the returned Content-Type and Content-Length before processing the payload.

JSON Validation

When consuming a REST service end point that requires a request payload as JSON, the client is responsible for verifying that the JSON is valid. If invalid data is sent in a request, there may be a server error processing the JSON or it may ignore some fields if the JSON is valid but does not map correctly to the API payload definition.

Always make sure that the client sends valid JSON that is designed to satisfy the API payload definition.

Synchronous vs Asynchronous

Each service API will be defined as synchronous or asynchronous. Both perform JSON validation as described above. If the API is synchronous, the remaining data validation and live updating of the data will take place immediately and the call will be rejected if any business errors occur. If the API is asynchronous, the data is set aside to be processed later and the REST service is successfully returned noting that the data has been accepted. In the case of asynchronous processing, business error and failed data recovery is monitored and the dealt with outside of the REST web service.

Online Documentation

EICS has exposed Swagger JSON files for customers to download and use with the Swagger application as online documentation. The table below contains the files name for access. The file can be retrieved from on the server at:

https://<external_load_balancer>/<cust_env>/siocs-int-services/public/api/filename.json

activitylock

address

adhoccount

allocation

batch

differentiator

finisher

fts

fulfillmentorder

fulfillmentorderdelivery

fulfillmentorderpick

fulfillmentorderreversepick

inventoryadjustment

item

itembasket

iteminquiry

iteminventory

itemisn

itemprice

itemuda

itemuin

manifest

notification

postransaction

productarea

productgroup

productgroupschedule

purchaseorder

reasoncode

rfid

security

shelfadjustment

shelfreplenishment

shelfreplenishmentgap

shipping

stockcount

store

storeitem

storeorder

storesequence

supplier

ticket

transfer

transferdelivery

transfershipment

translation

vendordelivery

vendorreturn

vendorshipment

warehouse

For external APIs that must be implemented by the customer for EICS to access, the files can be accessed on the server at:

https://<external_load_balancer>/<cust_env>/siocs-int-services/public/api-external/file.json

fulfillmentorderaddress-external

fulfillmentorderstatus-external

inventoryadjustment-external

manifest-external

notification-external

preshipmentnotice-external

shipment-external

stockcountschedule-external

storeorder-external

ticketprint-external

transferdeliverreceipt-external

transferstatus-external

vendordeliveryreceipt-external

vendorreturn-external

Configured System Options In EICS

Web services apply system configuration to the request that are coming in through a web service but assumes that all in-put validation that requires user interaction to confirm has been completed by the third party system prior to accessing the service. It operates as if the user confirmed any activity. However, if a system option is a fixed restriction that does not require user interaction, and the input fails the restriction, this is always considered an error.

Examples of configurations being applied include:

Shipping inventory when inventory is less than 0 can be allowed by a user of EICS. The web services assumes that the application accessing the service did prompt the user or that their business always allows the user to this activity.

Adding a non-ranged item requires both a system configuration option to be enabled and the user to confirm the addition of the item. If the system configuration does not allow it, the web service will block the transaction and return an error (un-less processing asynchronously). If the system configuration does allow adding non-ranged items, it will automatically assume that a user confirmed this addition and processing will allow the addition of the item.

Allowing Receiver Unit Adjustments is dependent on a period of time. If a receiver unit adjustment were to come into EICS after that period of time, it would automatically be rejected, and the web service would return an error regardless of presentation or confirmation of user done by the external system.

External vs Internal Attributes

EICS web services are EICS centric and track information from an internal application point-of-view. This has ramifications on three types of data: identifiers, dates, and users.

Almost all paths and information will contain an identifier. In almost all cases, this will be an EICS internal identifier generated within our system. If external identifiers also exist for the date, they will be defined as such in the information. For example, you might encounter transferId and externalTransferId as attributes. In some cases, an API only takes an internal identifier, and you may need to use lookup APIs to retrieve an internal identifier using an external identifier as search criteria.

Timestamps are captured at the time an event occurs within EICS as part of EICS's internal tracking and state management. For example, we capture the timestamp when a shipment is created, last updated, and when it is dispatched. These timestamps occur at the time this occurred within EICS. When a REST service is called to create a transaction, such as a shipment, the create timestamp of the shipment will be the moment that service is called. If the shipment is dispatched using the web service, the dispatch date will be the moment that service is called. So if an external system dispatched a shipment two days earlier, and is just now calling the web service, it will not capture the external dispatch time. In some places, you will encounter a date that can be entered as part of the input information (for example, an externalDispatchDate, or simple a transactionTimestamp). If it is part of the input information, then it will be captured as that attribute defined in the API.

The user responsible for actions is often captured as part of transaction information with EICS. Some examples might be the user that created the data, the user the last updated it, or perhaps the user that approved it. In these cases, the user is considered an internal user as is assigned the current session user at the time the activity takes place. When accessing the REST service, the user will be fiwed as an “External User” to indicate it came from an external system, and not the user that manipulated the information in an external system. If external users are to be captured by the data, there will be independent attribute fields such as externalCreateUser that capture the identity of a user in an external system.

Activity Locking

An activity lock is a record indicating that a user is currently actively working on a transaction. When using REST services, the accessing application is responsible for the management of activity locks. The Activity Lock REST service allows the finding, creating, and deleting of activity locks.

Developers should create a lock on transactional information prior to performing updating calls and delete those locks when the update is finished. For example, to update Inventory Adjustment 123, the first step is to create an activity lock for Inventory Adjustment 123 using the Activity Lock REST service. The next step is to update the inventory adjustment. Once the inventory adjustment is finished, you can then delete the activity lock for Inventory Adjustment 123. Note that an activity lock is not obtained, then an error may occur when updating the transaction indicating that the update can not happen due to a user currently holding the lock.

An alternate method to handling activity locks is to assume that REST service calls should override any current work a user is performing. Under this design, a delete lock call can be issued just prior to the update. For example, for Inventory Adjustment 123, you can simply delete locks for that transaction just prior to calling the update and this will remove the lock and terminate any work other users are doing on that transaction prior to your update.

Dates In Content

Dates included as part of raw JSON data content (most often as part of a POST) must match the following format example: 2022-04-19T23:59:59-05:00.

The content includes year (4 digit), month, day, hour, minute, second, and timezone offset and allows formatting.

Dates included as a query parameter within the main URL must be in the following format example: 220227152543-0700

The content includes year (2 digit), month, day, hour, minute, second, and timezone offset without any formatting.

Due to URL encoding standards, the query parameter cannot directly contain a “+” symbol for positive shift from UTC timezones and this character will need to replace by its URL encoding. The URL encoding for a “+” symbol is “%2B”, so the actual query parameter for 220227152543+0700 would instead be 220227152543%2B0700.

Note:

After the format permissible length, any additional trailing characters will be ignored and the date will still be processed.

Links In Content

JSON information for a data object may include links. These are self-referential APIs that defined other APIs that are available with the information. In the example below, when reading an activity lock, the following links were included that define a path to accomplish other calls. HRef lists the basic reference and the “rel” the remainder of the path. So, when you read activity lock (1), you get a delete reference that maps to /activitylock/1/delete, defining the REST path to delete that lock.

[ {

"links" : [ {

"href" : "/activitylocks/1",

"rel" : "self"

}, {

"href" : "/activitylocks/1",

"rel" : "delete"

} ],

Hypertext Transfer Protocol Status Codes

The following information documents the HTTP status codes that Oracle returns via web services calls.

Success Codes

Successful codes are returned whenever the accessing client call was made without any error in the form or content.

Code Description

200 OK

The information supplied by the customer was in a correct form. This code is returned when reading a resource or querying information about an existing resource or schema. This response code is used when the access is synchronous.

202 Accepted

The information supplied by the customer as in a correct form. This code is returned when access is asynchronous.

204 No Content

The information supplied by the customer was in a correct form. The request was successful but the API itself never provides information as a response.

Client Failure Codes

Client failure codes indicate the client made an error in their service access and must correct their code or its content to fix the failure.

Code Description

400 Bad Request

If this code is returned, it indicates the customer made a call with invalid syntax or violated the defined properties of the input information. Detailed information may be returned that further identifies the error.

401 Unauthorized

403 Forbidden

If either of these codes are returned, it indicates the access to service was denied. This may occur if no OAuth2 token was provided, or the token had expired, or the identity the token was generated for did not have sufficient access.

404 Not Found

If this code is returned, it indicates the customer made an erroneous access call against a resource or schema that is not defined.

405 Method Not Allowed

If this code is returned, it indicates that the wrong HTTP method was used to make the call. Please check the API.

406 Not Acceptable

If this code is returned, it indicates the wrong Accept header value was used to make the call. Please check the API.

409 Too Many Requests

If this code is returned, it indicates that the web service has received too many service requests recently. This may indicate a cloud issue requiring support to address or the client is making too many calls too frequently and a solution may be required to avoid the issue.

System Failure Codes

System failure codes are returned whenever the processing server encounters an unexpected or severe failure.

Code Description

500 Internal Server Code

A server error occurred that did not allow the operation to complete.

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

If any of these codes are returned, it indicates an issue with the network or cloud services, which may occur due to either client or cloud networking or infrastructure issues, such as outages.

JSON Error Element and Error Codes

If an error occurs in the form of the content, or during processing of the content, an HTTP response code (400 Bad Request) will be returned along with JSON structure defined by the ErrorList schema.

Schema — ErrorList

This section describes the ErrorList schema.

Table 4-1 ErrorList — Object

Element Name Required Data Type Description
errors NA object

Information about the errors.

The table below describes the information about the error. See the Oracle Retail Enterprise Inventory Cloud Service Administration Guide for further information.

Table 4-2 Error — Object

Element Name Required Data Type Description

code

NA

number example: 1

The code error type.

description

NA

string example: AN_ERROR_TOOK_PLACE

A brief description of the error type (an error key).

dataElement

NA

string example: item

The attribute or element that caused the failure.

dataValue

NA

string example: 1234

The value of the attribute or element that failed, or a piece of information about that element.

referenceElement

NA

string example: inventory adjustment

An attribute or element that may help further identify the error. Most often this is a containing element one level above the failed element.

referenceValue

NA

string example: 123

The value of the reference attribute or element, often something to identify the specific reference element.

Example Value

[
  {
    "errors": [
      {
        "code": 1,
        "description": "AN_ERROR_TOOK_PLACE",
        "dataElement": "item",
        "dataValue": "1234",
        "referenceElement": "inventory adjustment",
        "referenceValue": "123"
      }
    ]
  }
]

Error Attribute Definitions

Attribute Definition

Code

A numeric code indicates the issue. See Integration Error Codes table.

Description

The name of the error or issue.

DataElement

The name of an attribute or element of the JSON structure that failed.

DataValue

The value of the attribute or element that failed, or a piece of information about the element that failed (such as a maximum value).

ReferenceElement

The name of an attribute or element that will help further identify the data element. Most often the containing element one level above the failed elements (such as a transaction header).

ReferenceValue

The value of the attribute or element that will help further identify the data element.

Integration Error Codes

The following table contains a listing of the error codes that can be found within returned error information.

Code Name Issue

1

Business Error

A business processing error prevent the service from completing.

2

Date Range Error

The date range has a problem (usually indicates end date is earlier than start date in a date range.

3

Duplicate Error

Indicates duplicate element within the data is not permitted.

4

Forbidden

Access is not allowed to the service.

5

Internal Server Error

A severe error occurred with the service attempting to process the request.

6

Invalid Input

Most often this indicates that input was included that is not allowed or not needed, however it also doubles a kind of catch-all category.

7

Invalid Format

An input was in an invalid format (most often a date string in a query parameter not being in a valid date format).

8

Invalid Status

A transaction or entity is not in a valid status to proceed with the request.

9

Missing Path Element

A path element defining the path of the resource URL was not present.

10

Missing Attribute

A required attribute was missing on the input to the service.

11

Not Found

A data element in the input could not be found in the system (most often an invalid identifier).

12

No Data Input

No input exists for a service that requires input.

13

No Query Input

No query input exists at all for a query that requires at least one input.

14

Element Too Large

An input was too large (exceeded maximum count or maximum size).

15

Results Too Large

The results of the service were too large to return.

Error Code Data Elements

The following table contains a listing of likely or possible data elements that would be matched with a code. Data element and value may not be returned in all cases.

Code Name Data Element Data Value

1

Business Error

Business exception name/key

Data Value

2

Date Range Error

Date element name

Value of date

3

Duplicate Error

Duplicate element name

Duplicated Value

4

Forbidden

N/A

-

5

Internal Server Error

N/A

-

6

Invalid Input

Element name

Value of element

7

Invalid Format

Element name

Value of element

8

Invalid Status

Element name

Status of element

9

Missing Path Element

Missing element

-

10

Missing Attribute

Required element name

-

11

Not Found

Element not found

Value of element not found

12

No Data Input

Missing element

-

13

No Query Input

N/A

-

14

Element Too Large

Element name

Allowed size limit

15

Results Too Large

N/A

-

REST Service: Activity Lock

This service allows the creation, removal, and finding of activity locks.

An activity lock is a record indicating the user, time, and apiece of information (a transaction) that should be considered "locked". All server processing validates that the accessing user has a lock on the information before updating, notifying the current user if someone else has modified the information while they were locked and preventing a stale update.

Server Base URL

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Activity Lock

This section describes the Find Activity Lokc API. The Find Activity Lock API searches for up to 10,000 locks based on input criteria. At least one input criteria should be provided.

Method

GET
URL

/activitylocks/find
Request

Table 4-3 Find Activtiy Lock — Request Parameters

Name Required Data Type/Example Description
activityType NA integer($int2) (query)

Include only activity locks with this activity type. Valid devices types are:

1 - Bill of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

4 - Fulfillment Order Delivery

5 - Fulfillment Order Pick

6 - Fulfillment Order Reverse Pick

7 - Invnetory Adjustment

8 - Inventory Adjustment Reason

9 - Item Basket

10 - Item Request

11 - POS Transaction Resolution

12 - Price Change

13 - Product Basket

14 - Product Group

15 - Product Group Schedule

16 - Replenishment Gap

17 - Shelf Adjustment

18 - Shelf Replenishment

19 - Shipment Reason

20 - Stock Count Child

21 - Store Order

22 - Ticket

23 - Ticket Format Basket

24 - Transaction Event

25 - Transfer

26 - Transfer Delivery Carton

27 - Transfer Shipment Carton

28 - Vendor Delivery Carton

29 - Vendor Shipment Carton

30 - Vendor Return

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30

sessionId NA string($text128) (query) Include only activity locks with this session identifier.
deviceType NA integer($int4) (query)

Include only activity locks with this device type. Valid devices types are:

1 - Client

2 - Server

3 - Integration Service

Available values : 1, 2, 3

userName NA string($text128) (query) Include only activity locks with this user name.
lockDateFrom NA string($date-time) (query) Include only activity locks created on or after this date.
lockDateTo NA string($date-time) (query) Include only activity locks created on or before this date.
Responses

This section describes the responses of the Find Activity Lock API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "lockId": 1111111,
    "sessionId": "1234",
    "activityId": "5555",
    "activityType": 1,
    "deviceType": 1,
    "userName": "userAbc",
    "lockDate": "2025-02-27T13:15:22.775Z"
  }
]
Schema — ActivityLockIdo

Table 4-4 ActivityLockIdo —Object

Element Name: Required Data Type/Example Description
lockId NA number($int15) example: 1111111 The identifier of an activity lock.
sessionId NA string($text128) example: 1234 The identifier of the session that owns the lock.
activityId NA string($text128) example: 5555 The identifier of the activity that is locked.
activityType NA integer($int4) example: 1

The type of activity that is locked. Valid devices types are:

1 - Bill of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

4 - Fulfillment Order Delivery

5 - Fulfillment Order Pick

6 - Fulfillment Order Reverse Pick

7 - Inventory Adjustment

8 - Inventory Adjustment Reason

9 - Item Basket

10 - Item Request

11 - POS Transaction Resolution

12 - Price Change

13 - Product Basket

14 - Product Group

15 - Product Group Schedule

16 - Replenishment Gap

17 - Shelf Adjustment

18 - Shelf Replenishment

19 - Shipment Reason

20 - Stock Count Child

21 - Store Order

22 - Ticket

23 - Ticket Format Basket

24 - Transaction Event

25 - Transfer

26 - Transfer Delivery Carton

27 - Transfer Shipment Carton

28 - Vendor Delivery Carton

29 - Vendor Shipment Carton

30 - Vendor Return

Enum:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ]

deviceType NA integer($int4) example: 1

The device type that holds the activity lock. Valid types are:

1 - Client

2 - Server

3 - Integration Service

Enum: [ 1, 2, 3 ]

userName NA string($text128) example: userAbc The unique identifier of the user that owns the lock.
lockDate NA string($date-time) The date the activity was locked.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Activity Lock

The Read Activity Lock API retrieves information about an activity lock.

Method

GET
URL

/activitylocks/{activityLockId}
Request

Table 4-5 Read Activity Lock — Request Parameter

Name Required Data Type/Example Description

activityLockId

Yes

integer($int15) (path)

The activity lock identifier.

Responses

This section describes the responses of the Read Activity Lock API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

{
  "lockId": 1111111,
  "sessionId": "1234",
  "activityId": "5555",
  "activityType": 1,
  "deviceType": 1,
  "userName": "userAbc",
  "lockDate": "2025-02-27T13:47:12.359Z"
}
Schema — ActivityLockIdo

Table 4-6 ActivityLockIdo —Object

Element Name: Required Data Type/Example Description
lockId NA number($int15) example: 1111111 The identifier of an activity lock.
sessionId NA string($text128) example: 1234 The identifier of the session that owns the lock.
activityId NA string($text128) example: 5555 The identifier of the activity that is locked.
activityType NA integer($int4) example: 1

The type of activity that is locked. Valid devices types are:

1 - Bill of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

4 - Fulfillment Order Delivery

5 - Fulfillment Order Pick

6 - Fulfillment Order Reverse Pick

7 - Inventory Adjustment

8 - Inventory Adjustment Reason

9 - Item Basket

10 - Item Request

11 - POS Transaction Resolution

12 - Price Change

13 - Product Basket

14 - Product Group

15 - Product Group Schedule

16 - Replenishment Gap

17 - Shelf Adjustment

18 - Shelf Replenishment

19 - Shipment Reason

20 - Stock Count Child

21 - Store Order

22 - Ticket

23 - Ticket Format Basket

24 - Transaction Event

25 - Transfer

26 - Transfer Delivery Carton

27 - Transfer Shipment Carton

28 - Vendor Delivery Carton

29 - Vendor Shipment Carton

30 - Vendor Return

Enum:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ]

deviceType NA integer($int4) example: 1

The device type that holds the activity lock. Valid types are:

1 - Client

2 - Server

3 - Integration Service

Enum: [ 1, 2, 3 ]

userName NA string($text128) example: userAbc The unique identifier of the user that owns the lock.
lockDate NA string($date-time) The date the activity was locked.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Activity Lock

The Create Activity Lock API creates a new user transaction activity lock. This prevents two users from simultaneously changing the data.

Method

POST
URL

/activitylocks
Request

There are no request parameters.

The request body is appliaction/json.

The activity lock to create.

Example Value

{
  "sessionId": "1234",
  "activityId": "5555",
  "activityType": 1
}
Schema — ActivityLockCreateIdo

Table 4-7 ActivityLockCreateIdo —Object

Element Name Required Data Type/Example Description

sessionId

Yes

string($text128) example: 1234

The identifier of the session that owns the lock.

activityId

Yes

string($text128) example: 5555

The identifier of the activity that is locked (this is often a primary identifier of a transaction).

activityType

Yes

integer($int4) example: 1

The type of activity that is locked. Valid devices types are

1 - Bill of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

4 - Fulfillment Order Delivery

5 - Fulfillment Order Pick

6 - Fulfillment Order Reverse Pick

7 - Invnetory Adjustment

8 - Inventory Adjustment Reason

9 - Item Basket

10 - Item Request

11 - POS Transaction Resolution

12 - Price Change

13 - Product Basket

14 - Product Group

15 - Product Group Schedule

16 - Replenishment Gap

17 - Shelf Adjustment

18 - Shelf Replenishment

19 - Shipment Reason

20 - Stock Count Child

21 - Store Order

22 - Ticket

23 - Ticket Format Basket

24 - Transaction Event

25 - Transfer

26 - Transfer Delivery Carton

27 - Transfer Shipment Carton

28 - Vendor Delivery Carton

29 - Vendor Shipment Carton

30 - Vendor Return

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ]

Responses

This section describes the responses of the Create Activity Lock API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

{
  "lockId": 1111111
}
Schema — ActivityLockRefIdo

Table 4-8 ActivityLockRefIdo —Object

Element Name Required Data Type/Example Description

lockid

NA

number($int15) example: 1111111

The identifier of an activity lock.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Activity Lock

This section describes the Delete Activity Lock API. This API removes an activity lock and indicates the activity should no longer be restricted and another user can now being activity on that data. It will remove the lock if it exists and perform no action at all if the lock does not exist. In either case, it returns 204 code.

Method

POST
URL

/activitylocks/{activityLockId}/delete
Request Parameters

Table 4-9 Delete Activity Lock — Request Parameters

Parameter Required Data Type Description

activityLockId

yes

integer($int15)

(path)

The activity lock identifier.

Responses

This section describes the responses of the Delete Activity Lock API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Address

This service integrates address foundation data. Asychronous address integration is processed through staged messages and is controlled by the MPS Work Type: DcsStore.

Server Base URL

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Read Address

The Read Address API retrieves information about a single address.

Method

GET
URL

/addresses/{addressId}
Request

Table 4-10 Read Address — Request Parameter

Name Required Data Type/Example Description

addressId

Yes

integer($int15) (path)

The address identifier.

Responses

This section describes the responses of the Read Address API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

{
  "addressId": 1111111,
  "entityType": 1,
  "entityId": 5555,
  "addressType": 1,
  "primary": true,
  "addressLine1": "This is line 1.",
  "addressLine2": "This is line 2.",
  "addressLine3": "This is line 3.",
  "city": "City name",
  "state": "ST",
  "countryCode": "USA",
  "postalCode": "10000",
  "county": "County",
  "companyName": "Company name",
  "contactName": "Contact Name",
  "contactPhone": "123-456-7890",
  "contactFax": "123-456-7890",
  "contactEmail": "email@service.com",
  "firstName": "John",
  "lastName": "Smith",
  "phoneticFirstName": "jon",
  "phoneticLastName": "smith",
  "supplierLocation": "Location"
}
Schema — AddressIdo

Table 4-11 AddressIdo —Object

Element Name Required Data Type/Example Description
addressId NA number($int25) example: 1111111 The identifier of the address in an external system.
entityType NA integer($int4) example: 1

Denotes the type of location of the entity. Valid values are:

1 - Bill Of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

Enum: [ 1, 2, 3 ]

entityId NA integer($int10) example: 5555 The external identifier of the entity the address belongs to.
addressType NA integer($int4) example: 1

The type of address. Value values are:

1 - Business

2 - Postal

3 - Return

4 - Order

5 - Invoice

6 - Remittance

7 - Billing

8 - Delivery

9 - External

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

primary NA boolean example: true True if this is the primary address of the entity.
addressLine1 NA string($text240) example: This is line 1. The first line of the address.
addressLine2 NA string($text240) example: This is line 2. The second line of the address.
addressLine3 NA string($text240) example: This is line 3. The third line of the address.
city NA string($text120) example: City name The city of the address.
state NA string($text3) example: ST The state abbreviation of the address.
countryCode NA string($text3) example: USA The country code of the address (used by supplier).)
postalCode NA string($text30) example: 10000 The postal code of the address.
county NA string($text250) example: County The county name of the address.
companyName NA string($text120) example: Company name A company name associated to the address.
contactName NA string($text120) example: Contact Name A contact name for the address.
contactPhone NA string($text20) example: 123-456-7890 A contact phone number for the address.
contactFax NA string($text20) example: 123-456-7890 A contact fax number for the address.
contactEmail NA string($text100) example: email@service.com A contact email for the address.
firstName NA string($text120) example: John The first name of the contact for the address.
lastName NA string($text120) example: Smith The last name of the contact for the address.
phoneticFirstName NA string($text120) example: jon A phonetic spelling of the first name of a contact for the address.
phoneticLastName NA string($text120) example: smith A phonetic spelling of the last name of a contact for the address.
supplierLocation NA string($text120) example: Location Supplier location information
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Address

Imports a series of addresses. This allows up to 1,000 addresses. A forbidden response will occurs if the application is integrated with MFCS or RMS..

Method

POST
URL

/addresses/{addressId}/delete
Request Parameters

Threr are no request parameters.

The request body is application/json.

A list of addresses to import.

Example Value
{
  "addresses": [
    {
      "addressId": 1111111,
      "entityType": 1,
      "entityId": 5555,
      "addressType": 1,
      "primary": true,
      "addressLine1": "This is line 1.",
      "addressLine2": "This is line 2.",
      "addressLine3": "This is line 3.",
      "city": "City name",
      "state": "ST",
      "countryCode": "USA",
      "postalCode": "10000",
      "county": "County",
      "companyName": "Company name",
      "contactName": "Contact Name",
      "contactPhone": "123-456-7890",
      "contactFax": "123-456-7890",
      "contactEmail": "email@service.com",
      "firstName": "John",
      "lastName": "Smith",
      "phoneticFirstName": "jon",
      "phoneticLastName": "smith",
      "supplierLocation": "Location"
    }
  ]
}
Schema - AddressImportListIdo

Table 4-12 AddressImportListIdo —Object

Element Name Required Data Type/Example Description
addresses NA object Addresses

Table 4-13 AddressImportIdo —Object

Element Name Required Data Type/Example Description
addressId NA number($int25) example: 1111111 The identifier of the address in an external system.
entityType NA integer($int4) example: 1

Denotes the type of location of the entity. Valid values are:

1 - Bill of Lading

2 - Direct Delivery Invoice

3 - Fulfillment Order

Enum: [ 1, 2, 3 ]

entityId NA integer($int10) example: 5555 The external identifier of the entity the address belongs to.
addressType NA integer($int4) example: 1

The type of address. Value values are:

1 - Business

2 - Postal

3 - Return

4 - Order

5 - Invoice

6 - Remittance

7 - Billing

8 - Delivery

9 - External

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

primary NA boolean example: true True if this is the primary address of the entity.
addressLine1 NA string($text240) example: This is line 1. The first line of the address.
addressLine2 NA string($text240) example: This is line 2. The second line of the address.
addressLine3 NA string($text240) example: This is line 3. The third line of the address.
city NA string($text120) example: City name The city of the address.
state NA string($text3) example: ST The state abbreviation of the address.
countryCode NA string($text3) example: USA The country code of the address (used by supplier).)
postalCode NA string($text30) example: 10000 The postal code of the address.
county NA string($text250) example: County The county name of the address.
companyName NA string($text120) example: Company name A company name associated to the address.
contactName NA string($text120) example: Contact Name A contact name for the address.
contactPhone NA string($text20) example: 123-456-7890 A contact phone number for the address.
contactFax NA string($text20) example: 123-456-7890 A contact fax number for the address.
contactEmail NA string($text100) example: email@service.com A contact email for the address.
firstName NA string($text120) example: John The first name of the contact for the address.
lastName NA string($text120) example: Smith The last name of the contact for the address.
phoneticFirstName NA string($text120) example: jon A phonetic spelling of the first name of a contact for the address.
phoneticLastName NA string($text120) example: smith A phonetic spelling of the last name of a contact for the address.
supplierLocation NA string($text120) example: Location Supplier location information
Responses

This section describes the responses of the Import Address API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Address

Deletes an address. A forbidden response will occur if the application is integrated with Oracle merchandising.

Method

POST
URL

/addresses/{addressId}/delete
Request

Table 4-14 Delete Address — Request Parameter

Name Required Data Type/Example Description

addressId

Yes

integer($int15) (path)

address ID

Responses

This section describes the responses of the Delete Address API.

Response Code: 204

No Content

Response Code: 400

Forbidden

REST Service: Adhoc Count

An Adhoc Count is a stock count created and counted on the fly without previous sheduling or determination of what is going to be counted. All stock counts are broken down into child counts. An adhoc count is broken down into a single child count for processing.

Server Base URL

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Counts

Finds up to a maximum of 1,000 adhoc counts for the input criteria.

Method

GET
URL

/adhoccounts
Request

Table 4-15 Find Counts — Request Parameters

Name Required Data Type/Example Description
storeId NA integer($int10) (query) Include only stock counts for this store.
scheduleDate NA string($date-time) (query) Include only stock counts that are scheduled to be executed on this date.
phase NA integer($int4) (query)

Include only stock counts in this phase. Valid values are:

1 - Count

2 - Authorize

Available values : 1, 2

--12
status NA integer($int4)(query)

Include only stock counts in this status. Valid values are:

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Approval Scheduled

6 - Approval In Progress

7 - Approval Processing

8 - Approval Authorized

9 - Approval Complete

10 - Canceled

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

--12345678910
departmentId NA number($int12) (query) Include only stock counts associated to this department.
classId NA number($int12) (query) Include only stock counts associated to this class. A department is required if this attribute is used.
subclassId NA number($int12) (query) Include only stock counts associated to this subclass. A class is required if this attribute is used.
Responses

This section describes the responses of the Find Counts API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "stockCountId": 11111,
    "storeId": 5000,
    "description": "Weekly Department Count",
    "status": 1,
    "phase": 1,
    "totalItemsOnCount": 120,
    "scheduleDate": "2025-07-14T11:17:07.440Z",
    "startDateTime": "2025-07-14T11:17:07.440Z",
    "updateDateTime": "2025-07-14T11:17:07.440Z"
  }
]
Schema — AdhocCountHeaderIdo

Table 4-16 AdhocCountHeaderIdo —Object

Element Name: Required Data Type/Example Description
stockCountId NA number($int12) example: 11111

The unique identifier of the adhoc count.

storeId NA number($int10) example: 5000

The identifier of the store.

description NA string($text255) example: Weekly Department Count

A description of the adhoc count.

status NA integer($int4) example: 1

The current status of the adhoc count. Valid values are

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Approval Scheduled

6 - Approval In Progress

7 - Approval Processing

8 - Approval Authorized

9 - Approval Complete

10 - Canceled

Enum:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
phase NA integer($int4) example: 1 integer($int4)example: 1

The current phase of the adhoc count. Valid values are

1 - Count

2 - Authorize

Enum:[ 1, 2 ]
totalItemsOnCount NA number($int12) example: 120

The total number of items on the adhoc count.

scheduleDate NA string($date-time)

The date the adhoc count is being counted.

startDateTime NA string($date-time)

The time stamp when the adhoc count was started.

updateDateTime NA string($date-time)

The time stamp when the adhoc count was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Count

The Create Count API creates a new adhoc stock count.

Method

POST
URL

/adhoccounts
Request

There are no request parameters.

The request body is appliaction/json.

Details to create the adhoc count with.

Example Value

{
  "storeId": 11111,
  "description": "Weekly Department Count",
  "scheduleDate": "2025-07-14T11:47:12.274Z",
  "timeframe": 1
}
Schema — AdhocCountCreateIdo

Table 4-17 AdhocCountCreateIdo —Object

Element Name Required Data Type/Example Description
storeId Yes integer($int10)example: 11111

The store where the count is taking place.

description NA string($text255)example: Weekly Department Count

A description of the adhoc count.

scheduleDate NA string($date-time)

The date the adhoc count is being counted.

timeframe   number($int2) example: 1

The timeframe of the processing. If daily sales, only before store open and after store close are allowed. For not daily sales, only None is allowed. If daily sales and not included, default configuration will be used instead. Valid values are

1 - Before Store Open

2 - After Store Close

3 - None

Enum:[ 1, 2, 3 ]
Responses

This section describes the responses of the Create Count API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "stockCountId": 11111,
    "storeId": 5000,
    "description": "Weekly Department Count",
    "status": 1,
    "phase": 1,
    "totalItemsOnCount": 120,
    "scheduleDate": "2025-07-14T11:17:07.440Z",
    "startDateTime": "2025-07-14T11:17:07.440Z",
    "updateDateTime": "2025-07-14T11:17:07.440Z"
  }
]
Schema — AdhocCountHeaderIdo

Table 4-18 AdhocCountHeaderIdo —Object

Element Name: Required Data Type/Example Description
stockCountId NA number($int12) example: 11111

The unique identifier of the adhoc count.

storeId NA number($int10) example: 5000

The identifier of the store.

description NA string($text255) example: Weekly Department Count

A description of the adhoc count.

status NA integer($int4) example: 1

The current status of the adhoc count. Valid values are

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Approval Scheduled

6 - Approval In Progress

7 - Approval Processing

8 - Approval Authorized

9 - Approval Complete

10 - Canceled

Enum:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
phase NA integer($int4) example: 1 integer($int4)example: 1

The current phase of the adhoc count. Valid values are

1 - Count

2 - Authorize

Enum:[ 1, 2 ]
totalItemsOnCount NA number($int12) example: 120

The total number of items on the adhoc count.

scheduleDate NA string($date-time)

The date the adhoc count is being counted.

startDateTime NA string($date-time)

The time stamp when the adhoc count was started.

updateDateTime NA string($date-time)

The time stamp when the adhoc count was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Count

The Read Cound API retrieves all the details about an adhoc count.

Method

GET
URL

/adhoccounts/{adhocCountId}
Request

Table 4-19 Read Count— Request Parameter

Name Required Data Type/Example Description

adhocCountId

Yes

number($int12)(path)

The unique identifier of the adhoc count.

Responses

This section describes the responses of the Read Count API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "stockCountId": 11111,
    "storeId": 5000,
    "description": "Weekly Department Count",
    "status": 1,
    "phase": 1,
    "totalItemsOnCount": 120,
    "scheduleDate": "2025-07-14T13:07:06.824Z",
    "startDateTime": "2025-07-14T13:07:06.824Z",
    "updateDateTime": "2025-07-14T13:07:06.824Z",
    "adhocItemLock": true,
    "childCounts": [
      {
        "childCountId": 11111,
        "status": 1,
        "phase": 1,
        "countUser": "jsmith",
        "authorizeUser": "jsmith",
        "authorizedDate": "2025-07-14T13:07:06.824Z",
        "lineItems": [
          {
            "lineId": 1223465,
            "itemId": "20045673",
            "departmentId": 2000,
            "classId": 3000,
            "subclassId": 4000,
            "primaryLocation": true,
            "multiLocated": false,
            "discrepant": true,
            "breakableComponent": false,
            "countSnapshot": 100,
            "quantityCounted": 99,
            "quantityAuthorized": 101,
            "quantityCountedTotal": 99,
            "countedDateTime": "2025-07-14T13:07:06.824Z",
            "authorizedDateTime": "2025-07-14T13:07:06.824Z",
            "snapshotDateTime": "2025-07-14T13:07:06.824Z",
            "priceType": 1,
            "priceCurrency": "USD",
            "priceValue": 12.99,
            "uins": [
              {
                "uin": "200456734823",
                "uinId": 1223465,
                "snapshotStatus": 1
              }
            ]
          }
        ]
      }
    ]
  }
]
Schema — AdhocCountIdo

Table 4-20 AdhocCountdo —Object

Element Name: Required Data Type/Example Description
stockCountId NA number($int12) example: 11111 The unique identifier of the adhoc count.
storeId NA number($int10) example: 5000

The identifier of the store.

description NA string($text255) example: Weekly Department Count

A description of the adhoc count.

status NA integer($int4) example: 1

The current status of the adhoc count. Valid values are

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Approval Scheduled

6 - Approval In Progress

7 - Approval Processing

8 - Approval Authorized

9 - Approval Complete

10 - Canceled

Enum:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
phase NA integer($int4) example: 1

The current phase of the adhoc count. Valid values are

1 - Count

2 - Authorize

Enum:[ 1, 2 ]
totalItemsOnCount NA number($int12) example: 120

The total number of items on the adhoc count.

scheduleDate NA string($date-time)

The date the adhoc count is being counted.

startDateTime NA string($date-time)

The time stamp when the adhoc count was started.

updateDateTime NA string($date-time)

The time stamp when the adhoc count was last updated.

adhocItemLock NA boolean

True indicates that items can no longer be added.

childCounts NA objects child counts

Table 4-21 AdhocCountChildIdo —Object

Element Name: Required Data Type/Example Description
childCountId NA number($int12) example: 11111

The unique identifier of the adhoc child count.

status NA integer($int4) example: 1

The current status of the adhoc count. Valid values are

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Approval Scheduled

6 - Approval In Progress

7 - Approval Processing

8 - Approval Authorized

9 - Approval Complete

10 - Canceled

Enum:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
phase NA integer($int4)example: 1

The current phase of the adhoc count. Valid values are

1 - Count

2 - Authorize

Enum:[ 1, 2 ]
countUser NA string($text128) example: jsmith

The last user to count the adhoc count child.

authorizeUser NA string($text128) example: jsmith

The user that authorized this adhoc count child.

authorizedDate NA string($date-time)

The date the adhoc count child was authorized.

lineItems NA object line items

Table 4-22 AdhocCountLineItemIdo —Object

Element Name: Required Data Type/Example Description
lineId NA number($int12) example: 1223465

The unique identifier of the line item record.

itemId NA string($text128) example: 20045673

The unique identifier of the item.

departmentId NA number($int12) example: 2000

The unique identifier of the department.

classId NA number($int12) example: 3000

The unique identifier of the class.

subclassId NA number($int12) example: 4000

The unique identifier of the subclass.

primaryLocation NA boolean example: true

True indicates this is the primary stock count child for the item.

multiLocated NA boolean example: false

True indicates this item is located within multiple stock count child records.

discrepant NA boolean example: true

True indicates the item count is discrepant.

breakableComponent NA boolean example: false

True indicates this is a component of a breakable (notional) pack.

countSnapshot NA number($decimal(12,4)) example: 100

The stock on hand at the time the count snapshot was executed.

quantityCounted NA number($decimal(12,4)) example: 99

The amount in standard unit of measure counted during the initial stock counting phase.

quantityAuthorized NA number($decimal(12,4)) example: 101

The amount in standard unit of measure to be approved during authorization.

quantityCountedTotal NA number($decimal(12,4)) example: 99

The amount in standard unit of measure counted during the initial stock counting phase for this item across all children in which it appears.

countedDateTime NA string($date-time)

The time stamp when counting began for the item.

authorizedDateTime NA  

The time stamp when the item was authorized.

snapshotDateTime NA string($date-time) string($date-time)

The time stamp when the snapshot was last taken for this item.

priceType NA integer($int3) example: 1

The price type of the price value and currency. Valid values are

1 - Permanent

2 - Promotional 3 - Clearance

Enum:[ 1, 2, 3 ]
priceCurrency NA string($text3) example: USD

The price currency at the time of the snapshot.

priceValue NA number($decimal(20,4)) example: 12.99

The price amount at the time of the snapshot.

uins NA object UINS

Table 4-23 AdhocCountLineItemUinIdo - Object

Element Name: Required Data Type/Example Description
uin NA string($text128) example: 200456734823

The unique identifier number.

uinId NA number($int12) example: 1223465

The record identifier of the UIN.

snapshotStatus NA number($int2) example: 1

The status of the UIN at the time of the snapshot. Valid values are

1 - In Stock

2 - Sold

3 - Shipped To Warehouse

4 - Shipped To Store

5 - Reserved For Shipping

6 - Shipped To Vendor

7 - Remove From Inventory

8 - Unavailable

9 - Missing

10 - In Receiving

11 - Customer Reserved

12 - Customer Fulfilled

13 - Shipped To Finisher

99 - Unconfirmed

Enum:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 99 ]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Count

The Update Count API adds or updates the counted quantities of items on the adhoc stock count.

Method

POST
URL

/adhoccounts/{adhocCountId}
Request

Table 4-24 Update Count— Request Parameter

Name Required Data Type/Example Description

adhocCountId

Yes

number($int12)(path)

The unique identifier of the adhoc count.

The request body is application/json.

Item details to update on the adhoc count.

Example Value
{
  "lineItems": [
    {
      "itemId": "55001234",
      "quantity": 2,
      "timestamp": "2025-07-24T16:07:12.174Z",
      "uins": [
        111222333,
        444555666
      ]
    }
  ]
}
Schema — AdhocCountUpdateIdo

Table 4-25 AdhocCountUpdateIdo —Object

Element Name: Required Data Type/Example Description
lineItems NA object line items

Table 4-26 AdhocCountUpdateLineItemIdo —Object

Element Name: Required Data Type/Example Description
itemId Yes

string($text25) example: 55001234

The SKU level item identifier.

quantity Yes

number($decimal(20,4)) example: 2

The quantity of the item counted.

timestamp NA

string($date-time)

The date and time that the item was counted.

uins NA string($text128)]

[example: List [ 111222333, 444555666 ]

The UINs to attach to this line item. If UINs are included, the total number of UINs must match the quantity.

Responses

This section describes the responses of the Update Count API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Complete Count

The Complete Count API completes the counting phase of the adhoc stock count moving it to authorization phase.

Method

POST
URL

/adhoccounts/{adhocCountId}/complete
Request

Table 4-27 Complete Count— Request Parameter

Name Required Data Type/Example Description

adhocCountId

Yes

number($int12)(path)

The unique identifier of the adhoc count.

Responses

This section describes the responses of the Complete Count API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Count

The Cancel Count API cancels the adhoc stock count that is currently in progress.

Method

POST
URL

/adhoccounts/{adhocCountId}/cancel
Request

Table 4-28 Cancel Count— Request Parameter

Name Required Data Type/Example Description

adhocCountId

Yes

number($int12)(path)

The unique identifier of the adhoc count.

Responses

This section describes the responses of the Cancel Count API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Allocation

Allocation documents defined the intent to ship goods from a warehouse to a store. Allocations may be managed by Oracle Merchandising, and if so, then some operations within this service will be blocked.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Allocation

This section describes the Find Allocation API. This API finds up to 5,000 purchase orders headers for the input criteria. No item information is returned.

Method

GET
URL

/allocations
Request Parameters

Table 4-29 Find Allocation — Request Parameters

Parameter Required Data Type Description

allocationId

 NA

integer($int12) (query)

Include only allocations with this allocation identifier.

itemId

 NA

string($text25) (query)

Include only allocations for this item.

storeId

NA 

integer($int10) (query)

Include only allocations for this store.

warehouseId

 NA

integer($int10) (query)

Include only allocations for this warehouse.

deliveryDateFrom

 NA

string($date-time) (query)

Include only allocations where the delivery date is on or after this date.

deliveryDateTo

 NA

string($date-time) (query)

Include only allocations where the delivery date is on or before this date.

status

NA 

integer($int4) (query)

Include only allocations in this status. Valid values are:

1 - Approved

2 - Completed

3 - Canceled

Available values : 1, 2, 3

Responses

This section describes the responses of the Find Allocation API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "allocationId": 11111,
    "itemId": "100637121",
    "storeId": 5000,
    "warehouseId": 7000,
    "scheduleDate": "2025-01-02T12:38:48.481Z",
    "status": 1,
    "contextId": 14562,
    "contextValue": "Season End",
    "distributionParentId": "19384731",
    "deliverySlotId": 134143,
    "quantityExpected": 20,
    "quantityReceived": 10,
    "quantityDamaged": 10
  }
]
Schema — AllocationIdo

Table 4-30 AllocationIdo— Object

Element Name Required Data Type/Example Description

allocationId

NA 

number($int12) example: 11111

The unique identifier of the allocation.

itemId

 NA

string($text25) example: 100637121

The identifier of the item.

storeId

 NA

number($int10) example: 5000

The identifier of the store receiving the goods.

warehouseId

 NA

number($int10) example: 7000

The identifier of the warehouse shipping the goods.

scheduleDate

 NA

string($date-time)

The date the allocation is expected to be delivered.

status

 NA

integer($int4) example: 1

The current status of the allocation. Valid values are:

1 - Approved

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

contextId

 NA

number($int18) example: 14562

The identifier of a context associated to the allocation.

contextValue

NA 

string($text25) example: Season End

A value associated to the context.

distributionParentId

 NA

string($text25) example: 19384731

A unique identifier of a parent allocation document.

deliverySlotId

NA 

number($int15) example: 134143

The identifier of the delivery slot of the expected delivery time.

quantityExpected

 NA

number($decimal(20,4)) example: 20

The quantity expected to be delivered.

quantityReceived

 NA

number($decimal(20,4)) example: 10

The quantity of the allocation that has been received.

quantityDamaged

NA 

number($decimal(20,4)) example: 10

The quantity of the allocation that has been received as damaged.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Allocation

This API imports an allocation order approved in an external system through an asynchronous process. These allocations will be staged as a message for later processing in the MPS queue (DcsAllocation).

Method

POST
URL

/allocations/import
Request Parameters

There are no request parameters.

The request body is application/json.

The allocation details of the allocation to import.

Example Value

{
  "allocationId": 11111,
  "itemId": "100637121",
  "warehouseId": 7000,
  "distributionParentId": 19384731,
  "contextId": 14562,
  "contextValue": "Season End",
  "details": [
    {
      "storeId": 5000,
      "deliveryDate": "2025-01-02T13:18:14.085Z",
      "quantity": 20
    }
  ]
}
Schema — AllocationImportIdo

Table 4-31 AllocationImportIdo — Object

Element Name Required Data Type/Example Description

allocationId

Yes

number($int12) example: 11111

The unique identifier of the allocation.

itemId

Yes

string($text25) example: 100637121

The identifier of the item.

warehouseId

Yes

number($int10) example: 7000

The unique identifier of the warehouse shipping the goods.

distributionParentId

NA

number($int15) example: 19384731

A unique identifier of a parent allocation document.

contextId

NA

number($int18) example: 14562

The identifier of a context associated to the allocation.

contextValue

NA

string($text25) example: Season End

A value associated to the context.

details

Yes

object

A set of stores and quantities for delivery.

Table 4-32 AllocationImportDetailIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The identifier of the store receiving the goods.

deliveryDate

NA

string($date-time)

The date the allocation is expected to be delivered.

quantity

Yes

number($decimal(20,4)) example: 20

The quantity to be delivered.

Responses

This section describes the responses of the Import Allocation API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Complete Allocation

This section describes the Complete Allocation API. This API completes an allocation. This operation will return a forbidden response if the application is integrated with Oracle Merchandising.

Method

POST
URL

/allocations/{allocationId}/complete
Request Parameters

Table 4-33 Complete Allocation — Request Parameters

Parameter Required Data Type Description

allocationId

yes

integer($int12)

(path)

The allocation identifier.

Responses

This section describes the responses of the Complete Allocation API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Allocation

This section describes the Cancel Allocation API. This API cancels an allocation. This operation will return a forbidden response if the application is integrated with Oracle Merchandising.

Method

POST
URL

/allocations/{allocationId}/cancel
Request Parameters

Table 4-34 Cancel Allocation — Request Parameters

Parameter Required Data Type Description

allocationId

yes

integer($int12)

(path)

The allocation identifier.

Responses

This section describes the responses of the Cancel Allocation API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Batch

This service allows an external system to schedule an adhoc batch job for execution.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Batch

This section describes the Find Batch API. The Find Batch API finds all the batch jobs available to schedule.

Method

GET
URL

/batches
Request

There are no parameters.

Responses

This section describes the responses of the Find Batch API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "jobName": "ShelfReplenishmentClosure_OpsJob",
    "shortDescription": "opsJob.shelfReplenishmentClosure",
    "longDescription": "opsJob.shelfReplenishmentClosure.desc",
    "jobParamHint": "Transaction identifier",
    "jobInterval": 9,
    "batchType": 2,
    "storeRelated": true,
    "enabled": true,
    "lastExecutionTime": "2025-03-04T14:46:45.738Z",
    "updateDate": "2025-03-04T14:46:45.738Z"
  }
Schema — BatchJobIdo

Table 4-35 BatchJobIdo —Object

Element Name Required Data Type/Example Description
jobName NA string($text256) example: ShelfReplenishmentClosure_OpsJob The job name used to execute the batch.
shortDescription NA string($text256) example: opsJob.shelfReplenishmentClosure A short description of the batch job.
longDescription NA string($text2000) example: opsJob.shelfReplenishmentClosure.desc A long description of the batch job.
jobParamHint NA string($text1000) example: Transaction identifier Some hint text for what parameter values might be.
jobInterval NA integer($int2) example: 9

The execution interval of the batch job. Valid values are:

1 - 30 Minutes

2 - 1 Hour

3 - 2 Hours

4 - 3 Hours

5 - 4 Hours

6 - 6 Hours

7 - 8 Hours

8 - 12 Hours

9 - 24 Hours

10 - Monthly

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

batchType NA integer($int4) example: 2

1 - Cleanup

2 - Operation

3 - System

4 - System Cleanup

5 - Data Seed

6 - Archive

Enum: [ 1, 2, 3, 4, 5, 6 ]

storeRelated NA boolean example: true True indicates the batch job requires store level processing.
enabled NA boolean example: true True indicates the batch job is currently enabled and scheduled. This will not prevent batch execution via this service.
lastExecutionTime NA string($date-time) The timestamp of the last execution of the batch job.
updateDate NA string($date-time) The last time this record was updated.

Successful

The media type appliction/json.

Execute Batch Job

Schedules the specific batch job for immediate execution. If parameter date and/or parameter identifier are entered, they are passed as parameters to the batch job identified by the batch name.

Method

POST
URL

/batches
Request

There are no parameters.

The request body is application/json.

The batch job requested.

Example Value
{
  "batchName": "11111",
  "storeId": 1234,
  "parameterDate": "2025-03-27T09:32:56.299Z",
  "parameterId": "123"
}
Schema - BatchRequestIdo

Table 4-36 BatchRequestIdo - Object

Element Name Required Data Type/Example Description
batchName NA string($text120) example: 11111 The name of the batch job to execute.
storeId NA number($int10) example: 1234 A store identifier of a store to run the batch for. If included, it will run for this specific store. If not included, it will function for all stores (based on the individual batch functionality description).
parameterDate NA string($date-time) A parameter date passed to the batch job (see adhoc batch documentation).
parameterId NA string($text120) example: 123 A parameter identifier passed to the batch job (see adhoc batch documentation);

Responses

This section describes the responses of the Execute Batch Job API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Differentiator

This service integrates differentiator foundation data. Asychronous differentiator integration is processed through staged messages and is controlled by the MPS Work Type: DcsDiff.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Import Differentiator Type

Imports up to 1,000 differentiator types by writing a staged message and processing asynchronously through the MPS system. A forbidden response will occur if the application is integrated with MFCS or RMS.

Method

POST
URL

/differentiators/types/import
Request

There are no parameters.

The request body is application/json.

A list of differentiator types to import.

Example Value
{
  "differentiatorTypes": [
    {
      "differentiatorTypeId": "S",
      "description": "Size"
    }
  ]
}
Schema - DifferentiatorTypeImportListIdo

Table 4-37 DifferentiatorTypeImportListIdo —Object

Element Name Required Data Type/Example Description
differentiatorTypes NA object Differentiator Types

Table 4-38 DifferentiatorTypeImportIdo —Object

Element Name Required Data Type/Example Description
differentiatorTypeId NA string($text10) example: S The differentiator type identifier.
description NA string($text255) example: Size The differentiator type description.
Responses

This section describes the responses of the Delete Differentiator Type API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Differentiator Type

Deletes a differentiator type. The processing occurs asynchronously through a MPS staged message.

Method

POST
URL

/differentiators/types/{differentiatorTypeId}/delete
Request

Table 4-39 Delete Differentiator Type — Request Parameters

Name Required Data Type/Example Description
differentiatorTypeId Yes string($text10)(path)

Differentiator Type ID

Responses

This section describes the responses of the Import Differentiator Type API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Differentiator

Imports up to 1,000 differentiators by writing a s staged message and processing asynchronously through the MPS system. A forbidden response will occur if the application is integrated with MFCS or RMS.

Method

POST
URL

/differentiators/import
Request

There are no request parameters.

The request body is applicattion/json.

A list of differentiators to import.

Example Value
{
  "differentiatorTypes": [
    {
      "differentiatorId": "Color 00",
      "differentiatorTypeId": "C",
      "description": "Assorted Color Pack"
    }
  ]
}
Schema - DifferentiatorImportListIdo

Table 4-40 DifferentiatorImportListIdo - Object

Element Name Required Data Type/Example Description
differentiatorTypes NA object Differentiator types

Table 4-41 DifferentiatorImportIdo - Object

Element Name Required Data Type/Example Description
differentiatorId NA string($text10) example: Color 00 The differentiator identifier.
differentiatorTypeId NA string($text10) example: C The differentiator type identifier.
description NA string($text255) example: Assorted Color Pack The differentiator description.
Responses

This section describes the responses of the Import Differentiator Type API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Differentiator

Deletes a differentiator. The processing occurs asynchronously through a MPS staged message.

Method

POST
URL

/differentiators/{differentiatorId}/delete
Request

Table 4-42 Delete Differentiator — Request Parameters

Name Required Data Type/Example Description
differentiatorId Yes string($text10)(path)

Differentiator ID

Responses

This section describes the responses of the Delete Differentiator API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

REST Service: Finisher

This service integrates finisher and finisher item foundation data. Asychronous finisher integration is processed through staged messages and is controlled by the MPS Work Type: DcsPartner. Asynchronous finisher item integration is processed through staged messages and is controlled by the MPS Work Type: DcsItemLocation.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Import Finisher

Imports a series of up to 500 finishers. A forbidden response will occurs if the application is integrated with MFCS or RMS.

Method

POST
URL
/finishers/import
Request

There are no request parameters.

The request body is application/json.

A list of finishers to import.

Example Value
{
  "finishers": [
    {
      "finisherId": 1111111,
      "name": "Egravers, Inc.",
      "status": 1,
      "currencyCode": "USD",
      "countryCode": "USA",
      "languageCode": "en",
      "contactName": "John Smith",
      "contactPhone": "123-456-7890",
      "contactFax": "123-456-7891",
      "contactTelex": "123-456-7892",
      "contactEmail": "address@service.com",
      "manufacturerId": "4321",
      "taxId": "67890",
      "transferEntityId": "88888",
      "paymentTerms": "30 Days",
      "importCountryCode": "USD",
      "importPrimary": false
    }
  ]
}
Schema - FinisherImportListIdo

Table 4-43 FinisherImportListIdo - Object

Element Name Required Data Type/Example Description
finishers NA object finishers

Table 4-44 FinisherImportIdo - Object

Element Name Required Data Type/Example Description
finisherId Yes number($int10) example: 1111111 The identifier of the finisher.
name NA string($text240) example: Egravers, Inc. The name of the finisher.
status NA integer($int4) example: 1

The current status of the finisher. Valid values are:

1 - Active

2 - Inactive

Enum: [ 1, 2 ]

currencyCode NA string($text3) example: USD ISO currency code assigned to the finisher.
countryCode NA string($text3) example: USA ISO country code assigned to the finisher.
languageCode NA string($text6) example: en ISO language code assigned to the finisher.
contactName NA string($text120) example: John Smith Name of the finisher's representative contact.
contactPhone NA string($text20) example: 123-456-7890 Phone number of the finisher's representative contact.
contactFax NA string($text20) example: 123-456-7891 Fax number of the finisher's representative contact.
contactTelex NA string($text20) example: 123-456-7892 Telex number of the finisher's representative contact.
contactEmail NA string($text100) example:address@service.com Email address of the finisher's representative contact.
manufacturerId NA string($text18) example: 4321 Manufacturer's identification number.
taxId NA string($text18) example: 67890 Tax identifier number of the finisher.
transferEntityId NA string($text20) example: 88888 Identifier of the transfer entity that the finisher belongs to.
paymentTerms NA string($text20) example: 30 Days Payment terms for the partner.
importCountryCode NA string($text3) example: USD The ISO country code of the import authority.
importPrimary NA boolean example: false True indicates the code is the primary import authority of the import country.
Responses

This section describes the responses of the Import Finisher API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Finisher

Deletes a finisher. A forbidden response will occur if the application is integrated with Oracle merchandising.

Method

POST
URL
/finishers/{finisherId}/delete
Request

Table 4-45 Delete Finisher — Request Parameter

Name Required Data Type/Example Description

finisherId

Yes

integer($int15) (path)

The finisher identifier.

Responses

This section describes the responses of the Delete Finisher API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Import Finisher Item

Imports up to 5,000 finisher items. A forbidden response will occurs if the application is integrated with MFCS or RMS.

Method

POST
URL
/finishers/{finisherId}/items/import
Request

Table 4-46 Import Finisher Item — Request Parameter

Name Required Data Type/Example Description

finisherId

Yes

integer($int15) (path)

The finisher identifier.

The request body is application/json.

A list of finisher items to import.

Example Value
{
  "items": [
    {
      "itemId": "1111111",
      "status": 1
    }
  ]
}
Schema - FinisherItemImportListIdo

Table 4-47 FinisherItemImportListIdo - Object

Element Name Required Data Type/Example Description
items NA object items

Table 4-48 FinisherItemImportIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($int25) example: 1111111 The identifier of the item.
status Yes integer($int4) example: 1

The status of the item. Valid values are:

1 - Active

2 - Discontinued

3 - Inactive

Enum: [ 1, 2, 3 ]

Responses

This section describes the responses of the Import Finisher Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Finisher Item

Marks up to 5,000 finisher items for later deletion. A forbidden response will occurs if the application is integrated with MFCS or RMS.

Method

POST
URL
/finishers/{finisherId}/items/remove
Request

Table 4-49 Delete Finisher Item — Request Parameter

Name Required Data Type/Example Description

finisherId

Yes

integer($int15) (path)

The finisher identifier.

The request body is application/json.

A list of finisher items to remove.

Example Value
{
  "itemIds": [
    11111,
    22222
  ]
}
Schema - FinisherItemRemoveListIdo

Table 4-50 FinisherItemRemoveListIdo - Object

Element Name Required Data Type/Example Description
itemIds NA string($text25) example: List [ 11111, 22222 ] items IDs
Responses

This section describes the responses of the Delete Finisher Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

REST Service: Customer Fulfillment Order

This service defines operations to manage customer fulfillment order information by integration with an external system. A fulfillment order the portion of a customer order to be fulfilled at a particular store. There can be many fulfillment orders for the same customer order.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Fulfillment Order

This section describes the Find Fulfillment Order API. This API finds up to a maximum of 3,0000 fulfillment order headers based on input search criteria.

Method

GET
URL

/fulfillmentorders
Request Parameters

Table 4-51 Find Fulfillment Order — Request Parameters

Parameter Required Data Type Description

fulfillmentOrderNumber

NA

string($text128) (query)

Include only fulfillment orders with this external fulfillment order number.

customerOrderNumber

NA

string($text128) (query)

Include only fulfillment orders with this external customer order number.

storeId

NA

integer($int10) (query)

Include only fulfillment orders for this store.

orderType

NA

integer($int4) (query)

Include only fulfillment orders with this order type. Valid values are:

1 - Layaway

2 - Pickup and Delivery

3 - Customer Order

4 - Pending Purchase

5 - Special Order

6 - Web Order

7 - On Hold

Available values : 1, 2, 3, 4, 5, 6, 7

status

NA

integer($int4) (query)

Include only fulfillment orders with this status. Value values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

5 - Reverse Pick

6 - Pick In Progress

7 - Delivery In Progress

8 - Ready To Ship

9 - Ready For Pickup

10 - Picking Required

11 - Under Review

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

releaseDateFrom

NA

string($date-time) (query)

Include only fulfillment orders with an release date on or after this date.

releaseDateTo

NA

string($date-time) (query)

Include only fulfillment orders with an release date on or before this date.

updateDateFrom

NA

string($date-time) (query)

Include only fulfillment orders with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only fulfillment orders with an update date on or before this date.

itemId

NA

string($text25) (query)

Include only fulfillment orders containing this item.

Responses

This section describes the responses of the Find Fulfillment Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "orderId": 11111,
    "customerOrderId": "222345666",
    "fulfillmentOrderId": "76544400",
    "storeId": 1234,
    "orderType": 1,
    "deliveryType": 1,
    "status": 1,
    "holdLocation": "Pickup Desk"
  }
]
Schema — FulfillmentOrderHeaderIdo

Table 4-52 FulfillmentOrderHeaderIdo— Object

Element Name Required Data Type/Example Description

orderId

NA

number($int12) example: 11111

The unique identifier of the fulfillment order.

customerOrderId

NA

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

NA

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

orderType

NA

integer($int4) example: 1

The current status of the inventory adjustment. Valid values are:

1 - Layaway

2 - Pickup and Delivery

3 - Customer Order

4 - Pending Purchase

5 - Special Order

6 - Web Order

7 - On Hold

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

deliveryType

NA

integer($int4) example: 1

The delivery type of the customer order. Valid values are:

1 - Customer Pickup

2 - Ship To Store

Enum: [ 1, 2 ]

status

NA

integer($int4) example: 1

The current status of the customer order. Value values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

5 - Reverse Pick

6 - Pick In Progress

7 - Delivery In Progress

8 - Ready To Ship

9 - Ready For Pickup

10 - Picking Required

11 - Under Review

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]

holdLocation

NA

string($text128) example: Pickup Desk

Descripton of where the order is being held for pickup or delivery.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Fulfillment Order

This section describes the Read Fulfillment Order API. This API retrieves all the details about a fulfillment order.

Method

GET
URL

/fulfillmentorders/{orderId}
Request Parameters

Table 4-53 Read Fulfillment Order — Request Parameters

Parameter Required Data Type Description

orderId

Yes

number($int12) (path)

The unique SIOCS internal identifier of the fulfillment order.

Responses

This section describes the responses of the Read Fulfillment Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "orderId": 11111,
    "customerOrderId": "222345666",
    "fulfillmentOrderId": "76544400",
    "storeId": 1234,
    "customerId": "JXA244443",
    "orderType": 1,
    "deliveryType": 1,
    "status": 1,
    "orderDate": "2025-01-15T12:53:31.299Z",
    "releaseDate": "2025-01-15T12:53:31.299Z",
    "deliveryDate": "2025-01-15T12:53:31.299Z",
    "carrierId": 4500674,
    "carrierServiceId": 4500222,
    "allowPartialDelivery": true,
    "deliveryCharge": 12.5,
    "deliveryChargeCurrency": "USD",
    "holdLocation": "Pickup Desk",
    "orderComments": "Customer will arrive by 2pm.",
    "underReview": false,
    "fullFlow": true,
    "deliveryComments1": "First line.",
    "deliveryComments2": "Second line.",
    "deliveryComments3": "Third line.",
    "customerArrivalDate": "2025-01-15T12:53:31.299Z",
    "createDate": "2025-01-15T12:53:31.299Z",
    "updateDate": "2025-01-15T12:53:31.299Z",
    "lineItems": [
      {
        "lineId": 333444,
        "itemId": "55001234",
        "substituteLineId": 5600043,
        "lineNumber": 2,
        "preferredUom": "KG",
        "comments": "Item packaging slightly damaged.",
        "quantityOrdered": 10,
        "quantityPicked": 6,
        "quantityDelivered": 2,
        "quantityCanceled": 2,
        "quantityReserved": 8,
        "allowSubstitution": true,
        "price": 4500674,
        "priceCurrency": "USD",
        "createDate": "2025-01-15T12:53:31.299Z",
        "updateDate": "2025-01-15T12:53:31.299Z"
      }
    ]
  }
]
Schema — FulfillmentOrderIdo

Table 4-54 FulfillmentOrderIdo— Object

Element Name Required Data Type/Example Description

orderId

NA

number($int12) example: 11111

The unique identifier of the fulfillment order.

customerOrderId

NA

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

NA

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

customerId

NA

string($text14) example: JXA244443

The identifier of the customer for this fulfillment order.

orderType

NA

integer($int4) example: 1

The order type of the customer order. Valid values are:

1 - Layaway

2 - Pickup and Delivery

3 - Customer Order

4 - Pending Purchase

5 - Special Order

6 - Web Order

7 - On Hold

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

deliveryType

NA

integer($int4) example: 1

The delivery type of the customer order. Valid values are:

1 - Customer Pickup

2 - Ship To Store

Enum: [ 1, 2 ]

status

NA

integer($int4) example: 1

The current status of the customer order. Value values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

5 - Reverse Pick

6 - Pick In Progress

7 - Delivery In Progress

8 - Ready To Ship

9 - Ready For Pickup

10 - Picking Required

11 - Under Review

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]

orderDate

NA

string($date-time)

The date the customer placed the order.

releaseDate

NA

string($date-time)

The date in which the order must be shipped by the store or picked up in the store.

deliveryDate

NA

string($date-time)

The date in which the order is to be delivered.

carrierId

NA

integer($int10) example: 4500674

The identifier of the carrier who will deliver the order.

carrierServiceId

NA

integer($int10) example: 4500222

The identifier of the carrier service used for the delivery.

allowPartialDelivery

NA

boolean example: true

True indicates delivery can occur without all items being available and ready. False indicates all items must be shipped in the delivery.

deliveryCharge

NA

number($decimal(12,4)) example: 12.5

The cost of shipment of this order.

deliveryChargeCurrency

NA

string($text3) example: USD

The current of the delivery charge value.

holdLocation

NA 

string($text128) example: Pickup Desk

Descripton of where the order is being held for pickup or delivery.

orderComments

NA 

string($text2000) example: Customer will arrive by 2pm.

Comments entered in the external system for the order.

underReview

NA 

boolean example: false

True indicates that the fulfilling system needs to delay either shipping or fulfilling the order until this flag is cleared.

fullFlow

NA 

boolean example: true

True indicates this customer order can only be fulfilled using SOCS. If false, it must be fulfilled using JET mobile.

deliveryComments1

NA 

string($text128) example: First line.

The first line of delivery comments.

deliveryComments2

NA 

string($text128) example: Second line.

The second line of delivery comments.

deliveryComments3

NA 

string($text128) example: Third line.

The third line of delivery comments.

customerArrivalDate

NA 

string($date-time)

The date that the customer arrived for pickup.

createDate

NA 

string($date-time)

The date the fulfillment order was created in SIOCS.

updateDate

NA 

string($date-time)

The date the fulfillment order was last updated in SIOCS.

lineItems

NA 

object

A collection of line items on the fulfillment order

Table 4-55 FulfillmentOrderLineItemIdo— Object

Element Name Required Data Type/Example Description

lineId

NA

number($int12) example: 333444

The unique identifier of the line item.

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

substituteLineId

NA

number($int12) example: 5600043

The identifier of a line item that this item has been substituted for.

lineNumber

NA

number($int10) example: 2

The line number of the fulfillment order this item is fulfilling.

preferredUom

NA

string($text4) example: KG

The preferred unit of measure the item quantities should be processed or displayed in.

comments

NA

string($text2000) example: Item packaging slightly damaged.

Comments from an external system associated to this item.

quantityOrdered

NA

number($decimal(12,4)) example: 10

The quantity ordered on this line item.

quantityPicked

NA

number($decimal(12,4)) example: 6

The quantity picked for this line item.

quantityDelivered

NA

number($decimal(12,4)) example: 2

The quantity delivered to date on this line item.

quantityCanceled

NA

number($decimal(12,4)) example: 2

The quantity canceled on this line item.

quantityReserved

NA

number($decimal(12,4)) example: 8

The quantity reserved for this line item.

allowSubstitution

NA

boolean example: true

True indicates a substitution is allowed for this item, false indicates it is not.

price

NA

number($decimal(20,4)) example: 4500674

The amount of the price of the item.

priceCurrency

NA

string($text3) example: USD

The currency of the price of the item.

createDate

NA

string($date-time)

The date the order item was created in SIOCS.

updateDate

NA

string($date-time)

The date the order item was last updated in SIOCS.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Fulfillment Order

This section describes the Import Fulfillment Order API. This service operation takes a request to import a collection of new fulfillment orders. All orders passed in must be new orders. The sent will be processed asynchronously. A notification of accepted or rejected status will be published out after the processing is finished to a fulfillment order status service. Duplicate fulfillment orders in a single access will immediately return a bad request error. Duplicate fulfillment orders seperated into different requests will cause the second or later orders to be rejected at a later time with a duplicate order error.

Method

POST
URL

/fulfillmentorders/import
Request Parameters

Table 4-56 Update Delivery — Request Parameters

Name Required Data Type/Example Description
deliveryId Yes number($int12)(path) The unique identifier of the fulfillment order delivery.

There are no request parameters.

The request body is application/json.

Details about the fulfillment orders to import.

Example Value

{
  "fulfillmentOrders": [
    {
      "customerOrderId": "222345666",
      "fulfillmentOrderId": "76544400",
      "storeId": 1234,
      "customerId": "JXA244443",
      "deliveryType": 1,
      "deliveryDate": "2025-01-15T13:25:05.331Z",
      "carrierId": 4500674,
      "carrierServiceId": 4500674,
      "allowPartialDelivery": true,
      "deliveryCharge": 4500674,
      "deliveryChargeCurrency": "USD",
      "holdLocation": "Pickup Desk",
      "orderComments": "Customer will arrive by 2pm.",
      "lineItems": [
        {
          "itemId": "55001234",
          "lineNumber": 2,
          "preferredUom": "KG",
          "comments": "Item packaging slightly damaged.",
          "quantityOrdered": 10,
          "allowSubstitution": true,
          "price": 4500674,
          "priceCurrency": "USD"
        }
      ]
    }
  ]
}
Schema — FulfillmentOrderImportListIdo

Table 4-57 FulfillmentOrderImportListIdo — Object

Element Name Required Data Type/Example Description

fulfillmentOrders

yes

object

A collection of fulfillment orders to import

FulfillmentOrderImportIdo{Jump to path

Table 4-58 FulfillmentOrderImportIdo — Object

Element Name Required Data Type/Example Description

customerOrderId

yes

string($text128) example: 222345666

The customer order number (from the external ordering system). The combination of customer order number and fulfillment order number will determine if the order is treated a new or existing.

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system). The combination of customer order number and fulfillment order number will determine if the order is treated a new or existing.

storeId

yes

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled. This value is required but will be ignored if the order already exists.

customerId

yes

string($text14) example: JXA244443

The identifier of the customer for this fulfillment order. The value is required but will be ignored if the order already exists.

deliveryType

yes

integer($int4) example: 1

The delivery type of the fulfillment order. This value is required but will be ignored if the order already exists. Valid values are:

1 - Customer Pickup

2 - Ship To Store

Enum: [ 1, 2 ]

deliveryDate

NA

string($date-time)

The date in which the order is to be delivered. This value will be ignored if the order already exists.

carrierId

NA

integer($int10) example: 4500674

The identifier of the carrier who will deliver the order. This value will be ignored if the order already exists.

carrierServiceId

NA

integer($int10) example: 4500674

The identifier of the carrier service used for the delivery. This value will be ignored if the order already exists.

allowPartialDelivery

NA

boolean example: true

True indicates delivery can occur without all items being available and ready. False indicates all items must be shipped in the delivery. This value will be ignored if the order already exists.

deliveryCharge

NA

number($decimal(12,4)) example: 4500674

The cost of shipment of this order. This value will be ignored if the order already exists.

deliveryChargeCurrency

NA

string($text3) example: USD

The currency of the delivery charge value. This value will be ignored if the order already exists.

holdLocation

NA

string($text128) example: Pickup Desk

Description of where the order is being held for pickup or delivery.

orderComments

NA

string($text2000) example: Customer will arrive by 2pm.

Comments entered in the external system for the order.

lineItems

yes

object

A collection of line items on the fulfillment order.

Table 4-59 FulfillmentOrderImporLineItemtIdo — Object

Element Name Required Data Type/Example Description

itemId

yes

string($text25) example: 55001234

The SKU level item identifier.

lineNumber

NA

number($int10) example: 2

The line number of the fulfillment order this item is fulfilling.

preferredUom

NA

string($text4) example: KG

The preferred unit of measure the item quantities should be processed or displayed in.

comments

NA

string($text2000) example: Item packaging slightly damaged.

Comments from an external system associated to this item.

quantityOrdered

yes

number($decimal(12,4)) example: 10

The quantity ordered on this line itemm.

allowSubstitution

NA

boolean example: true

True indicates a substitution is allowed for this item, false indicates it is not.

price

NA

number($decimal(20,4)) example: 4500674

The amount of the price of the item.

priceCurrency

NA

string($text3) example: USD

The currency of the price of the item.

Responses

This section describes the responses of the Import Fulfillment Order API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Pickup Fulfillment Order

This section describes the Pickup Fulfillment Order API. This service will update an order to indicate a customer is arriving (or has arrived) to pickup the order.

Method

POST
URL

/fulfillmentorders/pickup
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the fulfillment order for pickup.

Example Value

{
  "customerOrderId": "222345666",
  "fulfillmentOrderId": "76544400",
  "storeId": 1234,
  "deliveryComments1": "First line.",
  "deliveryComments2": "Second line.",
  "deliveryComments3": "Third line.",
  "customerArrivalDate": "2025-01-15T14:20:01.431Z"
}
Schema — FulfillmentOrderPickupIdo

Table 4-60 FulfillmentOrderPickupIdo — Object

Element Name Required Data Type/Example Description

customerOrderId

Yes

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

Yes

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

deliveryComments1

NA

string($text128) example: First line.

The first line of delivery comments.

deliveryComments2

NA

string($text128) example: Second line.

The second line of delivery comments.

deliveryComments3

NA

string($text128) example: Third line.

The third line of delivery comments.

customerArrivalDate

Yes

string($date-time)

The date that the customer arrived for pickup.

Responses

This section describes the responses of the Pickup Fulfillment Order API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Reject Fulfillment Order

This section describes the Reject Fulfillment Order API. This will cause the store to reject the fulfillment order specified notifying external systems that the fulfillment order has been rejected.

Method

POST
URL

/fulfillmentorders/reject
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the fulfillment order to reject.

Example Value

{
  "customerOrderId": "222345666",
  "fulfillmentOrderId": "76544400",
  "storeId": 1234
}
Schema — FulfillmentOrderRejectIdo

Table 4-61 FulfillmentOrderRejectIdo— Object

Element Name Required Data Type/Example Description

customerOrderId

Yes

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

Yes

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

Responses

This section describes the responses of the Reject Fulfillment Order API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Fulfillment Order

This section describes the Cancel Fulfillment Order API. This API will cancel all remaining ordered quantities on the fulfillment order.

Method

POST
URL

/fulfillmentorders/cancel
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the fulfillment order to cancel.

Example Value

{
  "customerOrderId": "222345666",
  "fulfillmentOrderId": "76544400",
  "storeId": 1234
}
Schema — FulfillmentOrderCancelIdo

Table 4-62 FulfillmentOrderCancelIdo— Object

Element Name Required Data Type/Example Description

customerOrderId

Yes

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

Yes

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

Responses

This section describes the responses of the Read Fulfillment Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "customerOrderId": "222345666",
    "fulfillmentOrderId": "76544400",
    "storeId": 1234,
    "lineItems": [
      {
        "itemId": "55001234",
        "lineNumber": 2,
        "preferredUom": "KG",
        "standardUom": "KG",
        "quantityCanceled": 2
      }
    ]
  }
]
Schema — FulfillmentOrderCancelStatusIdo

Table 4-63 FulfillmentOrderCancelStatusIdo— Object

Element Name Required Data Type/Example Description

customerOrderId

NA

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

NA

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

lineItems

NA

object

A collection of line items with the quantities that were cancelled.

Table 4-64 FulfillmentOrderCancelStatusItemIdo— Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

lineNumber

NA

number($int10) example: 2

The line number of the fulfillment order this item is fulfilling.

preferredUom

NA

string($text4) example: KG

The preferred unit of measure the item quantities should be processed or displayed in.

standardUom

NA

string($text4) example: KG

The standard unit of measure for the item.

quantityCanceled

NA

number($decimal(12,4)) example: 2

The quantity canceled on this line itemm.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Fulfillment Order Quantities

This section describes the Cancel Fulfillment Order Quantities API. This API will cancel quantities on specific line items of a fulfillment order.

Method

POST
URL

/fulfillmentorders/cancelitems
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the fulfillment order items to cancel.

Example Value

{
  "customerOrderId": "222345666",
  "fulfillmentOrderId": "76544400",
  "storeId": 1234,
  "lineItems": [
    {
      "itemId": "55001234",
      "lineNumber": 2,
      "preferredUom": "KG",
      "standardUom": "KG",
      "quantityCanceled": 2
    }
  ]
}
Schema — FulfillmentOrderItemCancelIdo

Table 4-65 FulfillmentOrderItemCancelIdo— Object

Element Name Required Data Type/Example Description

customerOrderId

Yes

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

Yes

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

lineItems

NA

object

A collection of line items with the quantities that were cancelled.

Table 4-66 FulfillmentOrderItemCancelLineIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 55001234

The SKU level item identifier.

lineNumber

NA

number($int10) example: 2

The line number of the fulfillment order this item is fulfilling.

preferredUom

NA

string($text4) example: KG

The preferred unit of measure the item quantities should be processed or displayed in.

standardUom

NA

string($text4) example: KG

The standard unit of measure for the item.

quantityCanceled

Yes

number($decimal(12,4)) example: 2

The quantity canceled on this line itemm.

Responses

This section describes the responses of the Cancel Fulfillment Order Quantities API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "customerOrderId": "222345666",
    "fulfillmentOrderId": "76544400",
    "storeId": 1234,
    "lineItems": [
      {
        "itemId": "55001234",
        "lineNumber": 2,
        "preferredUom": "KG",
        "standardUom": "KG",
        "quantityCanceled": 2
      }
    ]
  }
]
Schema — FulfillmentOrderCancelStatusIdo

Table 4-67 FulfillmentOrderCancelStatusIdo— Object

Element Name Required Data Type/Example Description

customerOrderId

NA

string($text128) example: 222345666

The customer order number (from the external ordering system).

fulfillmentOrderId

NA

string($text128) example: 76544400

The fulfillment order number (from the external ordering system).

storeId

NA

number($int10) example: 1234

The identifier of the store at which this order will be fulfilled.

lineItems

NA

object

A collection of line items with the quantities that were cancelled.

Table 4-68 FulfillmentOrderCancelStatusItemIdo— Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

lineNumber

NA

number($int10) example: 2

The line number of the fulfillment order this item is fulfilling.

preferredUom

NA

string($text4) example: KG

The preferred unit of measure the item quantities should be processed or displayed in.

standardUom

NA

string($text4) example: KG

The standard unit of measure for the item.

quantityCanceled

NA

number($decimal(12,4)) example: 2

The quantity canceled on this line itemm.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Fulfillment Order Delivery

Delivering of a customer order consists of collecting the items that have been picked and then getting them to the customer (shipment or pickup). This might be for a customer pickup or shipping them to the customer.This service integrations a fulfillment order delivery with an external application.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Delivery

Finds up to a maximum of 500 fulfillment order delivery headers based on input search criteria.

Method

GET
URL

/fulfillorderdeliveries
Request Parameters

Table 4-69 Find Delivery - Request Parameters

Name Required Data Type/Example Description
storeId NA integer($int10) (query) Include only customer deliveries from this store.
orderId NA number($int12) (query) Include only customer deliveries for this SIOCS fulfillment order id.
externalDeliveryId NA string($text25) (query) Included only customer deliveries with this external identifier.
status NA integer($int4) (query)

Include only customer deliveries this status. Valid values are

1 - In Progress

2 - Submitted

3 - Completed

4 - Canceled

Available values: 1, 2, 3, 4

updateDateFrom NA string($date-time) (query) Include only customer deliveries with an update date on or after this date.
updateDateTo NA string($date-time) (query) Include only customer deliveries with an update date on or before this date.
Responses

This section describes the responses of the Find Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "orderId": 11111,
    "storeId": 1234,
    "status": 1,
    "submitDate": "2025-04-11T10:06:38.846Z",
    "submitUser": "smith123",
    "dispatchDate": "2025-04-11T10:06:38.846Z",
    "dispatchUser": "smith123",
    "createDate": "2025-04-11T10:06:38.846Z",
    "createUser": "smith123",
    "updateDate": "2025-04-11T10:06:38.846Z",
    "updateUser": "smith123"
  }
]
Schema — FulfillmentOrderDeliveryHeaderIdo

Table 4-70 FulfillmentOrderDeliveryHeaderIdo— Object

Element Name Required Data Type/Example Description
deliveryId NA number (int12) example 11111 The unique identifier of the fulfillment order delivery.
orderId NA number (int12) example 11111 The unique SIOCS identifier of the fulfillment order.
storeId NA number (int10) example 1234 The identifier of the store at which this order will be fulfilled.
status NA integer (int4) example 1

The current status of the customer delivery. Valid values are:

1 - In Progress

2 – Submitted

3 – Completed

4 - Canceled

Enum: 1,2,3, 4

submitDate NA string (date-time) The date the delivery was submitted.
submitUser NA string (text128) example: smith123 The user that submitted the delivery.
dispatchDate NA string (date-time) The date the delivery was dispatched.
dispatchUser NA string (text128) example: smith123 The user that dispatched the delivery.
createDate NA string (date-time) The date the delivery was created
createUser NA string (text128) example: smith123 The user that created the delivery
updateDate NA string (date-time) The date the delivery was updated.
updateUser NA string (text128) example: smith123 The user that last updated the delivery.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Delivery

Creatures a fulfillment order delivery from an order (and responds with the newly created delivery).

Method

POST
URL

/fulfillorderdeliveries
Request Parameters

There are no request parameters.

The request body is application/json.

The fulfillment order delivery to create.

Example Value

{
  "orderId": 11111,
  "carrierRole": 1,
  "carrierId": 112233,
  "carrierServiceId": 445566,
  "alternateAddress": "PO Box 28, Apple Street, Nowhereville",
  "alternateCarrierName": "Speedy Delivery",
  "alternateCarrierAddress": "200 Box Street, Nowhereville",
  "motiveId": 874297,
  "trackingNumber": "ANV343255",
  "cartonSizeId": 9375834,
  "cartonWeight": 12.1,
  "cartonWeightUom": "KG",
  "requestedPickupDate": "2025-04-11T10:16:03.960Z",
  "lineItems": [
    {
      "orderLineId": 11111,
      "quantity": 11111,
      "uins": [
        11111,
        22222
      ]
    }
  ]
}
Schema —FulfillmentOrderDeliveryCreateIdo

Table 4-71 FulfillmentOrderDeliveryCreateIdo — Object

Element Name Required Data Type/Example Description
orderId Yes number (int12) example: 11111 The unique SIOCS identifier of the fulfillment
carrierRole NA number (int2) example: 1

The type of carrier. Valid values are:

1 – Sender

2 – Received

3 - Third Party

Enum: 1, 2, 3

carrierId NA number (int10) example:112233 The unique identifier of the carrier.
carrierServiceId NA number (int10) example:445566 The unique identifier of the carrier service being used.
alternateAddress NA string (text2000) example: PO Box 28, Apple Street, Nowhereville

An alternate destination address for the delivery.

alternateCarrierName NA string (text240) example: Speedy Delivery

Name of the carrier responsible for the delivery.

alternateCarrierAddress NA string (text2000) example: 200 Box Street, Nowhereville Address of the carrier responsible for the delivery.
motiveId NA number (int18) example:874297 The unique identifier of the motive.
trackingNumber NA string (text128) example: ANV343255 A tracking number for the shipment
cartonSizeId NA number (int12) example: 9375834 The unique identifier of a carton size (dimension) for that store.
cartonWeight NA number (decimal(12,4)) example: 12.1 The weight of the shipment.
cartonWeightUom NA string (text4) example KG The unit of measure of the shipment weight.
requestedPickupDate NA string (date-time) The date that this delivery will be picked up
lineItems Yes object A collection of up to 500 line items on the fulfillment order delivery.

Table 4-72 FulfillmentOrderDeliveryCreateItemIdo - Object

Element Name Required Data Type/Example Description
orderLineId Yes number($int12) example: 11111 The unique identifier of the fulfillment order line item being delivered.
quantity Yes number($decimal(20,4)) example: 11111 The quantity being delivered.
uins NA string ($text128) example: List [ 11111, 22222 ] A list of uins (must match the quantity) if serial numbers are being delivered.
Responses

This section describes the responses of the Create Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "orderId": 11111,
    "storeId": 1234,
    "status": 1,
    "billOfLadingId": 573804,
    "additionalReference": "XDER78393",
    "submitDate": "2025-04-11T15:39:51.433Z",
    "submitUser": "smith123",
    "dispatchDate": "2025-04-11T15:39:51.433Z",
    "dispatchUser": "smith123",
    "createDate": "2025-04-11T15:39:51.433Z",
    "createUser": "smith123",
    "updateDate": "2025-04-11T15:39:51.433Z",
    "updateUser": "smith123",
    "lineItems": [
      {
        "lineId": 333444,
        "orderLineId": 4563,
        "quantity": 10,
        "caseSize": 6
      }
    ]
  }
]
Schema - FullfillmentOrderDeliveryIdo

Table 4-73 FulfillmentOrderDeliveryIdo - Object

Element Name Required Data Type/Example Description
deliveryId NA number($int12) example: 11111 The unique identifier of the fulfillment order delivery.
orderId NA number($int12) example: 11111 The unique SIOCS identifier of the fulfillment order.
storeId NA number($int10) example: 1234 The identifier of the store at which this order will be fulfilled.
status NA integer($int4) example: 1

The current status of the customer delivery. Valid values are

1 - In Progress

2 - Submitted

3 - Completed

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

billOfLadingId NA number($int12) example: 573804 The shipment bill of lading identifier.
additionalReference NA string($text128) example: XDER78393 A government reference identifier from an external system.
submitDate NA string($date-time) The date the delivery was submitted.
submitUser NA string($text128) example: smith123 The user that submitted the delivery.
dispatchDate NA string($date-time) The date the delivery was dispatched.
dispatchUser NA string($text128) example: smith123 The user that dispatched the delivery.
createDate NA string($date-time) The date the delivery was created.
createUser NA string($text128) example: smith123 The user that created the delivery.
updateDate NA string($date-time) The date the delivery was updated.
updateUser NA string($text128) example: smith123 The user that last updated the delivery.
lineItems NA object A collection of line items on the fulfillment order delivery.

Table 4-74 FulfillmentOrderDeliveryLineItemIdo — Object

Element Name Required Data Type/Example Description
lineId NA number($int12)example: 333444 The unique identifier of the line item.
orderLineId NA number($int12)example: 4563 The unique identifier of the fulfillment order line item this delivery item is for.
quantity NA number($decimal(12,4))example: 10 The quantity to be delivered.
caseSize NA number($decimal(10,2))example: 6 The case size of this line item.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Delivery

This API retrieves all the details about a fulfillment order delivery.

Method

GET
URL

/fulfillorderdeliveries/{deliveryId}
Request Parameters

Table 4-75 Read Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the fulfillment order delivery.

Responses

This section describes the responses of the Read Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema - FullfillmentOrderDeliveryIdo section.

Example Value

[
  {
    "deliveryId": 11111,
    "orderId": 11111,
    "storeId": 1234,
    "status": 1,
    "billOfLadingId": 573804,
    "additionalReference": "XDER78393",
    "submitDate": "2025-04-14T06:44:40.769Z",
    "submitUser": "smith123",
    "dispatchDate": "2025-04-14T06:44:40.769Z",
    "dispatchUser": "smith123",
    "createDate": "2025-04-14T06:44:40.769Z",
    "createUser": "smith123",
    "updateDate": "2025-04-14T06:44:40.769Z",
    "updateUser": "smith123",
    "lineItems": [
      {
        "lineId": 333444,
        "orderLineId": 4563,
        "quantity": 10,
        "caseSize": 6
      }
    ]
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Delivery

This section describes the Update Delivery API. This API updates the details of an order delivery that is currently "In Progress". Detailed information left blank using this service will remove this information from the delivery.

Method

POST
URL

/fulfillorderdeliveries/{deliveryId}
Request Parameters

Table 4-76 Update Delivery — Request Parameters

Name Required Data Type/Example Description
deliveryId Yes number($int12)(path) The unique identifier of the fulfillment order delivery.

The request body is application/json.

The fulfillment order delivery to update.

Example Value

{
  "carrierRole": 1,
  "carrierId": 112233,
  "carrierServiceId": 445566,
  "alternateAddress": "PO Box 28, Apple Street, Nowhereville",
  "alternateCarrierName": "Speedy Delivery",
  "alternateCarrierAddress": "200 Box Street, Nowhereville",
  "motiveId": 874297,
  "trackingNumber": "ANV343255",
  "cartonSizeId": 9375834,
  "cartonWeight": 12.1,
  "cartonWeightUom": "KG",
  "requestedPickupDate": "2025-04-14T08:49:44.110Z",
  "lineItems": [
    {
      "orderLineId": 11111,
      "quantity": 2,
      "uins": [
        11111,
        22222
      ]
    }
  ]
}
Schema — FulfillmentOrderDeliveryUpdateIdo

Table 4-77 FulfillmentOrderDeliveryUpdateIdo - Object

Element Name Required Data Type/Example Description
carrierRole NA number($int2) example: 1

The type of carrier. Valid values are:

1 - Sender

2 - Received

3 - Third Party

Enum: [ 1, 2, 3 ]

carrierId NA number($int10) example: 112233 The unique identifier of the carrier.
carrierServiceId NA number($int10) example: 445566 The unique identifier of the carrier service being used.
alternateAddress NA string($text2000) example: PO Box 28, Apple Street, Nowhereville An alternate destination address for the delivery.
alternateCarrierName NA string($text240) example: Speedy Delivery Name of the carrier responsible for the delivery.
alternateCarrierAddress NA string($text2000) example: 200 Box Street, Nowhereville Address of the carrier responsible for the delivery.
motiveId NA number($int18) example: 874297 The unique identifier of the motive.
trackingNumber NA string($text128) example: ANV343255 A tracking number for the shipment.
cartonSizeId NA number($int12) example: 9375834 The unique identifier of a carton size (dimension) for that store.
cartonWeight NA number($decimal(12,4)) example: 12.1 The weight of the shipment.
cartonWeightUom NA string($text4) example: KG The unit of measure of the shipment weight.
requestedPickupDate NA string($date-time) The date that this delivery will be picked up.
lineItems NA object A collection of up to 500 line items on the fulfillment order delivery.

Table 4-78 FulfillmentOrderDeliveryUpdateItemIdo - Object

Element Name Required Data Type/Example Description
orderLineId Yes number($int12) example: 11111 The unique identifier of the fulfillment order line item being delivered.
quantity Yes number($decimal(20,4)) example: 2 The quantity being delivered. If the quantity is reduced to 0, this item will be removed from the delivery.
uins NA string($text128) example: List [ 11111, 22222 ] A list of uins (must match the quantity) if serial numbers are being delivered.
Responses

This section describes the responses of the Update Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Submit Delivery

This section describes the Submit Delivery API.This API will submit the delivery and set it to Submitted status. Submit is only available when store configured for Dispatch Validate to Ship Submit. Submitting will set the delivery to a Submitted status and not allow for edits, since there are no updates to inventory at this point. The only step possible will be to cancel Submit or Dispatch.

Method

POST
URL

/fulfillorderdeliveries/{deliveryId}/submit
Request Parameters

Table 4-79 Submit Delivery — Request Parameters

Name Required Data Type/Example Description
deliveryId Yes number($int12)(path) The unique identifier of the fulfillment order delivery.
Responses

This section describes the responses of the Submit Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Submit Delivery

This section describes the Cancel Submit Delivery API. This API cancels a fulfillment order delivery submission.

Method

POST
URL

/fulfillorderdeliveries/{deliveryId}/cancelSubmit
Request Parameters

Table 4-80 Cancel Submit Delivery — Request Parameters

Name Required Data Type/Example Description
deliveryId Yes number($int12)(path) The unique identifier of the fulfillment order delivery.
Responses

This section describes the responses of the Cancel Submit Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Dispatch Delivery

This section describes the Dispatch Delivery API. Dispatch will check if Allow Partial Indicator is set to No, it will validate that the entire order is being delivered together. If not, the system will restrict the user from dispatching. Those users with certain privileges will be able to override this and it will be a warning. If Allow Partial Indicator is set to Yes, the customer order can be delivered partially. If system parameter 'Customer Order Fulfillment Restriction' is set to 'Line Controlled' and Allow Partial Indicator is set to Yes, if an item is getting delivered then it has to be delivered fully. Partial delivery of an item is not allowed. Also, if the store parameter Manifest Customer Order Deliveries is set to No and system parameter Tracking ID Required is set to Yes, the system should check if the Tracking ID has been captured or not, if not captured, an error message will be displayed. Upon dispatch of the delivery the delivery will move to Completed status, and user returns to the Delivery List screen. The stock on hand and customer order reserved quantities will be decremented by the delivered quantities. The customer order fulfillment order will have the delivered and remaining quantity updated. If the entire customer order has been fulfilled, meaning there is no remaining quantity, the customer order will be set to Completed status. If the system is enabled to obtain Fiscal Doc ID/E-way bill ID as part of the shipping process, the delivery cannot be dispatched until the Fiscal Doc ID/E-way bill ID is available. The exception is when the user has ‘Allow dispatch without Fiscal Document ID’ security permission.

Method

POST
URL

/fulfillorderdeliveries/{deliveryId}/dispatch
Request Parameters

Table 4-81 Dispatch Delivery — Request Parameters

Name Required Data Type/Example Description
deliveryId Yes number($int12)(path) The unique identifier of the fulfillment order delivery.
Responses

This section describes the responses of the Dispatch Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Fulfillment Order Pick

The Picking process is a formal process of the system telling the user what items need to be picked and the user going out, physically picking the items, and setting them aside. Once the items are set aside, they will then be used during the fulfillment process for shipping to, or pick up by the customer.The service integrates a fulfillment order pick with an external application.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Pick

Finds up to a maximum of 3,0000 fulfillment order picks based on input search criteria.

Method

GET
URL

/fulfillorderpicks
Request Parameters

Table 4-82 Find Pick — Request Parameters

Name Required Data Type/Example Description
storeId NA integer($int10) (query) Include only order picks for this store.
orderId NA integer($int12) (query) Include only order picks with this fulfillment order identifier.
itemId NA string($text25) (query) Include only order picks orders containing this item.
status NA integer($int4) (query)

1 - New

2 - In Progress

3 - Completed

4 - Canceled

99 - Active

Available values : 1, 2, 3, 4, 99

createDateFrom NA string($date-time) (query) Include only order picks with an create date on or after this date.
createDateTo NA string($date-time) (query) Include only order picks with an create date on or before this date.
Responses

This section describes the responses of the Find Pick API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "orderId": 11111,
    "storeId": 1234,
    "status": 1,
    "submitDate": "2025-04-11T10:06:38.846Z",
    "submitUser": "smith123",
    "dispatchDate": "2025-04-11T10:06:38.846Z",
    "dispatchUser": "smith123",
    "createDate": "2025-04-11T10:06:38.846Z",
    "createUser": "smith123",
    "updateDate": "2025-04-11T10:06:38.846Z",
    "updateUser": "smith123"
  }
]
Schema — FulfillmentOrderPickHeaderIdo

Table 4-83 FulfillmentOrderPickHeaderIdo - Object

Element Name Required Data Type/Example Description
pickId NA number($int12) example: 11111 The unique identifier of the fulfillment order pick.
storeId NA number($int10) example: 1234 The store this pick will occur at.
type NA integer($int4) example: 1

The type of pick. Valid values are:

1 - Order

2 - Bin

Enum: [ 1, 2 ]

status NA integer($int4) example: 1

The current status of the order pick. Valid values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

Enum: [ 1, 2, 3, 4]

productBasketId NA integer($int12) example: 488552 The identifier of the product basket associated to the pick.
createDate NA string($date-time) The date the order pick was created.
createUser NA string($text128) example: smith123 The user that created the order pick.
completeDate NA string($date-time) The date the order pick was completed.
completeUser NA string($text128) example: smith123 The user the completed the order pick.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Pick

This API retrieves all the details about a fulfillment order pick.

Method

GET
URL

/fulfillorderpicks/{pickId}
Request Parameters

Table 4-84 Read Pick - Request Parameters

Name Required Data Type/Example Description
pickId Yes number($int12) (path) The unique identifier of the fulfillment order pick.
Responses

This section describes the responses of the Read Pick API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value


  {
    "pickId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "productBasketId": 488552,
    "createDate": "2025-04-14T12:15:59.708Z",
    "createUser": "smith123",
    "completeDate": "2025-04-14T12:15:59.708Z",
    "completeUser": "smith123",
    "lineItems": [
      {
        "lineId": 333444,
        "itemId": "55001234",
        "orderId": 100,
        "orderLineId": 200,
        "substituteLineId": 5600043,
        "preferredUom": "KG",
        "caseSize": 10,
        "quantitySuggested": 2,
        "quantityPicked": 6,
        "ordinal": 6
      }
    ]
  }
]
Schema — FulfillmentOrderPickIdo

Table 4-85 FulfillmentOrderPickIdo - Object

Element Name Required Data Type/Example Description
pickId NA number($int12) example: 11111 The unique identifier of the fulfillment order.
storeId NA number($int10) example: 5000 The store this pick will occur at.
type NA integer($int4) example: 1

The type of pick. Valid values are:

1 - Order

2 - Bin

Enum: Array [ 2 ]

status NA integer($int4) example: 1

The current status of the order pick. Valid values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

productBasketId NA integer($int12) example: 488552 The identifier of the product basket associated to the pick.
createDate NA string($date-time) The date the order pick was created.
createUser NA string($text128) example: smith123 The user that created the order pick.
completeDate NA string($date-time) The date the order pick was completed.
completeUser NA string($text128) example: smith123 The user the completed the order pick.
lineItems NA object A collection of line items on the fulfillment order pick.

Table 4-86 FulfillmentOrderLineItemPickIdo - Object

Element Name Required Data Type/Example Description
lineId NA number($int12) example: 333444 The unique identifier of the line item.
itemId NA string($text25) example: 55001234 The SKU level item identifier.
orderId NA number($int12) example: 100 The unique SIOCS identifier of the fulfillment order.
orderLineId NA number($int12) example: 200 The unique SIOCS identifier of the fulfillment order line item.
substituteLineId NA number($int12) example: 5600043 The identifier of another pick line item for which this item is a substitute for.
preferredUom NA string($text4) example: KG The preferred unit of measure in which to pick.
caseSize number($decimal(10,2)) example: 10 The case of this item pick.
quantitySuggested number($decimal(12,4)) example: 2 The suggested quantity to pick for this item.
quantityPicked number($decimal(12,4)) example: 6 The quantity picked for this line item.
ordinal integer($int4) example: 6 The order in which this line should be picked.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Pick

This section describes the Update Pick API. This API updates the fulfillment order pick.

Method

POST
URL

/fulfillorderpicks/{pickId}
Request Parameters

Table 4-87 Update Pick— Request Parameters

Name Required Data Type/Example Description
pickId Yes number($int12)(path) The unique identifier of the fulfillment order pick.

The request body is application/json.

Details to update the fulfillment order pick from.

Example Value

{
  "lineItems": [
    {
      "lineId": 333444,
      "quantity": 2,
      "substituteItems": [
        {
          "itemId": 333444,
          "quantity": 2
        }
      ]
    }
  ]
}
Schema — FulfillmentOrderPickUpdateIdo

Table 4-88 FulfillmentOrderPickUpdateIdo - Object

Element Name Required Data Type/Example Description
lineItems Yes object A collection of line items on the fulfillment order pick.

Table 4-89 FulfillmentOrderPickUpdateItemIdo - Object

Element Name Required Data Type/Example Description
lineId Yes number($int12) example: 333444 The unique identifier of the line item.
quantity Yes number($decimal(12,4)) example: 2 The quantity picked for this item.
substituteItems NA object A collection of line items on the fulfillment order pick.

Table 4-90 FulfillmentOrderPickUpdateSubstituteIdo - Object

Element Name Required Data Type/Example Description
itemId Yes number($int12) example: 333444 The SKU number of the item.
quantity Yes number($decimal(12,4)) example: 2 The quantity picked for this item.
Responses

This section describes the responses of the Update Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Pick

This section describes the Confirm Pick API. This API confirms the fulfillment order pick.

Method

POST
URL

/fulfillorderpicks/{pickId}/confirm
Request Parameters

Table 4-91 Confirm Pick — Request Parameters

Name Required Data Type/Example Description
pickId Yes number($int12)(path) The unique identifier of the fulfillment order pick.
Responses

This section describes the responses of the Confirm Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Pick

This section describes the Cancel Pick API. This API cancels the fulfillment order pick.

Method

POST
URL

/fulfillorderpicks/{pickId}/cancel
Request Parameters

Table 4-92 Cancel Pick — Request Parameters

Name Required Data Type/Example Description
pickId Yes number($int12)(path) The unique identifier of the fulfillment order pick.
Responses

This section describes the responses of the Cancel Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Pick By Order

Creates new fulfillment order pick within the system by order information. It returns the pick that it created.

Method

POST
URL

/fulfillorderpicks/orders
Request Parameters

There are no request parameters.

The request body is application/json.

Details to generate the fulfillment order pick from.

Example Value
{
  "orderId": 11111,
  "productBasketId": 488552
}
Schema - FulfillmentOrderPickByOrderCreateIdo

Table 4-93 FulfillmentOrderPickByOrderCreateIdo - Object

Element Name Required Data Type/Example Description
orderId Yes number($int12) example: 11111 The unique SIOCS identifier of the fulfillment order.
productBasketId NA integer($int12) example: 488552 The identifier of the product basket to generate the pick from.
Responses

This section describes the responses of the Create Pick By Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema — FulfillmentOrderPickIdo section.

Example Value
[
  {
    "pickId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "productBasketId": 488552,
    "createDate": "2025-04-14T13:09:21.228Z",
    "createUser": "smith123",
    "completeDate": "2025-04-14T13:09:21.228Z",
    "completeUser": "smith123",
    "lineItems": [
      {
        "lineId": 333444,
        "itemId": "55001234",
        "orderId": 100,
        "orderLineId": 200,
        "substituteLineId": 5600043,
        "preferredUom": "KG",
        "caseSize": 10,
        "quantitySuggested": 2,
        "quantityPicked": 6,
        "ordinal": 6
      }
    ]
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Pick By Bin

Creates new fulfillment order pick within the system by bin information. It returns the pick that it created.

Method

POST
URL

/fulfillorderpicks/bins
Request Parameters

There are no request parameters.

The request body is application/json.

Details to generate the fulfillment order pick from.

Example Value
{
  {
  "storeId": 5000,
  "productBasketId": 488552,
  "numberOfBins": 2,
  "binIds": [
    333000,
    444001
  ]
}
Schema - FulfillmentOrderPickByBinCreateIdo

Table 4-94 FulfillmentOrderPickByBinCreateIdo - Object

Element Name Required Data Type/Example Description
storeId Yes number($int10) example: 5000 The unique identifier of the store.
productBasketId NA integer($int12) example: 488552 The identifier of the product basket to generate the pick from.
numberOfBins NA integer($int3) example: 2 The number of bins being picked. This is required if store generation bin option is system generation.
binIds NA string($text128) example: List [ 333000, 444001 ] If manual bin generation is set for the store, this must contain all the bin identifiers. This is required when store generation bin option is manual generation.
Responses

This section describes the responses of the Create Pick By Bin API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema — FulfillmentOrderPickIdo section.

Example Value

  {
    "pickId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "productBasketId": 488552,
    "createDate": "2025-04-14T13:48:55.269Z",
    "createUser": "smith123",
    "completeDate": "2025-04-14T13:48:55.269Z",
    "completeUser": "smith123",
    "lineItems": [
      {
        "lineId": 333444,
        "itemId": "55001234",
        "orderId": 100,
        "orderLineId": 200,
        "substituteLineId": 5600043,
        "preferredUom": "KG",
        "caseSize": 10,
        "quantitySuggested": 2,
        "quantityPicked": 6,
        "ordinal": 6
      }
    ]
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Fulfillment Order Reverse Pick

Canceling of customer orders can come in from an external system, such as an Order Management System. When this happens, a reverse pick list will be generated. If there are items that physically need to be un-picked, the user will action the reverse pick list which will then take the items that were canceled and move the picked quantities back to the appropriate area in the store. If the items that are being canceled are not picked, then the system generated reverse pick will just be created in a Completed status with no action required through the application.A system-generated reverse pick may get created if the user rejects an open customer order.A manual reverse pick might also be necessary. This happens when the user discovers that something which was picked has to be unpicked, maybe because it has been damaged. The manual reverse pick will reverse the pick quantities.This service integrates a fulfillment order reverse pick with an external application.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Reverse Pick

Finds up to a maximum of 500 order reverse pick headers based on input search criteria.

Method

GET
URL

/fulfillorderreversepicks
Request Parameters

Table 4-95 Find Reverse Pick — Request Parameters

Name Required Data Type/Example Description
storeId NA integer($int10) (query) Include only reverse picks for this store.
status NA integer($int4) (query)

Include only reverse picks orders with this status. Valid values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

Available values : 1, 2, 3, 4

orderId NA integer($int12) (query) Include only reverse picks for this fulfillment order identifier.
itemId NA string($text25) (query) Include only reverse picks that contain this item.
createDateFrom NA string($date-time) (query) Include only reverse picks with a create date on or after this date.
createDateTo NA string($date-time) (query) Include only reverse picks with a create date on or before this date.
Responses

This section describes the responses of the Find Reverse Pick API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "reversePickId": 1234,
    "storeId": 5000,
    "orderId": 11111,
    "status": 1,
    "createUser": "smith123",
    "createDate": "2025-04-14T14:06:42.816Z"
  }
]
Schema — FulfillmentOrderReversePickHeaderIdo

Table 4-96 [FulfillmentOrderReversePickHeaderIdo - Object

Element Name Required Data Type/Example Description
reversePickId NA number($int12) example: 1234 The identifier of the reverse pick.
storeId NA number($int10) example: 5000 The identifier of the store for this reverse pick.
orderId NA number($int12) example: 11111 The unique identifier of the fulfillment order the reverse pick is for.
status NA integer($int4) example: 1

The current status of the reverse pick. Valid values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

createUser NA string($text128) example: smith123 The user that created the reverse pick.
createDate NA string($date-time) The date the reverse pick was created in SIOCS.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Reverse Pick

This section describes the Create Reverse Pick API. This API will create a new reverse pick within the system. It responds with the reverse pick that it created.

Method

POST
URL

/fulfillorderreversepicks
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the reverse pick to create.

Example Value

{
  "orderId": 222345666,
  "lineItems": [
    {
      "orderLineId": 55001234,
      "quantity": 2
    }
  ]
}
Schema — FulfillmentOrderReversePickCreateIdo

Table 4-97 FulfillmentOrderReversePickCreatedo - Object

Element Name Required Data Type/Example Description
orderID Yes number($int12) example: 222345666 The unique SIOCS identifier of the fulfillment order to be reverse picked.
lineItems Yes object A collection of line items to reverse pick.

Table 4-98 FulfillmentOrderReversePickCreateItemIdo - Object

Element Name Required Data Type/Example Description
orderLineId Yes number($int12) example: 55001234 The unique identifier of the fulfillment order line item to be reverse picked.
quantity Yes number($decimal(12,4)) example: 2 The quantity to reverse pick.
Responses

This section describes the responses of the Create Reverse Pick API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "reversePickId": 1234,
    "storeId": 5000,
    "orderId": 11111,
    "status": 1,
    "createUser": "smith123",
    "createDate": "2025-04-15T08:14:57.283Z",
    "lineItems": [
      {
        "lineId": 333444,
        "orderLineId": 55001234,
        "caseSize": 10,
        "quantitySuggested": 6,
        "quantityReversePick": 2
      }
    ]
  
Schema — FulfillmentOrderReversePickIdo

Table 4-99 FulfillmentOrderReversePickIdo - Object

Element Name Required Data Type/Example Description
reversePickId NA number($int12) example: 1234 The identifier of the reverse pick.
storeId NA number($int10) example: 5000 The identifier of the store for this reverse pick.
orderId NA number($int12) example: 11111 The unique identifier of the fulfillment order the reverse pick is for.
status NA integer($int4) example: 1

The current status of the reverse pick. Valid values are:

1 - New

2 - In Progress

3 - Completed

4 - Canceled

Enum: [ 1, 2, 3, 4

createUser NA string($text128) example: smith123 The user that created the reverse pick.
createDate NA string($date-time) The date the reverse pick was created in SIOCS.
lineItems NA object A collection of line items on the fulfillment order reverse pick.

Table 4-100 FulfillmentOrderReversePickLineItemIdo - Object

Element Name Required Data Type/Example Description
lineId NA number($int12) example: 333444 The unique identifier of the line item.
orderLineId NA number($int12) example: 55001234 The unique identifier of the fulfillment order line item to be reverse picked.
caseSize NA number($decimal(10,2)) example: 10 The case size of this item reverse pick.
quantitySuggested NA number($decimal(12,4)) example: 6 The system suggested reverse pick quantity.
quantityReversePick NA number($decimal(12,4)) example: 2 The actual quantity that was reverse picked.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Reverse Pick

This API retrieves all the details about a fulfillment order reverse pick.

Method

GET
URL

/fulfillorderreversepicks/{reversePickId}
Request Parameters

Table 4-101 Read Reverse Pick — Request Parameters

Name Required Data Type/Example Description
reversePickId Yes number($int12) (path) The unique identifier of the fulfillment order reverse pick.
Responses

This section describes the responses of the Read Reverse Pick API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema - FulfillmentOrderReversePickIdo section.

Example Value

[
  {
    "reversePickId": 1234,
    "storeId": 5000,
    "orderId": 11111,
    "status": 1,
    "createUser": "smith123",
    "createDate": "2025-04-15T06:35:19.059Z",
    "lineItems": [
      {
        "lineId": 333444,
        "orderLineId": 55001234,
        "caseSize": 10,
        "quantitySuggested": 6,
        "quantityReversePick": 2
      }
    ]
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Reverse Pick

This section describes the Update Reverse Pick API. This API updates the fulfillment order reverse pick.

Method

POST
URL

/fulfillorderreversepicks/{reversePickId}
Request Parameters

Table 4-102 Update Reverse Pick— Request Parameters

Name Required Data Type/Example Description
reversePickId Yes number($int12)(path) The unique identifier of the fulfillment order reverse pick.

The request body is application/json.

Details to update the fulfillment order reverse pick from.

Example Value

{{
  "lineItems": [
    {
      "orderLineId": 55001234,
      "quantity": 2
    }
  ]
}
Schema — FulfillmentOrderReversePickUpdateIdo

Table 4-103 FulfillmentOrderReversePickUpdateIdo - Object

Element Name Required Data Type/Example Description
lineItems Yes object A collection of line items to update.

Table 4-104 FulfillmentOrderReversePickUpdateItemIdo - Object

Element Name Required Data Type/Example Description
orderLineId Yes number($int12) example: 55001234 The unique identifier of the fulfillment order line item to be reverse picked.
quantity Yes number($decimal(12,4)) example: 2 The quantity to reverse pick.
Responses

This section describes the responses of the Update Reverse Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Reverse Pick

This section describes the Confirm Reverse Pick API. This API confirms the fulfillment order reverse pick.

Method

POST
URL

/fulfillorderreversepicks/{reversePickId}/confirm
Request Parameters

Table 4-105 Confirm Pick— Request Parameters

Name Required Data Type/Example Description
reversePickId Yes number($int12)(path) The unique identifier of the fulfillment order reverse pick.
Responses

This section describes the responses of the Confirm Reverse Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Reverse Pick

This section describes the Cancel Reverse Pick API. This API cancels the fulfillment order reverse pick.

Method

POST
URL

/fulfillorderreversepicks/{reversePickId}/cancel
Request Parameters

Table 4-106 Cancel Reverse Pick— Request Parameters

Name Required Data Type/Example Description
reversePickId Yes number($int12)(path) The unique identifier of the fulfillment order reverse pick.
Responses

This section describes the responses of the Cancel Reverse Pick API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Inventory Adjustment

Inventory Adjustments allow a user to change the number of units in stock or mark them as non-sellable due to damage. Reason codes are defined on the desktop. When creating a reason code, a disposition is assigned to the reason code and it defines how the stock will be moved. So, adjustments are made to different buckets depending on the reason code's disposition. For example, a reason code of Stock - In has a disposition of + Stock on Hand which moves inventory from Out of the store to Available inventory where as, a Reason if Damaged - Hold has a disposition of + Unavailable that moves inventory from Available to Unavailable. See Reason Codes REST service for the ability to retrieve reason code. The service defines operations to manage inventory adjustment information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Inventory Adjustment

This section describes the Find Inventory Adjustment API. This API finds up to a maximum of 10,000 inventory adjustments headers based on input search criteria. No items or detailed information is returned via this search.

Method

GET
URL

/invadjustments
Request

Table 4-107 Find Inventory Adjustment — Request Parameters

Name Required Data Type/Example Description

referenceId

NA

number ($int12) (query)

Include only records with this reference identifier.

status

NA

integer ($int4) (query)

Include only records with this inventory adjustment status. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Available values : 1, 2, 3 --123

adjustmentDateFrom

NA

string ($date-time) (query)

Include only records with an adjustment date on or after this date.

adjustmentDateTo

NA

string ($date-time) (query)

Include only records with an adjustment date on or before this date.

updateDateFrom

NA

string ($date-time) (query)

Include only records with an update date on or after this date.

updateDateTo

NA

string ($date-time) (query)

Include only records with an update date on or before this date.

itemId

NA

string ($text25) (query)

Include only records of adjustments containing this item.

reasonId

NA

number ($int12) (query)

Include only records of adjustments containing this reason.

Responses

This section describes responses of the Find Inventory Adjustment API.

Response Code: 200

The response has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 11111,
    "storeId": 1234,
    "referenceId": 7890,
    "externalId": "AB87656",
    "adjustmentDate": "2024-09-11T13:30:40.820Z",
    "status": 1,
    "createDate": "2024-09-11T13:30:40.820Z",
    "updateDate": "2024-09-11T13:30:40.820Z",
    "approveDate": "2024-09-11T13:30:40.820Z"
  }
]
Schema — InventoryAdjustmentHeaderIdo

This section describes the InventoryAdjustmentHeaderIdo schema.

Table 4-108 InventoryAdjustmentHeaderIdo — Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int12) example: 11111

The unique identifier of the inventory adjustment.

storeId

NA

number($int10) example: 1234

The store identifier of the inventory adjustment.

referenceId

NA

number($int12) example: 7890

Identifier of original adjustment it was copied from.

externalId

NA

string($text120) example: AB87656

A unique identifier of the adjustment in an external system.

adjustmentDate

NA

string($date-time)

The timestamp the inventory if officially considered to have been adjusted.

status

NA

integer($int4) example: 1

The current status of the inventory adjustment. Valid values are

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

createDate

NA

string($date-time)

The date the adjustment was created in EICS.

updateDate

NA

string($date-time)

The date the adjustment was lasted updated in EICS.

approveDate

NA

string($date-time)

The date the adjustment was approved in EICS.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Inventory Adjustment

This section describes the Create Inventory Adjustment API. This API creates a new manual inventory whose status will be "In Progress". If more than 5,000 items are included, an error response will be returned. When adding items to the adjustment a reason code with a disposition associated to it determines stock movement of the item.

Method

POST
URL

/invadjustments
Request

There are no request parameters.

The request body is application/json.

The inventory adjustment to create.

Example Value

{
  "storeId": 1234,
  "referenceId": 7890,
  "externalId": "AB87656",
  "externalUser": "AB87656",
  "adjustmentDate": "2024-09-12T13:07:55.023Z",
  "comments": "This is a comment.",
  "lineItems": [
    {
      "itemId": "55001234",
      "reasonId": 5678,
      "caseSize": 5,
      "quantity": 2,
      "uins": [
        111222333,
        444555666
      ]
    }
  ]
}
Schema — InventoryAdjustmentCreateIdo

Table 4-109 InventoryAdjustmentCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 1234

The store identifier of the inventory adjustment.

referenceId

NA

number($int12) example: 7890

Identifier of original adjustment it was copied from.

externalId

NA

string($text128) example: AB87656

A unique identifier of the adjustment in an external system.

externalUser

NA

string($text128) example: AB87656

A non-EICS user that created the inventory adjustment in an external system.

adjustmentDate

NA

string($date-time)

The timestamp the inventory if officially considered to have been adjusted. If left blank, it will default to the creation date of the record.

comments

NA

string($text2000) example: This is a comment.

Comments associated to the adjustment. Comments will be trimmed down to 2000 characters if the entry is larger.

lineItems

Yes

object

A collection of line items attached to the adjustment.

Table 4-110 InventoryAdjustmentCreateLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 55001234

The SKU level item identifier.

reasonId

Yes

number($int12) example: 5678

The unique identifier of the reason code associated to the adjustment.

caseSize

NA

number($decimal10,2) example: 5

The case size of this line item.

quantity

Yes

number($decimal20,4) example: 2

The quantity of this line item. For UINS, the quantity must match the number of UINs.

uins

NA

string($text128) example: List [ 111222333, 444555666 ]

The UINs to attach to this line item.

Responses

This section describes the responses of the Create Inventory Adjustment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 1234
  }
]
Schema — InventoryAdjustmentRefIdo

Table 4-111 InventoryAdjustmentRefIdo— Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int12) example: 1234

The newly created inventory adjustment identifier.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Inventory Adjustment

The Read Inventory Adjustment API retrieves all the details about an inventory adjustment.

Method

GET
URL

/invadjustments/{adjustmentId}
Request

Table 4-112 Read Inventory Adjustment — Request Parameters

Name Required Data Type/Example Description

adjustmentId

Yes

number($int12) (path)

The unique identifier of the inventory adjustment.

Responses

This section describes the responses of the Read Inventory Adjustment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 11111,
    "storeId": 1234,
    "referenceId": 7890,
    "externalId": "AB87656",
    "adjustmentDate": "2024-09-17T13:47:31.101Z",
    "status": 1,
    "comments": "This is a comment.",
    "createDate": "2024-09-17T13:47:31.101Z",
    "createUser": "userAbc",
    "updateDate": "2024-09-17T13:47:31.101Z",
    "updateUser": "userAbc",
    "approveDate": "2024-09-17T13:47:31.101Z",
    "approveUser": "userAbc",
    "externalCreateUser": "userAbc",
    "externalUpdateUser": "userAbc",
    "lineItems": [
      {
        "lineId": 1234,
        "itemId": "55001234",
        "reasonId": 5678,
        "caseSize": 5,
        "quantity": 2,
        "uins": [
          111222333,
          444555666
        ]
      }
    ]
  }
]
Schema — InventoryAdjustmentIdo

This section describes the InventoryAdjustmentIdo schema.

Table 4-113 InventoryAdjustmentIdo — Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int12) example: 11111

The unique identifier of the inventory adjustment.

storeId

NA

number($int10) example: 1234

The store identifier of the inventory adjustment.

referenceId

NA

number($int12) example: 7890

Identifier of original adjustment it was copied from.

externalId

NA

string($text120) example: AB87656

A unique identifier of the adjustment in an external system.

adjustmentDate

NA

string($date-time)

The timestamp the inventory if officially considered to have been adjusted.

status

NA

integer($int4) example: 1

The current status of the inventory adjustment. lid values are:

1 - In Progress

2 – Completed

3 – Canceled

Enum: [ 1, 2, 3 ]

comments

NA

string($text2000) example: This is a comment.

Comments associated to the adjustment.

createDate

NA

string($date-time)

The date the adjustment was created in EICS.

createUser

NA

string($text128) example: userAbc

The user that created the adjustment in EICS.

updateDate

NA

string($date-time)

The date the adjustment was lasted updated in EICS.

updateUser

NA

string($text128) example: userAbc

The user that last updated the adjustment in EICS.

approveDate

NA

string($date-time)

The date the adjustment was approved in EICS.

approveUser

NA

string($text128) example: userAbc

The user that approved the adjustment in EICS.

externalCreateUser

NA

string($text128) example: userAbc

A non-EICS user that created the adjustment in an external system.

externalUpdateUser

NA

string($text128) example: userAbc

A non-EICS user that last updated the adjustment in an external system.

lineItems

NA

object

line items

Table 4-114 InventoryAdjustmentLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

number($int12) example: 1234

The unique identifier of the line item.

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

reasonId

NA

number($int12) example: 5678

The unique identifier of the reason code associated to the adjustment.

caseSize

NA

number($decimal10,2) example: 5

The case size of this line item.

quantity

NA

number($decimal20,4) example: 2

The quantity of this line item.

uins

NA

string($text128) example: List [ 111222333, 444555666 ]

The UINs associated to this line item.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Inventory Adjustment

The Update Inventory Adjustment API updates the details of an inventory adjustment that is currently "In Progress".

Method

POST
URL

/invadjustments/{adjustmentId}
Request

The inventory adjustment to update.

The request body is application/json.

Table 4-115 Update Inventory Adjustment — Request Parameters

Name Required Data Type/Example Description

adjustmentId

Yes

number($int12) (path)

The unique identifier of the inventory adjustment.

Example Value

{
  "referenceId": 7890,
  "externalUser": "AB87656",
  "adjustmentDate": "2024-09-18T08:36:13.027Z",
  "comments": "This is a comment.",
  "lineItems": [
    {
      "itemId": "55001234",
      "reasonId": 5678,
      "caseSize": 5,
      "quantity": 2,
      "uins": [
        111222333,
        444555666
      ]
    }
  ]
}
Schema — InventoryAdjustmentUpdateIdo

This section describes the InventoryAdjustmentUpdateIdo schema.

Table 4-116 InventoryAdjustementUpdateIdo — Object

Element Name Required Data Type/Example Description

referenceId

NA

number($int12) example: 7890

Identifier of original adjustment it was copied from.

externalUser

NA

string($text128) example: AB87656

A non-EICS user that created the inventory adjustment in an external system.

adjustmentDate

NA

string($date-time)

The timestamp the inventory if officially considered to have been adjusted. If left blank, it will default to the creation date of the record.

comments

NA

string($text2000) example: This is a comment.

Comments associated to the adjustment. These comments will replace any previous comments Comments will be trimmed down to 2000 characters if the entry is larger.

lineItems

Yes

object

A collection of line items attached to the adjustment.

Table 4-117 InventoryAdjustmentUpdateLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 55001234

The SKU level item identifier. If SKU is already present, its line item will be updated. Otherwise, a new line item will be added.

reasonId

Yes

number($int12) example: 5678

The unique identifier of the reason code associated to the adjustment. The reason code is not modifiable on an update, but it will be used if a new item is added.

caseSize

NA

number($decimal10,2) example: 5

The case size of this line item.

quantity

Yes

number($decimal20,4) example: 2

The quantity of this line item. For UINS, the quantity must match the number of UINs. If the quantity is set to 0, the system will attempt to remove the line item from the adjustment.

uins

NA

string($text128) example: List [ 111222333, 444555666 ]

The UINs to attach to this line item.

Responses

This section describes the responses of the Update Inventory Adjustment API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Inventory Adjustment

This section describes the Confirm Inventory Adjustment API. This API confirms an inventory adjustment, finalizing it and processing the inventory movement.

Method

POST
URL

/invadjustments/{adjustmentId}/confirm
Request

Table 4-118 Confirm Inventory Adjustment — Request Parameters

Name Required Data Type/Example Description

adjustmentId

Yes

number($int12) (path)

The unique identifier of the inventory adjustment.

Responses

This section describes the responses of the Confirm Inventory Adjustment API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Inventory Adjustment

This section describes the Cancel Inventory Adjustment API. This API cancels an inventory adjustment.

Method

POST
URL

/invadjustments/{adjustmentId}/cancel
Request

Table 4-119 Cancel Inventory Adjustment — Request Parameters

Name Required Data Type/Example Description

adjustmentId

Yes

number($int12) (path)

The unique identifier of the inventory adjustment.

Responses

This section describes the responses of the Cancel Inventory Adjustment API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Item

This service integrates item foundation data from an external system. For item retrieval or lookup, please see the Item Inquiry REST service..

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Import Item

Imports up to 100 items. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/import
Request

There are no request parameters.

The request body is application/json.

A list of items to import.

Example Value
{
  "items": [
    {
      "itemId": "1111111",
      "transactionLevel": 2,
      "itemLevel": 2,
      "status": 1,
      "departmentId": 1000,
      "classId": 2000,
      "subclassId": 3000,
      "shortDescription": "12p-Water",
      "longDescription": "12-Pack of Water",
      "differentiator1": "Color 01",
      "differentiator2": "Size 06",
      "differentiator3": "Flavor 08",
      "differentiator4": "Fruit 04",
      "parentId": "567000333",
      "pack": false,
      "simplePack": false,
      "sellable": true,
      "orderable": true,
      "shipAlone": false,
      "inventoriable": true,
      "notionalPack": false,
      "estimatePackInventory": false,
      "primaryReferenceItem": false,
      "orderAsType": false,
      "standardUom": "EA",
      "packageUom": "a",
      "packageSize": "EA",
      "eachToUomFactor": "a",
      "barcodeFormat": "a",
      "barcodePrefix": "a",
      "wastageType": 1,
      "wastagePercent": 1.5,
      "wastagePercentDefault": 1.5,
      "suggestedRetailCurrency": "USD",
      "suggestedRetailPrice": 9.99,
      "brand": "Brand A",
      "brandDescription": "Brand A Full Description",
      "components": [
        {
          "componentItemId": "1111111",
          "quantity": 2
        }
      ]
    }
  ]
}
Schema - ItemImportListIdo

Table 4-120 ItemImportListIdo - Object

Element Name Required Data Type/Example Description
Items Yes object items

Table 4-121 ItemImportIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($text25) example: 1111111 The unique item identifier (SKU number).
transactionLevel Yes integer($int1) example: 2 Number indicating which of the three levels transactions occur for this item. Items may only be used on transactions with inventory tracked if the transaction level and item level match.
itemLevel NA integer($int1) example: 2 Number indicating which of the three levels an item resides at. Items may only be used on transactions with inventory tracked if the transaction level and item level match.
status NA integer($int1) example: 1

The status of the item. Value values are:

1 - Active

5 - Auto-Stockable

6 - Non-Ranged

Enum: [ 1, 5, 6 N ]

departmentId Yes number($int12) example: 1000 The merchandise hierarchy department identifier.
classId NA number($int12) example: 2000 The merchandise hierarchy class identifier.
subclassId NA number($int12) example: 3000 The merchandise hierarchy subclass identifier.
shortDescription NA string($text255) example: 12p-Water A short description of the item.
longDescription NA string($text400) example: 12-Pack of Water A long description of the item.
differentiator1 NA string($text10) example: Color 01 The first differentiator identifier.
differentiator2 NA string($text10) example: Size 06 The second differentiator identifier.
differentiator3 NA string($text10) example: Flavor 08 The third differentiator identifier.
differentiator4 NA string($text10) example: Fruit 04 The fourth differentiator identifier.
parentId NA string($text25) example: 567000333 The unique identifier of the item at the next level about this item.
pack NA boolean example: false True if the item is a pack, false otherwise.
simplePack NA boolean example: false True if the item is a simple pack, false otherwise.
sellable NA boolean example: true True if the item is a sellable, false otherwise.
orderable NA boolean example: true True if the item can be ordered from a supplier, false otherwise.
shipAlone NA boolean example: false True if the item must be shipped in separated packaging, false otherwise.
inventoriable NA boolean example: true True if the item is inventoried, false otherwise.
notionalPack NA Boolean example: false True indicates that the inventory is held at the component level, false otherwise. Take special note that all notional packs are automatically marked as invertoriable in SIOCS.
estimatePackInventory NA boolean example: false True if the item allows estimating pack inventory from component positions, false otherwise.
primaryReferenceItem NA boolean example: false True indicates the item is the primary sub-transaction level item.
orderAsType NA boolean example: false True indicates a buyer pack is receivable at the pack level. False indicates it is receivable at the component level.
standardUom NA string($text4) example: EA The unit of measure that inventory is tracked in.
packageUom NA string($text4) example: a The unit of measure associated with the package size.
packageSize NA number($text) example: EA The size of the product printed (or will be printed on the label).
eachToUomFactor NA number($decimal20,10) example: a The multiplication factor to convert 1 EA to the equivalent standard unit of measure.
barcodeFormat NA string($text4) example: a The format of a barcode (used for Type 2 barcode items).
barcodePrefix NA number($int9) example: a The barcode prefix used in association with the Type 2 barcode of this item.
wastageType NA integer($int4) example: 1

The type of wastage. Valid values are:

1 - Sales Wastage

2 - Spoilage Wastage

Enum: [ 1, 2

wastagePercent NA number($decimal12,4) example: 1.5 The wastage percent.
wastagePercentDefault NA number($decimal12,4) example: 1.5 The default wastage percent.
suggestedRetailCurrency NA string($text3) example: USD The currency of the manufacturer suggested retail price.
suggestedRetailPrice NA number($decimal20,4) example: 9.99 The manufacturer suggested retail price.
brand NA string($text30) example: Brand A Brand name of the brand the item belongs to.
brandDescription NA string($text120) example: Brand A Full Description Brand description of the brand the item belongs to.
components NA object A list of components if the item is a pack.

Table 4-122 ItemComponentImportIdo - Object

Element Name Required Data Type/Example Description
componentItemId Yes string($text25) example: 1111111 The item identifier of the component item within the pack.
quantity Yes number($decimal) example: 2 The quantity of the component item within the pack.
Responses

This section describes the responses of the Import Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Remove Item

Marks items for removal with a non-active status. They are removed later from the system when item cleanup occurs through batch processing. Asychronous item integration is processed through staged messages and is controlled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/remove
Request

There are no request parameters.

The request body is application/json.

A list of items to remove.

Example Value
{
  "items": [
    {
      "itemId": "1111111",
      "status": 2
    }
  ]
Schema - ItemRemoveListIdo

Table 4-123 ItemRemoveListIdo - Object

Element Name Required Data Type/Example Description
Items Yes object A list of items to mark for removal.

Table 4-124 ItemRemoveIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($text25) example: 1111111 The unique item identifier (SKU number).
status Yes integer($int4) example: 2

The status to assign to the item to mark it for removal. Valid values are:

2 - Discontinued

3 - Inactive

4 - Deleted

Enum: [ 2, 3, 4

Responses

This section describes the responses of the Remove Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Import Item Hierarchy

Imports up to 500 item hierarchies. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsHierarchy).

Method

POST
URL
/items/hierarchies/import
Request

There are no request parameters.

The request body is application/json.

A list of item hierarchies to import.

Example Value
{
  "hierarchies": [
    {
      "departmentId": 1000,
      "departmentName": "Electronics",
      "classId": 2000,
      "className": "Blu-Ray",
      "subclassId": 3000,
      "subclassName": "Supports 4K"
    }
  ]
}
Schema - ItemHierarchyImportListIdo

Table 4-125 ItemHierarchyImportListIdo - Object

Element Name Required Data Type/Example Description
hierarchies Yes Objec A list of item hierarchies to import.

Table 4-126 ItemHierarchyImportIdo - Object

Element Name Required Data Type/Example Description
departmentId Yes number($int12) example: 1000 The hierarchy department identifier.
departmentName NA string($text360) example: Electronics The hierarchy department name.
classId NA number($int12) example: 2000 The hierarchy class identifier.
className NA string($text360) example: Blu-Ray The hierarchy class name.
subclassId NA number($int12) example: 3000 The hierarchy subclass identifier.
subclassName NA string($text360) example: Supports 4K The hierarchy subclass name.
Responses

This section describes the responses of the Import Item Hierarchy API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Remove Item Hierarchy

Marks up to 500 item hierarchies for removal. They are removed later from the system when item cleanup occurs through batch processing. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsHierarchy).

Method

POST
URL
/items/hierarchies/remove
Request

There are no request parameters.

The request body is application/json.

A list of items to remove.

Example Value
{
  "hierarchies": [
    {
      "departmentId": 1000,
      "classId": 2000,
      "subclassId": 3000
    }
  ]
}
Schema - ItemHierarchyRemoveListIdo

Table 4-127 ItemHierarchyRemoveListIdo - Object

Element Name Required Data Type/Example Description
hierarchies Yes object A list of item hierarchies to remove.

Table 4-128 ItemHierarchyRemoveIdo - Object

Element Name Required Data Type/Example Description
departmentId Yes number($int12) example: 1000 The hierarchy department identifier.
classId NA number($int12) example: 2000 The hierarchy class identifier.
subclassId NA number($int12) example: 3000 The hierarchy subclass identifier.
Responses

This section describes the responses of the Remove Item Hierarchy API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Import Related Item

Imports up to 500 item relationships records. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/related/import
Request

There are no request parameters.

The request body is application/json.

A list of related items to import.

Example Value
{
  "relationships": [
    {
      "relationshipId": 12,
      "relationshipType": 1,
      "name": "Relationship Name",
      "itemId": "300100400",
      "mandatory": true,
      "relatedItems": [
        {
          "itemId": "1000456",
          "effectiveDate": "2025-03-12T12:23:25.195Z",
          "endDate": "2025-03-12T12:23:25.195Z",
          "priorityNumber": 2
        }
      ]
    }
  ]
}
Schema - ItemRelationshipImportListIdo

Table 4-129 ItemRelationshipImportListIdo - Object

Element Name Required Data Type/Example Description
relationships Yes object A list of item relationships to import.

Table 4-130 ItemRelationshipImportIdo - Object

Element Name Required Data Type/Example Description
relationshipId Yes number($text20) example: 12 The identifier of the relationship.
relationshipType Yes integer($int6) example: 1

The relationship type. Valid values are:

1 - Related

2 - Substitute

3 - Up-Sell

4 - Cross-Sell

Enum: [ 1, 2, 3, 4

name NA string($text120) example: Relationship Name The name of the relationship.
itemId Yes string($text25) example: 300100400 The item whose related records are being records.
mandatory Yes boolean example: true True if the relationship is mandatory.
relatedItems Yes object A list of item relationships to import.

Table 4-131 ItemRelationshipDetailIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($text25) example: 1000456 The item that is related to the base item.
effectiveDate NA string($date-time) Date at which this relationship becomes active.
endDate NA string($date-time) Last date at which this relationship is active.
priorityNumber NA integer($int4) example: 2 The item that is related to the base item.
Responses

This section describes the responses of the Import Related Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Related Item

Deletes up to 500 relationships between items. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is controlled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/related/delete
Request

There are no request parameters.

The request body is application/json.

A list of item relationships to remove.

Example Value
{
  "relationshipIds": [
    11111,
    22222
  ]
}
Schema - ItemRelationshipRemoveListIdo

Table 4-132 ItemRelationshipRemoveListIdo - Object

Element Name Required Data Type/Example Description
relationshipIds Yes string($text25) relationship IDs
Responses

This section describes the responses of the Delete Related Item API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Import Item Image

Imports up to 500 item image URLS associated to the item. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/images/import
Request

There are no request parameters.

The request body is application/json.

A list of item image URLs to import.

Example Value
{
  "images": [
    {
      "itemId": "1000456",
      "imageType": 1,
      "storeId": 5000,
      "imageName": "Hat",
      "imageSize": "T",
      "url": "1000456",
      "displaySequence": 2,
      "startDate": "2025-03-12T13:29:07.670Z",
      "endDate": "2025-03-12T13:29:07.670Z"
    }
  ]
}
Schema - ItemImageImportListIdo

Table 4-133 ItemImageImportListIdo - Object

Element Name Required Data Type/Example Description
Images Yes object A list of item relationships to import.

Table 4-134 ItemImageImportIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($text25) example: 1000456 The unique SKU number of the item.
imageType Yes integer example: 1

The type of the image. Valid values are:

1 - Image

2 - QR Code

Enum: [ 1, 2 ]

storeId NA number($int10) example: 5000 The store identifier. This attribute is required if the image type is a QR code.
imageName Yes string($text120) example: Hat The name of the image.
imageSize NA string($text6) example: T The size of the image. (T) is the only understood value (which indicates a thumbnail and is treated differently by the system).
url Yes string($text1000) example: 1000456 The universal resource locator of the image.
displaySequence NA integer($int2) example: 2 The sequence the item image should be displayed in.
startDate NA string($date-time) The date the image becomes active.
endDate NA string($date-time) The date the image ceases being active.
Responses

This section describes the responses of the Import Item Image API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Item Image

Deletes up to 500 item image URLs. They are removed later from the system when item cleanup occurs through batch processing. A forbidden response will occurs if the application is integrated with MFCS or RMS. Asychronous item integration is processed through staged messages and is ccontrolled by the MPS Work Type (DcsItem).

Method

POST
URL
/items/images/delete
Request

There are no request parameters.

The request body is application/json.

A list of item images URLs to delete.

Example Value
{
  "images": [
    {
      "itemId": "1000456",
      "imageType": 1,
      "imageName": "Hat"
    }
  ]
}
Schema - ItemImageDeleteListIdo

Table 4-135 ItemImageDeleteListIdo - Object

Element Name Required Data Type/Example Description
Images Yes Object A list of item images to remove.

Table 4-136 ItemImageRefIdo - Object

Element Name Required Data Type/Example Description
itemId Yes string($text25) example: 1000456 The unique SKU number of the item.
imageType Yes integer example: 1

The type of the image. Valid values are:

1 - Image

2 - QR Code

Enum: [ 1, 2 ]

imageName Yes string($text120) example: Hat The name of the image.
Responses

This section describes the responses of the Delete Item Image API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

REST Service: Item Basket

tem Basket is a way of creating a list of items that can be utilized for other things such as line busting, gift registries, and so on. Item Basket allows a user to capture items and their quantities. An item basket that has only items on it is considered static, meaning that the number of items does not change. An item basket that has only hierarchies or hierarchies and items is considered dynamic, meaning that the items on the basket can change based upon the items associated to the hierarchy. This service defines operations to manage transfer delivery information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Baskets

This section describes the Find Baskets API. This API finds up to 10,000 item basket headers for the input criteria.

Method

GET
URL

/itembaskets
Request Parameters

This section describes the request parameters.

Table 4-137 Find Baskets — Request Parameters

Parameters Required Data Type/Example Description

referenceId

NA

number($int12) (query)

Include only item baskets with this reference identifier.

alternateId

NA

number($int12) (query)

Include only item baskets with this alternate identifier.

storeId

NA

number($int10) (query)

Include only item baskets with this store identifier.

typeId

NA

number($int18) (query)

Include only item baskets with this item basket type.

status

NA

integer($int4) (query)

Include only item baskets with this status. Valid values are

1 - In Progress

2 - Completed

3 - Canceled

Available values : 1, 2, 3

updateDateFrom

NA

string($date-time) (query)

Include only item baskets with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only item baskets with an update date on or before this date.

itemId

NA

string($text25) (query)

Include only item baskets that contain this item.

Responses

This section describes the responses of the Find Baskets API.

Reason Code: 200

Successful response

The media type is application/json.

Example Value

[
  {
    "basketId": 11111,
    "referenceId": 211933,
    "alternateId": 83027,
    "storeId": 5000,
    "typeId": 5,
    "description": "Broken item investigation",
    "status": 1,
    "createDate": "2024-10-28T14:18:42.543Z",
    "updateDate": "2024-10-28T14:18:42.543Z",
    "expirationDate": "2024-10-28T14:18:42.543Z"
  }
]
Schema — ItemBasketHeaderIdo

This section describes the ItemBasketHeaderIdo schema.

Table 4-138 ItemBasketHeaderIdo — Object

Element Name Required Data Type/Example Description

basketId

NA

number($int12) example: 11111

The unique identifier of the item basket.

referenceId

NA

number($int12) example: 211933

An external reference identifier to the item basket.

alternateId

NA

number($int12) example: 83027

An alternate identifier assigned by the user to the item basket.

storeId

NA

number($int10) example: 5000

A store identifier if the item basket belongs to a particular store. An empty or not-included store identifier indicates it can be used by all stores.

typeId

NA

number($int18) example: 5

The unique identifier of the item basket type.

description

NA

string($text255) example: Broken item investigation

A description of the item basket.

status

NA

integer($int4) example: 1

The current status of the item basket. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Enum:

[ 1, 2, 3 ]

createDate

NA

string($date-time)

The date the item basket was created.

updateDate

NA

string($date-time)

The date the item basket was last updated.

expirationDate

NA

string($date-time)

The date the item basket will expire.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Basket

This section describes the Create Basket API. This API creates an in-progress item basket.

Method

POST
URL

/itembaskets
Request Parameters

There are not request parameters.

Request body is application/json.

The item basket details of the new item basket.

Example Value

{
  "alternateId": 83027,
  "storeId": 5000,
  "typeId": 5,
  "description": "Broken item investigation",
  "expirationDate": "2024-10-28T15:00:53.432Z",
  "hierarchies": [
    {
      "departmentId": 1000,
      "classId": 2000,
      "subclassId": 3000
    }
  ],
  "lineItems": [
    {
      "itemId": "11111",
      "caseSize": 1,
      "quantity": 20
    }
  ]
}
Schema — ItemBasketCreateIdo

This section describes the ItemBasketCreateIdo schema.

Table 4-139 ItemBasketCreateIdo — Object

Element Name Required Data Type/Example Description

alternateId

NA

number($int12) example: 83027

An alternate identifier assigned by rgw user to the item basket

storeId

NA

number($int10) example: 5000

A store identifier if the item basket belongs to a particular store. An empty or not-included store identifier indicates it can be used by all stores.

typeId

Yes

number($int18) example: 5

The unique identifier of the item basket type.

description

NA

string($text255) example: Broken item investigation

A description of the item basket.

expirationDate

NA

string($date-time)

The date the item basket will expire.

hierarchies

NA

object

A collection of hierarchies in the basket.

lineItems

NA

object

A collection of items in the basket.

Table 4-140 ItemBasketHierarchyIdo — Object

Element Name Required Data Type/Example Description

departmentId

NA

number($int12) example: 1000

The unique identifier of the department.

classId

NA

number($int12) example: 2000

The unique identifier of the class.

subclassId

NA

number($int12) example: 3000

The unique identifier of the subclass.

Table 4-141 ItemBasketCreateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantity

NA

number($decimal(12,4)) example: 20

The quantity of the item in the basket.

Responses

This section describes the responses of the Create Baskets API.

Reason Code: 200

Successful response

The media type is application/json.

Example Value

[
  {
    "basketId": 11111,
    "typeId": 5,
    "status": 1
  }
]
Schema — ItemBasketStatusIdo

This section describes the ItemBasketStatusIdo schema.

Table 4-142 ItemBasketStatusIdo

Element Name Required Data Type/Example Description

basketId

NA

number($int12) example: 11111

The unique identifier of the item basket.

typeId

NA

number($int18) example: 5

The unique identifier of the item basket type.

status

NA

integer($int4) example: 1

The current status of the item basket. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Basket

This section describes the Read Basket API. This API retrieves all the details about an item basket.

Method

GET
URL

/itembaskets/{basketId}
Request Parameters

Table 4-143 Read Basket — Request Parameters

Parameter Required Data Type/Example Description

basketId

Yes

number($int12) (path)

The unique identifier of the item basket.

Responses

This section describes the responses of the Read Baskets API.

Reason Code: 200

Successful response

The media type is application/json.

Example Value

[
  {
    "basketId": 11111,
    "referenceId": 211933,
    "alternateId": 83027,
    "storeId": 5000,
    "typeId": 5,
    "description": "Broken item investigation",
    "status": 1,
    "createDate": "2024-10-30T12:43:35.561Z",
    "updateDate": "2024-10-30T12:43:35.561Z",
    "expirationDate": "2024-10-30T12:43:35.561Z",
    "createUser": "smith123",
    "updateUser": "smith123",
    "dynamic": true,
    "hierarchies": [
      {
        "departmentId": 1000,
        "classId": 2000,
        "subclassId": 3000
      }
    ],
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "caseSize": 1,
        "quantity": 20
      }
    ]
  }
]

Schema — ItemBasketStatusIdo

This section describes the ItemBasketStatusIdo schema.

Table 4-144 ItemBasketStatusIdo

Element Name Required Data Type/Example Description

basketId

NA

number($int12) example: 11111

The unique identifier of the item basket.

typeId

NA

number($int18) example: 5

The unique identifier of the item basket type.

status

NA

integer($int4) example: 1

The current status of the item basket. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Basket

This section describes the Update Basket API. This API updates an item basket.

Method

POST
URL

/itembaskets/{basketId}
Request Parameters

Table 4-145 Update Basket — Request Parameters

Parameter Required Data Type/Example Description

basketId

Yes

number($int12) (path)

The unique identifier of the item basket.

The request body is application/json.

Item basket details to update.

Example Value

{
  "alternateId": 83027,
  "description": "Broken item investigation",
  "expirationDate": "2024-10-30T13:17:43.434Z",
  "hierarchies": [
    {
      "departmentId": 1000,
      "classId": 2000,
      "subclassId": 3000
    }
  ],
  "lineItems": [
    {
      "itemId": "11111",
      "caseSize": 1,
      "quantity": 20
    }
  ]
}
Schema — ItemBasketUpdateIdo

Table 4-146 ItemBasketUpdateIdo — Object

Element Name Required Data Type/Example Description

alternateId

NA

number($int12) example: 83027

An alternate identifier assigned by the user to the item basket.

description

NA

string($text255) example: Broken item investigation

A description of the item basket.

expirationDate

NA

string($date-time)

The date the item basket will expire.

hierarchies

NA

object

A collection of hierarchies in the basket.

lineItems

NA

object

A collection of items in the basket.

Table 4-147 ItemBasketHierarchyIdo — Object

Element Name Required Data Type/Example Description

departmentId

NA

number($int12) example: 1000

The unique identifier of the department.

classId

NA

number($int12) example: 2000

The unique identifier of the class.

subclassId

NA

number($int12) example: 3000

The unique identifier of the subclass.

Table 4-148 ItemBasketUpdateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantity

NA

number($decimal(12,4)) example: 20

The quantity of the item in the basket.

Responses

This section describes the responses of the Update Baskets API.

Response Code: 204

no content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Copy Basket

This section describes the Copy Basket API. This API copies an item basket returning the newly copied basket.

Method

POST
URL

/itembaskets/{basketId}/copy
Request Parameters

Table 4-149 Copy Basket — Request Parameters

Parameter Required Data Type/Example Description

basketId

Yes

number($int12) (path)

The unique identifier of the item basket.

Responses

This section describes the responses of the Copy Baskets API.

Response Code: 200

The response has been successful.

The media type os application/json.

Example Value

[
  {
    "basketId": 11111,
    "referenceId": 211933,
    "alternateId": 83027,
    "storeId": 5000,
    "typeId": 5,
    "description": "Broken item investigation",
    "status": 1,
    "createDate": "2024-10-30T14:05:24.790Z",
    "updateDate": "2024-10-30T14:05:24.790Z",
    "expirationDate": "2024-10-30T14:05:24.790Z",
    "createUser": "smith123",
    "updateUser": "smith123",
    "dynamic": true,
    "hierarchies": [
      {
        "departmentId": 1000,
        "classId": 2000,
        "subclassId": 3000
      }
    ],
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "caseSize": 1,
        "quantity": 20
      }
    ]
  }
]
Schema — ItemBasketStatusIdo

This section describes the ItemBasketStatusIdo schema.

Table 4-150 ItemBasketStatusIdo

Element Name Required Data Type/Example Description

basketId

NA

number($int12) example: 11111

The unique identifier of the item basket.

typeId

NA

number($int18) example: 5

The unique identifier of the item basket type.

status

NA

integer($int4) example: 1

The current status of the item basket. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Basket

This section describes the Confirm Basket API. This API confirms the item basket making it available for usage.

Method

POST
URL

/itembaskets/{basketId}/confirm
Responses

This section describes the responses of the Confirm Basket API.

Response Code: 204

no content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Basket

This section describes the Delete Basket API. This API deletes the item basket.

Method

POST
URL

/itembaskets/{basketId}/delete
Request Parameters

Table 4-151 Delete Basket — Request Parameters

Parameter Required Data Type/Example Description

basketId

Yes

number($int12) (path)

The unique identifier of the item basket.

Responses

This section describes the responses of the Delete Basket API.

Response Code: 204

no content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Basket Types

This section describes the Find Basket Types API. This API finds all the available item basket types for an item basket.

Method

GET
URL

/itembaskets/types
Request Parameters

No parameters

Responses

This section describes the responses of the Find Basket Types API.

Response Code: 200

The response has been successful.

The media type os application/json.

Example Value

[
  {
    "typeId": 1,
    "code": "INV",
    "description": "Investigation"
  }
]
Schema — ItemBasketTypeIdo

This section describes the ItemBasketTypeIdo schema.

Table 4-152 ItemBasketTypeIdo — Object

Element Name Required Data Type/Example Description

typeId

NA

number($int18) example: 1

The unique identifier of the item basket type.

code

NA

string($text6) example: INV

A short code of the item basket type.

description

NA

string($text120) example: Investigation

The description of the item basket type.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Item Inquiry

The service provides an external system the ability to retrieve information about items (with the exception of inventory information).

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Retrieve Items

The Retrieve Items API searches for detailed information about the items using the specified input. If the number of items found exceeds 10,000, a maximum limit error will be returned. Additional limiting input criteria will be required.

Method

POST
URL

/iteminquiries
Request

There are no request parameters.

The request body is application/json.

The store and items to find information for.

Example Value

{
  "storeId": 5000,
  "itemIds": [
    333000,
    444001
  ]
}
Schema — ItemInquiryCriteriaIdo

Table 4-153 ItemInquiryCriteria — Object

Element Name Required Data Type/Example Description

storeId

Yes

integer($int10) example: 5000

The store identifier (if passed in as query parameter).

itemIds

Yes

string($text25) example: List [ 333000, 444001 ]

A list of items to retrieve information for.

Responses

This section describes the responses of the Retrieve Items API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "itemId": "1111111",
    "transactionLevel": 2,
    "itemLevel": 2,
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000,
    "shortDescription": "12p-Water",
    "longDescription": "12-Pack of Water",
    "differentiator1": "Color 01",
    "differentiator2": "Size 06",
    "differentiator3": "Flavor 08",
    "differentiator4": "Fruit 04",
    "parentId": "567000333",
    "pack": false,
    "simplePack": false,
    "sellable": true,
    "orderable": true,
    "shipAlone": false,
    "inventoriable": true,
    "notionalPack": false,
    "estimatePackInventory": false,
    "primaryReferenceItem": false,
    "orderAsType": false,
    "standardUom": "EA",
    "packageUom": "a",
    "packageSize": "EA",
    "eachToUomFactor": "a",
    "barcodeFormat": "a",
    "barcodePrefix": "a",
    "wastageType": 1,
    "wastagePercent": 1.5,
    "wastagePercentDefault": 1.5,
    "suggestedRetailCurrency": "USD",
    "suggestedRetailPrice": 9.99,
    "brand": "Brand A",
    "brandDescription": "Brand A Full Description",
    "createDate": "2024-09-18T13:33:41.160Z",
    "updateDate": "2024-09-18T13:33:41.160Z",
    "storeId": 4000,
    "status": 1,
    "primarySupplierId": 40001,
    "storeControlPricing": true,
    "rfid": false,
    "defaultCurrencyCode": "USD",
    "purchaseType": 1,
    "uinType": 1,
    "uinCaptureTime": 1,
    "uinLabelId": 876544,
    "uinExternalCreateAllowed": true,
    "replenishmentMethod": "SO",
    "rejectStoreOrder": false,
    "multipleDeliveryPerDayAllowed": false,
    "nextDeliveryDate": "2024-09-18T13:33:41.160Z",
    "toleranceType": 1,
    "toleranceUnit": 5.5,
    "tolerancePercent": 2
  }
]
Schema — ItemInquiryIdo

Table 4-154 ItemInquiryIdo — Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 1111111

The unique item identifier (SKU number).

transactionLevel

NA

integer($int1) example: 2

Number indicating which of the three levels transactions occur for this item. Items may only be used on transactions with inventory tracked if the transaction level and item level match.

itemLevel

NA

integer($int1) example: 2

Number indicating which of the three levels an item resides at. Items may only be used on transactions with inventory tracked if the transaction level and item level match.

departmentId

NA

number($int12) example: 1000

The merchandise hierarchy department identifier.

classId

NA

number($int12) example: 2000

The merchandise hierarchy class identifier.

subclassId

NA

number($int12) example: 3000

The merchandise hierarchy subclass identifier.

shortDescription

NA

string($text255) example: 12p-Water

A short description of the item.

longDescription

NA

string($text400) example: 12-Pack of Water

A long description of the item.

differentiator1

NA

string($text10) example: Color 01

The first differentiator identifier.

differentiator2

NA

string($text10) example: Size 06

The second differentiator identifier.

differentiator3

NA

string($text10) example: Flavor 08

The third differentiator identifier.

differentiator4

NA

string($text10) example: Fruit 04

The fourth differentiator identifier.

parentId

NA

string($text25) example: 567000333

The unique ientifier of the item at the next level about this item.

pack

NA

boolean example: false

True if the item is a pack, false otherwise.

simplePack

NA

Boolean example: false

True if the item is a simple pack, false otherwise.

sellable

NA

boolean example: true

True if the item is a sellable, false otherwise.

orderable

NA

boolean example: true

True if the item can be ordered from a supplier, false otherwise.

shipAlone

NA

boolean example: false

True if the item must be shipped in separated packaging, false otherwise.

inventoriable

NA

boolean example: true

True if the item is inventoried, false otherwise.

notionalPack

NA

boolean example: false

True indicates that the inventory is held at the component level, false otherwise. Take special note that all notional packs are automatically marked as invertoriable in SIOCS.

estimatePackInventory

NA

boolean example: false

True if the item alows estimating pack inventory from component positions, false otherwise.

primaryReferenceItem

NA

boolean example: false

True indicates the item is the primary sub-transaction level item.

orderAsType

NA

boolean example: false

True indicates a buyer pack is receivable at the pack level. False indicates it is receivable at the component level.

standardUom

NA

string($text4) example: EA

The unit of measure that inventory is tracked in.

packageUom

NA

string($text4) example: a

The unit of measure associated with the package size.

packageSize

NA

number($text) example: EA

The size of the product printed (or will be printed on the label).

eachToUomFactor

NA

number($decimal20,10) example: a

The multiplication favtor to convert 1 EA to the equivalent standard unit of measure.

barcodeFormat

NA

string($text4) example: a

The format of a barcode (used for Type 2 barcode items).

barcodePrefix

NA

number($int9) example: a

The barcode prefix used in association with the Type 2 barcode of this item.

wastageType

NA

integer($int4) example: 1

The type of wastage. Validate value are:

1 - Sales Wastage

2 - Spoilage Wastage

Enum: [ 1, 2 ]

wastagePercent

NA

number($decimal12,4) example: 1.5

The wastage percent.

wastagePercentDefault

NA

number($decimal12,4) example: 1.5

The default wastage percent.

suggestedRetailCurrency

NA

string($text3) example: USD

The currency of the manufacturer suggested retail price.

suggestedRetailPrice

NA

number($decimal20,4) example: 9.99

The manufacturer suggested retail price.

brand

NA

string($text30) example: Brand A

Brand name of the brand the item belongs to.

brandDescription

NA

string($text120) example: Brand A Full Descriptio

Brand description of the brand the item belongs to.

createDate

NA

string($date-time)

The date the item was created in EICS.

updateDate

NA

string($date-time)

The date the item was created in EICS.

storeId

NA

integer($int10) example: 4000

The store identifier

status

NA

integer($int1) example: 1

The status of the item. Valid values are:

1 - Active

2 - Discontinued

3 - Inactive

4 - Deleted

5 - Auto-Stockable

Non-Ranged

Enum: [ 1, 2, 3, 4, 5, 6 ]

primarySupplierId

NA

integer($int10) example: 40001

The unique identifier of the primary supplier of the item to this store location.

storeControlPricing

NA

boolean example: true

True indicates the item price can be controlled by the store.

rfid

NA

boolean example: false

True indicates the item is RFID tagged.

defaultCurrencyCode

NA

string($text3) example: USD

The default currency fo the item's price at this store.

purchaseType

NA

integer($int2) example: 1

The purchase type. Valid values are:

1 - Consignment

2 - Concession

Enum: [ 1, 2 ]

uinType

NA

integer($int2) example: 1

1 - Serial Number

2 - AGSN

Enum: [1, 2 ]

uinCaptureTime

NA

integer($int2) example: 1

The UIN capture time. Valid values are:

1 - Sale

2 - Store Receiving

Enum: [ 1, 2 ]

uinLabelId

NA

integer($int12) example: 876544

The unique identifier of the UIN label.

uinExternalCreateAllowed

NA

boolean example: true

True if an external system can create a UIN, false otherwise.

replenishmentMethod

NA

string($text6) example: SO

The replenishment method. (SO) Store Orders has specific processing in the system, otherwise this is any text.

rejectStoreOrder

NA

boolean example: false

True indicates store orders must be on or after the next delivery date or should be rejected.

multipleDeliveryPerDayAllowed

NA

boolean example: false

True indicates the itemm allows multiple deliveries per day at the location.

nextDeliveryDate

NA

string($date-time)

The next delivery date of the time based on its replenishment type.

toleranceType

NA

integer($int1) example: 1

If not include, will default to unit. Valid values are:

1 - Unit

2 - Percent

Enum: [ 1, 2 ]

toleranceUnit

NA

integer($decimal12,4) example: 5.5

The unit tolerance amount.

tolerancePercent

NA

integer($decimal12,4) example: 2

The percent tolerance amount.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items By Scan

Search for item information by an unknown identifier, most likely a scan. It first searches for the item using the input as a potential item, and if found will return records based on that. It then searches as a UPC, barcode (including GS1), or UIN, in that order, halting if it finds potential matches. An optional store identifier can be included as well.

Method

POST
URL

/iteminquiries/scan
Request

There are no request parameters.

The request body is application/json.

The store and scan to search for.

Example Value
{
  "searchScan": "333001",
  "storeId": 5000
}
Schema - ItemScanIdo

Table 4-155 ItemScanIdo - Object

Element Name Required Data Type/Example Description
searchScan Yes string($text128) example: 333001 A scan to find matching items for.
storeId NA integer($int10) example: 5000 The store identifier.
Responses

This section describes the responses of the Retrieve Items By Scan API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value
[
  {
    "itemId": "1111111",
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000,
    "storeId": 5000,
    "ranged": true
  }
]
Schema - ItemScannedIdo

Table 4-156 ItemScannedIdo - Object

Element Name Required Data Type/Example Description
itemId NA string($text25) example: 1111111 The item identifier.
type NA integer($int2) example: 1

The item type. Valid values are:

1 - Item

2 - Simple Pack

3 - Complex Pack

4 - Simple Breakable Pack

5 - Complex Breakable Pack

Enum: [ 1, 2, 3, 4, 5

status NA integer($int2) example: 1

The status of the item. Valid values are:

1 - Active

2 - Discontinued

3 - Inactive

4 - Deleted

5 - Auto-Stockable

6 - Non-Ranged

Enum: [ 1, 2, 3, 4, 5, 6 ]

shortDescription NA string($text255) example: Shoe The short description of the item.
longDescription NA string($text400) example: Steel-toed Shoe (two-tone) The long description of the item.
departmentId NA number($int12) example: 1000 The identifier of the department the item belongs to.
classId NA number($int12) example: 2000 The identifier of the class the item belongs to.
subclassId NA number($int12) example: 3000 The identifier of the subclass the item belongs to.
storeId NA integer($int10) example: 5000 The store identifier (only if passed in as query parameter).
ranged NA boolean example: true True if the item is ranged to the requested store, false otherwise.
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items by Search Scan

Search for item information by an unknown identifier, most likely a scan. It first searches for the item using the input as a potential item, and if found will return records based on that. It then searches as a UPC, barcode, or UIN, in that order, halting if it finds potential matches. An optional store identifier can be included as well. This operation is deprecated and should not be used! Use the retrieve items by scan POST version instead.

Method

GET
URL
/iteminquiries/scan/{searchScan}
Request

Table 4-157 Retrieve Items By San Request — Request Parameters

Name Required Data Type/Example Description

searchScan

Yes

string($text128) (path)

A scan or entered item information.

storeId

NA

integer($int10) (query)

The identifier of a store to search within.

Responses

This section describes the responses of the Retrieve Items By Search Scan API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema - ItemScannedIdo section.

Example Value
[
  {
    "itemId": "1111111",
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000,
    "storeId": 5000,
    "ranged": true
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items by Source

The Retrieve Items by Source API searches for summary information about an item based on search criteria, primarily hierarchy and source location.

Method

GET
URL

/iteminquiries/source
Request

Table 4-158 Retrieve Items By Source — Request Parameters

Name Required Data Type/Example Description

description

NA

string($text255) (query)

Include only items with description text matching this description.

sourceType

NA

integer($int4) (query)

Include only items available from this source type. Valid values are:

1 - Supplier

2 - Warehouse

3 - Finisher

Available values : 1, 2, 3

sourceId

NA

integer($int10) (query)

Include only items available from this source. If source id is included, then sourceType is also required.

departmentId

NA

integer($int12) (query)

Include only items associated to this merchandise hierarchy department.

classId

NA

integer($int12) (query)

Include only items associated to this merchandise hierarchy class.

subclassId

NA

integer($int12) (query)

Include only items associated to this merchandise hierarchy subclass.

storeId

NA

integer($int10) (query)

Include only items ranged to this particular store.

Responses

This section describes the responses of the Retrieve Items by Source API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "itemId": "1111111",
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000
  }
]
Schema — ItemSummaryIdo

Table 4-159 ItemSummaryIdo — Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 1111111

The item identifier.

storeId

NA

integer($int10) example: 5000

The store identifier (if passed in as query parameter).

type

NA

integer($int2) example: 1

The item type. Valid values are:

1 - Item

2 - Simple Pack

3 - Complex Pack

4 - Simple Breakable Pack

5 - Complex Breakable Pack

Enum: [ 1, 2, 3, 4, 5 ]

status

NA

integer($int2) example: 1

The status of the item. Valid values are:

1 - Active

2 - Discontinued

3 - Inactive

4 - Deleted

5 - Auto-Stockable

Non-Ranged

Enum: [ 1, 2, 3, 4, 5, 6 ]

shortDescription

NA

string($text255) example: Shoe

The short description of the item.

longDescription

NA

string($text400) example: Steel-toed Shoe (two-tone)

The long description of the item.

departmentId

NA

number($int12) example: 1000

The identifier of the department the item belongs to.

classId

NA

number($int12) example: 2000

The identifier of the class the item belongs to.

subclassId

NA

number($int12) example: 3000

The identifier of the subclass the item belongs to.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items by Inventory

This section describes the Retrieve Items by Inventory API. This API searches for summary information about an item based on search criteria, primarily inventory information.

URL
/iteminquiries/inventory
Method

GET
Request

Table 4-160 Retrieve Items by Inventory - Request Parameters

Name Required Data Type Description
available NA boolean (query) Include only items with positive available inventory.
unavailable NA boolean (query) Include only items with positive unavailable inventory.
nonsellableTypeId NA integer($int12) (query) Include only items with this non-sellable quantity type.
departmentId NA integer($int12) (query) Include only items associated to this merchandise hierarchy department.
classId NA integer($int12) (query) Include only items associated to this merchandise hierarchy class.
subclassId NA integer($int12) (query) Include only items associated to this merchandise hierarchy subclass.
storeId NA integer($int10) (query) Include only items ranged to this particular store.
Responses

This section describes the responses of the Retrieve Items by Inventory API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema — ItemSummaryIdo section.

Example Value
[
  {
    "itemId": "1111111",
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items by Relationship

This section describes the Retrieve Items by Relationship API. This API searches for summary information about an item based on search criteria, primarily items associated by relationship.

Method

GET
URL
/iteminquiries/related
Request

Table 4-161 Retrieve Items by Relationship - Request Parameter

Name Required Data Type Description
itemId NA string($text25) (query) Include only items that have a relationship to this item identifier.
storeId NA integer($int10) (query) Include only items ranged to this particular store.
Responses

This section describes the responses of the Retrieve Items by Relationship API.

Response Code: 200

The request has been successful.

The media type is application/json.

For details about the schema, see the Schema — ItemSummaryIdo section.

Example Value

  {
    "itemId": "1111111",
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Retrieve Items by UDA

This section descibes the Retrieve Items by UDA API. This API searches for summary information about an item based on search criteria, primarily user defined attributes.

Method

GET
URL
/iteminquiries/uda
Request

Table 4-162 Retrieve Items by UDA - Request Parameter

Name Required Data Type Description
udaId NA integer($int5) (query) Include only items with this user defined attribute.
udaText NA string($text250) (query) Include only items with this UDA text value.
udaLovId NA string($text25) (query) Include only items with a UDA value matching this list of values identifiers.
udaDateFrom NA string($date-time) (query) Include only items with a date UDA value on or after this date.
udaDateTo NA string($date-time) (query) Include only items with a date UDA value on or before this date.
storeId NA integer($int10) (query) Include only items ranged to this particular store.

Responses

This section describes the responses of the Retrieve Items by UDA API.

Response Code: 200

The request has been successful.

The media type is applicaton/json.

For details about the schema, see the Schema — ItemSummaryIdo section.

Example Value
[
  {
    "itemId": "1111111",
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "shortDescription": "Shoe",
    "longDescription": "Steel-toed Shoe (two-tone)",
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Item Inventory

This service retrieves information about item inventory.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/inventory

API Definitions

API Description

Find Available Inventory

Search for available inventory information by multiple items and multiple locations.

Find Inventory

Searches for standard inventory information by multiple items and multiple locations.

Find Expanded Inventory

Searches for expanded inventory information by multiple items at a single store.

Find Future Inventory

Searches for future inventory delivery information by a single item and a single store.

Find Inventory In Buddy Stores

Searches for inventory information at buddy stores by single input store and multiple items.

Find Inventory In Transfer Stores

Searches for inventory information at transfer zone stores by single input store and multiple items.

API: Find Available Inventory

Searches for available inventory quantity about an item in requested locations. Only transaction-level items are processed, and only current available inventory is returned. The multiplied combination of items and locations within the input criteria cannot exceed 10,000. Invalid items or locations will not cause this API to fail. Inventory is returned for any item and locations found and is not returned invalid or not found items or locations.

API Basics

Endpoint URL

{base URL}/available

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

List of items

Max Response Limit

10,000

Input Data Definition

Attribute Data Type Required Description

itemIds

List of Strings

Yes

A list of items to retrieve available inventory for.

locationIds

List of Longs

Yes

A list of location identifiers to retrieve available inventory for.

locationType

Integer

Yes

A location type: See Location Type

Example Input

{

"itemIds": [

"100637156",

"100637172",

"100653105"

],

"locationIds": [

5000,

5001,

5005

],

"locationType": 1

}

Output Data Definition

Attribute Data Type Required Description

itemId

String

Yes

The item identifier.

locationId

Long

Yes

The location identifier.

locationType

Integer

Yes

The location type: See Location Type.

availableQuantity

BigDecimal

Yes

The amount of available inventory.

unitOfMeasure

String

Yes

The unit of measure of the available inventory.

estimatedPack

Boolean

Yes

True if this is an estimated pack quantity, false otherwise.

Example Output

[

{

"itemId": "100637113",

"locationId": 5000,

"locationType": 1,

"availableQuantity": 200.0000,

"unitOfMeasure": "EA",

"estimatedPack": false

},

{

"itemId": "100637113",

"locationId": 5001,

"locationType": 1,

"availableQuantity": 200.0000,

"unitOfMeasure": "EA",

"estimatedPack": false

},

}

Additional Data Definitions

Location Type

Value Definition

1

Store

2

Warehouse

API: Find Inventory

Query lookup of detailed inventory information about a multiple item in multiple stores. The multiplied combination of items and locations within the input criteria cannot exceed 10,000. Invalid items or locations will not cause this API to fail. Inventory is returned for any item and locations found and is not returned invalid or not found items or locations.

API Basics

Endpoint URL

{base URL}/positions

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

List of inventory of item at stores

Max Response Limit

10,000

Input Data Definition

Attribute Data Type Required Description

itemIds

List of Strings

Yes

A list of items to retrieve inventory for.

storeIds

List of Longs

Yes

A list of store identifiers to retrieve inventory for.

sellingUnitOfMeasure

Boolean

-

True indicates an attempt to use the selling unit of measure of the item, false indicates to use the standard unit of measure. If conversion cannot take place, it defaults back to standard unit of measure.

Example Input

{

"itemIds": [

"100637156",

"100637172",

"100668091"

],

"storeIds": [

5000,

5001,

5002

],

"sellingUnitOfMeasure": true

}

Output Data Definition

Attribute Data Type Required Description

itemId

String

Yes

The item identifier.

storeId

Long

The store identifier if the item is ranged to a store.

ranged

Boolean

Yes

True if the item is ranged to the store, false otherwise.

estimated

Boolean

Yes

True if the quantities are estimated, false otherwise.

unitOfMeasure

String

Yes

The unit of measure of the quantities.

caseSize

BigDecimal

Yes

The default case size of the item.

quantityStockOnHand

BigDecimal

Yes

The stock on hand quantity.

quantityBackroom

BigDecimal

Yes

The quantity located in the back room area.

quantityShopfloor

BigDecimal

Yes

The quantity located on the shop floor.

quantityDeliveryBay

BigDecimal

Yes

The quantity located in the delivery bay.

quantityAvailable

BigDecimal

Yes

The available to sell quantity.

quantityUnavailable

BigDecimal

Yes

The unavailable to sell quantity.

quantityNonSellable

BigDecimal

Yes

The total non-sellable quantity.

quantityInTransit

BigDecimal

Yes

The quantity currently in transit.

quantityCustomerReserved

BigDecimal

Yes

The quantity reserved for customer orders.

quantityTransferReserved

BigDecimal

Yes

The quantity reserved for transfers.

quantityVendorReturn

BigDecimal

Yes

The quantity reserved for vendor returns.

nonSellableQuantities

List of Non-Sellable Quantities

-

A collection containing the specific quantity in each non-sellable quantity type bucket.

Non-Sellable Quantity Data Definition

Attribute Data Type Required Description

nonsellableTypeId

Long

Yes

The non-sellable type unique identifier.

quantity

quantity

Yes

The quantity in this particular non-sellable type bucket.

Example Output

[

{

"itemId": "100637156",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": 10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": 10.0000,

"quantityUnavailable": 0.0000,

"quantityNonSellable": 0.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000

},

{

"itemId": "100637172",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": -10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": -10.0000,

"quantityUnavailable": 20.0000,

"quantityNonSellable": 20.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000,

"nonSellableIdos": [

{

"nonsellableTypeId": 1,

"quantity": 15.0000

},

{

"nonsellableTypeId": 2,

"quantity": 5.0000

}

]

}

}

API: Find Expanded Inventory

Searches for expanded inventory information about multiple items within a single store.

API Basics

Endpoint URL

{base URL}/{storeId}/expanded

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

List of inventory of items

Max Response Limit

2,500

Path Parameter Definitions

Attribute Description

storeId

The store identifier of the store to process items for.

Input Data Definition

Attribute Data Type Required Description

itemIds

List of Strings

Yes

A list of items to retrieve expanded inventory for.

Example Input

{

"itemIds": [

"100637156",

"100637172",

"100695081"

]

}

Output Data Definition

Attribute Data Type Required Description

itemId

String

Yes

The item identifier.

storeId

Long

The store identifier if the item is ranged to a store.

ranged

Boolean

Yes

True if the item is ranged to the store, false otherwise.

estimated

Boolean

Yes

True if the quantities are estimated, false otherwise.

unitOfMeasure

String

Yes

The unit of measure of the quantities.

caseSize

BigDecimal

Yes

The default case size of the item.

quantityStockOnHand

BigDecimal

Yes

The stock on hand quantity.

quantityBackroom

BigDecimal

Yes

The quantity located in the back room area.

quantityShopfloor

BigDecimal

Yes

The quantity located on the shop floor.

quantityDeliveryBay

BigDecimal

Yes

The quantity located in the delivery bay.

quantityAvailable

BigDecimal

Yes

The available to sell quantity.

quantityUnavailable

BigDecimal

Yes

The unavailable to sell quantity.

quantityNonSellable

BigDecimal

Yes

The total non-sellable quantity.

quantityInTransit

BigDecimal

Yes

The quantity currently in transit.

quantityCustomerReserved

BigDecimal

Yes

The quantity reserved for customer orders.

quantityTransferReserved

BigDecimal

Yes

The quantity reserved for transfers.

quantityVendorReturn

BigDecimal

Yes

The quantity reserved for vendor returns.

firstReceivedDate

Date

-

The first date the item was received into stock.

lastReceivedDate

Date

-

The date the item last received inventory into stock.

lastReceivedQuantity

BigDecimal

-

Total amount of inventory received on the last date it was received.

openStockCounts

Integer

-

The number of stock counts open for the item at this store.

lastStockCountType

Integer

-

The type of stock count (see Additional Data Definition).

lastStockCountApprovedDate

Date

-

The date this item was last approved on a stock count at this store.

lastStockCountTimeframe

Integer

-

The stock count timeframe (see Additional Data Definition).

uinProblemLine

Boolean

Yes

True indicates it is UIN problem line item, false otherwise.

lastRequestedQuantity

BigDecimal

-

The quantity last requested for this item.

lastUpdateDate

Date

Yes

The timestamp of the last time this record was updated.

nonSellableQuantities

Collection of Non-Sellable Quantities

-

The specific quantities in each non-sellable quantity type bucket.

Non-Sellable Quantity Data Definition

Attribute Data Type Required Description

nonsellableTypeId

Long

Yes

The non-sellable type unique identifier.

quantity

quantity

Yes

The quantity in this particular non-sellable type bucket.

Example Output

[

{

"itemId": "100637113",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 200.0000,

"quantityBackroom": 200.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": 200.0000,

"quantityUnavailable": 0.0000,

"quantityNonSellable": 0.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000,

"quantityLastReceived": 0.0000,

"quantityLastRequested": 0.0000,

"openStockCounts": 0,

"lastStockCountTimeframe": 3,

"uinProblemLine": false,

"lastUpdateDate": "2022-07-15T06:23:27-05:00"

},

{

"itemId": "100637121",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 200.0000,

"quantityBackroom": 180.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": 180.0000,

"quantityUnavailable": 20.0000,

"quantityNonSellable": 20.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000,

"quantityLastReceived": 0.0000,

"quantityLastRequested": 0.0000,

"openStockCounts": 0,

"lastStockCountTimeframe": 3,

"uinProblemLine": false,

"lastUpdateDate": "2022-07-15T06:23:27-05:00",

"nonSellableIdos": [

{

"nonsellableTypeId": 1,

"quantity": 15.0000

},

{

"nonsellableTypeId": 2,

"quantity": 5.0000

}

]

}

}

API: Find Future Inventory

Searches for future delivery records for a single store and single item.

API Basics

Endpoint URL

{base URL}/{storeId}/{itemId}/future

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

None

Output

List of delivery records

Max Response Limit

N/A

Path Parameter Definitions

Attribute Description

storeId

The store identifier to retrieve future inventory for.

itemId

The item identifier to retrieve future inventory for.

Output Data Definition

Attribute Data Type Required Description

itemId

String (25)

Yes

The item identifier.

storeId

Long

Yes

The store identifier.

deliveries

List of deliveryIds

-

A list of delivery information if it exists.

Delivery Data Definition

Attribute Data Type Required Description

sourceLocationType

Integer

Yes

Item Location Type (see Additional Data Definition).

sourceLocationId

Long

Yes

The unique identifier of the source location of the delivery.

deliveryType

Integer

Yes

Item Delivery Type (see Additional Data Definition).

expectedDate

Date

Yes

The date the inventory is expected to arrive.

quantityInbound

BigDecimal

Yes

Amount of inventory inbound on the delivery.

quantityOrdered

BigDecimal

Yes

Amount of inventory on order.

Example Output

{

"itemId": "100637121",

"storeId": 5000,

"deliveryIdos": [

{

"sourceLocationType": 1,

"sourceLocationId": 5001,

"deliveryType": 3,

"quantityInbound": 30.0000,

"quantityOrdered": 0.0000

}

]

}

Additional Data Definitions

Item Delivery Type

Value Definition

1

Allocation

2

Purchase Order

3

Transfer

-

-

Item Location Type

Value Definition

1

Store

2

Supplier

3

Warehouse

4

Finisher

API: Find Inventory in Buddy Stores

Searches for inventory information at buddy stores by single input store and multiple items.

API Basics

Endpoint URL

{baseUrl}/{storeId}/associated

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

List of items

Output

List of inventory records

Max Response Limit

N/A

Path Parameter Definitions

Attribute Description

storeId

The store identifier to find buddy stores for.

Input Data Definition

Attribute Data Type Required Description

itemIds

List of Strings

Yes

A list of items to retrieve inventory for.

sellingUnitOfMeasure

Boolean

-

True indicates an attempt to use the selling unit of measure of the item, false indicates to use the standard unit of measure. If conversion cannot take place, it defaults back to standard unit of measure.

Example Input

{

"itemIds": [

"100637156",

"100637172",

"100668091"

],

"sellingUnitOfMeasure": true

}

Output Data Definition

Attribute Data Type Required Description

itemId

String

Yes

The item identifier.

storeId

Long

The store identifier if the item is ranged to a store.

ranged

Boolean

Yes

True if the item is ranged to the store, false otherwise.

estimated

Boolean

Yes

True if the quantities are estimated, false otherwise.

unitOfMeasure

String

Yes

The unit of measure of the quantities.

caseSize

BigDecimal

Yes

The default case size of the item.

quantityStockOnHand

BigDecimal

Yes

The stock on hand quantity.

quantityBackroom

BigDecimal

Yes

The quantity located in the back room area.

quantityShopfloor

BigDecimal

Yes

The quantity located on the shop floor.

quantityDeliveryBay

BigDecimal

Yes

The quantity located in the delivery bay.

quantityAvailable

BigDecimal

Yes

The available to sell quantity.

quantityUnavailable

BigDecimal

Yes

The unavailable to sell quantity.

quantityNonSellable

BigDecimal

Yes

The total non-sellable quantity.

quantityInTransit

BigDecimal

Yes

The quantity currently in transit.

quantityCustomerReserved

BigDecimal

Yes

The quantity reserved for customer orders.

quantityTransferReserved

BigDecimal

Yes

The quantity reserved for transfers.

quantityVendorReturn

BigDecimal

Yes

The quantity reserved for vendor returns.

nonSellableQuantities

List of Non-Sellable Quantities

-

A collection containing the specific quantity in each non-sellable quantity type bucket.

Non-Sellable Quantity Data Definition

Attribute Data Type Required Description

nonsellableTypeId

Long

Yes

The non-sellable type unique identifier.

quantity

quantity

Yes

The quantity in this particular non-sellable type bucket.

Example Output

[

{

"itemId": "100637156",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": 10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": 10.0000,

"quantityUnavailable": 0.0000,

"quantityNonSellable": 0.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000

},

{

"itemId": "100637172",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": -10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": -10.0000,

"quantityUnavailable": 20.0000,

"quantityNonSellable": 20.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000,

"nonSellableIdos": [

{

"nonsellableTypeId": 1,

"quantity": 15.0000

},

{

"nonsellableTypeId": 2,

"quantity": 5.0000

}

]

}

}

API: Find Inventory in Transfer Zone Stores

Searches for inventory at transfer zone stores by single input store and multiple items.

API Basics

Endpoint URL

{baseUrl}/{storeId}/transferzone

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

List of items

Output

List of inventory records

Max Response Limit

N/A

Path Parameter Definitions

Attribute Description

storeId

The store identifier to find transfer zone stores for.

Input Data Definition

Attribute Data Type Required Description

itemIds

List of Strings

Yes

A list of items to retrieve inventory for.

sellingUnitOfMeasure

Boolean

-

True indicates an attempt to use the selling unit of measure of the item, false indicates to use the standard unit of measure. If conversion cannot take place, it defaults back to standard unit of measure.

Example Input

{

"itemIds": [

"100637156",

"100637172",

"100668091"

],

"sellingUnitOfMeasure": true

}

Output Data Definition

Attribute Data Type Required Description

itemId

String

Yes

The item identifier.

storeId

Long

The store identifier if the item is ranged to a store.

ranged

Boolean

Yes

True if the item is ranged to the store, false otherwise.

estimated

Boolean

Yes

True if the quantities are estimated, false otherwise.

unitOfMeasure

String

Yes

The unit of measure of the quantities.

caseSize

BigDecimal

Yes

The default case size of the item.

quantityStockOnHand

BigDecimal

Yes

The stock on hand quantity.

quantityBackroom

BigDecimal

Yes

The quantity located in the back room area.

quantityShopfloor

BigDecimal

Yes

The quantity located on the shop floor.

quantityDeliveryBay

BigDecimal

Yes

The quantity located in the delivery bay.

quantityAvailable

BigDecimal

Yes

The available to sell quantity.

quantityUnavailable

BigDecimal

Yes

The unavailable to sell quantity.

quantityNonSellable

BigDecimal

Yes

The total non-sellable quantity.

quantityInTransit

BigDecimal

Yes

The quantity currently in transit.

quantityCustomerReserved

BigDecimal

Yes

The quantity reserved for customer orders.

quantityTransferReserved

BigDecimal

Yes

The quantity reserved for transfers.

quantityVendorReturn

BigDecimal

Yes

The quantity reserved for vendor returns.

nonSellableQuantities

List of Non-Sellable Quantities

-

A collection containing the specific quantity in each non-sellable quantity type bucket.

Non-Sellable Quantity Data Definition

Attribute Data Type Required Description

nonsellableTypeId

Long

Yes

The non-sellable type unique identifier.

quantity

quantity

Yes

The quantity in this particular non-sellable type bucket.

Example Output

[

{

"itemId": "100637156",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": 10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": 10.0000,

"quantityUnavailable": 0.0000,

"quantityNonSellable": 0.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000

},

{

"itemId": "100637172",

"storeId": 5000,

"ranged": true,

"estimated": false,

"unitOfMeasure": "EA",

"caseSize": 100.00,

"quantityStockOnHand": 10.0000,

"quantityBackroom": -10.0000,

"quantityShopfloor": 0.0000,

"quantityDeliveryBay": 0.0000,

"quantityAvailable": -10.0000,

"quantityUnavailable": 20.0000,

"quantityNonSellable": 20.0000,

"quantityInTransit": 0.0000,

"quantityCustomerReserved": 0.0000,

"quantityTransferReserved": 0.0000,

"quantityVendorReturn": 0.0000,

"nonSellableIdos": [

{

"nonsellableTypeId": 1,

"quantity": 15.0000

},

{

"nonsellableTypeId": 2,

"quantity": 5.0000

}

]

}

}

REST Service: Item ISN

This rest service defines operations to manage Item ISN information.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env/siocs-int-services>/api/isns

APIs

API

Description

Create ISN

Create a new ISN

Update ISN

Updates an existing ISN

Delete ISN

Delete an existing ISN

Find ISNs

Search for ISNs based on a set of criteria

Read ISN Types

Read all Item ISN types

API: Create ISN

This API will create ISN information.

API Basics

Endpoint URL

{base URL}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

The ISN

Output

The ISN including ID

Max Response Limit

N/A

Input Data Definition

Attribute

Type

Req

Definition

isn

String(128)

X

A scan number used to scan the item

isnTypeId

Long(12)

X

The unique identifier of the item ISN type

itemId

String(25)

X

The unique item identifier (sku number)

uin

String(128)

A universal identification number

externalId

String(128)

An identifier from an external system

Example

Input Example

Output Data Definition

Attribute

Type

Definition

isnId

Long(12)

The unique identifier of the ISN record

isn

String(128)

This is a scan number used to scan the item

externalId

String(128)

An identifier from an external system

API: Update ISN

This API allows the ISN information to be modified. An optional value left blank will update the ISN information to blank for that value.

API Basics

Endpoint URL

{base URL}/isnId

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

ISN Update Information

Output

N/A

Max Response Limit

N/A

Path Data Definiton

Attribute

Type

Definition

isnId

Long(12)

The unique identifier of the item ISN.

Input Data Definition

Attribute

Type

Req

Definition

isnTypeId

Long(12)

X

The unique identifier of the item ISN type

itemId

String(25)

X

The unique item identifier (sku number)

uin

String(128)

A universal identification number

externalId

String(128)

An identifier from an external system

Example

Input Example

API: Delete ISN

This API deletes an item ISN.

API Basics

Endpoint URL

{base URL}/{isnId}/delete

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

N/A

Output

N/A

Max Response Limit

N/A

Path Data Definition

Attribute

Type

Definition

isinId

Long(12)

The unique identifier of the item ISN.

API: Find ISNs

This API is used to lookup or find ISNs.

API Basics

Endpoint URL

{base URL}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

N/A

Output

List of ISNs

Max Response Limit

10,000

Query Parameters

Attribute

Type

Definition

isn

String(128)

Retrieves records containing this ISN, which could be for multiple items.

ItemId

String(25)

Retrieves records associated to this unique item identifier (sku number).

uin

String(128)

Retrieves records associated to this universal identification number.

updateDateFrom

String

Retrieves records on or after this date.

updateDateTo

String

Retrieves records on or before this date.

Output Data Definition

Attribute

Type

Definition

itemIsnId

Long(12)

The unique identifier of the record

isn

String(128)

Retrieves records containing this ISN, which could be for multiple items.

ItemId

String(25)

Retrieves records associated to this unique item identifier (sku number).

uin

String(128)

Retrieves records associated to this universal identification number.

itemIsnTypeId

Long(12)

The unique identifier of the item ISN type

externalId

String(128)

An identifier of this ISN from an external system

createDate

Date

The date this ISN record was first created

createUser

String(128)

The user that created this ISN record

updateDate

Date

The last date this ISN record was updated

updateUser

String(128)

The user that last updated this ISN record.

API: Read ISN Types

This API is used to lookup all the ISN types available for an ISN.

API Basics

Endpoint URL

{base URL}/types

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

N/A

Output

List of ISN Types

Max Response Limit

N/A

Output Data Definition

Attribute

Type

Definition

isnTypeId

Long(12)

The unique ISN type identifier

labelKey

String(128)

A label for the ISN type (not translated)

restricted

Boolean

Y if this represents secure data, N otherwise.

REST Service: Item Price

This service allows for the search and retrieval of item pricing information stored within EICS.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer></cust_env>/siocs-int-services/api/prices

API Definitions

API Definitions

API Description
findPrices This API can be used to search for price summary information matching filter criteria.
FindPriceByIds Find extended price information based on a list of potential unique price identifiers.

API: findPrices

This API can be used to search for price summary information matching filter criteria.

At least one input criteria is required or a bad request error will be returned.

API Basics

Endpoint URL {base URL}
Method GET
Success Response 200 OK
Processing Type Synchronous
Input Query Parameters
Output List of Prices
Maximum Results Allowed 10,000

Input Data Definition

Attribute Data Type Definition
storeId Long(10) Only retrieve item price information for this store.
effectiveDateFrom String Only retrieve item price information on or after this date.
effectiveDateTo String Only retrieve item price information on or before this date.
itemId String(25) Only retrieve item price information for this item.

Output Data Definition

Attribute Data Type Definition
priceId Long(12) The unique identifier of the price.
itemId String(25) The unique identifier of the item.
storeId Long(10) The unique identifier of the store.
status Integer The status of the price.
priceType Integer The type of the price.
effectiveDate Date The effective date of the price.
endDate Date The end date of the price.
priceValue BigDecimal(20,4) The price amount.
priceCurrency String(3) The price currency.
unitOfMeasure String(4) The item unit of measure associated with the price.

API: findPriceByIds

Find extended price information based on a list of potential unique price identifiers.

It will return information only for price identifiers that are found. It will not return errors or fail to process if invalid identifiers occur. It is up to the accessing information to determined prices not found using this API.

API Basics

Endpoint URL {base URL}/find
Method POST
Success Response 200 OK
Processing Type Synchronous
Input ID List
Output List of Prices
Maximum Input Allowed 5,000

Input Data Definition

Attribute Type Definition
priceIds List<Long(12)> A list of price identifiers.

Output Data Definition

Attribute Type Definition
priceId Long(12) The unique identifier of the price.
itemId String(25) The unique identifier of the item.
storeId Long(10) The unique identifier of the store.
Status Integer The status of the price.
priceType Integer The type of the price
effectiveDate Date The effective date of the price.
endDate Date The end date of the price.
priceValue BigDecimal(20,4) The price amount.
priceCurrency String(3) The price currency.
unitOfMeasure String(4) The item unit of measure associated with the price.
externalPriceId Long(12) The unique identifier of the external price or price event.
clearanceId Long(15) The unique identifier of the clearance price change from the pricing engine.
promotionId Long(10) The unique identifier of the promotion.
regularPriceChangeId Long(15) The unique identifier of the regular price change from the pricing engine.
resetClearanceId Long(15) The identifier of the clearance reset.
storeRequested Boolean True indicates it is store requested, false indicates it is not store requested.
sellingUnitPriceChange Boolean True indicates the selling unit retail price has changed, false indicates it has not.
multiUnitPriceChange Boolean True indicates the multi-unit pricing has changed, false indicates it has not.
multiUnitRetail BigDecimal(20,4) The multi-unit retail price.
multiUnitRetailCurrency String(3) The currency type of the multi-unit retail price in the multi-selling unit of measure.
multiUnits BigDecimal(12,4) The number of multi-units.
multiUnitUom String(4) The unit of measure of the multi-unit retail price.
promotionName String(160 The promotion name.
promotionCompDtlId Long(15) The unique identifier of the promotion component detail from the pricing engine.
promotionType Integer Promotion Component Type (See Index)
promotionDurationType Integer Promotion Duration Type (See Index)
promotionCompId Long(10) The unique identifier of the promotion component.
promotionCompName String(160) The promotion component name.
promotionDescription String(640) The promotion description.
updateDate Date The date that the update took place.

Example Input:

"priceIds": [ 

123, 

 456,

 789,

 012

  ]

}

Additional Data Definitions

Price Type

ID Status
1 Permanent
2 Promotional
3 Clearance
4 Clearance Reset

Price Status

ID Status
1 New
2 Pending
3 Approved
4 Completed
5 Rejected
6 Ticket List
7 Extract Failed
8 Deleted
99 Default

Promotion Component Type

ID Status
1 Complex Promotion
2 Simple Promotion
3 Threshold Promotion
4 Credit (Finance) Promotion
5 Transaction Promotion

Promotion Duration Type

ID Status
1 All Day Promotion
2 Partial Day Promotion
3 Multiple Day Promotion

REST Service: Item UDA

This service integrates user defined attribute foundation data. Asynchronous item UDA integration is processed through staged messages and is controlled by the MPS Work Types.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/udas

API Definitions

API

Description

importUdas

Imports user defined attributes.

deleteUdas

Deletes user defined attributes.

importItemUdas

Imports an association between items and user defined attributes.

deleteItemUdas

Deletes the association between items and user defined attributes.

readItemUdas

Retrieves all the user defined attributes for a particular item.

API: Import Udas

Imports user defined attributes. It is managed by DcsUda work type. If the input exceeds 500 UDAs an input too large exception will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

UDA import List

Output

None

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

udas

List of details

Yes

A list of user defined attributes.

Detail Data Definition

Attribute

Data Type

Required

Description

udaId

Integer (5)

Yes

The user defined attribute identifier.

type

Integer

Yes

See Index: UdaType

description

String (120)

Yes

The description of the user defined attribute.

printTicket

Boolean

 

True indicates tickets are printed for this user defined attribute.

printLabel

Boolean

 

True indicates labels are printed for this user defined attribute.

lovId

String (25)

 

The unique identifier of a list of values UDA.

lovDescription

String (250)

 

The description of the list of values UDA.

API: Delete Udas

Deletes user defined attributes. It is managed by DcsUda work type. If the input exceeds 500 UDAs an input too large exception will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

UDA delete list

Output

None

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

udaIds

List<Long>

Yes

A list of user defined attribute.

API: Import Item Udas

Imports associations between items and user defined attributes. This is controlled by the work type: DcsItem.

If the input exceeds 500 Item UDAs an input too large exception will be returned.

A "Forbidden" response will occur if application is integrated with MFCS.

API Basics

Endpoint URL

{base URL}/items/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

Item UDA list

Output

None

Max Response Limit

N/A

Input Data Definition

Attribute

Data Type

Required

Description

itemUdas

List of details

x

A list of associations between an item and user defined attributes.

Detail Data Definition

Attribute

Data Type

Required

Description

itemId

String

X

The item identifier.

udaId

Integer

X

The user defined attribute identifier.

udaDate

Date

 

Holds the value of the user defined attribute if it is a date.

udaText

String (250)

 

Holds the value of the user defined attribute if it is text.

udaLovId

String (25)

 

Holds the unique numeric identifier of the user defined attribute if it is a list of values selection. 

print

Boolean

 

Y indicates printing is done for this item and user defined attribute (which is also controlled by the UDA).

API: Delete Item Udas

Deletes an association between item and user defined attributes. This is controlled by the work type: DcsItem.

If the input exceeds 500 Item UDAs an input too large exception will be returned.

A "Forbidden" response will occur if application is integrated with MFCS.

API Basics

Endpoint URL

{base URL}/items/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

UDA item delete list

Output

None

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

itemUdas

List of details

Yes

A list of associations between item and user defined attribute identifiers.

Detail Data Definition

Attribute

Data Type

Required

Description

itemId

String (25)

Yes

The item identifier.

udaId

Integer (5)

Yes

The user defined attribute identifier.

udaDate

Date

 

Holds the value of the user defined attribute if it is a date.

udaText

String (250)

 

Holds the value of the user defined attribute if it is text.

udaLovId

String (25)

 

Holds the unique numeric identifier of the user defined attribute if it is a list of values selection. 

API: Find Item Udas

It will retrieve UDAs for the inputted items.

API Basics

Endpoint URL

{base URL}/items/find

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Item list

Output

UDA item list

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

itemIds

List<String>

Yes

A list of items to find UDAs for.

Output Data Definition

Attribute

Data Type

Description

itemId

String

The item identifier.

udaId

Integer

The user defined attribute identifier.

type

String

The user defined attribute type: (LV) List of Value, (FF) Free Form Text, DT (Date)

description

String

The description of the user defined attribute.

udaDate

Date

Holds the value of the user defined attribute if it is a date.

udaText

String

Holds the value of the user defined attribute if it is text.

udaLovId

Long

Holds the unique numeric identifier of the user defined attribute if it is a list of values selection. 

udaLoveDescription

String

Holds the value description of the UDA List of Values selection.

printTicket

Boolean

True indicates tickets are printed for this user defined attribute.

printLabel

Boolean

True indicates labels are printed for this user defined attribute.

Additional Data Definitions

UDA Type

Value

Definition

1

Date

2

Free Form Text

3

List of Value

REST Service: Item UIN

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/uins

API Definitions

API Description
createUin Create a new unique identification number.
readUin Reads information about a Universal Identification Number.
findUins Find unique identification number summary information based on search criteria.
findUinLabels This API is used to find all the UIN labels available for a uin items.
findUinHistory This API is used to find UIN historical information based on search criteria.
generateUins This API generates new Type 2 (Auto Generated Serial Numbers) Universal Identification Numbers without changing store inventory positions.

API: createUin

Create a new unique identification number. Note that the combination of store and item determines the administrative information about a UIN (such as UIN Type).

The newly created UIN will be in "Unconfirmed" status and its transaction type will be "UIN Web Service." To move it into inventory, use inventory adjustment or another transaction.

API Basics

Endpoint URL

{base URL}

Method

POST

Success Response

200 OK

Processing Type

Synchronous

Input

UIN information

Output

UIN confirmation information

Input Data Definition

Payload

Type

Req

Definition

storeId

Long

X

The identifier of the store.

itemId

String

X

The identifier of the item.

uin

String

X

The universal identification number.

Output Data Definition

Payload

Type

Definition

itemUinId

Long

The unique identifier to the record.

storeId

Long

The identifier of the store.

itemId

String

The identifier of the item.

uin

String

The universal identification number.

status

Integer

The current status of the UIN. Valid values are in index.

Example

{

   "storeId": 5000,,

    "itemId": "100700500",

    "uin": "1234"

}

API: readUin

Reads information about a Universal Identification Number.

API Basics

Endpoint URL

{base URL}/items/{itemId}/{uin}

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Path Parameters Item identifier and UIN

Output

UIN information

Output Data Definition

Payload

Type

Definition

itemUinId

Long

A unique identifier representing the record in the database.

itemId

String

The identifier of the item.

uin

String

The universal identification number.

type

Integer

The type of UIN. Valid values are: (1) Serial Number, (2) Auto Generated Serial Number

status

Integer

The current status of the UIN. See Index for valid values.

storeId

Long

The store identifier

transactionType

Integer

The business area that last contained the UIN,

transactionId

String

The transaction id of the transaction containing the UIN.

cartonId

String

The identifier of the carton containing the UIN.

nonsellableTypeId

Long

A non-sellable inventory bucket the UIN was within.

previousStatus

Integer

The previous status of the UIN. Valid values are in index.

previousStoreId

Long

The previous store identifier associated with the previous status.

previousTransactionType

Integer

The previous business area that contained the UIN for that previous status.

previousTransactionId

String

The transaction id of the transaction that previously contained the UIN for that previous status.

previousCartonId

String

The identifier of the carton that previously container the UIN for that previous status.

previousNonsellableTypeId

Long

A non-sellabable inventory bucket the UIN was last within for that previous status.

damaged

Boolean

True if the UIN is damaged, N otherwise.

createDate

Date

The date the UIN was first inserted into the system.

updateDate

Date

The last date the UIN was updated.

createUser

String

The user that first inserted the UIN into the system.

updateUser

String

The user that last updated the UIN in the system.

API: findUins

Find unique identification number summary information based on search criteria.

API Basics

Endpoint URL

{base URL}

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query Parameters

Output

List of UINs (see ReadUIN API for Data Output)

Maximum Results Allowed

10,000

Input Data Definition

Attribute

Type

Definition

storeId

Long

Include only UINs for this store identifier.

itemId

String

Include only UINS for this item

status

Integer

Include only UINs with this current status.

updateDateFrom

Date/String

Include only UINs updated on or after this date.

updateDateTo

Date/String

Include only UINs updated on or before this date.

API: findUinLabels

This API is used to find all the UIN labels available for a uin items.

API Basics

Endpoint URL

{base URL}/labels

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

N/A

Output

List of labels

Output Data Definition

Attribute

Type

Definition

labelId

Long

The unique identifier of the record.

labelCode

String

A unique code that defines the label.

description

String

The description or label associated to the code (not translated).

API: findUinHistory

This API is used to find UIN historical information based on search criteria.

API Basics

Endpoint URL

{base URL}/histories

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query parameters

Output

List of UIN history records

Maximum Results Allowed

10,000

Input Data Definition

Attribute

Type

Definition

itemId

String

Include only UIN history for this item.

uin

Integer

Include only UIN history for this UIN.

createDateFrom

Date/String

Include only UIN history created on or after this date.

createDateTo

Date/String

Include only UIN history created on or before this date.

Output Data Definition

Payload

Type

Definition

itemId

String

The identifier of the item.

uin

String

The universal identification number.

type

Integer

The type of UIN. Valid values are: (1) Serial Number, (2) Auto Generated Serial Number

status

Integer

The current status of the UIN. Valid values are in index.

storeId

Long

The store identifier

transactionType

Integer

The business area that last contained the UIN,

transactionId

String

The transaction id of the transaction containing the UIN.

cartonId

String

The identifier of the carton containing the UIN.

nonsellableTypeId

Integer

A non-sellable inventory bucket the UIN was within.

createDate

Date

The date the UIN was first inserted into the system.

updateDate

Date

The last date the UIN was updated.

createUser

String

The user that first inserted the UIN into the system.

updateUser

String

The user that last updated the UIN in the system.

API: generateUins

This API generates new Type 2 (Auto Generated Serial Numbers) Universal Identification Numbers without changing store inventory positions.

If the UIN administrative data for the item and store used do not indicate Type 2, an error will be returned.

The new UINs generated will have a status of “Unconfirmed”.

API Basics

Endpoint URL

{base URL}/generate

Method

POST

Success Response

200 OK

Processing Type

Synchronous

Input

UIN generation information

Output

N/A

Input Data Definition

Payload

Type

Req

Definition

itemId

String

X

The identifier of the item.

storeId

Long

X

The identifier of the store

quantity

Integer

X

The amount of universal identification numbers to generate.

transactionType

Integer

X

See Index: UIN Functional Area

transactionId

String

 

A transaction reference identifier.

Example

{

   "storeId": 5000,

   "itemId": "100663071",

   "uin": "1234",

  "quantity": 5,

    "transactionType": 13

}

Additional Data Definitions

UIN Type

ID

Description

1

Serial Number

2

Auto-Generated Serial Number

UIN Status

ID

Description

1

In Stock

2

Sold

3

Shipped To Warehouse

4

Shipped To Store

5

Reserved For Shipping

6

Shipped To Vendor

7

Removed From Inventory

8

Unavailable

9

Missing

10

In Receiving

11

Customer Order Reserved

12

Customer Order Fulfilled

13

Shipped To Finisher

99

Unconfirmed

UIN Functional Area

ID

Description

1

Warehouse Delivery Receipt

2

Direct Delivery Receipt

3

Create Transfer

4

Dispatch Transfer

5

Receive Transfer

6

Receipt Adjustment

7

Create Return

8

Dispatch Return

9

Inventory Adjustment

10

Stock Count

11

Stock Recount

12

Stock Count Authorized

13

Manual

14

POS Sale

15

POS Return

16

POS Sales Void

17

POS Return Void

18

UIN Web Service

19

Customer Order

20

Direct Delivery ASN Inbound

21

Transfer ASN Inbound

22

Transfer Shipment

REST Service: Manifest

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/manifests

API Definitions

API Description

Close Manifest

Call this method to close all manifested shipments matching the input criteria.

API: Close Manifest

Call this method to close all manifested shipments for the carrier code and carrier services. A processing message is sent to the internal message processing system and the services returns an “Accepted” response. The closing of the manifest will occur later when the message is processed.

API Basics

Endpoint URL

{base URL}/close

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

Criteria

Output

None

Max Response Limit

-

Input Data Definition

Attribute

Data Type

Required

Description

carrierCode

String (4)

Yes

A carrier code.

carrierServiceCode

String (6)

Yes

A carrier service code.

trackingNumber

List of Strings (120)

Yes

A list of tracking numbers associated to the contents of the manifest.

shipDate

Date

-

Indicates all items manifested prior to this date for the carrier have been shipped.

Example Input

{

        "carrierCode": "O",

        "carrierServiceCode": "O",

        "trackingIds": ["7861","45722"],

        "shipDate":"2022-04-19T23:59:59-05:00"

}

REST Service: Notification

This page captures the service APIs related to accepting notification from an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/notifications

APIs

API

Description

findNotifications

Find notifications

createNotifications

Create a series of notifications

API: findNotifications

API is used to search for notifications.

Table 4-163 API Basics

Endpoint URL

{base URL}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

Query parameters

Output

Collection of notifications

Max Response Limit

20,000

Table 4-164 Query Parameters

Attribute

Type

Definition

storeId

Long(10)

Include only records with this store identifier.

notificationType

Integer(4)

Include only records with this notification type.

transactionType

Integer(4)

Include only records with this transaction type.

status

Integer(4)

Include only records with this status.

createDateFrom

Date

Include only records with a create date on or after this date.

createDateTo

Date

Include only records with a create date on or before this date.

Attribute

Type

Definition

notificationId

Long(15)

The unique identifier of the notification.

notificationType

Integer(4)

The type of notification. See Index.

storeId

Long(10)

The store identifier.

subject

String(400)

The title or subject of the notification.

message

String(2000)

The message text of the notification.

status

Integer(4)

The current status of the notification.

transactionType

Integer(4)

The type of a transaction associated to the notification. See Index.

transactionId

Long(15)

The identifier of a transaction associated to the notification.

createDate

Date

The date the notification was originally created.

createUser

String(128)

The user that created the notification.

API: createNotifications

Create one or more notifications within the system.

Payload

Type

Req

Definition

notifications

Collection

X

The list of notifications to create.

Table 4-165 Notification

Attribute

Type

Req

Definition

storeId

Long(10)

X

The store identifier.

notificationType

Integer(4)

X

The type of notification. See Index.

subject

String(400)

X

The title or subject of the notification.

message

String(2000)

X

The message text of the notification.

transactionType

Integer(4)

X

The type of a transaction associated to the notification. See Index.

transactionId

Long(15)

X

The identifier of a transaction associated to the notification.

createDate

Date

The date the notification was originally created. This will default to current date if not supplied.

createUser

String(128)

The user that created the notification. This will default to integration user if not supplied.

Example

Example

Index

Table 4-166 Notification Type

ID

Description

1

Customer Order (New)

2

Customer Order Reauthorization

3

Customer Order Pick Reminder

4

Customer Order Pickup

5

Customer Order Receipt

6

Customer Order Reminder

7

Fulfillment Order Reverse Pick (New)

8

UIN Items on Incoming ASN Failed

9

Return To Vendor Expiration Approaching

10

Transfer Delivery Damaged

11

Transfer Delivery Receiving Discrepancy

12

Transfer Delivery Carton Misdirected

13

Transfer Delivery Overdue

14

Transfer Delivery UIN Discrepancy (From Finisher)

15

Transfer Delivery UIN Discrepancy

16

Transfer Delivery Auto-Receive Failure (From Finisher)

17

Transfer Delivery Auto-Receive Failure (From Warehouse)

18

Transfer Delivery Auto-Receive Failure (From Store)

19

Transfer Request Approved

20

Transfer Request Quantity Unavailable

21

Transfer Request Expiration Approaching

22

Transfer Request Submitted

23

Transfer Request Rejected

24

UIN Store Unexpectedly Altered

25

Vendor Delivery Over Received Quantity

26

Vendor Return Quantity Unavailable

Table 4-167 Transaction Type

ID

Description

1

Customer Order

2

Customer Order Pick

3

Customer Order Delivery

4

Customer Order Reverse Pick

5

Direct Store Delivery Receiving

6

Inventory Adjustment

7

Item Basket

8

Return To Vendor

9

Return To Vendor Shipment

10

Shelf Adjustment

11

Shelf Replenishment

12

Shelf Replenishment Gap

13

Stock Count

14

Store Order

15

Transfer

16

Transfer Shipment

17

Transfer Receiving

Table 4-168 Notification Status

ID

Description

1

Unread

2

Read

REST Service: POS Transaction

EICS integrates with POS systems and Sales Audit systems to ensure that the inventory positions are accurate. This is especially important where accurate up-to-date inventory positions are required to reduce customer disappointment when trying to locate items that appear in inventory or delays in filling customer orders. POS is the primary source of sales, returns, void, and some customer order transaction information to EICS. ReSA sends only modified or new POS transaction records to EICS. This service processes the information asynchronously so a short delay may occurs before inventory is updated. As part of the sales processing, EICS updates the inventory depending on the nature of the transaction. The following are the supported transaction types for the sales processing Sale, Return, and Post Void of these transactions. The audit system should not modify the post void transactions. A change to a void is not supported by EICS. Please refer to Sales Integration in the integration guide for more information. Duplicate transactions are prevented by scanning for unique instances of transactions by id, date, and register id. However, it is the responsibility of the calling application to make sure that duplicate transactions are not sent. Even in the case of REST call that fails, any retry or attempt to resend the transaction should have a delayed time period to make sure multiple attempts to transmit or retransmit a transaction does not occur simultaneously.

Service Base URL

The Cloud Service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Import POS Transaction

Point-Of-Sale systems may integration transactions to EICS using this service, which imports and processes point-of-sale transactions through an asynchronous process. The service has a default limit of 1,000 total items, though they may be distrubted across any number of transactions. Only one store is allowed across all the transactions sent in a single request. The web service is optimized for speed at greater than 400 items and less than 500 items per service call. The further above or below this optimized point, processing speed will be reduced, and it may take longer for the sales to be recorded in inventory. Since this import is asynchronous, only the basic form of the input is validated prior to the data being captured and processed.

Method

POST
URL

/postransactions
Request

There are no request parameters.

The request body is application/json.

An array of transactions.

Example Value

{
  "transactions": [
    {
      "storeId": 1234,
      "transactionId": "444-555",
      "transactionTimestamp": "2024-09-11T12:10:53.145Z",
      "custOrderId": "44444",
      "customerOrderComment": "Customer attrived late.",
      "externalUser": "Employee A",
      "items": [
        {
          "itemId": "10000345",
          "quantity": 4,
          "unitOfMeasure": "EA",
          "uin": "14000567000",
          "epc": "urn:epc:tag:sgtin-96:1.012345.67890.10478932",
          "reasonCode": 1,
          "dropShip": true,
          "fulfillmentOrderId": "7000",
          "fulfillOrderLineNumber": 2,
          "reservationType": 1,
          "transactionCode": 1,
          "comments": "Item packaging is slightly damaged."
        }
      ]
    }
  ]
}
Schema — PosTransactionListIdo

This section describes the POSTransactionListIdo schema.

Table 4-169 PosTransactionListIdo — Object

Element Name Required Data Type/Example Description

transaction

Yes

object

transaction

Table 4-170 PosTransactionIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 1234

The unique identifier of the store that is the source of the transaction.

transactionId

Yes

string($text128) example: 444-555

A unique identifier of this point-of-sale transaction. In order for the sales audit process to match and audit a POS transaction that was previously received, the transactionId attribute of the POS transaction must use the same data elements and format as the sales audit file. The sales audit file concatenates the THEAD file line id value, plus a dash separator, plus the THEAD transaction number value. For example, it will appear as 111-222. The transactionId attribute of the imported point-of-sale record must match that value and format.

transactionTimestamp

Yes

string($date-time)

The date and time of the sale transaction.

custOrderId

NA

string($text128) example: 44444

An external customer order identifier. This attribute is required for customer order releated point-of-sale transactions.

customerOrderComment

NA

string($text512) example: Customer attrived late.

A comment associated with the customer order.

externalUser

NA

string($text128) example: Employee A

User information from the external point-of-sale system.

items

Yes

object

Items

Table 4-171 PosTransactionItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10000345

The transaction-level SKU number of the item.

quantity

Yes

number($dec12.4) example: 4

The quantity of the item transacted.

unitOfMeasure

Yes

string($text4) example: EA

The unit of measure of the quantity.

uin

NA

string($text128) example: 14000567000

A unique identifaction number. If not empty, the quantity will be modified to 1.

epc

NA

string($text256) example: urn:epc:tag:sgtin-96:1.012345.67890.10478932

The complete SGTIN-96 Electronic Product Code of the item.

reasonCode

NA

integer($int4) example:1

Reason code associated to the item transaction. This field is required if unavailable sub-buckets system configuration is active and you wish to move unavailable inventory.

dropShip

Yes

Boolean example:true

True if this item is drop ship, false if it is not. Drop ship sales will not impact stock positions.

fulfillmentOrderId

NA

string($text128) example: 7000 If the transaction is associated to a customer order, this is the external fulfillment order identifier.

 

fulfillOrderLineNumber

NA

number($int15) example:2

If the transaction is for a customer order, this is the line number on the order that this item transactions aligns with.

reservationType

NA

integer($int4) example:1

If the transaction is a custoemr order, this is the type of reservation. Valid values are:

1 - Web Order

2 - Special Order

3 - Pickup or Delivery

4 - Layaway

5 - On Hold

Enum:[ 1, 2, 3, 4, 5 ]

transactionCode

Yes

integer($int4) example: 1

A code that indicates the transaction event that took place on item. Valid values are:

1 - Sale

2 - Return

3 - Void Sale

4 - Void Return

5 - Order New

6 - Order Fulfill

7 - Order Cancel

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

comments

NA

string($text512) example: Item packaging is slightly damaged.

Comments associated to this line item of the transaction.

Responses

This section describes the responses of the Import POS Transaction API.

Response Code: 200

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Product Area

A product area consists of an item basket (group of items) associated to a group of stores. Areas are used within customer order picking and to manage store order restrictions.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Product Areas

This section describes the Find Product Areas API. This API finds up to 1000 product areas for the input criteria.

Method

GET
URL

/productareas
Request Parameters

Table 4-172 Find Product Areas — Request Parameters

Parameter Required Data Type Description

itemBasketId

NA

number($int12) (query)

Include only product areas that are associated to this item basket.

description

NA

string($text255) (query)

Include only product areas with this description.

status

NA

integer($int4) (query)

Include only product areas with this status. Valid values are:

1 - In Progress

2 - Completed

3 - Canceled

Available values : 1, 2, 3

type

NA

integer($int2) (query)

Include only product areas with this type. Valid values are

1 - Customer Order Picking

Available values : 1

updateDateFrom

NA

string($date-time) (query)

Include only product areas with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only product areas with an update date on or before this date.

Responses

This section describes the responses of the Find Product Areas API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "productAreaId": 11111,
    "itemBasketId": 211933,
    "description": "Cold Items",
    "status": 1,
    "type": 1,
    "createStoreId": 5000,
    "updateDate": "2024-11-04T14:16:17.231Z",
    "updateUser": "john.smith"
  }
]
Schema — ProductAreaHeaderIdo

Table 4-173 ProductAreaHeaderIdo — Object

Element Name Required Data Type/Example Description

productAreaId

NA

number($int12) example: 11111

The unique identifier of the product area.

itemBasketId

NA

number($int12) example: 211933

The identifier of an item basket associated to the product area.

description

NA

string($text255) example: Cold Items

A description of the product area.

status

NA

integer($int4) example: 1

The current status of the product area. Valid values are

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

type

NA

integer($int4) example: 1

The type of the product area. Valid values are:

1 - Customer Order Picking

Enum: [ 1 ]

createStoreId

NA

number($int10) example: 5000

The identifier of the store that created the product area.

updateDate

NA

string($date-time)

The date the product area was last updated.

updateUser

NA

string($text128) example: john.smith

The user that last updated the product area.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Product Area

This section describes the Create Product Area API. This API creates an in-progress product area.

Method

POST
URL

/productareas
Request Parameters

There are no parameters.

The request body is application/json.

Example Value

{
  "itemBasketId": 211933,
  "description": "Cold Items",
  "type": 1,
  "createStoreId": 5000,
  "stores": [
    5000,
    5001
  ]
}
Schema — ProductAreaCreateIdo

Table 4-174 ProductAreaCreateIdo — Object

Element Name Required Data Type/Example Description

itemBasketId

NA

number($int12) example: 211933

The identifier of an item basket associated to the product area.

description

NA

string($text255) example: Cold Items

A description of the product area.

type

Yes

integer($int4) example: 1

The type of the product area. Valid values are

1 - Customer Order Picking

Enum:

Array [ 1 ]

createStoreId

Yes

number($int10) example: 5000

The identifier of the store that created the product area.

stores

NA

example: List [ 5000, 5001 ]

The stores associated to this product area.

Responses

This section describes the responses of the Create Product Areas API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "productAreaId": 11111,
    "status": 1,
    "type": 1
  }
]
Schema — ProductAreaStatusIdo

Table 4-175 ProductAreaStatusIdo — Object

Element Name Required Data Type/Example Description

productAreaId

NA

number($int12) example: 11111

The unique identifier of the product area.

status

NA

integer($int4) example: 1

The current status of the product area. Valid values are

1 - In Progress

2 - Completed

3 - Canceled

Enum:

Array [ 3 ]

type

NA

integer($int4) example: 1

The type of the product area. Valid values are

1 - Customer Order Picking

Enum: Array [ 1 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Product Area

This section describes the Read Product Area API. This API retrieves all the details about a product area.

Method

GET
URL

/productareas/{areaId}
Request Parameters

Table 4-176 Read Product Area — Request Parameters

Parameter Required Data Type Description

areaId

Yes

number($int12) (path)

The unique identifier of the product area.

Responses

This section describes the responses of the Read Product Areas API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "productAreaId": 11111,
    "itemBasketId": 211933,
    "description": "Cold Items",
    "status": 1,
    "type": 1,
    "createStoreId": 5000,
    "createDate": "2024-11-05T11:49:20.419Z",
    "createUser": "smith123",
    "updateDate": "2024-11-05T11:49:20.419Z",
    "updateUser": "smith123",
    "stores": [
      5000,
      5001
    ]
  }
]
Schema — ProductAreaIdo

Table 4-177 ProductAreaIdo — Object

Element Name Required Data Type/Example Description

productAreaId

NA

number($int12) example: 11111

The unique identifier of the product area.

itemBasketId

NA

number($int12) example: 211933

The identifier of an item basket associated to the product area.

description

NA

string($text255) example: Cold Items

A description of the product area.

status

NA

integer($int4) example: 1

The current status of the product area. Valid values are

1 - In Progress

2 - Completed

3 - Canceled

Enum: [ 1, 2, 3 ]

type

NA

integer($int4) example: 1

The type of the product area. Valid values are

1 - Customer Order Picking

Enum: Array [ 1 ]

createStoreId

NA

number($int10) example: 5000

The identifier of the store that created the product area.

createDate

NA

string($date-time)

The date the product area was created.

createUser

NA

string($text128) example: smith123

The user that created the product area.

updateDate

NA

string($date-time)

The date the product area was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated the product area.

stores

NA

number($int10)] example: List [ 5000, 5001 ]

The stores associated to this product area.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Product Area

This section describes the Update Product Area API. This API updates a product area.

Method

POST
URL

/productareas/{areaId}
Request Parameters

Table 4-178 Update Product Area — Request Parameters

Element Name Required Data Type/Example Description

areaId

Yes

number($int12) (path)

The unique identifier of the product area.

The request body is application/json.

Item basket details to update.

Example Value

{
  "description": "Cold Items",
  "stores": [
    5000,
    5001
  ]
}
Schema — ProductAreaUpdateIdo

Table 4-179 ProductAreaUpdateIdo — Object

Element Name Required Data Type/Example Description

description

NA

string($text255) example: Cold Items

A description of the product area.

stores

NA

example: List [ 5000, 5001 ]

The stores associated to this product area.

Responses

This section describes the responses of the Update Product Area API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Product Area

This section describes the Cancel Product Area API. This API cancels a product area.

Method

POST
URL

/productareas/{areaId}/cancel
Request Parameters

Table 4-180 Cancel Product Area — Request Parameters

Element Name Required Data Type/Example Description

areaId

Yes

number($int12) (path)

The unique identifier of the product area.

Responses

This section describes the responses of the Cancel Product Area API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Product Area

This section describes the Confirm Product Area API. This API confirms the product area making it available for usage.

Method

POST
URL

/productareas/{areaId}/confirm
Request Parameters

Table 4-181 Confirm Product Area — Request Parameters

Element Name Required Data Type/Example Description

areaId

Yes

number($int12) (path)

The unique identifier of the product area.

Responses

This section describes the responses of the Confirm Product Area API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Product Group

This service allows for the integration of product group with external systems.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/productgroups

APIs

API

Description

findProductGroups

Searches for product group summary headers based on input criteria.

readProductGroup

Reads the details about a specific product group.

createProductGroup

Creates a new product group including its components.

updateProductGroup

Modifies an existing product group including its components.

cancelProductGroup

Cancels an existing product group.

API: findProductGroup

This API is used to search for a product group summary using input criteria.

Table 4-182 API Basics

Endpoint URL

{base URL}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

Query parameters

Output

Collection of product groups

Max Response Limit

5,000

Table 4-183 Query Parameters

Query

Type

Definition

storeId

Long(10)

Returns only product groups that match this store (which includes all store product groups).

type

Integer(3)

Returns only product groups that match this product group type. See Index for types.

description

String(100)

Returns only products groups that contain this text in its description.

itemId

String(25)

Returns only product groups that contain this individual sku number in its single items list.

departmentId

Long(12)

Returns only product groups that contain this hierarchy department identifier.

classId

Long(12)

Returns only product groups that contain this hierarchy class identifier.

subclassId

Long(12)

Returns only product groups that contain this hierarchy subclass identifier.

updateDateFrom

String

Returns only product groups updated on or after this date.

updateDateTo

String

Returns only product groups updated on or before this date.

Table 4-184 Output Data Definitions

Payload

Type

Definition

productGroupId

Long(12)

The unique product group identifier.

description

String(100)

A description of the product group.

storeId

Long(10)

The store identifier or blank if the product group is for all stores.

type

Integer(3)

Indicates the type of product group. See Index.

status

Integer(1)

Indicates the status of the product group. See Index.

updateDate

Date

The date the product group was last updated.

API: readProductGroup

This API is used to read a product group.

Table 4-185 API Basics

Endpoint URL

{base URL}/{productGroupId}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The identifier of the product group.

Output

Collection of product groups

Max Response Limit

5,000

Table 4-186 Output Data Definition

Payload

Type

Definition

productGroupId

Long(12)

The unique identifier of the product group.

description

String(100)

A description of the product group.

storeId

Long(10)

The unique identifier of a store associated to the product group. This will be blank/null if the product group is for all stores.

type

Integer(3)

Indicates the type of product group. See Index.

status

Integer(1)

Indicates the status of the product group. See Index.

unitOfMeasureMode

Integer(4)

Unit of measure type for pick list product groups. See Index.

allItemGroup

Boolean

True indicates the product group is for all items. If set to true, then hierarchies and items will not be present.

updateDate

Date

The date the product group was last updated.

stockCountDetail

Object

Details about a stock count product group (used for all three stock count types). This will only be populated if the product group type is for a stock count.

replenishmentDetail

Object

Details about a replenishment product group. This will only be populated if the product group type is for replenishment.

storeOrderDetail

Object

Details about a store order product group. This will only be populated if the product group type is for store orders.

autoAdjustmentDetail

Object

Details about an auto inventory adjustment product group. This will only be populated if the product group type is for auto adjustments.

autoTicketPrintDetail

Object

Details about an auto ticket print product group. This will only be populated if the product group type is for auto ticket print.

hierarchies

List<Object>

A list of merchandise item hierarchies that belong to the group.

itemIds

List<String(25)>

A list of item SKU numbers associated to the product group.

Table 4-187 Stock Count Detail

Payload

Type

Definition

countingMethod

Integer

The method of counting a stock count: See Index (StockCountingMethod)

breakdownType

Integer

The method of breaking a stock count down into child counts: See Index (StockCountBreakdownType)

varianceCount

Integer(8)

The number of units in standard unit of measure considered discrepant on a stock count.

variancePercent

BigDecimal(12,4)

The percentage of units in standard unit of measure considered discrepant on a stock count.

varianceValue

BigDecimal(12,4)

The value of units considered discrepant on a stock count. This will only be populated for unit and amount stock count product group type.

performRecount

Boolean

True indicates the stock count should be recounted if discrepancies are found.

autoAuthorize

Boolean

True indicates the stock count should be automatically authorized after count.

activeItems

Boolean

True indicates active items should be included on the stock count.

inactiveItems

Boolean

True indicates inactive items should be included on the stock count.

discontinuedItems

Boolean

True indicates discontinued items should be included on the stock count.

deletedItems

Boolean

True indicates deleted items should be included on the stock count.

zeroStockOnHand

Boolean

True indicates items with 0 stock on hand should be included on the stock count.

positiveStockOnHand

Boolean

True indicates items with positive stock on hand should be included on the stock count.

negativeStockOnHand

Boolean

True indicates items with negative stock on hand should be included on the stock count.

problemLineNegativeAvailable

Boolean

True indicates to include items with negative available quantities. This will only be populated if the product group type is for a problem line stock count.

problemLinePickLessSuggested

Boolean

True indicates to include pick lists less than suggested amount. This will only be populated if the product group type is for a problem line stock count.

problemLineReplenishLessSuggested

Boolean

True indicates to include shelf replenishments that are less than the suggested amount. This will only be populated if the product group type is for a problem line stock count.

problemLineUinDiscrepancy

Boolean

True indicates UIN discrepancies should be included in the stock count. This will only be populated if the product group type is for a problem line stock count.

Table 4-188 Replenishment Detail

Payload

Type

Definition

autoReplenishment

Boolean

True indicates that the product group is eligible for automatic replenishment through a scheduled batch run.

differentiatorMode

Integer(3)

The display type of the diffentiator. See Index.

Table 4-189 Store Order Detail

Payload

Type

Definition

daysBeforeDelivery

Integer(3)

The date calculated from the creation date that the user wants the store order delivery by.

storeOrderAddItems

Boolean

True indicates items can be added to the store order after it has been generated by the system.

storeOrderItemsOnly

Boolean

Y indicates the store order can only include items that are marked as store order replenishment.

restrictSupplierId

Long(12)

Limits the creation of a store order from this product group to only this supplier.

restrictWarehouseId

Long(12)

Limits the creation of a store order from this product group to only this warehouse.

restrictHierarchyId

Long(12)

Limits the creation of a store order from this product group to only this merchandise hierarchy.

restrictAreaId

Long(12)

Limits the creation of a store order from this product group to only this store sequence area.

Table 4-190 Auto Adjustment Detail

Payload

Type

Definition

adjustmentQuantity

BigDecimal(20,4)

The quantity that should be automatically adjusted by this product group.

adjustmentPercent

BigDecimal(20,4)

The percentage of quantity that should be automatically adjusted by this product group.

adjustmentReasonCode

Long(12)

The unique identifier of a reason code associated to this product group.

updateToZero

Boolean

Update stock to zero when generating adjustment with this product group.

Table 4-191 Auto Ticket Print Detail

Payload

Type

Definition

refreshTicketQuantity

Boolean

True if the ticket quantity should be refreshed prior to printing.

Table 4-192 Item Hierarchy Detail

Payload

Type

Definition

departmentId

Long(12)

The department identifier

classId

Long(12)

The class identifier

subclassId

Long(12)

The subclass identifier

API: createProductGroup

This API is used to create a new product group that will be in progress status.

Table 4-193 API Basics

Endpoint URL

{base URL}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Product Group

Output

Product Group Status

Max Response Limit

5,000

Table 4-194 Input Data Definition

Payload

Type

Req

Definition

description

String(100)

X

A description of the product group.

type

Integer(3)

X

Indicates the type of product group. See Index.

storeId

Long(10)

The unique identifier of a store associated to the product group. This will be blank/null if the product group is for all stores.

allItems

Boolean

True if the product group is for all items, false otherwise. If all items, any hierarchies and items included will be ignored.

unitOfMeasureMode

Integer

Unit of measure type for pick lists. See Index..

autoAdjustmentDetail

Object

Details about an auto inventory adjustment product group. This is only processed and is required if the type is auto inventory adjustment type.

autoTicketPrintDetail

Object

Details about an auto ticket print product group. This is only processed and is required if the type is auto ticket print.

replenishmentDetail

Object

Details about a replenishment product group. This is only processed and is required if the type is a shelf replenishment type..

storeOrderDetail

Object

Details about a store order product group. This is only processed and is required if the type is the store order type.

unitCountDetail

Object

Details about a unit stock count product group. This is only processed and is required if the type is a stock count type.

unitAmountCountDetail

Object

Details about a unit and amount stock count product group. This is only processed and is required if the type is a stock count type.

problemLineCountDetail

Object

Details about a problem line stock count product group. This is only processed and is required if the type is a stock count type.

hierarchies

List<Object>

A list of up to 5,000 unique merchandise item hierarchies that belong to the group (avoid duplicate or overlapping hierarchies).

itemIds

List<String(25)>

A list of up to 5,000 unique item SKU numbers on the product group.

Table 4-195 Unit Count Detail

Payload

Type

Req

Definition

countingMethod

Integer

X

The method of counting a stock count: See Index (StockCountingMethod)

breakdownType

Integer

X

The method of breaking a stock count down into child counts: See Index (StockCountBreakdownType). Must be "Location" for guided counts.

varianceCount

Integer(8)

The number of units in standard unit of measure considered discrepant on a stock count. Variance count and percent cannot both be empty.

variancePercent

BigDecimal(12,4)

The percentage of units in standard unit of measure considered discrepant on a stock count. Variance count and percent cannot both be empty.

performRecount

Boolean

True indicates the stock count should be recounted if discrepancies are found. This cannot be set to true if the counting method is "Third Party.

autoAuthorize

Boolean

True indicates the stock count should be automatically authorized after count.

activeItems

Boolean

True indicates active items should be included on the stock count. At least one item status choice is required as true.

inactiveItems

Boolean

True indicates inactive items should be included on the stock count. At least one item status choice is required as true.

discontinuedItems

Boolean

True indicates discontinued items should be included on the stock count. At least one item status choice is required as true.

deletedItems

Boolean

True indicates deleted items should be included on the stock count. At least one item status choice is required as true.

zeroStockOnHand

Boolean

True indicates items with 0 stock on hand should be included on the stock count. At least one stock choice is required as true.

positiveStockOnHand

Boolean

True indicates items with positive stock on hand should be included on the stock count. At least one stock choice is required as true.

negativeStockOnHand

Boolean

True indicates items with negative stock on hand should be included on the stock count. At least one stock choice is required as true.

Table 4-196 Unit and Amount Count Detail

Payload

Type

Req

Definition

countingMethod

Integer

X

The method of counting a stock count: See Index (StockCountingMethod)

breakdownType

Integer

X

The method of breaking a stock count down into child counts: See Index (StockCountBreakdownType). Must be "Location" for guided counts.

varianceCount

BigDecimal(12,4)

The number of units in standard unit of measure considered discrepant on a stock count. Count, percent, and value cannot all be empty.

variancePercent

BigDecimal(12,4)

The percentage of units in standard unit of measure considered discrepant on a stock count. Count, percent, and value cannot all be empty.

varianceValue

BigDecimal(12,4)

The value of units considered discrepant on a stock count. Count, percent, and value cannot all be empty.

performRecount

Boolean

True indicates the stock count should be recounted if discrepancies are found. This cannot be set to true if the counting method is "Third Party".

autoAuthorize

Boolean

True indicates the stock count should be automatically authorized after count.

zeroStockOnHand

Boolean

True indicates items with 0 stock on hand should be included on the stock count.

Table 4-197 Problem Line Count Detail

Payload

Type

Req

Definition

countingMethod

Integer

X

The method of counting a stock count: See Index (StockCountingMethod).

breakdownType

Integer

X

The method of breaking a stock count down into child counts: See Index (StockCountBreakdownType). Must be "Location" for guided counts.

autoReplenishment

Boolean

True indicates that the product group is eligible for automatic replenishment through a scheduled batch run.

differentiatorMode

Integer(3)

The display type of the differentiator. See Index.

varianceCount

BigDecimal(12,4)

The number of units in standard unit of measure considered discrepant on a stock count. Variance count and percent cannot both be empty.

variancePercent

BigDecimal(12,4)

The percentage of units in standard unit of measure considered discrepant on a stock count. Variance count and percent cannot both be empty

performRecount

Boolean

True indicates the stock count should be recounted if discrepancies are found. This cannot be set to true if the counting method is "Third Party."

autoAuthorize

Boolean

True indicates the stock count should be automatically authorized after count.

negativeStockOnHand

Boolean

True indicates items with negative stock on hand should be included on the stock count.

negativeAvailable

Boolean

True indicates to include items with negative available quantities.

pickLessSuggested

Boolean

True indicates to include pick lists less than suggested amount.

replenishLessSuggested

Boolean

True indicates to include shelf replenishments that are less than the suggested amount.

uinDiscrepancy

Boolean

True indicates UIN discrepancies should be included in the stock count. This will only be populated if the product group type is for a problem line stock count.

Table 4-198 Store Order Detail

Payload

Type

Req

Definition

daysBeforeDelivery

Integer(3)

The date calculated from the creation date that the user wants the store order delivery by.

storeOrderAddItems

Boolean

True indicates items can be added to the store order after it has been generated by the system.

storeOrderItemsOnly

Boolean

Y indicates can only include items that are marked as store order replenishment.

restrictSupplierId

Long(12)

Limits the creation of a store order from this product group to only this supplier.

restrictWarehouseId

Long(12)

Limits the creation of a store order from this product group to only this warehouse.

restrictHierarchyId

Long(12)

Limits the creation of a store order from this product group to only this merchandise hierarchy.

restrictAreaId

Long(12)

Limits the creation of a store order from this product group to only this store sequence area.

Table 4-199 Auto Adjustment Detail

Payload

Type

Req

Definition

adjustmentQuantity

BigDecimal(20,4)

The quantity that should be automatically adjusted by this product group. Either quantity or percent is required.

adjustmentPercent

BigDecimal(20,4)

The percentage of quantity that should be automatically adjusted by this product group. Either quantity or percent is required.

adjustmentReasonCode

Long(12)

X

The unique identifier of a reason code associated to this product group.

updateToZero

Boolean

Update stock to zero when generating adjustment with this product group.

Table 4-200 Auto Ticket Print Detail

Payload

Type

Req

Definition

refreshTicketQuantity

Boolean

True if the ticket quantity should be refreshed prior to printing.

Table 4-201 Item Hierarchy Detail

Payload

Type

Req

Definition

departmentId

Long(12)

X

The department identifier

classId

Long(12)

The class identifier

subclassId

Long(12)

The subclass identifier

Table 4-202 Output Data Definition

Attribute

Type

Definition

productGroupId

Long(12)

The product group identifier.

status

Integer(1)

Indicates the status of the product group: (0) Active, (1) Canceled

Figure 4-1 Example input unitCountDetail

Example input unitCountDetail

Figure 4-2 Example input unitAmountCountDetail:

Example input unitAmountCountDetail:

Figure 4-3 Example input problemLineCountDetail:

Example Input problemLineCountDetail

Figure 4-4 Example input autoAdjustmentDetail:

Example input autoAdjustmentDetail:

Figure 4-5 Example input autoTicketPrintDetail:

Example input autoTicketPrintDetail

Figure 4-6 Example input replenishmentDetail:

Example input replenishmentDetail

Figure 4-7 Example input storeOrderDetail:

Example input storeOrderDetail

API: updateProductGroup

This API is used to modify a product group.

See API createProductGroup for the data definition of the product group type data objects.

API Basics

Table 4-203 API Basics

Endpoint URL

{base URL}/{productGroupId}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The identifier of the product group

Input

Product Group

Output

Product Group Status

Input Data Definition

Payload

Type

Req

Definition

storeId

Long(10)

The unique identifier of a store associated to the product group. This will be blank/null if the product group is for all stores. If this is altered for a unit and amount group already assigned to schedules, it may return a validate error that it can no longer be altered.

description

String(100)

X

A description of the product group.

allItems

Boolean

True if the product group is for all items, false otherwise. If all items, any hierarchies and items included will be ignored. Unit of measure type for pick lists. See Index.

unitOfMeasureMode

Integer

Unit of measure type for pick lists. See Index.

autoAdjustmentDetail

ProductGroupAdjustmentIdo

Details about an auto inventory adjustment product group. This is only processed and is required if the type is auto inventory adjustment type.

autoTicketPrintDetail

ProductGroupTicketPrintIdo

Details about an auto ticket print product group. This is only processed and is required if the type is auto ticket print.

replenishmentDetail

ProductGroupReplenishmentIdo

Details about a replenishment product group. This is only processed and is required if the type is a shelf replenishment type.

storeOrderDetail

ProductGroupStoreOrderIdo

Details about a store order product group. This is only processed and is required if the type is the store order type.

unitCountDetail

ProductGroupUnitCountIdo

Details about a unit stock count product group. This is only processed and is required if the type is a stock count type.

unitAmountCountDetail

ProductGroupUnitAmountCountIdo

Details about a unit and amount stock count product group. This is only processed and is required if the type is a stock count type.

problemLineCountDetail

ProductGroupProblemLineCountIdo

Details about a problem line stock count product group. This is only processed and is required if the type is a stock count type.

hierarchies

ProductGroupHierarchyIdo

A list of up to 5,000 unique merchandise item hierarchies that belong to the group (avoid duplicates or overlapping hierarchies).

itemIds

List<String(25)>

A list of up to 5,000 unique item SKU numbers on the product group.

Figure 4-8 Example Input unitCountDetail:

Example Input unitCountDetail

Figure 4-9 Example Input unitAmountCountDetail:

Example Input unitAmountCountDetail

Figure 4-10 Example Input problemLineCountDetail:

Example Input problenLineCountDetail

Figure 4-11 Example Input autoAdjustmentDetail:

Example Input autoAdjustmentDetail

Figure 4-12 Example Input autoTicketPrintDetail:

Example Input autoTicketPrintDetail

Figure 4-13 Example Input replenishmentDetail:

Example Input replenishmentDetail

Figure 4-14 Example Input storeOrderDetail:

Example Input storeOrderDetail

API: cancelProductGroup

Cancels the product group.

Table 4-204 API Basics

Endpoint URL

{base URL}/{productGroupId}/cancel

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Path Parameter

The identifier of the product group

Index

Table 4-205 Product Group Type

ID

Description

1

Stock Count: Unit

2

Stock Count: Unit and Amount

3

Stock Count: Problem Line

4

Auto Inventory Adjustment

5

Auto Ticket Print

6

Shelf Replenishment

7

Store Order

Table 4-206 Product Group Status

ID

Description

1

Active

2

Canceled

Table 4-207 Unit of Measure Mode

ID

Description

1

Standard

2

Cases

3

Preferred

Table 4-208 Shelf Replenishment Differentiator Mode

ID

Description

1

Differentiator 1

2

Differentiator 2

3

Differentiator 3

4

Differentiator 4

Table 4-209 Stock Counting Method

ID

Description

1

Guided

2

Unguided

3

Third Party

4

Auto

Table 4-210 Stock Count Breakdown Type

ID

Description

1

Department

2

Class

3

Subclass

4

Location

5

None

REST Service: Product Group Schedule

A product group schedule allows the customer to schedule different kinds of product groups for work. A product group can be scheduled for a date range where the start date must be greater than today. For unit and amount counts, the start date must be greater than today plus the configured stock count lockout days. Schedules are setup daily, weekly, monthly, or yearly. Schedules may be assigned to execute for all stores or created for selected specific stores. Once a product group schedule is created, it becomes available for the system batches to pick up and execute. This service defines operations to manage product group schedule information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Schedules

This section describes the Find Schedules API. This API finds up to a maximum of 5,000 schedule summary headers based on input search criteria.

Method

GET
URL

/productgroupschedules
Request Parameters

Table 4-211 Find Schedules — Request Parameters

Parameter Required Data Type Description

productGroupId

NA

integer($int10) (query)

Include only schedules associated to this product group.

description

NA

string($text250) (query)

Include only schedules that contain this text in its description.

type

NA

integer($int3) (query)

Include only schedules that match this schedule type. Valid values are:

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthy by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Available values : 1, 2, 3, 4, 5, 6, 7

status

NA

integer($int3) (query)

Include only schedules that match this status. Valid values are:

1 - Open

2 - Closed

Available values : 1, 2

updateDateFrom

NA

string($date-time) (query)

Include only schedules with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only schedules with an update date on or before this date.

Responses

This section describes the responses of the Find Schedules API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "scheduleId": 11111,
    "productGroupId": 223343,
    "description": "Test Schedule",
    "type": 1,
    "status": 1,
    "startDate": "2024-11-07T11:17:51.016Z",
    "endDate": "2024-11-07T11:17:51.016Z",
    "updateDate": "2024-11-07T11:17:51.016Z"
  }
]
Schema — ProductGroupScheduleHeaderIdo

Table 4-212 ProductGroupScheduleHeaderIdo — Object

Element Name Required Data Type/Example Description

scheduleId

NA

integer($int8) example: 11111

The unique identifier of the schedule.

productGroupId

NA

number($int12) example: 223343

The unique identifier of the product group the schedule is for.

description

NA

string($text250) example: Test Schedule

A description of the schedule.

type

NA

integer($int4) example: 1

The type of schedule. Valid values are:

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthly by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

status

NA

integer($int4) example: 1

The current status of the schedule. Valid values are:

1 - Open

2 - Closed

Enum: [ 1, 2 ]

startDate

NA

string($date-time)

The date the schedule becomes active.

endDate

NA

string($date-time)

The date the schedule terminates.

updateDate

NA

string($date-time)

The date the schedule was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Schedule

This section describes the Create Schedule API. This API creates a new open schedule.

Method

POST
URL

/productgroupschedules
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the schedule to create.

Example Value

{
  "productGroupId": 223343,
  "description": "Test Schedule",
  "type": 1,
  "startDate": "2024-11-07T11:44:35.142Z",
  "endDate": "2024-11-07T11:44:35.142Z",
  "dailySchedule": {
    "dailyFrequency": 3
  },
  "dailyByWeekSchedule": {
    "weeklyFrequency": 3,
    "sunday": false,
    "monday": false,
    "tuesday": false,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false
  },
  "weeklySchedule": {
    "weeklyFrequency": 3,
    "sunday": false,
    "monday": false,
    "tuesday": false,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false
  },
  "monthlyByDaySchedule": {
    "monthlyFrequency": 6,
    "dayOfMonth": 10
  },
  "monthlyByWeekSchedule": {
    "monthlyFrequency": 6,
    "weekOfTheMonth": 1,
    "dayOfTheWeek": 7
  },
  "yearlyByDaySchedule": {
    "monthOfTheYear": 1,
    "dayOfTheMonth": 20
  },
  "yearlyByWeekSchedule": {
    "monthOfTheYear": 1,
    "weekOfTheMonth": 1,
    "dayOfTheWeek": 7
  },
  "stores": [
    333,
    444
  ]
}
Schema — ProductGroupScheduleCreateIdo

Table 4-213 ProductGroupScheduleCreateIdo — Object

Element Name Required Data Type/Example Description

productGroupId

yes

number($int12) example: 223343

The unique identifier of the product group the schedule is for.

description

yes

string($text250) example: Test Schedule

A description of the schedule.

type

yes

integer($int4) example: 1

The type of schedule. Only the data set matching this type needs to be included. Valid values are

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthly by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

startDate

NA

string($date-time)

The date the schedule becomes active. This must be tomorrow or a later date except for unit stock counts, which allow for same day scheduling.

endDate

NA

string($date-time)

The date the schedule terminates.

dailySchedule

 

object

daily schedule

dailyByWeekSchedule

 

object

daily schedule

weeklySchedule

 

object

weekly schedule

monthlyByDaySchedule

 

object

monthly by day schedule

monthlyByWeekSchedule

 

object

monthly by week schedule

yearlyByDaySchedule

 

object

yearly by day schedule

yearlyByWeekSchedule

 

object

yearly by week schedule

stores

yes

number($int15)] example: List [ 333, 444 ]

A list of store identifiers the schedule applies to.

Table 4-214 ScheduleDailyIdo — Object

Element Name Required Data Type/Example Description

dailyFrequency

yes

number ($int12) example: 3

The number of days between occurrences of the schedule.

Table 4-215 ScheduleDailyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-216 ScheduleDailyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-217 ScheduleWeekIyIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-218 ScheduleMonthlyByDayIdo — Object

Element Name Required Data Type/Example Description

monthlyFrequency

yes

number($int12) example: 6

The number of months between occurrences.

dayOfMonth

yes

number($int2) example: 10

The day of the month to execute the schedule on. Valid values are 1-31

Table 4-219 ScheduleMonthlyByWeekIdo— Object

Element Name Required Data Type/Example Description

monthlyFrequency

yes

number($int12) example: 6

The number of months between occurences.

weekOfTheMonth

yes

number($int2) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Table 4-220 ScheduleYearlyByDayIdo— Object

Element Name Required Data Type/Example Description

monthOfTheYear

yes

number($int2) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

dayOfTheMonth

yes

number($int2) example: 20

The day of the month to execute the schedule on. Valid values are 1-31.

Table 4-221 ScheduleYearlyByWeekIdo — Object

Element Name Required Data Type/Example Description

monthOfTheYear

yes

number($int2) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

weekOfTheMonth

yes

number($int2) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Responses

This section describes the responses of the Create Schedules API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "scheduleId": 11111,
    "productGroupId": 223343,
    "description": "Test Schedule",
    "type": 1,
    "status": 1,
    "startDate": "2024-11-07T11:17:51.016Z",
    "endDate": "2024-11-07T11:17:51.016Z",
    "updateDate": "2024-11-07T11:17:51.016Z"
  }
]
Schema — ProductGroupScheduleHeaderIdo

Table 4-222 ProductGroupScheduleHeaderIdo — Object

Element Name Required Data Type/Example Description

scheduleId

NA

integer($int8) example: 11111

The unique identifier of the schedule.

productGroupId

NA

number($int12) example: 223343

The unique identifier of the product group the schedule is for.

description

NA

string($text250) example: Test Schedule

A description of the schedule.

type

NA

integer($int4) example: 1

The type of schedule. Valid values are:

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthly by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

status

NA

integer($int4) example: 1

The current status of the schedule. Valid values are:

1 - Open

2 - Closed

Enum: [ 1, 2 ]

startDate

NA

string($date-time)

The date the schedule becomes active.

endDate

NA

string($date-time)

The date the schedule terminates.

updateDate

NA

string($date-time)

The date the schedule was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Schedule

This section describes the Read Schedules API. This API retrieves all the details about a product group schedule.

Method

GET
URL

/productgroupschedules/{scheduleId}
Request Parameters

Table 4-223 Read Schedule — Request Parameters

Parameter Required Data Type Description

scheduleId

yes

integer($int12) (path)

The unique identifier of the schedule.

Responses

This section describes the responses of the Read Schedule API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "scheduleId": 11111,
    "productGroupId": 223343,
    "description": "Test Schedule",
    "type": 1,
    "status": 1,
    "startDate": "2024-11-11T12:49:09.159Z",
    "endDate": "2024-11-11T12:49:09.159Z",
    "updateDate": "2024-11-11T12:49:09.159Z",
    "dailySchedule": {
      "dailyFrequency": 3
    },
    "dailyByWeekSchedule": {
      "weeklyFrequency": 3,
      "sunday": false,
      "monday": false,
      "tuesday": false,
      "wednesday": false,
      "thursday": false,
      "friday": false,
      "saturday": false
    },
    "weeklySchedule": {
      "weeklyFrequency": 3,
      "sunday": false,
      "monday": false,
      "tuesday": false,
      "wednesday": false,
      "thursday": false,
      "friday": false,
      "saturday": false
    },
    "monthlyByDaySchedule": {
      "monthlyFrequency": 6,
      "dayOfMonth": 10
    },
    "monthlyByWeekSchedule": {
      "monthlyFrequency": 6,
      "weekOfTheMonth": 1,
      "dayOfTheWeek": 7
    },
    "yearlyByDaySchedule": {
      "monthOfTheYear": 1,
      "dayOfTheMonth": 20
    },
    "yearlyByWeekSchedule": {
      "monthOfTheYear": 1,
      "weekOfTheMonth": 1,
      "dayOfTheWeek": 7
    },
    "stores": [
      {
        "storeId": 5000,
        "lastExtractedDate": "2024-11-11T12:49:09.159Z"
      }
    ]
  }
]
Schema — ProductGroupScheduleIdo

Table 4-224 ProductGroupScheduleIdo — Object

Element Name Required Data Type/Example Description

scheduleId

NA

integer($int8) example: 11111

The unique identifier of the schedule.

productGroupId

NA

number($int12) example: 22334

The unique identifier of the product group the schedule is for.

description

NA

string($text250) example: Test Schedule

A description of the schedule.

type

NA

integer($int4) example: 1

The type of schedule. Valid values are

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthly by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Enum:

[ 1, 2, 3, 4, 5, 6, 7 ]

status

NA

integer($int4) example: 1

The current status of the schedule. Valid values are

1 - Open

2 - Closed

Enum: [ 1, 2 ]

startDate

NA

string($date-time)

The date the schedule becomes active.

endDate

NA

string($date-time)

The date the schedule terminates.

updateDate

NA

string($date-time)

The date the schedule was lasted updated.

dailySchedule

NA

object

daily schedule

dailyByWeekSchedule

NA

object

daily by week schedule

weeklySchedule

NA

object

weekly schedule

monthlyByDaySchedule

NA

object

monthly by day schedule

monthlyByWeekSchedule

NA

object

monthly by week schedule

yearlyByDaySchedule

NA

object

yearly by day schedule

yearlyByWeekSchedule

NA

object

yearly by week schedule

stores

NA

object

A list of stores associated to the schedule.

Table 4-225 ScheduleDailyIdo — Object

Element Name Required Data Type/Example Description

dailyFrequency

yes

number($int12) example: 3

The number of days between occurrences of the schedule.

Table 4-226 ScheduleDailyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-227 ScheduleWeeklyIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-228 ScheduleMonthlyByDayIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

dayOfMonth

yes

number($int2) example: 10

The day of the month to execute the schedule on. Valid values are 1-31.

Table 4-229 ScheduleMonthlyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of months between occurrences.

weekOfTheMonth

yes

number($int2) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Table 4-230 ScheduleYearlyByDayIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

dayOfTheMonth

yes

number($int2) example: 20

The day of the month to execute the schedule on. Valid values are 1-31.

Table 4-231 ScheduleYearlyByWeekIdo — Object

Element Name Required Data Type/Example Description

monthOfTheYear

yes

number($int12) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

weekOfTheMonth

yes

number($int12) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Table 4-232 ProductGroupScheduleStoreIdo — Object

Element Name Required Data Type/Example Description

storeId

NA

number($int10) example: 5000

The unique identifier of the store.

lastExtractedDate

NA

string($date-time)

The date the schedule was lasted extracted for this store.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Schedule

This section describes the Update Schedule API. This API updates the details of an open schedule.

Method

POST
URL

/productgroupschedules/{scheduleId}
Request Parameters

Table 4-233 Update Schedule — Request Parameters

Parameter Required Data Type Description

scheduleId

yes

integer($int12) (path)

The unique identifier of the schedule.

The request body is application/json.

Details to update within the schedule.

Example Value

{
  "description": "Test Schedule",
  "type": 1,
  "endDate": "2024-11-11T14:08:23.049Z",
  "dailySchedule": {
    "dailyFrequency": 3
  },
  "dailyByWeekSchedule": {
    "weeklyFrequency": 3,
    "sunday": false,
    "monday": false,
    "tuesday": false,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false
  },
  "weeklySchedule": {
    "weeklyFrequency": 3,
    "sunday": false,
    "monday": false,
    "tuesday": false,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false
  },
  "monthlyByDaySchedule": {
    "monthlyFrequency": 6,
    "dayOfMonth": 10
  },
  "monthlyByWeekSchedule": {
    "monthlyFrequency": 6,
    "weekOfTheMonth": 1,
    "dayOfTheWeek": 7
  },
  "yearlyByDaySchedule": {
    "monthOfTheYear": 1,
    "dayOfTheMonth": 20
  },
  "yearlyByWeekSchedule": {
    "monthOfTheYear": 1,
    "weekOfTheMonth": 1,
    "dayOfTheWeek": 7
  },
  "stores": [
    333,
    444
  ]
}
Schema — ProductGroupScheduleUpdateIdo

Table 4-234 ProductGroupScheduleUpdateIdo — Object

Element Name Required Data Type/Example Description

description

yes

string($text250) example: Test Schedule

A description of the schedule.

type

yes

integer($int4) example: 1

The type of schedule. Only the data set matching this type needs to be included. Valid values are

1 - Daily

2 - Daily By Weekday

3 - Weekly

4 - Monthly by Day

5 - Monthly By Week

6 - Yearly By Day

7 - Yearly By Week

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

endDate

NA

string($date-time)

The date the schedule terminates.

It must be greater than the start date.

dailySchedule

NA

object

daily schedule

dailyByWeekSchedule

NA

object

daily by week schedule

weeklySchedule

NA

object

weekly schedule

monthlyByDaySchedule

NA

object

monthly by day schedule

monthlyByWeekSchedule

NA

object

monthly by week schedule

yearlyByDaySchedule

NA

object

yearly by day schedule

yearlyByWeekSchedule

NA

object

yearly by week scheulde

stores

yes

 example: List [ 333, 444 ]

A list of store identifiers the schedule applies to.

Table 4-235 ScheduleDailyIdo — Object

Element Name Required Data Type/Example Description

dailyFrequency

yes

number($int12) example: 3

The number of days between occurrences of the schedule.

Table 4-236 ScheduleDailyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-237 ScheduleWeeklyIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

sunday

NA

boolean example: false

True if scheduled on Sunday.

monday

NA

boolean example: false

True if scheduled on Monday.

tuesday

NA

boolean example: false

True if scheduled on Tuesday.

wednesday

NA

boolean example: false

True if scheduled on Wednesday.

thursday

NA

boolean example: false

True if scheduled on Thursday.

friday

NA

boolean example: false

True if scheduled on Friday.

saturday

NA

boolean example: false

True if scheduled on Saturday.

Table 4-238 ScheduleMonthlyByDayIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of weeks between occurrences of the schedule.

dayOfMonth

yes

number($int2) example: 10

The day of the month to execute the schedule on. Valid values are 1-31.

Table 4-239 ScheduleMonthlyByWeekIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 3

The number of months between occurrences.

weekOfTheMonth

yes

number($int2) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Table 4-240 ScheduleYearlyByDayIdo — Object

Element Name Required Data Type/Example Description

weeklyFrequency

yes

number($int12) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

dayOfTheMonth

yes

number($int2) example: 20

The day of the month to execute the schedule on. Valid values are 1-31.

Table 4-241 ScheduleYearlyByWeekIdo — Object

Element Name Required Data Type/Example Description

monthOfTheYear

yes

number($int12) example: 1

The month of the year to execute the schedule on. Valid values are 1-12.

weekOfTheMonth

yes

number($int12) example: 1

The week of the month to execute the schedule on. Valid values are 1-5.

dayOfTheWeek

yes

number($int2) example: 7

The day of the week to execute the schedule on. Valid values are 1-7.

Responses

This section describes the responses of the Update Schedule API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Schedule

This section describes the Delete Schedule API. This API deletes a schedule from the system.

Method

DELETE
URL

/productgroupschedules/{scheduleId}
Request Parameters

Table 4-242 Delete Schedule — Request Parameters

Parameter Required Data Type Description

scheduleId

yes

integer($int12) (path)

The unique identifier of the schedule.

Responses

This section describes the responses of the Delete Schedule API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Purchase Order

A purchase order is a document that indicates items and quantities that have been ordered for delivery to the store within a specific timeframe. The order can be created by the supplier or store user on the fly or alternatively by corporate users. These are used for Direct Store Delivery (or vendor/supplier deliveries). This service allows the direct integration of customer orders from a third party system as well as some management of the order with the system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Orders

This section describes the Find Orders API. This API finds up to 5,000 purchase orders headers for the input criteria. No item information is returned.

Method

GET
URL

/purchaseorders
Request Parameters

Table 4-243 Find Orders — Request Parameters

Parameter Required Data Type Description

orderNumber

NA

string($text128) (query)

Include only purchase orders associated to this external order number.

storeId

NA

number($int10) (query)

Include only purchase orders for this store.

supplierId

NA

number($int10) (query)

Include only purchase orders for this supplier.

status

NA

integer($int4) (query)

Include only purchase orders in this status. Valid values are:

1 - Approved

2 - In Progress

3 - Canceled

4 - Completed

99 - Active

Available values : 1, 2, 3, 4, 99

updateDateFrom

NA

string($date-time) (query)

Include only purchase orders with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only purchase orders with an update date on or before this date.

Responses

This section describes the responses of the Find Orders API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value


  {
    "purchaseOrderId": 11111,
    "orderNumber": "4823534",
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1,
    "customerOrderId": "799003",
    "fulfillmentOrderId": "7994203",
    "notBeforeDate": "2025-01-02T09:18:14.032Z",
    "notAfterDate": "2025-01-02T09:18:14.032Z",
    "updateDate": "2025-01-02T09:18:14.032Z",
    "completeDate": "2025-01-02T09:18:14.032Z"
  }
]
Schema — PurchaseOrderHearderIdo

Table 4-244 PurchaseOrderHearderIdo— Object

Element Name Required Data Type/Example Description

purchaseOrderId

NA

number($int12) example: 11111

The unique identifier of the purchase order.

orderNumber

NA

string($text128) example: 4823534

The non-unique order number of the purchase order in an external system.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier shipping the goods.

status

NA

integer($int4) example: 1

The current status of the purchase order. Valid values are:

1 - Approved

2 - In Progress

3 - Canceled

4 - Completed

Enum: [ 1, 2, 3, 4 ]

customerOrderId

NA

string($text128) example: 799003

A customer order identifier if associated to a customer order.

fulfillmentOrderId

NA

string($text128) example: 7994203

A fulfillment order identifier if associated to a customer order.

notBeforeDate

NA

string($date-time)

 Earliest date that the inventory should arrive at the store for this order.

notAfterDate

NA

string($date-time)

Latest date that the inventory can arrive at the store for this order.

updateDate

NA

string($date-time)

The date the purchase order was last updated.

completeDate

NA

string($date-time)

The date the purchase order was completed.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Order By ID

This section describes the Read Order By ID API. This API reads a store level purchase order by its unique system identifier. This operation retrieves the full information of the purchase order within the context of the store including items and quantities.

Method

GET
URL

/replenishgaps/{gapId}
Request Parameters

Table 4-245 Read Order By ID — Request Parameters

Parameter Required Data Type Description

purchaseOrderId

yes

number($int12) (path)

The unique EICS identifier of the purchase order.

Responses

This section describes the responses of the Read Order By ID API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "purchaseOrderId": 11111,
    "orderNumber": "4823534",
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1,
    "externalStatus": 1,
    "notBeforeDate": "2025-01-02T09:59:21.146Z",
    "notAfterDate": "2025-01-02T09:59:21.146Z",
    "comments": "Summer product pre-order",
    "customerOrderId": "799003",
    "fulfillmentOrderId": "7994203",
    "source": "POXD",
    "createUser": "smith123",
    "createDate": "2025-01-02T09:59:21.146Z",
    "updateDate": "2025-01-02T09:59:21.146Z",
    "completeDate": "2025-01-02T09:59:21.146Z",
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "supplierCountryCode": "US",
        "supplierCaseSize": 5,
        "quantityOrdered": 20,
        "quantityReceived": 20,
        "unitCostCurrency": "USD",
        "unitCostValue": 10,
        "preferredUom": "LBS",
        "published": true
      }
    ]
  }
]
Schema — PurchaseOrderIdo

Table 4-246 PurchaseOrderIdo — Object

Element Name Required Data Type/Example Description

purchaseOrderId

 NA

number($int12) example: 11111

The unique identifier of the purchase order.

orderNumber

NA 

string($text128) example: 4823534

The non-unique order number of the purchase order in an external system.

storeId

NA 

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

 NA

number($int10) example: 5101

The identifier of the supplier shipping the goods.

status

NA 

integer($int4) example: 1

The current status of the purchase order. Valid values are:

1 - Approved

2 - In Progress

3 - Canceled

4 - Completed

Enum: [ 1, 2, 3, 4 ]

externalStatus

 NA

integer($int4) example: 1

The current status of the purchase order in the originating system. Valid values are:

1 - Worksheet

2 - Submitted

3 - Approved

4 - Closed

Enum: [ 1, 2, 3, 4 ]

notBeforeDate

 NA

string($date-time)

Earliest date that the inventory should arrive at the store for this order.

notAfterDate

NA 

string($date-time)

Latest date that the inventory can arrive at the store for this order.

comments

 NA

string($text2000) example: Summer product pre-order

Comments associated to the purchase order.

customerOrderId

 NA

string($text128) example: 799003

A customer order identifier if associated to a customer order.

fulfillmentOrderId

NA 

string($text128) example: 7994203

A fulfillment order identifier if associated to a customer order.

source

NA 

string($text25) example: POXD

Text indicating the system that originated the purchase order.

createUser

 NA

string($text128) example: smith123

The user that created the purchase order within the system.

createDate

NA

string($date-time)

The date the purchase order was created within the system.

updateDate

 NA

string($date-time)

The date the purchase order was last updated.

completeDate

NA 

string($date-time)

The date the purchase order was completed.

lineItems

NA 

object

A collection of line items on the purchase order.

Table 4-247 PurchaseOrderLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

 NA

number($int15) example: 11111

The unique identifier of the line item record.

itemId

 NA

string($text25) example: 11111

The unique identifier of the item.

supplierCountryCode

 NA

string($text3) example: US

The country code of the supplier country of origin.

supplierCaseSize

 NA

number($decimal(10,2)) example: 5

The case size coming from the supplier.

quantityOrdered

NA 

number($decimal(20,4)) example: 20

The number of units (in standard unit of measure) expected to be delivered to the store.

quantityReceived

 NA

number($decimal(20,4)) example: 20

The number of units (in standard unit of measure) received to date against the order.

unitCostCurrency

 NA

string($text3) example: USD

The unit cost ISO currency code.

unitCostValue

NA 

number($decimal(12,4)) example: 10

The unit cost value of the line item.

preferredUom

NA 

string($text4) example: LBS

The preferred unit of measure of the line item.

published

 NA

boolean example: true

True indicates the line item has been published out to an exteral system, false otherwise. This is used when the purchase order originates within EICS.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Order

This section describes the Read Order API. This API reads a store level purchase order by its external identifier. This operation retrieves the full information of the purchase order within the context of the store including items and quantities.

Method

GET
URL

/purchaseorders/{orderNumber}/{storeId}
Request Parameters

Table 4-248 Read Order — Request Parameters

Parameter Required Data Type Description

orderNumber

yes

string($text128) (path)

The external identifier of the purchase order.

storeId

yes

number ($int10) (path)

The store identifier of the purchase order.

Responses

This section describes the responses of the Read Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "purchaseOrderId": 11111,
    "orderNumber": "4823534",
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1,
    "externalStatus": 1,
    "notBeforeDate": "2025-01-02T10:32:05.695Z",
    "notAfterDate": "2025-01-02T10:32:05.695Z",
    "comments": "Summer product pre-order",
    "customerOrderId": "799003",
    "fulfillmentOrderId": "7994203",
    "source": "POXD",
    "createUser": "smith123",
    "createDate": "2025-01-02T10:32:05.695Z",
    "updateDate": "2025-01-02T10:32:05.695Z",
    "completeDate": "2025-01-02T10:32:05.695Z",
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "supplierCountryCode": "US",
        "supplierCaseSize": 5,
        "quantityOrdered": 20,
        "quantityReceived": 20,
        "unitCostCurrency": "USD",
        "unitCostValue": 10,
        "preferredUom": "LBS",
        "published": true
      }
    ]
  }
]
Schema — PurchaseOrderIdo

Table 4-249 PurchaseOrderIdo — Object

Element Name Required Data Type/Example Description

purchaseOrderId

 NA

number($int12) example: 11111

The unique identifier of the purchase order.

orderNumber

NA 

string($text128) example: 4823534

The non-unique order number of the purchase order in an external system.

storeId

NA 

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

 NA

number($int10) example: 5101

The identifier of the supplier shipping the goods.

status

NA 

integer($int4) example: 1

The current status of the purchase order. Valid values are:

1 - Approved

2 - In Progress

3 - Canceled

4 - Completed

Enum: [ 1, 2, 3, 4 ]

externalStatus

 NA

integer($int4) example: 1

The current status of the purchase order in the originating system. Valid values are:

1 - Worksheet

2 - Submitted

3 - Approved

4 - Closed

Enum: [ 1, 2, 3, 4 ]

notBeforeDate

 NA

string($date-time)

Earliest date that the inventory should arrive at the store for this order.

notAfterDate

NA 

string($date-time)

Latest date that the inventory can arrive at the store for this order.

comments

 NA

string($text2000) example: Summer product pre-order

Comments associated to the purchase order.

customerOrderId

 NA

string($text128) example: 799003

A customer order identifier if associated to a customer order.

fulfillmentOrderId

NA 

string($text128) example: 7994203

A fulfillment order identifier if associated to a customer order.

source

NA 

string($text25) example: POXD

Text indicating the system that originated the purchase order.

createUser

 NA

string($text128) example: smith123

The user that created the purchase order within the system.

createDate

NA

string($date-time)

The date the purchase order was created within the system.

updateDate

 NA

string($date-time)

The date the purchase order was last updated.

completeDate

NA 

string($date-time)

The date the purchase order was completed.

lineItems

NA 

object

A collection of line items on the purchase order.

Table 4-250 PurchaseOrderLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

 NA

number($int15) example: 11111

The unique identifier of the line item record.

itemId

 NA

string($text25) example: 11111

The unique identifier of the item.

supplierCountryCode

 NA

string($text3) example: US

The country code of the supplier country of origin.

supplierCaseSize

 NA

number($decimal(10,2)) example: 5

The case size coming from the supplier.

quantityOrdered

NA 

number($decimal(20,4)) example: 20

The number of units (in standard unit of measure) expected to be delivered to the store.

quantityReceived

 NA

number($decimal(20,4)) example: 20

The number of units (in standard unit of measure) received to date against the order.

unitCostCurrency

 NA

string($text3) example: USD

The unit cost ISO currency code.

unitCostValue

NA 

number($decimal(12,4)) example: 10

The unit cost value of the line item.

preferredUom

NA 

string($text4) example: LBS

The preferred unit of measure of the line item.

published

 NA

boolean example: true

True indicates the line item has been published out to an exteral system, false otherwise. This is used when the purchase order originates within EICS.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Close Order

This section describes the Close Order API. This API closes an existing purchase order. An already closed order will ignore the request and successfully return. If a store is not managed and the system is not configured to override, the request will also be ignored. If quantities are already received, the purchase order will go to completed status, otherwise it will be cancelled. A forbidden error response will occur if the application is integrated with Oracle Merchandising.

Method

POST
URL

/purchaseorders/{orderNumber}/close
Request Parameters

Table 4-251 Close Order— Request Parameters

Parameter Required Data Type Description

orderNumber

yes

string($text128) (path)

The external order number of the purchase order.

Responses

This section describes the responses of the Close Order API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Order

This section describes the Import Order API. This API imports of approved purchase orders ared is staged and processed asynchronously by the MPS work queue DcsOrder. If the order number exists already, the order will be treated as an update. If the order number does not exist, a new order will be created. If a record for item and store combination is found for an item, then the item will be updated, otherwise a new line item will be created for the item-store combination. Items cannot be removed from already existing purchase orders, however, their ordered quantity can be reduced to zero. If the system is integrated with Oracle Merchandising, then this operation will return a Forbidden response. As an asynchronous service, minimal validation will be done prior to submitting the information for later processing. Business validation that fails during asynchronous processing can be found along with the processing message in the MPS staged message table.

Method

POST
URL

/purchaseorders/{orderNumber}/import
Request Parameters

Table 4-252 Import Order— Request Parameters

Parameter Required Data Type Description

orderNumber

yes

string($text128) (path)

The external order number of the purchase order.

The request body is application/json.

Example Value

{
  "supplierId": 5101,
  "externalStatus": 1,
  "notBeforeDate": "2025-01-02T11:14:26.297Z",
  "notAfterDate": "2025-01-02T11:14:26.297Z",
  "unitCostCurrency": "799003",
  "customerOrderId": "799003",
  "fulfillmentOrderId": "7994203",
  "source": "POXD",
  "comments": "Summer product pre-order",
  "lineItems": [
    {
      "itemId": "11111",
      "storeId": 5000,
      "supplierCountryCode": "US",
      "supplierCaseSize": 5,
      "quantityOrdered": 20,
      "unitCost": 10,
      "preferredUom": "LBS",
      "published": true
    }
  ]
}
Schema — PurchaseOrderImportIdo

Table 4-253 PurchaseOrderImportIdo — Object

Element Name Required Data Type/Example Description

supplierId

Yes 

number($int10) example: 5101

The identifier of the supplier shipping the goods.

externalStatus

Yes 

integer($int4) example: 1

The current status of the purchase order. Valid values are

1 - Worksheet

2 - Submitted

3 - Approved

4 - Closed

Enum: [ 1, 2, 3, 4 ]

notBeforeDate

 NA

string($date-time)

Earliest date that the inventory should arrive at the store for this order.

notAfterDate

 NA

string($date-time)

Latest date that the inventory can arrive at the store for this order.

unitCostCurrency

Yes 

string($text3) example: 799003

The currency code of the unit costs of the items on this purchase order.

customerOrderId

NA 

string($text128) example: 799003

A customer order identifier if associated to a customer order. This is only accepted only when the purchase order is originally created and will not be modified on an update.

fulfillmentOrderId

 NA

string($text128) example: 7994203

A fulfillment order identifier if associated to a customer order. This is accepted only when the purchase order is originally created and will not be modified on an update.

source

 Yes

string($text25) example: POXD

Text indicating the system that originated the purchase order. This is only used when the purchase order is originally created and will not be modified on an update.

comments

 NA

string($text2000) example: Summer product pre-order

Comments associated to the purchase order.

lineItems

Yes 

object

A collection of line items on the purchase order.

Table 4-254 PurchaseOrderImportItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes 

string($text25) example: 11111

The unique identifier of the item.

storeId

 Yes

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierCountryCode

 Yes

string($text3) example: US

The country code of the supplier country of origin. This value will be ignored on an update of the item/store combination.

supplierCaseSize

NA 

number($decimal(10,2)) example: 5

The case size coming from the supplier.

quantityOrdered

 Yes

number($decimal(20,4)) example: 20

The number of units (in standard unit of measure) expected to be delivered to the store.

unitCost

 NA

number($decimal(12,4)) example: 10

The unit cost value of the line item.

preferredUom

NA 

string($text4) example: LBS

The preferred unit of measure of the line item.

published

NA 

boolean example: true

True indicates the line item has been published out to an exteral system, false otherwise. This is used when the purchase order originates within EICS.

Responses

This section describes the responses of the Import Order API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Reason Code

This service allows and external system to retrieve available reason codes. Reason codes are attached to inventory adjustments or shipments.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/ reasoncodes

API Definitions

API Description

Find Adjustment Reason Codes

Finds reason codes available for inventory adjustments.

Find Shipment Reason Codes

Finds reason codes available for shipments.

API: Find Adjustment Reason Codes

This API is used to find reason codes available for inventory adjustments.

API Basics

Endpoint URL

{base URL} /adjustments

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

None

Output

List of inventory adjustment reasons

Max Response Limit

N/A

Output Data Definition

Attribute

Data Type

 

Description

reasonId

Long

 

The unique identifier of the inventory adjustment reason code.

reasonCode

Integer

 

Unique reason code associated to external systems.

description

String

 

A description of the inventory reason code.

dispositionCode

Integer

 

The inventory disposition associated to the code.

dispositionDescription

String

 

A description of the inventory disposition associated to the code (not translated).

fromNonSellableType

Long

 

From unavailable sub-bucket (indicates the sub-bucket of disposition of stock movement)

fromNonSellableTypeDescription

String

 

The description of the from unavailable sub-bucket (not translated).

toNonSellableType

Long

 

To unavailable sub-bucket (indicates the sub-bucket of disposition of stock movement)

toNonSellableTypeDescription

String

 

The description of the to unavailable sub-bucket (not translated).

systemRequired

Boolean

 

True indicates the reason code is required for the system to function. A system required reason code cannot be deactivated.

displayable

Boolean

 

True indicates the reason code can be used by a transactional inventory adjustment created by an entity other than EICS internal service.

publish

Boolean

-

True indicating inventory movements with this reason code should be published to external systems

Example Input

[

{

"reasonId": 1,

"reasonCode": 1,

"description": “invAdjReason.1",

"dispositionCode": 4,

"dispositionDescription": "inventoryDisposition.ATS-DIST",

"systemRequired": true,

"displayable": false,

"publish": true

},

{

"reasonId": 2,

"reasonCode": 81,

"description": "invAdjReason.81",

"dispositionCode": 4,

"dispositionDescription": "inventoryDisposition.ATS-DIST",

"systemRequired": false,

"displayable": true,

"publish": true

}

]

API: Find Shipment Reason Codes

Finds all the reason codes in the system available for any type of shipment. You can use properties of the reason code to determine if it is available for usage on a particular transaction.

API Basics

Endpoint URL

{base URL} /shipments

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

None

Output

List of reasons codes

Max Response Limit

N/A

Output Data Definition

Attribute

Data Type

Description

reasonId

Long

The unique identifier of the inventory adjustment reason code.

reasonCode

String

Unique reason code associated to external systems.

description

String

A description of the inventory reason code (not translated).

type

Integer

The Shipment Reason Code Type: See the Shipment Reason Code Type.

A reason code can only be used on a transaction that matches its type. For example, 3 – Warehouse can only be used on a store to warehouse shipment.

useAvailable

Boolean

True if it must use available inventory, false indicates it must use unavailable inventory. The reason code will need to match the type of inventory being shipped.

nonSellableTypeId

Long

An identifier of associated unavailable sub-bucket (indicates the sub-bucket of disposition of stock movement)

Example Input

[

{

"reasonId": 1,

"reasonCode": "F",

"description": "shipmentReason.4.F",

"type": 4,

"useAvailable": true

},

{

“reasonId": 2,

"reasonCode": "O",

"description": "shipmentReason.4.O",

"type": 4,

"useAvailable": true

},

{

"reasonId": 3,

"reasonCode": "U",

"description": "shipmentReason.4.U",

"type": 4,

"useAvailable": false,

"nonSellableTypeId": 1

}

]

Additional Data Definitions

Shipment Reason Code Type

Value

Definition

1

Store

2

Supplier

3

Warehouse

4

Finisher

5

Customer

RFID

If the point-of-sale record for an item includes an RFID tag, the tag will be moved to a SOLD status indicating it should be out-of-store.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Zones

This section describes the Find Zones API. This API finds RFID zones by location type and identifier.

Method

GET
URL

/rfids/zones
Request Parameters

Table 4-255 Find Zones — Request Parameters

Parameter Required Data Type Description

locationType

NA

integer($int2) (query)

Include only zones with this location type. Valid values are:

1 — Store

2 —Warehouse

Available values : 1, 2

locationId

NA

number($int10) (query)

Include only zones within this locaiton.

Responses

This section describes the responses of the Find Zones API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "zoneId": 11111,
    "locationType": 1,
    "locationId": 5000,
    "externalId": 789012,
    "zoneType": 1,
    "description": "Front Sale Counter"
  }
]
Schema —RfidZoneIdo

Table 4-256 RfidZoneIdo — Object

Element Name Required Data Type/Example Description

zoneId

NA 

number($int15) example: 11111

The unique identifier of the zone.

locationType

 NA

integer($int2) example: 1

The type of location of the zone. Valid values are:

1 - Store

2 - Warehouse

Enum: [ 1, 2 ]

locationId

 NA

number($int10) example: 5000

The unique identifier of the location.

externalId

 NA

number($int15) example: 789012

A unique identifier of the zone in an extrenal system.

zoneType

 NA

integer($int2) example: 1

The zone type. Valid values are:

1 - Shopfloor

2 - Backroom

3 - None

Enum: [ 1, 2, 3 ]

description

 NA

string($text255) example: Front Sale Counter

A description of the RFID scanning zone.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Zone

This section describes the Create Zone API. This API create a new RFID zone.

Method

POST
URL

/rfids/zones
Request Parameters

There are no request parameters.

The request body is application/json.

The details of the new zone.

Example Value

{
  "locationType": 1,
  "locationId": 5000,
  "externalId": 789012,
  "zoneType": 1,
  "description": "Front Sale Counter"
}
Schema — RfidZoneIdo

Table 4-257 RfidZoneCreateIdo — Object

Element Name Required Data Type/Example Description

locationType

Yes

integer($int2) example: 1

The type of location of the zone. Valid values are:

1 - Store

2 - Warehouse

Enum: [ 1, 2 ]

locationId

Yes

number($int10) example: 5000

The unique identifier of the location.

externalId

 NA

number($int15) example: 789012

A unique identifier of the zone in an external system.

zoneType

Yes

integer($int2) example: 1

The zone type. Valid values are:

1 - Shopfloor

2 - Backroom

3 - None

Enum: [ 1, 2, 3 ]

description

 NA

string($text255) example: Front Sale Counter

A description of the RFID scanning zone.

Responses

This section describes the responses of the Create Zone API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "zoneId": 11111,
    "locationType": 1,
    "locationId": 5000,
    "externalId": 789012,
    "zoneType": 1,
    "description": "Front Sale Counter"
  }
]
Schema —RfidZoneIdo

Table 4-258 RfidZoneIdo — Object

Element Name Required Data Type/Example Description

zoneId

NA 

number($int15) example: 11111

The unique identifier of the zone.

locationType

 NA

integer($int2) example: 1

The type of location of the zone. Valid values are:

1 - Store

2 - Warehouse

Enum: [ 1, 2 ]

locationId

 NA

number($int10) example: 5000

The unique identifier of the location.

externalId

 NA

number($int15) example: 789012

A unique identifier of the zone in an extrenal system.

zoneType

 NA

integer($int2) example: 1

The zone type. Valid values are:

1 - Shopfloor

2 - Backroom

3 - None

Enum: [ 1, 2, 3 ]

description

 NA

string($text255) example: Front Sale Counter

A description of the RFID scanning zone.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Zone

This section describes the Update Zone API. This API updates an existing RFID zone.

Method

POST
URL

/rfids/zones/{zoneId}
Request Parameters

Table 4-259 Update Zone — Request Parameters

Parameter Required Data Type Description

zoneId

yes

number($int12) (path)

The unique identifier of the RFID zone.

The request body is application/json.

The details to update about the zone.

Example Value

{
  "externalId": 789012,
  "zoneType": 1,
  "description": "Front Sale Counter"
}
Schema — RfidZoneUpdateIdo

Table 4-260 RfidZoneUpdateIdo — Object

Element Name Required Data Type/Example Description

externalId

NA

number($int15) example: 789012

A unique identifier of the zone in an external system.

zoneType

yes

integer($int2) example: 1

The zone type. Valid values are

1 - Shopfloor

2 - Backroom

3 - None

Enum: [ 1, 2, 3 ]

description

NA

string($text255) example: Front Sale Counter

A description of the RFID scanning zone.

Responses

This section describes the responses of the Update Zone API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Zone

This section describes the Delete Zone API. This API deletes an RFID zone.

Method

DELETE
URL

/rifds/zones/{zoneId}/delete
Request Parameters

Table 4-261 Delete Zone — Request Parameters

Parameter Required Data Type Description

zoneId

yes

number($int12) (path)

The unique identifier of the RFID zone.

Responses

This section describes the responses of the Delete Zone API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Events

This section describes the Import Events API. This API processes up to 1,500 Radio Frequency Identification based events. This processing will update the tag information based on the event as well as the stock on hand positions for the item. Events should be sent in groups of 50-100 at a time for optimal processing speed..

Method

POST
URL

/rfids/events
Request Parameters

There are no request parameters.

The request type is application/json.

Details about the events to import.

Example Value

{
  "events": [
    {
      "locationType": 1,
      "locationId": 5000,
      "itemId": "100637120",
      "epc": "8347492243434",
      "zoneId": 11111,
      "eventType": "OBSERVE",
      "eventDate": "2024-11-12T10:28:01.725Z"
    }
  ]
}
Schema — RfidEventListIdo

Table 4-262 RfidEventListIdo — Object

Element Name Required Data Type/Example Description

events

yes

object

Events

Table 4-263 RfidEventIdo — Object

Element Name Required Data Type/Example Description

locationType

yes

integer($int2) example: 1

The type of location of the zone. Valid values are:

1 - Store

2 - Warehouse

Enum: [ 1, 2 ]

locationId

yes

number($int10) example: 5000

The unique identifier of the location.

itemId

yes

string($text25) example: 100637120

The identifier of the item on the RFID tag.

epc

yes

string($text255) example: 8347492243434

The electronic product code (SGTIN-96) of the RFID tag.

zoneId

NA

number($int15) example: 11111

The unique identifier of the zone the tag is in.

eventType

yes

string($text7) example: OBSERVE

The type of the event. Valid values are:

ADD - Indicates a new tag at the facility

DELETE - Indicates deactivation at a facility

OBSERVE - Indicates tag is present at the facility

eventDate

yes

string($date-time)

The date and time the scan event occurred.

Responses

This section describes the responses of the Import Event API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Security

This service provides an end point for the management of security information within SIOCS.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Scope To Be Used

Security services are protected by the security scope, so to obtain a token use this scope - rgbu:siocs:security-<ENV>.

API Definitions

Table 4-264 Security API Definitions

API

Description

Import Users

Imports a collection of user security information changes and processes them synchronously. This allows up to 2,000 users.

Delete Users

Deletes security information for the specified users within SIOCS.

API: Import Users

Imports a collection of user security information changes and processes them synchronously. This allows up to 2,000 users.

Table 4-265 API Basics

Endpoint URL

/security/import/users

Method

POST

Successful Response

202 Accepted

Processing Type

synchronous

Input

Query parameters

Output

N/A

Max Response

2000

Table 4-266 Input Data Definition

Parameter

Format

Required

Definition

users

array

No

A list of security changes to import. See below:

Security Changes to Import

userName

string(text128)

Yes

The user name of the user.

addedStores

array[Integer](int10)

No

The stores to be added to the user.

removedStores

array[Integer](int10

No

The stores to be removed from the user.

addedRoles

array

No

The roles to be assigned to the user:

roleName — The name of the role, string(text128), required

storeId — The identifier of the store for a specific store assignment, or no value for assignment applying to all allowed stores., BigDecimal(int10), optional

startDate — The date the role assignment should start to be allowed., date-time, optional

endDate — The date the role assignment should stop being allowed., date-time, optional

removedRoles

array

No

The role assignments to be removed from the user:

roleName — The name of the role, string(text128), required

storeId — The identifier of the store for a specific store assignment, or no value for assignment applying to all allowed stores., BigDecimal(int10), optional

Example Input ImportUsers

{
  "users": [
    {
      "userName": "abc",
      "addedStores":[1000, 2000],
      "removedStores":[1001, 2001],
      "addedRoles": [
        {
          "roleName": "role_a",
          "storeId": 3000,
          "endDate": "2032-11-19T23:59:59-05:00"
        },
        {
          "roleName": "role_c",
          "startDate": "2022-11-19T23:59:59-05:00"
        },
        {
          "roleName": "role_e",
        }
      ],
      "removedRoles": [
        {          
          "roleName": "role_c",
          "storeId": 3001
        },
        {          
          "roleName": "role_d"
        }
      ]
    }
  ]
}

Table 4-267 Responses

Code

Description

202

Accepted

400

Bad Request

Example:

[
  {
    "errors": [
      {
        "code": 1,
        "description": "AN_ERROR_TOOK_PLACE",
        "dataElement": "item",
        "dataValue": "1234",
        "referenceElement": "store",
        "referenceValue": "123"
      }
    ]
  }
]

API: Delete Users

Deletes security information for the specified users within SIOCS.

Table 4-268 API Basics

Endpoint URL

/security/users/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Input

Query parameters

Output

N/A

Max Response

Table 4-269 Query Parameter Definitions

Property

Format

Required

Definition

userNames

string(text128)

Yes

A list of user names to delete information for.

Example:

{
  "userNames": [
    "user123",
    "user456"
  ]
}

Table 4-270 Responses

Code

Description

202

Accepted

400

Bad Request

Example:

[
  {
    "errors": [
      {
        "code": 1,
        "description": "AN_ERROR_TOOK_PLACE",
        "dataElement": "item",
        "dataValue": "1234",
        "referenceElement": "store",
        "referenceValue": "123"
      }
    ]
  }
]

REST Service: Shelf Adjustment

A shelf adjustment moves quantities between locations within the store. A shelf adjustment to move to back room will move quantities from the shop floor to the back room. A shelf adjustment to update the shop floor will update the shop floor positions with the adjustment quantity. A shelf adjustment to update the backroom will adjust the back room quantities.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Adjustment

This section describes the Find Adjustment API. This API finds up to 1,500 shelf adjustments headers for the input criteria.

Method

GET
URL

/shelfadjustments
Request Parameters

Table 4-271 Find Adjustment — Request Parameters

Parameter Required Data Type Description

storeId

NA

number($int10) (query)

Include only adjustments for this store.

status

NA

integer($int2) (query)

Include only adjustments with this status. Valid values are:

1 - In Progress

2 - Complete

Available values : 1, 2

type

NA

integer($int2) (query)

Include only adjustments with this type. Valid values are:

1 - Move To Backroom

2 - Update Shopfloor

3 - Update Backroom

Available values : 1, 2, 3

itemId

NA

string($text25) (query)

Include only shelf adjsutments with this item.

userName

NA

string($text128) (query)

Include only shelf adjsutments with this username.

updateDateFrom

NA

string($date-time) (query)

Include only adjustments with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only adjustments with an update date on or before this date.

Responses

This section describes the responses of the Find Adjustment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "userName": "smith123",
    "createDate": "2025-01-03T13:12:18.180Z",
    "updateDate": "2025-01-03T13:12:18.180Z"
  }
]
Schema — ShelfAdjustmentHeaderIdo

Table 4-272 ShelfAdjustmentHeaderIdo— Object

Element Name Required Data Type/Example Description

adjustmentId

 NA

number($int15) example: 11111

The unique identifier of the shelf adjustment.

storeId

 NA

number($int10) example: 5000

The store of the shelf adjustment.

type

 NA

integer($int4) example: 1

The type of shelf adjustment. Valid values are

1 - Move To Backroom

2 - Update Shopfloor

3 - Update Backroom

Enum: [ 1, 2, 3 ]

status

 NA

integer($int4) example: 1

The current status of the shelf adjustment. Valid values are

1 - In Progress

2 - Complete

Enum:

[ 1, 2 ]

userName

NA 

string($text128) example: smith123

The name of the user that last updated the shelf adjustment.

createDate

 NA

string($date-time)

The date the shelf adjustment was created.

updateDate

 NA

string($date-time)

The date the shelf adjustment was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Adjustment

This API creates an in progress shelf adjustment.

Method

POST
URL

/shelfadjustments
Request Parameters

There are no request parameters.

The request body is application/json.

The details of the new shelf adjustment.

Example Value

{
  "storeId": 5000,
  "type": 1,
  "lineItems": true
}
Schema — ShelfAdjustmentCreateIdo

Table 4-273 ShelfAdjustmentCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The store of the shelf adjustment.

type

Yes

integer($int4) example: 1

The type of shelf adjustment. Valid values are:

1 - Move To Backroom

2 - Update Shopfloor

3 - Update Backroom

Enum: [ 1, 2, 3 ]

lineItems

Yes

object

A collection of line items on the shelf adjustment.

Table 4-274 ShelfAdjustmentCreateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantity

Yes

number($decimal(12,4)) example: 20

The quantity to adjust.

Responses

This section describes the responses of the Create Adjustment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1
  }
]
Schema — ShelfAdjustmentStatusIdo

Table 4-275 ShelfAdjustmentStatusIdo — Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int15) example: 11111

The unique identifier of the shelf adjustment.

storeId

NA

number($int10) example: 5000

The store of the shelf adjustment.

type

NA

integer($int4) example: 1

The type of shelf adjustment. Valid values are:

1 - Move To Backroom

2 - Update Shopfloor

3 - Update Backroom

Enum: [ 1, 2, 3 ]

status

 

integer($int4) example: 1

The current status of the shelf adjustment. Valid values are:

1 - In Progress

2 – Complete

Enum: [ 1, 2 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Adjustment

This API retrieves all the details about a shelf adjustment.

Method

GET
URL

/shelfadjustments/{adjustmentId}
Request Parameters

Table 4-276 Read Adjustment— Request Parameters

Parameter Required Data Type Description

adjustmentId

Yes

number ($int15)

(path)

The unique identifier of the shelf adjustment.

Responses

This section describes the responses of the Read Adjustment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "userName": "smith123",
    "createDate": "2025-01-08T11:10:30.977Z",
    "updateDate": "2025-01-08T11:10:30.977Z",
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "caseSize": 1,
        "quantity": 20
      }
    ]
  }
]
Schema — ShelfAdjustmentStatusIdo

Table 4-277 ShelfAdjustmentStatusIdo — Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int15) example: 11111

The unique identifier of the shelf adjustment.

storeId

NA

number($int10) example: 5000

The store of the shelf adjustment.

type

NA

integer($int4) example: 1

The type of shelf adjustment. Valid values are:

1 - Move To Backroom

2 - Update Shopfloor

3 - Update Backroom

Enum: [ 1, 2, 3 ]

status

 

integer($int4) example: 1

The current status of the shelf adjustment. Valid values are:

1 - In Progress

2 – Complete

Enum: [ 1, 2 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Adjustment

This section describes the Update Adjustment API. This API updates an active shelf adjustment.

Method

POST
URL

/shelfadjustments/{adjustmentId}
Request Parameters

Table 4-278 Update Adjustment— Request Parameters

Parameter Required Data Type Description

adjustmentId

yes

integer($int15)

(path)

The unique identifier of the shelf adjustment.

The request body is application/json.

Shelf adjustment details to update.

Responses

This section describes the responses of the Update Adjustment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Adjustment

This section describes the Confirm Adjustment API. This API confirms a shelf adjustment updating the appropriate quantities of inventory position depending on the type of shelf adjustment.

Method

POST
URL

/shelfadjustments/{adjustmentId}/confirm
Request Parameters

Table 4-279 Confirm Adjustment — Request Parameters

Parameter Required Data Type Description

adjustmentId

yes

integer($int12)

(path)

The unique identifier of the shelf adjustment.

Responses

This section describes the responses of the Confirm Adjustment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Adjustment

This section describes the Delete AdjustmentAPI. This API deletes a shelf adjustment.

Method

POST
URL

/shelfadjustments/{adjustmentId}/delete
Request Parameters

Table 4-280 Delete Adjustment — Request Parameters

Parameter Required Data Type Description

adjustmentId

yes

integer($int12)

(path)

The unique identifier of the shelf adjustment.

Responses

This section describes the responses of the Delete Adjustment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Shelf Replenishment

The replenishment process attempts to ensure that the shop floor inventory is set at a level best suited for enticing customers to buy a product and to prevent empty shelves. Shelf replenishment functionality within the mobile application is related to the movement of goods from the back room to the shop floor and shop floor to back room. For example, when a certain soda quantity is low, you can initiate a replenishment process so that more of the soda is moved from the back room. Similarly, if there is excess stock on the shop floor, the mobile application supports processes to move inventory to the back room. Some of the processes require capacity setup and some form of plan-o-gram sequenced data, while others do not. See user's guide for additional information. This service provides the ability to manage shelf replenishment through public interfaces.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Replenishment

This section describes the Find Replenishment API. This API finds up to 10,000 shelf replenishment headers for the input criteria.

Method

GET
URL

/shelfreplenishments
Request Parameters

Table 4-281 Find Replenishment — Request Parameters

Parameter Required Data Type Description

storeId

NA 

number($int10) (query)

Include only replenishments with this store identifier.

type

NA 

integer($int2) (query)

Include only replenishments with this type. Valid values are:

1 - Capacity

2 - Display

3 - Gap

4 - Sales

Available values : 1, 2, 3, 4

status

 NA

integer($int2) (query)

Include only replenishments with this status. Valid values are:

1 - New

2 - In Progress

3 - Complete

4 - Canceled

Available values : 1, 2, 3, 4

mode

NA 

integer($int2) (query)

Include only replenishments with this mode. Valid values are:

1 - End of Day

2 - Within Day

Available values : 1, 2

productGroupId

 NA

number($int12) (query)

Include only replenishments with this product group.

departmentId

NA 

number($int15) (query)

Include only replenishments with this department.

replenishmentGapId

NA 

number($int15) (query)

Include only replenishments with this replenishment gap.

statusDateFrom

 NA

string($date-time) (query)

Include only replenishments with a status date on or after this date.

statusDateTo

 NA

string($date-time) (query)

Include only replenishments with a status date on or before this date.

createDateFrom

 NA

string($date-time) (query)

Include only replenishments with an create date on or after this date.

createDateTo

 NA

string($date-time) (query)

Include only replenishments with an create date on or before this date.

itemId

NA 

string($text25) (query)

Include only shelf replenishments with this item.

Responses

This section describes the responses of the Find Replenishment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "replenishmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "statusDate": "2025-01-03T10:08:47.605Z",
    "mode": 1,
    "createUser": "smith123",
    "createDate": "2025-01-03T10:08:47.605Z"
  }
]
Schema — ShelfReplenishmentHeaderIdo

Table 4-282 ShelfReplenishmentHeaderdo— Object

Element Name Required Data Type/Example Description

replenishmentId

NA 

number($int15) example: 11111

The unique identifier of the shelf replenishment.

storeId

NA 

number($int10) example: 5000

The store of the shelf replenishment.

type

NA 

integer($int4) example: 1

The type of shelf replenishment. Valid values are:

1 - Capacity

2 - Display

3 - Gap

4 - Sales

Enum: [ 1, 2, 3, 4 ]

status

NA 

integer($int4) example: 1

The current status of the shelf replenishment. Valid values are:

1 - New

2 - In Progress

3 - Complete

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

statusDate

NA 

string($date-time)

string($date-time) The date the last time the status of the shelf replenishment was altered.

mode

NA 

integer($int4) example: 1

The current status of the shelf replenishment. Valid values are:

1 - End of Day

2 - Within Day

Enum: [ 1, 2 ]

createUser

NA 

string($text128) example: smith123

The name of the user that created the shelf replenishment.

createDate

NA 

string($date-time)

The date the shelf replenishment was created.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Replenishment

This API creates an in progress shelf replenishment.

Method

POST
URL

/shelfreplenishments
Request Parameters

There are no request parameters.

The request body is application/json.

The details of the new shelf replenishment..

Example Value

{
  "storeId": 5000,
  "type": 1,
  "checkAvailableStockOnHand": true,
  "productGroupId": 5683232,
  "replenishmentGapId": 5834134,
  "departmentId": 1000,
  "classId": 2000,
  "subclassId": 3000,
  "mode": 1
}
Schema — ShelfReplenishmentCreateIdo

Table 4-283 ShelfReplenishmentCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The store of the shelf adjustment.

type

Yes

integer($int4) example: 1

The type of shelf replenishment. Valid values are:

1 - Capacity

2 - Display

3 - Gap

4 - Sales

Enum: [ 1, 2, 3, 4 ]

checkAvailableStockOnHand

NA

boolean example: true

True indicates that items with no available stock will not be placed on the replenishment list. If false, they will be included.

productGroupId

NA

number($int12) example: 5683232

The identifier of an associated product group.

replenishmentGapId

NA

number($int15) example: 5834134

The identifier of an associated replenishment gap.

departmentId

NA

number($int12) example: 1000

The identifier of a department.

classId

NA

number($int12) example: 2000

The identifier of a class within the department.

subclassId

NA

number($int12) example: 3000

The identifier of a subclass within the class.

mode

NA

integer($int4) example: 1

The mode of the shelf replenishment. Valid values are:

1 - End of Day

2 - Within Day

Enum: [ 1, 2 ]

Responses

This section describes the responses of the Import Allocation API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "replenishmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1
  }
]
Schema — ShelfReplenishmentStatusIdo

Table 4-284 ShelfReplenishmentStatusIdo — Object

Element Name Required Data Type/Example Description

replenishmentId

NA

number($int15) example: 11111

The unique identifier of the shelf replenishment.

storeId

NA

number($int10) example: 5000

The store of the shelf adjustment.

type

NA

integer($int4) example: 1

The type of shelf replenishment. Valid values are:

1 - Capacity

2 - Display

3 - Gap

4 - Sales

Enum: [ 1, 2, 3, 4 ]

status

NA

integer($int4) example: 1

The current status of the shelf replenishment. Valid values are:

1 - New

2 - In Progress

3 - Complete

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Replenishment

This API retrieves all the details about a shelf replenishment.

Method

GET
URL

/shelfreplenishments/{replenishmentId}
Request Parameters

Table 4-285 Read Replenishment— Request Parameters

Parameter Required Data Type Description

replenishmentId

Yes

number ($int15)

(path)

The unique identifier of the shelf replenishment.

Responses

This section describes the responses of the Read Replenishment API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "replenishmentId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "statusDate": "2025-01-03T11:46:50.199Z",
    "mode": 1,
    "productGroupId": 5683232,
    "departmentId": 1000,
    "classId": 2000,
    "subclassId": 3000,
    "replenishmentGapId": 5834134,
    "transactionEventId": 23894134,
    "transactionEventDescription": "Flash Sale",
    "createUser": "smith123",
    "createDate": "2025-01-03T11:46:50.199Z",
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "200167123",
        "pickFromArea": 1,
        "pickFromRequest": 20,
        "pickAount": 10,
        "caseSize": 1,
        "unitOfMeasure": "LBS",
        "substituteLineId": 3243
      }
    ]
  }
]
Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Replenishment

This section describes the Update Replenishment API. This API updates an active shelf replenishment.

Method

POST
URL

/shelfreplenishments/{replenishmentId}
Request Parameters

Table 4-286 Update Replenishment — Request Parameters

Parameter Required Data Type Description

replenishmentId

yes

integer($int15)

(path)

The unique identifier of the shelf replenishment.

The request body is application/json.

Shelf replenishment details to update.

Responses

This section describes the responses of the Update Replenishment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Replenishment

This section describes the Confirm Replenishment API. This API confirms a shelf replenishment moving the inventory.

Method

POST
URL

/shelfreplenishments/{replenishmentId}/confirm
Request Parameters

Table 4-287 Confirm Replenishment — Request Parameters

Parameter Required Data Type Description

replenishmentId

yes

integer($int15)

(path)

The unique identifier of the shelf replenishment.

Responses

This section describes the responses of the Confirm Replenishment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Replenishment

This section describes the Cancel Replenishment API. This API cancels a shelf replenishment.

Method

POST
URL

/shelfreplenishments/{replenishmentId}/cancel
Request Parameters

Table 4-288 Cancel Replenishment — Request Parameters

Parameter Required Data Type Description

replenishmentId

yes

integer($int15)

(path)

The unique identifier of the shelf replenishment.

Responses

This section describes the responses of the Cancel Replenishment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Shelf Replenishment Gap

The gap scanning method is the easiest method of all the various types of shelf replenishment. With this method, you scan the goods that need replenishment and a replenishment list is created from the units scanned. The system uses this replenishment list to move the goods from the back room to the shop floor based on back room availability. The reason to have a separate process between scanning and generating is that one user can create a list and another user can execute the shelf replenishment allowing for distribution of workload. Since this process does not have a dependency with either sales or capacity, it gives an advantage to the retailer to move goods without any complex setup.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Gap

This section describes the Find Gap API. This API finds up to 10,000 replenishment gap summary headers for the input criteria.

Method

GET
URL

/replenishgaps
Request Parameters

Table 4-289 Find Gap — Request Parameters

Parameter Required Data Type Description

storeId

NA

number($int10) (query)

Include only replenishment gaps for this store.

status

NA

integer($int2) (query)

Include only replenishment gaps with this status. Valid values are:

1 - In Progress

2 - Complete

Available values : 1, 2

type

NA

integer($int2) (query)

Include only replenishment gaps with this type. Valid values are:

1 - Display Scan

2 - Gap Scan Backroom

Available values : 1, 2

itemId

NA

string($text25) (query)

Include only replenishment gaps with this item.

updateDateFrom

NA

string($date-time) (query)

Include only replenishment gaps with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only replenishment gaps with an update date on or before this date.

Responses

This section describes the responses of the Find Gap API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "gapId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "userName": "smith123",
    "createDate": "2024-11-12T11:27:17.130Z",
    "updateDate": "2024-11-12T11:27:17.130Z"
  }
]
Schema — ShelfReplenishmentGapHearderIdo

Table 4-290 ShelfReplenishmentGapHearderIdo — Object

Element Name Required Data Type/Example Description

gapId

NA

number($int15) example: 11111

The unique identifier of the replenishment gap.

storeId

NA

number($int10) example: 5000

The store identifier of the replenishment gap.

type

NA

integer($int4) example: 1

The type of replenishment gap. Valid values are:

1 - Display Scan

2 - Gap Scan

Enum: [ 1, 2 ]

Enum: [ 1, 2 ]

status

NA

integer($int4) example: 1

The current status of the replenishment gap. Valid values are:

1 - In Progress

2 - Complete

userName

NA

string($text128) example: smith123

The name of the user that last updated the replenishment gap.

createDate

NA

string($date-time)

The date the replenishment gap was created.

updateDate

NA

string($date-time)

The date the replenishment gap was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Gap

This section describes the Create Gap API. This API creates an in progress shelf replenishment gap.

Method

POST
URL

/replenishgaps
Request Parameters

There are no request parameters.

The request body is application/json.

The details of the new shelf replenishment gap.

Example Value

{
  "storeId": 5000,
  "type": 1,
  "lineItems": [
    {
      "itemId": "11111",
      "caseSize": 1,
      "suggestedQuantity": 20
    }
  ]
}
Schema — ShelfReplenishmentGapCreateIdo

Table 4-291 ShelfReplenishmentGapCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

yes

number($int10) example: 5000

The store of the replenishment gap.

type

yes

integer($int4) example: 1

The type of replenishment gap. Valid values are:

1 - Display Scan

2 - Gap Scan

Enum: [ 1, 2 ]

lineItems

yes

object

A collection of line items on the shelf replenishment gap.

Table 4-292 ShelfReplenishmentGapCreateItemIdo — Object

itemId

yes

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

suggestedQuantity

yes

number($decimal(20,4)) example: 20

The quantity suggested to repelnish for the item.

Responses

This section describes the responses of the Create Gap API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "gapId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1
  }
]
Schema — ShelfReplenishmentGapStatusIdo

Table 4-293 ShelfReplenishmentGapStatusIdo — Object

Element Name Required Data Type/Example Description

gapId

NA

number($int15) example: 11111

The unique identifier of the replenishment gap.

storeId

NA

number($int10) example: 5000

The store of the replenishment gap.

type

NA

integer($int4) example: 1

The type of replenishment gap. Valid values are:

1 - Display Scan

2 - Gap Scan

Enum: [ 1, 2 ]

status

NA

integer($int4) example: 1

The current status of the replenishment gap. Valid values are:

1 - In Progress

2 - Complete

Enum: [ 1, 2 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Gap

This section describes the Read Gap API. This API retrieves all the details about a shelf replenishment gap.

Method

GET
URL

/replenishgaps/{gapId}
Request Parameters

Table 4-294 Read Gap — Request Parameters

Parameter Required Data Type Description

gapId

yes

number($int15) (path)

The unique identifier of the replenishment gap.

Responses

This section describes the responses of the Read Gap API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "gapId": 11111,
    "storeId": 5000,
    "type": 1,
    "status": 1,
    "userName": "smith123",
    "createDate": "2024-11-14T13:43:09.417Z",
    "updateDate": "2024-11-14T13:43:09.417Z",
    "lineItems": [
      {
        "lineId": 11111,
        "itemId": "11111",
        "caseSize": 1,
        "suggestedQuantity": 20
      }
    ]
  }
]
Schema — ShelfReplenishmentGapIdo

Table 4-295 ShelfReplenishmentGapIdo — Object

Element Name Required Data Type/Example Description

gapId

NA

number($int15) example: 11111

The unique identifier of the replenishment gap.

storeId

NA

number($int10) example: 5000

The store of the replenishment gap.

type

NA

integer($int4) example: 1

The type of replenishment gap. Valid values are:

1 - Display Scan

2 - Gap Scan

Enum: [ 1, 2 ]

status

NA

integer($int4) example: 1

The current status of the replenishment gap. Valid values are:

2 - Complete

1 - In Progress

Enum: [ 1, 2 ]

userName

NA

string($text128) example: smith123

The name of the user that last updated the replenishment gap.

createDate

NA

string($date-time)

The date the replenishment gap was created.

updateDate

NA

string($date-time)

The date the replenishment gap was last updated.

lineItems

NA

object

A collection of line items on the replenishment gap.

Table 4-296 ShelfReplenishmentGapLineItemIdo — Object

lineId

NA

number($int15) example: 11111

The unique identifier of the line item record.

itemId

NA

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

suggestedQuantity

NA

number($decimal(20,4)) example: 20

The quantity suggested to replenish for the item.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Gap

This section describes the Update Gap API. This API updates an active shelf replenishment gap.

Method

POST
URL

/replenishgaps/{gapId}
Request Parameters

Table 4-297 Update Gap — Request Parameters

Parameter Required Data Type Description

gapId

yes

number($int15) (path)

The unique identifier of the shelf replenishment gap.

The request body is application/json.

Shelf replenishment gap details to update.

Example Value

{
  "lineItems": true
}
Schema — ShelfReplenishmentGapUpdateIdo

Table 4-298 ShelfReplenishmentGapUpdateIdo — Object

Element Name Required Data Type/Example Description

lineItems

yes

object

A collection of line items on the shelf replenishment gap.

Table 4-299 ShelfReplenishmentGapUpdateItemIdo — Object

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

suggestedQuantity

Yes

number($decimal(20,4)) example: 20

The quantity suggested for the item. Setting the quantity to zero will remove the line item.

Responses

This section describes the responses of the Update Gap API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Gap

This section describes the Delete Gap API. This API deletes a shelf replenishment gap.

Method

POST
URL

/replenishgaps/{gapId}/delete
Request Parameters

Table 4-300 Delete Gap — Request Parameters

Parameter Required Data Type Description

GapId

yes

number($int15) (path)

The unique identifier of the shelf replenishment gap.

Responses

This section describes the responses of the Delete Gap API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Shipping

This service integrates various shipping support information with an external application. This is primarily various lookups of shipping data such as carriers and package sizes to use within shipping transactions.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/shipping

APIs

Table 4-301 APIs

API

Description

findCarriers

Finds all the carriers available for shipping.

findCarrierServices

Finds all the carrier services available for shipping.

findCartonSizes

Finds the available sizes of cartons for shipping.

findWeightUoms

Finds all the various units of measurement of the carton measurements.

findMotives

Finds all the motives available for a shipping type.

API: findCarriers

This API is used to find all the carriers available for shipping.

Table 4-302 API Basics

Endpoint URL

/carriers

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Output

Collection of carriers

Table 4-303 Output Data Definition

Attribute

Type

Definition

carrierId

Long(10)

The unique identifier of the carrier.

code

String(4)

A unique character code for the carrier.

description

String(128)

A description or name of the carrier.

manifestType

Integer(1)

The carrier delivery manifest type (see Additional Data Definitions)

API: findCarrierServices

This API is used to find all the carrier services available for shipping.

Table 4-304 API Basics

Endpoint URL

/carrierservices

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Output

Collection of carriers

Table 4-305 Output Data Definition

Attribute

Type

Definition

carrierServiceId

Long(10)

The unique identifier of the carrier service.

code

String(6)

A unique character code for the carrier service.

description

String(128)

A description or name of the carrier service.

averageDeliveryDays

Integer(4)

The average number of days it takes to deliver using this service.

carrierId

Long(10)

The unique identifier of the carrier this service is used with.

defaultService

Boolean

True is this is the default service type for the carrier, false otherwise.

weightRequired

Boolean

True is weight is required for this carrier service, false otherwise.

cartonSizeRequired

Boolean

True if dimensions/size is required for this carrier service, false otherwise.

API: findCartonSizes

This API is used to find all the carton services available for shipping at the particular store.

Table 4-306 API Basics

Endpoint URL

/cartonsizes/{storeId}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The store identifier of the store to retrieve carton sizes for.

Output

Collection of carton sizes

Table 4-307 Output Data Definition

Attribute

Type

Definition

cartonSizeId

Long(12)

A unique identifier of this particular carton size definition.

storeId

Long(10)

The store identifier the carton size is used at.

description

String(120)

A description of the carton size.

height

BigDecimal(12,4)

The height of the carton in units of measure.

width

BigDecimal(12,4)

The width of the carton in units of measure.

length

BigDecimal(12,4)

The length of the carton in units of measure.

unitOfMeasure

String(4)

The unit of measure of the height, width, and length.

API: findWeightUoms

This API is used to find all the weight unit of measures available for shipping.

Table 4-308 API Basics

Endpoint URL

/weightuoms

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Output

Collection of shipping weight units of measure

Attribute

Type

Definition

uom

String(4)

The unit of measure

description

String(120)

The unit of measure description

API: findMotives

This API is used to find all the motives available for a shipping type. See index for available shipment types.

Table 4-309 API Basics

Endpoint URL

/motives/(shipmentType}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The shipment type to retrieve motives for (see Additional Data Definitions)

Output

Collection of carton sizes

Table 4-310 Output Data Definition

Attribute

Type

Definition

id

Long(18)

The unique identifier of the shipping motive

code

String(6)

The external code of the shipping motive

description

String(120)

A description of the motive

sequence

Long

The sequence in which the motive should appear in a list

Index

ID

Description

1

Parcel

2

Home Fleet

3

Other

ID

Description

1

Fulfillment Order

2

Store Transfer

3

Vendor Return

REST Service: Stock Count

Stock Counts allow the user to count the inventory in the store, determine discrepancy of items, and authorize new inventory positions triggering adjustments to bring the inventory into alignment. There are four main types of stock counts: ad hoc, unit, problem line, and unit-amount. Ad Hoc stock counts are not schedule, but rather performed at random times when a user decides to correct inventory. Unit stock counts must be secheduled. They can be scheduled and executed the same day. A problem line stock count features items that have inventory positions issues, such as having negative inventory. A problem line is also scheduled and follow the same overall workflows as unit counts. Unit and amount counts must be scheduled for a single specific date. These stock counts must be scheduled at least one day ahead of time. When the count is scheduled, it is sent to the merchandising system so that it can also create a corresponding stock count. The service defines operations to manage stock count information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Stock Counts

This section describes the Find Stock Counts API. This API finds up to 1,000 stock counts matching the input criteria.

Method

GET
URL

/stockcounts
Request Parameters

Table 4-311 Find Stock Counts — Request Parameters

Parameter Required Data Type Description

storeId

NA

integer($int10) (query)

Include only stock counts for this store.

scheduleDate

NA

string($date-time) (query)

Include only stock counts that are scheduled to be executed on this date.

phase

NA

integer($int4) (query)

Include only stock counts in this phase. Valid values are:

1 - Count

2 - Recount

3 - Authorize

4 - Future

Available values : 1, 2, 3, 4

status

NA

integer($int4) (query)

Include only stock counts in this status. Valid values are:

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Recount Scheduled

6 - Recount In Progress

7 - Recount Complete

 8 - Approval Scheduled

9 - Approval In Progress

10 - Approval Processing

11 - Approval Authorized

12 - Approval Complete

13 - Canceled

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

departmentId

NA

number($int12) (query)

Include only stock counts associated to this department.

classId

NA

number($int12) (query)

Include only stock counts associated to this class. A department is required if this attribute is used.

subclassId

NA

number($int12) (query)

Include only stock counts associated to this subclass. A class is required if this attribute is used.

Responses

This section describes the responses of the Find Stock Counts API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "stockCountId": 11111,
    "storeId": 5000,
    "description": "Weekly Department Count",
    "productGroupId": 966400,
    "productGroupDescription": "Clothing Department",
    "productGroupScheduleId": 966400,
    "type": 1,
    "status": 1,
    "phase": 1,
    "scheduleDate": "2025-01-16T13:19:10.243Z",
    "startDateTime": "2025-01-16T13:19:10.243Z",
    "updateDateTime": "2025-01-16T13:19:10.243Z",
    "totalItemCount": 2000,
    "totalLeftToCount": 950
  }
]
Schema — StockCountHeaderIdo

Table 4-312 StockCountHeaderIdo— Object

Element Name Required Data Type/Example Description

stockCountId

NA

number($int12) example: 11111

The unique identifier of the stock count.

storeId

NA

number($int10) example: 5000

The identifier of the store.

description

NA

string($text255) example: Weekly Department Count

A description of the stock count.

productGroupId

NA

number($int12) example: 966400

The identifier of the product group

productGroupDescription

NA

string($text100) example: Clothing Department

The description of the product group.

productGroupScheduleId

NA

number($int12) example: 966400

The identifier of the product group schedule.

type

NA

integer($int4) example: 1

The type of the stock count. Valid values are:

1 - Unit

2 - Unit and Amount

3 - Problem Line

4 - Adhoc

Enum: [ 1, 2, 3, 4 ]

status

NA

integer($int4) example: 1

The current status of the stock count. Valid values are:

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Recount Scheduled

6 - Recount In Progress

7 - Recount Complete

8 - Approval Scheduled

9 - Approval In Progress

10 - Approval Processing

11 - Approval Authorized

12 - Approval Complete

13 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ]

phase

NA

integer($int4) example: 1

The current phase of the stock count. Valid values are:

1 - Count

2 - Recount

3 - Authorize

4 - Future

Enum: [ 1, 2, 3, 4

scheduleDate

NA

string($date-time)

The date the stock count is scheduled to be executed on.

startDateTime

NA

string($date-time)

The time stamp when the stock count was started.

updateDateTime

NA

string($date-time)

The time stamp when the stock count was last updated.

totalItemCount

NA

number($int12) example: 2000

The total number of items on the stock count.

totalLeftToCount

NA

number($int12) example: 950

The total number of items left to count.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Stock Count

This section describes the Read Stock Count API. This API reads information about a stock count. It includes the information for the stock count header as well as the header information for each stock count child. It does not include the item detail. To retrieve detailed information, the stock count child must be read individually.

Method

GET
URL

/stockcounts/{stockCountId}
Request Parameters

Table 4-313 Read Stock Count — Request Parameters

Parameter Required Data Type Description

stockCountId

Yes

number($int12) (path)

The stock count identifier.

Responses

This section describes the responses of the Read Stock Count API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "stockCountId": 11111,
    "storeId": 5000,
    "description": "Weekly Department Count",
    "productGroupId": 966400,
    "productGroupDescription": "Clothing Department",
    "productGroupScheduleId": 966400,
    "type": 1,
    "status": 1,
    "phase": 1,
    "scheduleDate": "2025-01-16T13:48:59.866Z",
    "startDateTime": "2025-01-16T13:48:59.866Z",
    "updateDateTime": "2025-01-16T13:48:59.866Z",
    "exportUser": "smith123",
    "totalItemCount": 2000,
    "totalLeftToCount": 950,
    "stockCountTimeframe": 1,
    "varianceCount": 5,
    "variancePercent": 2.5,
    "varianceValue": 2.5,
    "countingMethod": 1,
    "breakdownType": 1,
    "recountRequired": true,
    "autoAuthorize": false,
    "includeAllItems": true,
    "includeActiveItems": false,
    "includeDiscontinuedItems": true,
    "includeDeletedItems": true,
    "includeSohZero": false,
    "includeSohPositive": true,
    "includeSohNegative": false,
    "problemLinePickLessSuggested": true,
    "problemLineReplenishLessSuggested": true,
    "problemLineReplenishNegativeAvailable": false,
    "problemLineReplenishDiscrepantUin": true,
    "adhocItemLock": false,
    "childCounts": [
      {
        "childCountId": 1223465,
        "locationId": "738429",
        "locationArea": 45,
        "description": "Frozen Foods",
        "breakdownDescription": "123 - Pies",
        "phase": 1,
        "status": 1,
        "countUser": "smith123",
        "recountUser": "smith123",
        "authorizeUser": "jones123",
        "totalItemCount": 2000,
        "totalLeftToCount": 950,
        "countSnapshotDate": "2025-01-16T13:48:59.866Z",
        "recountSnapshotDate": "2025-01-16T13:48:59.866Z",
        "authorizedDate": "2025-01-16T13:48:59.866Z"
      }
    ]
  }
]
Schema — StockCountIdo

Table 4-314 StockCountIdo— Object

Element Name Required Data Type/Example Description

stockCountId

NA

number($int12) example: 11111

The unique identifier of the stock count.

storeId

NA

number($int10) example: 5000

The identifier of the store.

description

NA

string($text255) example: Weekly Department Count

A description of the stock count.

productGroupId

NA

number($int12) example: 966400

The identifier of the product group.

productGroupDescription

NA

string($text100) example: Clothing Department

The description of the product group.

productGroupScheduleId

NA

number($int12) example: 966400

The identifier of the product group schedule.

type

NA

integer($int4) example: 1

The type of the stock count. Valid values are:

1 - Unit

2 - Unit and Amount

3 - Problem Line

4 - Adhoc

Enum: [ 1, 2, 3, 4 ]

status

NA

integer($int4) example: 1

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Recount Scheduled

6 - Recount In Progress

7 - Recount Complete

8 - Approval Scheduled

9 - Approval In Progress

10 - Approval Processing

11 - Approval Authorized

12 - Approval Complete

13 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ]

phase

NA

integer($int4) example: 1

1 - Count

2 - Recount

3 - Authorize

4 - Future

Enum: [ 1, 2, 3, 4 ]

scheduleDate

NA

string($date-time)

The date the stock count is scheduled to be executed on.

startDateTime

NA

string($date-time)

The time stamp when the stock count was started.

updateDateTime

NA

string($date-time)

The time stamp when the stock count was last updated.

exportUser

NA

string($text128) example: smith12

The user that exported the stock count.

totalItemCount

NA

number($int12) example: 2000

The total number of items on the stock count.

totalLeftToCount

NA

number($int12) example: 950

The total number of items left to count.

stockCountTimeframe

NA

integer($int1) example: 1

1 - Before Store Open

2 - After Store Closed

3 - None

Enum: [ 1, 2, 3 ]

varianceCount

NA

number($int12) example: 5

The amount in standard unit of measure that the count can vary before being considered discrepant.

variancePercent

NA

number($decimal(12,4)) example: 2.5

The percent in standard unit of measure that the count can vary before being considered discrepant.

varianceValue

NA

number($decimal(12,4)) example: 2.5

The value variance allowed before the count is considered discrepant.

countingMethod

NA

integer($int2) example: 1

1 - Guided

2 - Unguided

3 - Third Party

4 - Auto

Enum: [ 1, 2, 3, 4 ]

breakdownType

NA

integer($int2) example: 1

1 - Department

2 - Class

3 - Subclass

4 - Location

5 - None

Enum: [ 1, 2, 3, 4, 5 ]

recountRequired

NA

boolean example: true

True indicates stock count should be recounted.

autoAuthorize

NA

boolean example: false

True indicates stock count should automatically authorize after count.

includeAllItems

NA

boolean example: true

True indicates stock count should include all items.

includeActiveItems

NA

boolean example: false

True indicates stock count should include active items.

includeDiscontinuedItems

NA

boolean example: true

True indicates stock count should include inactive items.

includeDeletedItems

NA

boolean example: true

True indicates stock count should include deleted items.

includeSohZero

NA

boolean example: false

True indicates stock count should include zero stock on hand items.

includeSohPositive

NA

boolean example: true

True indicates stock count should include positive stock on hand items.

includeSohNegative

NA

boolean example: false

True indicates stock count should include negative stock on hand items.

problemLinePickLessSuggested

NA

boolean example: true

True indicates stock count should include pick lists less than suggested amounts.

problemLineReplenishLessSuggested

NA

boolean example: true

True indicates stock count should include shelf replenishments that are less than the suggested amount.

problemLineReplenishNegativeAvailable

NA

boolean example: false

True indicates stock count should include items with negative available quantities.

problemLineReplenishDiscrepantUin

NA

boolean example: true

True indicates stock count should include UIN discrepancies.

adhocItemLock

NA

boolean example: false

True indicates an ad-hoc count is locked and new items can no longer be added.

childCounts

NA

object

A list of child stock counts that organize the items for counting.

Table 4-315 StockCounChildHeadertIdo— Object

Element Name Required Data Type/Example Description

childCountId

NA

number($int12) example: 1223465

The unique identifier of the stock count child.

locationId

NA

string($text128) example: 738429

The unique identifier of the sequence location being counted.

locationArea

NA

integer($int9) example: 45

An area number associated with the location.

description

NA

string($text1000) example: Frozen Foods

The description of the stock count location.

breakdownDescription

NA

string($text30) example: 123 – Pies

The description of a breakdown sub-location within the stock count location.

phase

NA

integer($int4) example: 1

1 - Count

2 - Recount

3 - Authorize

4 - Future

Enum: [ 1, 2, 3, 4 ]

status

NA

integer($int4) example: 1

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Recount Scheduled

6 - Recount In Progress

7 - Recount Complete

8 - Approval Scheduled

9 - Approval In Progress

10 - Approval Processing

11 - Approval Authorized

12 - Approval Complete

13 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ]

countUser

NA

string($text128) example: smith123

The user that performed the count in this location.

recountUser

NA

string($text128) example: smith123

The user that performed the recount in this location.

authorizeUser

NA

string($text128) example: jones123

The user that performed the authorization in this location.

totalItemCount

NA

number($int12) example: 2000

The total number of items in the location.

totalLeftToCount

NA

number($int12) example: 950

The items remaining to be counted in the location.

countSnapshotDate

NA

string($date-time)

The time stamp when this child had its count snapshot taken.

recountSnapshotDate

NA

string($date-time)

The time stamp when this child had its recount snapshot taken.

authorizedDate

NA

string($date-time)

The time stamp when this child was authorized.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Snapshot Stock Count

Snapshots a stock count capturing the current stock on hand quantity as a snapshot quantity for each item on the count. The process of doing a snapshot first determines whether or not the stock count needs a snapshot and only snapshots a stock count or stock count childs that need a snapshot. However, if the stock count or stock count child does not need a snapshot, the service is still considered successful as the snapshot exists.

Method

POST
URL

/stockcounts/{stockCountId}/snapshot
Request Parameters

Table 4-316 Snapshot Stock Count — Request Parameters

Parameter Required Data Type Description

stockCountId

Yes

number($int12) (path)

The stock count identifier.

Responses

This section describes the responses of the Snapshot Stock Count API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Stock Count

This section describes the Cancel Stock Count API. This API cancels a stock count if it has not begun approval processing. If a unit and amount stock count is canceled, it will notify merchandising of the cancellation.

Method

POST
URL

/stockcounts/{stockCountId}/cancel
Request Parameters

Table 4-317 Cancel Stock Count — Request Parameters

Parameter Required Data Type Description

stockCountId

Yes

number($int12) (path)

The stock count identifier.

Responses

This section describes the responses of the Cancel Stock Count API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Stock Count Child

This section describes the Read Stock Count Child API. This API reads information about a stock count child, including all its items.

Method

GET
URL

/stockcounts/childs/{stockCountChildId}
Request Parameters

Table 4-318 Read Stock Count Child — Request Parameters

Parameter Required Data Type Description

stockCountChildId

Yes

number($int12) (path)

The stock count child identifier.

Responses

This section describes the responses of the Read Stock Count Child API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "childCountId": 1223465,
    "locationId": "738429",
    "locationArea": 45,
    "description": "Frozen Foods",
    "breakdownDescription": "123 - Pies",
    "phase": 1,
    "status": 1,
    "countUser": "smith123",
    "recountUser": "smith123",
    "authorizeUser": "jones123",
    "totalItemCount": 2000,
    "totalLeftToCount": 950,
    "countSnapshotDate": "2025-01-16T14:34:40.120Z",
    "recountSnapshotDate": "2025-01-16T14:34:40.120Z",
    "authorizedDate": "2025-01-16T14:34:40.120Z",
    "lineItems": [
      {
        "lineId": 1223465,
        "itemId": "20045673",
        "departmentId": 2000,
        "classId": 3000,
        "subclassId": 4000,
        "primaryLocation": true,
        "multiLocated": false,
        "discrepant": true,
        "breakableComponent": false,
        "countSnapshot": 100,
        "recountSnapshot": 110,
        "quantityCounted": 99,
        "quantityRecounted": 101,
        "quantityAuthorized": 101,
        "quantityCountedTotal": 99,
        "quantityRecountedTotal": 99,
        "countedDateTime": "2025-01-16T14:34:40.120Z",
        "recountedDateTime": "2025-01-16T14:34:40.120Z",
        "authorizedDateTime": "2025-01-16T14:34:40.120Z",
        "snapshotDateTime": "2025-01-16T14:34:40.120Z",
        "priceType": 1,
        "priceCurrency": "USD",
        "priceValue": 12.99,
        "uins": [
          {
            "uin": "200456734823",
            "uinId": 1223465,
            "snapshotStatus": 1
          }
        ],
        "epcs": [
          {
            "epc": "2004435813456734700",
            "scanDateTime": "2025-01-16T14:34:40.120Z"
          }
        ]
      }
    ]
  }
]
Schema — StockCountChildIdo

Table 4-319 StockCountChildIdo— Object

Element Name Required Data Type/Example Description

childCountId

NA

number($int12) example: 1223465

The unique identifier of the stock count child.

locationId

NA

string($text128) example: 738429

The unique identifier of the sequence location being counted.

locationArea

NA

integer($int9) example: 45

An area number associated with the location.

description

NA

string($text1000) example: Frozen Foods

The description of the stock count location.

breakdownDescription

NA

string($text30) example: 123 – Pies

The description of a breakdown sub-location within the stock count location.

phase

NA

integer($int4) example: 1

1 - Count

2 - Recount

3 - Authorize

4 - Future

Enum: [ 1, 2, 3, 4 ]

status

NA

integer($int4) example: 1

1 - New

2 - Count Scheduled

3 - Count In Progress

4 - Count Complete

5 - Recount Scheduled

6 - Recount In Progress

7 - Recount Complete

8 - Approval Scheduled

9 - Approval In Progress

10 - Approval Processing

11 - Approval Authorized

12 - Approval Complete

13 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ]

countUser

NA

string($text128) example: smith123

The user that performed the count in this location.

recountUser

NA

string($text128) example: smith123

The user that performed the recount in this location.

authorizeUser

NA

string($text128) example: jones123

The user that performed the authorization in this location.

totalItemCount

NA

number($int12) example: 2000

The total number of items in the location.

totalLeftToCount

NA

number($int12) example: 950

The items remaining to be counted in the location.

countSnapshotDate

NA

string($date-time)

The time stamp when this child had its count snapshot taken.

recountSnapshotDate

NA

string($date-time)

The time stamp when this child had its recount snapshot taken.

authorizedDate

NA

string($date-time)

The time stamp when this child was authorized.

lineItems

NA

object

The items counted within this location.

Table 4-320 StockCountLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

number($int12) example: 1223465

The unique identifier of the line item record.

itemId

NA

string($text128) example: 20045673

The unique identifier of the item.

departmentId

NA

number($int12) example: 2000

The unique identifier of the department.

classId

NA

number($int12) example: 3000

The unique identifier of the class.

subclassId

NA

number($int12) example: 4000

The unique identifier of the subclass.

primaryLocation

NA

boolean example: true

True indicates this is the primary stock count child for the item.

multiLocated

NA

boolean example: false

True indicates this item is located within multiple stock count child records.

discrepant

NA

boolean example: true

True indicates the item count is discrepant.

breakableComponent

NA

boolean example: false

True indicates this is a component of a breakable (notional) pack.

countSnapshot

NA

number($decimal(12,4)) example: 100

The stock on hand at the time the count snapshot was executed.

recountSnapshot

NA

number($decimal(12,4)) example: 110

The stock on hand at the time the recount snapshot was executed.

quantityCounted

NA

number($decimal(12,4)) example: 99

The amount in standard unit of measure counted during the initial stock counting phase.

quantityRecounted

NA

number($decimal(12,4)) example: 101

The amount in standard unit of measure counted during the recount of stock.

quantityAuthorized

NA

number($decimal(12,4)) example: 101

The amount in standard unit of measure to be approved during authorization.

quantityCountedTotal

NA

number($decimal(12,4)) example: 99

The amount in standard unit of measure counted during the initial stock counting phase for this item across all children in which it appears.

quantityRecountedTotal

NA

number($decimal(12,4)) example: 99

The amount in standard unit of measure counted during the recount for this item across all children in which it appears.

countedDateTime

NA

string($date-time)

The time stamp when counting began for the item.

recountedDateTime

NA

string($date-time)

The time stamp when recounting began for the item.

authorizedDateTime

NA

string($date-time)

The time stamp when the item was authorized.

snapshotDateTime

NA

string($date-time)

The time stamp when the snapshot was last taken for this item.

priceType

NA

integer($int3) example: 1

1 - Permanent

2 - Promotional 3 - Clearance

Enum: [ 1, 2, 3 ]

priceCurrency

NA

string($text3) example: USD

The price currency at the time of the snapshot.

priceValue

NA

number($decimal(20,4)) example: 12.99

The price amount at the time of the snapshot.

uins

NA

object

The UINs associated to this item on the count.

epcs

NA

object

The EPCs associated to this item on the count.

Table 4-321 StockCountLineItemUinIdo — Object

Element Name Required Data Type/Example Description

uin

NA

string($text128) example: 200456734823

The unique identifier number.

uinId

NA

number($int12) example: 1223465

The record identifier of the UIN.

snapshotStatus

NA

number($int2) example: 1

1 - In Stock

2 - Sold

3 - Shipped To Warehouse

4 - Shipped To Store

5 - Reserved For Shipping

6 - Shipped To Vendor

7 - Remove From Inventory

8 - Unavailable

9 - Missing

10 - In Receiving

11 - Customer Reserved

12 - Customer Fulfilled

13 - Shipped To Finisher

99 - Unconfirmed

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 99 ]

Table 4-322 StockCountLineItemEpcIdo — Object

Element Name Required Data Type/Example Description

epc

NA

string($text256) example: 2004435813456734700

The Electronic Product Code

scanDateTime

NA

string($date-time)

Snapshot of the last time the EPC was scanned.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Stock Count Child

This section describes the Update Stock Count Child API. This API updates a child count's quantities based on the current phase of counting. Counted quantity is updated in count phase, recounted quantity for recount phase, and authorization quantity for authorization phase. A maximum of 10,000 line items is allowed per update.

Method

POST
URL

/stockcounts/childs/{stockCountChildId}
Request Parameters

Table 4-323 Update Stock Count Child — Request Parameters

Parameter Required Data Type Description

stockCountChildId

Yes

number($int12) (path)

The stock count child identifier.

The request body is application/json.

Details of the stock count child to update.

Example Value

{
  "lineItems": [
    {
      "lineId": 456333,
      "quantity": 12.4,
      "timestamp": "2025-01-16T15:10:31.345Z",
      "uins": [
        111222333,
        444555666
      ]
    }
  ]
}
Schema — StockCountChildUpdateIdo

Table 4-324 StockCountChildUpdateIdo— Object

Element Name Required Data Type/Example Description

lineItems

Yes

object

Information about the items that were counted.

Table 4-325 StockCountChildUpdateItemIdo— Object

Element Name Required Data Type/Example Description

lineId

Yes

number($int12) example: 456333

The unique identifier of the line item record being updated.

quantity

Yes

number($decimal(12,4)) example: 12.4

The quantity to assign to the line item based on the current phase of the stock count. If UINs are enabled for the store and this is a UIN item, the quantity value will be overwritten by the sum of the UINs on the line item.

timestamp

NA

string($date-time)

The timestamp when the quantity was counted, recounted, or authorized. If the item does not yet have a timestamp, this value will be assigned to the item. If left blank, current timestamp of processing will be used instead.

uins

Yes

string($text128)] example: List [ 111222333, 444555666 ]

The UINs to attach to this line item.

Responses

This section describes the responses of the Update Stock Count Child API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Complete Stock Count Child

This section describes the Complete Stock Count Child API. This API completes the count or recount of a stock count child moving it to the next phase of stock count processing if possible. Many factors may cause a child count to be pending until further counting is completed in other child counts. If the child has not yet been counted, it can still be completed and will follow the business rules and configurations for uncounted items.

Method

POST
URL

/stockcounts/childs/{stockCountChildId}/complete
Request Parameters

Table 4-326 Complete Stock Count Child — Request Parameters

Parameter Required Data Type Description

stockCountChildId

Yes

number($int12) (path)

The stock count child identifier.

Responses

This section describes the responses of the Complete Stock Count Child API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Store

This service integrates store foundation data. Asychronous store integration is processed through staged messages and is controlled by the MPS Work Type: DcsStore.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/storeitems

Import Store

This operation will import store orders from an external system. These store orders are already transfers or purchase orders that are being planned and require store approval before proceeding.

Method

POST
URL

/stores/import
Request Parameters

There are no request parameters.

The request body is application/json.

A list of stores to import.

Example Value

{
  "stores": [
    {
      "storeId": 1111111,
      "storeName": "MyStore",
      "languageCode": "EN",
      "countryCode": "US",
      "currencyCode": "USD",
      "timezone": "America/Chicago",
      "transferZoneId": "1000",
      "organizationUnitId": "1111",
      "managedStore": true,
      "customerOrdering": true
    }
  ]
}
Schema — StoreImportIdo

Table 4-327 StoreImportIdo — Object

Element Name Required Data Type/Example Description

store

Yes

object

Stores

Table 4-328 StoreImportIdo — Object

Element Name Required Data Type/Example Description
storeId Yes number($int10) example: 1111111

The identifier of the store.

storeName Yes string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Responses

This section describes the responses of the Import Store API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Delete Store

Deletes a store. Prior to placing the request to delete into the MPS queue, it validates that the store exists and that the store contains no items assigned to it. A forbidden response will occur if the application is integrated with MFCS or RMS.

Method

POST
URL

/stores/{storeId}/delete
Request Parameters

This section describes the request parameters.

Table 4-329 Delete Store — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int15) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Delete Store API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Response Code: 403

Forbidden

Read Store

Reads information about a store based on a single unique store identifier.

Method

GET
URL

/stores/{storeId}
Request Parameters

This section describes the request parameters.

Table 4-330 Read Store — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Read Store API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111,
    "storeName": "MyStore",
    "languageCode": "EN",
    "countryCode": "US",
    "currencyCode": "USD",
    "timezone": "America/Chicago",
    "transferZoneId": "1000",
    "organizationUnitId": "1111",
    "managedStore": true,
    "customerOrdering": true
  }
]
Schema — StoreIdo

Table 4-331 StoreIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

storeName NA string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Store

Finds stores based on a list of potential unique store identifiers. It allows up to a maximum of 10,000 store identifiers.

Method

POST
URL

/stores/find
Request Parameters

There are no request parameters.

The request body is application/json.

A list of stores identifiers to find.

Example Value

{
  "storeIds": [
    11111,
    22222
  ]
}
Schema — StoreListIdo

Table 4-332 StoreListIdo — Object

Element Name Required Data Type/Example Description

storeIds

Yes

example: List [ 11111, 22222 ]

integer($int10)]

Store IDs

Responses

This section describes the responses of the Find Store API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111,
    "storeName": "MyStore",
    "languageCode": "EN",
    "countryCode": "US",
    "currencyCode": "USD",
    "timezone": "America/Chicago",
    "transferZoneId": "1000",
    "organizationUnitId": "1111",
    "managedStore": true,
    "customerOrdering": true
  }
]
Schema — StoreIdo

Table 4-333 StoreIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

storeName NA string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Associated Store

Find potential associate stores (buddy stores) to the specified store.

Method

GET
URL

/stores/{storeId}/associated
Request Parameters

This section describes the request parameters.

Table 4-334 Find Associated Store — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Find Associated Store API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111,
    "storeName": "MyStore",
    "languageCode": "EN",
    "countryCode": "US",
    "currencyCode": "USD",
    "timezone": "America/Chicago",
    "transferZoneId": "1000",
    "organizationUnitId": "1111",
    "managedStore": true,
    "customerOrdering": true
  }
]
Schema — StoreIdo

Table 4-335 StoreIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

storeName NA string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Auto Receive Stores

Delete all the stores that can auto-receive from this store.

Method

DELETE
URL

/stores/{storeId}/autoreceive
Request Parameters

This section describes the request parameters.

Table 4-336 Delete Auto Receive Stores — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Delete Auto Receive Stores API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Auto Receive Store

Find stores that are allowed to auto receive from the specified input store.

Method

GET
URL

/stores/{storeId}/autoreceive
Request Parameters

This section describes the request parameters.

Table 4-337 Find Auto Receive Store — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Find Auto Receive Store API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111,
    "storeName": "MyStore",
    "languageCode": "EN",
    "countryCode": "US",
    "currencyCode": "USD",
    "timezone": "America/Chicago",
    "transferZoneId": "1000",
    "organizationUnitId": "1111",
    "managedStore": true,
    "customerOrdering": true
  }
]
Schema — StoreIdo

Table 4-338 StoreIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

storeName NA string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Auto Receive Stores

Update all the stores that are allowed to auto-receive from the accessing store.

Method

POST
URL

/stores/{storeId}/autoreceive
Request Parameters

This section describes the request parameters.

Table 4-339 Update Auto Receive Stores — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

The request body is application/json.

A list of auto receiving store identifiers.

Example Value
{
  "storeIds": [
    11111,
    22222
  ]
}
Schema — StoreListIdo

Table 4-340 StoreListIdo — Object

Element Name Required Data Type/Example Description

storeIds

Yes

example: List [ 11111, 22222 ]

integer($int10)]

Store IDs

Responses

This section describes the responses of the Update Auto Receive Stores API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Transfer Zone Store

Find stores that are available to the transfer zone of the input store.

Method

GET
URL

/stores/{storeId}/transferzone
Request Parameters

This section describes the request parameters.

Table 4-341 Find Transfer Zone Store — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Find Transfer Zone Store API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111,
    "storeName": "MyStore",
    "languageCode": "EN",
    "countryCode": "US",
    "currencyCode": "USD",
    "timezone": "America/Chicago",
    "transferZoneId": "1000",
    "organizationUnitId": "1111",
    "managedStore": true,
    "customerOrdering": true
  }
]
Schema — StoreIdo

Table 4-342 StoreIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

storeName NA string($text150) example: MyStore

The name of the store.

languageCode NA string($text3) example: EN

The language code of the store.

countryCode NA string($text3) example: US

The country code of the store.

currencyCode NA string($text4) example: USD

The currency code of the store.

timezone NA string($text80) example: America/Chicago

The timezone of the store.

transferZoneId NA string($text128) example: 1000

The transfer zone identifier of the store.

organizationUnitId NA string($text15) example: 1111

The organization unit identifier of the store

managedStore NA boolean example: true

True indicates that EICS manages the inventory for the store, false indicates it does not.

customerOrdering NA boolean example: true

True indicates this store can take customer orders, false indicates it does not.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Excluded Warehouses

Delete the list of warehouses that are excluded from the stores warehouse network effectively making them included for shipment.

Method

DELETE
URL

/stores/{storeId}/warehouses/excluded
Request Parameters

This section describes the request parameters.

Table 4-343 Delete Excluded Warehouses — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Delete Excluded Warehouses API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Excluded Warehouses

Finds the warehouses excluded from the stores shipping network.

Method

GET
URL

/stores/{storeId}/warehouses/excluded
Request Parameters

This section describes the request parameters.

Table 4-344 Find Excluded Warehouses — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Find Excluded Warehouses API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "warehouseId": 1111111,
    "excludeReturn": true,
    "excludeReceipt": true,
    "createDate": "2025-07-10T13:24:43.819Z",
    "createUser": "smith123",
    "updateDate": "2025-07-10T13:24:43.819Z",
    "updateUser": "smith123"
  }
]
Schema — StoreWarehouseIdo

Table 4-345 StoreWarehouseIdo — Object

Element Name Required Data Type/Example Description
warehouseId NA number($int10) example: 1111111

The identifier of the warehouse.

excludeReturn NA boolean example: true

True indicates this warehouse is excluded from returns, false indicates it is not excluded.

excludeReceipt NA boolean example: true

True indicates this warehouse is excluded from receiving, false indicates it is not excluded.

createDate NA string($date-time)

The date the store's warehouse network record was created in SIOCS.

createUser NA string($text128) example: smith123

The user that created the store's warehouse network record.

updateDate NA string($date-time)

The date the store's warehouse network record was last updated in SIOCS.

updateUser NA string($text128) example: smith123

The user that last updated the store's warehouse network record.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Excluded Warehouses

Assigns the list of warehouses that are excluded from a store's shipping network.

Method

POST
URL

/stores/{storeId}/warehouses/excluded
Request Parameters

This section describes the request parameters.

Table 4-346 Update Excluded Warehouses — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

The request body is application/json.

A list of excluded store/warehouse network information.

Example Value
{
  "warehouses": [
    {
      "warehouseId": 1111111,
      "excludeReturn": true,
      "excludeReceipt": true
    }
  ]
}
Schema — StoreWarehouseUpdateListIdo

Table 4-347 StoreWarehouseUpdateListIdo — Object

Element Name Required Data Type/Example Description
warehouses NA object

Warehouses

Table 4-348 StoreWarehouseUpdateIdo — Object

Element Name Required Data Type/Example Description
warehouseId Yes number($int10) example: 1111111

The identifier of the warehouse.

excludeReturn Yes boolean example: true

True indicates this warehouse is excluded from returns, false indicates it is not excluded.

excludeReceipt Yes boolean example: true

True indicates this warehouse is excluded from receiving, false indicates it is not excluded.

Responses

This section describes the responses of the Update Excluded Warehouses API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Excluded Stores

Deletes all the stores excluded from a store's shipping network.

Method

DELETE
URL

/stores/{storeId}/stores/excluded
Request Parameters

This section describes the request parameters.

Table 4-349 Delete Excluded Stores — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Delete Excluded Stores API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Excluded Stores

Finds stores includes from the store's shipping network.

Method

GET
URL

/stores/{storeId}/stores/excluded
Request Parameters

This section describes the request parameters.

Table 4-350 Find Excluded Stores — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

Responses

This section describes the responses of the Find Excluded Stores API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeId": 1111111
  }
]
Schema — StoreRefIdo

Table 4-351 StoreRefIdo — Object

Element Name Required Data Type/Example Description
storeId NA number($int10) example: 1111111

The identifier of the store.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Excluded Stores

Assigns the list of warehouses that are excluded from a store's shipping network.

Method

POST
URL

/stores/{storeId}/warehouses/excluded
Request Parameters

This section describes the request parameters.

Table 4-352 Update Excluded Stores — Request Parameters

Parameters Required Data Type Description

storeId

Yes

integer($int10) (path)

The unique identifier of the store.

The request body is application/json.

A list of excluded store network information.

Example Value
{
  "excludedStoreIds": [
    11111,
    22222
  ],
  "removedStoreIds": [
    11111,
    22222
  ]
}
Schema — StoreShippingNetworkUpdateIdo

Table 4-353 StoreShippingNetworkUpdateIdo — Object

Element Name Required Data Type/Example Description
excludedStoreIds NA integer($int10) example: List [ 11111, 22222 ] A list of stores to add to the excluded network stores.
removedStoreIds NA integer($int10) example: List [ 11111, 22222 ] A list of stores to remove from the excluded network stores.
Responses

This section describes the responses of the Update Excluded Stores API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Store Item

This service integrates the store item foundation data with an external application. Store integration is controlled by the MPS Work Type: DcsItemLocation.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/storeitems

API Definitions

API

Description

Import Store Items

Imports items at a store location.

Remove Store Items

Deactivate items at a store location.

Import Replenishment Items

Imports replenishment item information.

Remove Replenishment Items

Deactivate replenishment item information.

API: Import Store Items

Imports store items into the system.

If more than 10,000 items are included in a single call, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of store Items to Import

Output

None

Max Response Limit

10,000

Input Data Definition

Attribute

Data Type

Required

Description

items

List of stores items to import

Yes

A collection of up to 10,000 stores items to import.

Stores Items Data Definition

Attribute

Data Type

Required

Description

itemId

String(25)

Yes

The unique item identifier (sku number).

shortDescription

String(255)

-

A short description of the item at this store.

longDescirption

String(400)

-

A long description of the item at this store.

status

String

Yes

See Index (Item Status)

primarySupplierId

Long(10)

-

The unique identifier of the primary supplier of the item to this store location.

storeControlPricing

Boolean

-

True indicates the item price can be controlled by the store.

rfid

Boolean

-

True indicates the item is RFID tagged.

defaultCurrencyCode

String(3)

-

The default currency of the item's price at this store.

purchaseType

Long

-

See Index (Purchase Type)

uinType

Integer

-

The UIN type of this item at this store. This attribute can only be altered to an empty value after the store item is created. Valid values are: 1 - Serial Number, 2 - Auto-Generated Serial Number

uinCaptureTime

Integer

-

The UIN capture time of this item at this store. This attribute can only be altered to an empty value after the store item is created. Valid values are: 1 - Sale, 2 - Store Processing

uinLabelCode

Integer

-

The unique identifier of the UIN label. This attribute will be ignored if the store item already exists.

uinExternalCreateAllowed

Boolean

-

True if an external system can create a UIN, false otherwise.

Example Input

{

"items": [

{

"itemId": "100637121",

"defaultCurrencyCode": "USB",

"longDescription": "TestDescriptionAA",

"primarySupplierId": 1,

"purchaseType": 1,

"rfid": true,

"shortDescription": "TestShortAA",

"status": 1,

"storeControlPricing": false,

"uinCaptureTime": 1,

"uinExternalCreateAllowed": true,

"uinLabelCode": "SN",

"uinType": 1

}

]

}

Additional Data Definitions

Item Status

Value

Definition

1

Active

2

Discontinued

3

Inactive

4

Auto Stockable

Purchase Type

Value

Definition

1

Normal Merchandise

2

Consignment Stock

3

Concession Items

UIN Capture Time

Value

Definition

1

Sale

2

Store Receiving

UIN Type

Value

Definition

1

Serial Number

2

Auto-Generated Serial Number

API: Remove Store Items

This will mark items as no longer usable. When all data is cleared out of transactions that reference this data, later batch jobs will eventually delete the material.

If more than 1000 items are included in a single call, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/{storeId}/remove

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

None

Output

None

Max Input Limit

1000

Path Parameter Definitions

Attribute

Definition

storeId

The internal identifier of the store.

Input Data Definition

Attribute

Data Type

Required

Description

items

List of items to remove

Yes

A collection of up to 1000 items to remove.

Example Input

{

"itemIds": [

"100637121",

"100637113"

]

}

API: Import Replenishment Items

Imports item replenishment information for an item at a store location.

If more than 1000 items are included in a single call, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/{storeId}/replenish/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

None

Output

List of Items Replenishment to import

Max Input Limit

1000

Path Parameter Definitions

Attribute

Definition

storeId

The internal identifier of the store.

Input Data Definition

Attribute

Data Type

Required

Description

items

List of Item Replenishment Import

Yes

The item replenishment information to import.

Item Replenishment Import Data Definition

Attribute

Data Type

Required

Description

itemId

String (25)

Yes

The unique item identifier (sku number).

replenishmentMethod

String(6)

 

A code representing the replenishment method. (SO indicates Store Order).

rejectStoreOrder

Boolean

 

True indicates store orders must be on or after the next delivery date or should be rejected.

multipleDeliveryPerDayAllowed

Boolean

 

True indicates the item allows multiple deliveries per day at the location.

nextDeliveryDate

Date

 

The next delivery date of the time based on its replenishment type.

Example Input

{

"items": [

{

"itemId": "100637121",

"replenishmentMethod": "AB",

"rejectStoreOrder": false,

"multipleDeliveryPerDayAllowed": false,

"nextDeliveryDate": "2022-11-19T23:59:59-05:00"

}

]

}

API: Remove Replenishment Items

Clears the replenishment item information from within the store item setting the replenishment properties to empty, null, or default flag settings.

If more than 1000 items are included in a single call, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/replenish/remove

Method

POST

Successful Response

200 OK

Processing Type

Asynchronous

Input

List of item ids

Output

None

Max Input Limit

1000

Input Data Definition

Attribute

Data Type

Required

Description

Items

List of item Ids

Yes

A collection of up to 1000 items to read.

Example Input

{

"itemIds": [

"100637121",

"100637113"

]

REST Service: Store Order

Store orders allow a store to request items to be ordered to the store. The items being requested may come from a supplier or warehouse. Store orders allows a user to capture items and their quantities to be ordered as well as restrictions for the store order. The inventory will be sourced to the store based on the corporate replenishment setup. This can be either a delivery from a warehouse or a drop ship from the supplier. The actual sourcing, delivery timings, and final quantities remain a function of the external replenishment system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Store Order

This section describes the Find Store Order API. This API finds up to a maximum of 5,000 store orders for the input criteria.

Method

GET
URL

/storeorders
Request Parameters

Table 4-354 Find Store Order — Request Parameters

storeId

NA

integer($int10) (query)

Include only store orders with this store identifier.

externalReference

NA

string($text128) (query)

Include only store orders with this external reference number.

externalTransferId

NA

string($text128) (query)

Include only store orders with this external transfer identifier.

externalPurchaseOrderId

NA

string($text128) (query)

Include only store orders with this external purchase order identifier.

status

NA

integer($int4) (query)

1 - New

2 - In Progress

3 - Approved

4 - Canceled

5 - Submitted

Available values : 1, 2, 3, 4, 5

itemId

NA

string($text25) (query)

Include only store orders containing this item.

updateDateFrom

NA

string($date-time) (query)

Include only store orders with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only store orders with an update date on or before this date.

Responses

This section describes the responses of the Find Store Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeOrderId": 11111,
    "storeId": 1234,
    "externalTransferId": "7000",
    "externalPurchaseOrderId": "8000",
    "externalReference": "9000",
    "description": "Need more inventory",
    "status": 1,
    "requestedDeliveryDate": "2025-01-21T14:44:31.735Z",
    "updateDate": "2025-01-21T14:44:31.735Z"
  }
]
Schema — StoreOrderHeaderIdo

Table 4-355 StoreOrderHeaderIdo— Object

Element Name Required Data Type/Example Description

storeOrderId

NA

integer($int12) example: 11111

The unique identifier of the store order.

storeId

NA

number($int10) example: 1234

The store identifier of the store order.

externalTransferId

NA

string($text128) example: 7000

An external transfer identifier that this store order is associated to.

externalPurchaseOrderId

NA

string($text128) example: 8000

An external purchase order identifier that this store order is associated to.

externalReference

NA

string($text128) example: 9000

A reference to this store order in an external system.

description

NA

string($text2000) example: Need more inventory

A description of the store order or cause of the store order.

status

NA

integer($int4) example: 1

1 - New

2 - In Progress

3 - Approved

4 - Canceled

5 - Submitted

Enum: [ 1, 2, 3, 4, 5 ]

requestedDeliveryDate

NA

string($date-time)

The date the store request the delivery arrive by.

updateDate

NA

string($date-time)

The date the store order was lasted updated within the system.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Store Order

This operation will cause the system to generate a new inventory request to an external system which will then generate a new transfer or purchase order to fulfill the inventory request.

Method

POST
URL

/storeorders
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the store order to request.

Example Value

{
  "storeId": 1234,
  "description": "Need more inventory",
  "requestedDeliveryDate": "2025-01-21T15:26:24.751Z",
  "contextTypeId": 1234,
  "restrictToSupplierId": 1111,
  "restrictToWarehouseId": 2222,
  "restrictToAreaId": 4444,
  "restrictToDepartmentId": 1000,
  "restrictToClassId": 1000,
  "restrictToSubclassId": 1000,
  "storeOrderOnly": false,
  "lineItems": [
    {
      "itemId": "55001234",
      "quantity": 2,
      "caseSize": 5,
      "deliverySlotId": 55555
    }
  ]
}
Schema — StoreOrderCreateIdo

Table 4-356 StoreOrderCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 1234

The store identifier of the store order.

description

NA

string($text2000) example: Need more inventory

A description of the store order or cause of the store order.

requestedDeliveryDate

NA

string($date-time)

The date the store request the delivery arrive by.

contextTypeId

NA

integer($int18) example: 1234

A context identifier associated to the store order.

restrictToSupplierId

NA

integer($int12) example: 1111

Only allow items on the store order that are associated to this supplier.

restrictToWarehouseId

NA

integer($int12) example: 2222

Only allow items on the store order that are associated to this warehouse.

restrictToAreaId

NA

integer($int12) example: 4444

Only allow items on the store order that are associated to this store sequence area.

restrictToDepartmentId

NA

integer($int15) example: 1000

Only allow items that are within this department.

restrictToClassId

NA

integer($int15) example: 1000

Only allow items that are within this class. If included, department must also be included.

restrictToSubclassId

NA

integer($int15) example: 1000

Only allow items that are within this subclass. If included, class must also be included.

storeOrderOnly

NA

boolean example: false

If true, only store order replenishment items can be added to the order.

lineItems

Yes

object

The items to request inventory for.

Table 4-357 StoreOrderCreateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 55001234

The SKU level item identifier.

quantity

Yes

number($decimal(20,4)) example: 2

The quantity of the item to be requested from an external system.

caseSize

NA

number($decimal(10,2)) example: 5

The case size of this line item.

deliverySlotId

NA

integer($int15) example: 55555

The unique identifier of the delivery time.

Responses

This section describes the responses of the Create Store Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeOrderId": 11111,
    "storeId": 1234,
    "status": 1
  }
]
Schema — StoreOrderStatusIdo

Table 4-358 StoreOrderStatusIdo — Object

Element Name Required Data Type/Example Description

storeOrderId

NA

integer($int12) example: 11111

The unique identifier of the store order.

storeId

NA

number($int10) example: 1234

The store identifier of the store order.

status

NA

integer($int4) example: 1

1 - New

2 - In Progress

3 - Approved

4 - Canceled

5 - Submitted

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Store Order

This section describes the Read Store Order API. This API retrieves all the details about a store order.

Method

GET
URL

/storeorders/{storeOrderId}
Request Parameters

Table 4-359 Read Store Order — Request Parameters

Parameter Required Data Type Description

storeOrderId

Yes

number($int12) (path)

The unique identifier of the store order..

Responses

This section describes the responses of the Read Store Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value


  {
    "storeOrderId": 11111,
    "storeId": 1234,
    "externalTransferId": "7000",
    "externalPurchaseOrderId": "8000",
    "externalReference": "9000",
    "parentReference": 1111,
    "description": "Need more inventory",
    "status": 1,
    "origin": 1,
    "requestedDeliveryDate": "2025-01-21T15:43:39.415Z",
    "autoApproveDate": "2025-01-21T15:43:39.415Z",
    "addItemsAllowed": true,
    "replenishmentItemsOnly": false,
    "contextTypeId": 1234,
    "deliverySlotId": 4565,
    "productGroupId": 5678,
    "productGroupDescription": "Bi-Weekly Restock",
    "restrictToSupplierId": 1111,
    "restrictToWarehouseId": 2222,
    "restrictToHierarchyId": 3333,
    "restrictToAreaId": 4444,
    "externalCreateDate": "2025-01-21T15:43:39.415Z",
    "createDate": "2025-01-21T15:43:39.415Z",
    "createUser": "userAbc",
    "updateDate": "2025-01-21T15:43:39.415Z",
    "approvedDate": "2025-01-21T15:43:39.415Z",
    "approvedUser": "userAbc",
    "lineItems": [
      {
        "lineId": 1234,
        "itemId": "55001234",
        "approvedQuantity": 2,
        "suggestedQuantity": 2,
        "caseSize": 5,
        "unitCostCurrency": "USD",
        "unitCostAmount": 5.5,
        "deliverySlotId": 55555
      }
    ]
  }
]
Schema — StoreOrderIdo

Table 4-360 StoreOrderIdo— Object

Element Name Required Data Type/Example Description

storeOrderId

NA

integer($int12) example: 11111

The unique identifier of the store order.

storeId

NA

number($int10) example: 1234

The store identifier of the store order.

externalTransferId

NA

string($text128) example: 7000

An external transfer identifier that this store order is associated to.

externalPurchaseOrderId

NA

string($text128) example: 8000

An external purchase order identifier that this store order is associated to.

externalReference

NA

string($text128) example: 9000

A reference to this store order in an external system.

parentReference

NA

integer($int12) example: 1111

Reference to a parent transfer or order.

description

NA

string($text2000) example: Need more inventory

A description of the store order or cause of the store order.

status

NA

integer($int4) example: 1

1 - New

2 - In Progress

3 - Approved

4 - Canceled

5 - Submitted

Enum: [ 1, 2, 3, 4, 5 ]

origin

NA

integer($int4) example: 1

1 - External

2 - Manual

3 - System

Enum: [ 1, 2, 3 ]

requestedDeliveryDate

NA

string($date-time)

The date the store requested the delivery arrive by.

autoApproveDate

NA

string($date-time)

The date the record was automatically approved in the system.

addItemsAllowed

NA

boolean example: true

True indicates new items can be added to the store order.

replenishmentItemsOnly

NA

boolean example: false

True indicates only store order replenishment items can be added to the store order.

contextTypeId

NA

integer($int18) example: 1234

A context identifier associated to the store order.

deliverySlotId

NA

integer($int15) example: 4565

The unqiue identifer of a delivery time.

productGroupId

NA

integer($int12) example: 5678

The unique identifier of a product group associated to the order.

productGroupDescription

NA

string($text250) example: Bi-Weekly Restock

The description of the product group associated to the order.

restrictToSupplierId

NA

integer($int12) example: 1111

Only allow items on the store order that are associated to this supplier.

restrictToWarehouseId

NA

integer($int12) example: 2222

Only allow items on the store order that are associated to this warehouse.

restrictToHierarchyId

NA

integer($int12) example: 3333

Only allow items on the store order that belong to this merchandise hierarchy.

restrictToAreaId

NA

integer($int12) example: 4444

Only allow items on teh store order that are associated to this store sequence area.

externalCreateDate

NA

string($date-time)

The date the store order was created in an external system.

createDate

NA

string($date-time)

The date the store order was created in the system.

createUser

NA

string($text128) example: userAbc

The user that created the store order in the system.

updateDate

NA

string($date-time)

The date the store order was lasted updated in the system.

approvedDate

NA

string($date-time)

The date the store order was approved in the system.

approvedUser

NA

string($text128) example: userAbc

The user that approved the store order in the system.

lineItems

NA

object

A list of items on the store order.

Table 4-361 StoreOrderItemIdo— Object

Element Name Required Data Type/Example Description

lineId

NA

number($int12) example: 1234

The unique system identifier of the line item.

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

approvedQuantity

NA

number($decimal(20,4)) example: 2

The quantity of the item approved to order.

suggestedQuantity

NA

number($decimal(20,4)) example: 2

The quantity of the item ordered from an external system.

caseSize

NA

number($decimal(10,2)) example: 5

The case size of this line item.

unitCostCurrency

NA

string($text3) example: USD

The currency of the unit cost.

unitCostAmount

NA

number($decimal(12,4)) example: 5.5

The value of the unit cost.

deliverySlotId

NA

integer($int15) example: 55555

The unique identifier of the delivery time.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Store Order

This section describes the Update Store Order API. This operation update the information on a store order before store order approval.

Method

POST
URL

/storeorders/{storeOrderId}
Request Parameters

Table 4-362 Update Store Order — Request Parameters

Parameter Required Data Type Description

storeOrderId

yes

integer($int12)

(path)

The unique identifier of the store order.

The request body is application/json.

Details to update on the store order.

Example Value

{
  "description": "Need more inventory",
  "requestedDeliveryDate": "2025-01-22T11:09:54.923Z",
  "contextTypeId": 1234,
  "lineItems": [
    {
      "itemId": "55001234",
      "quantity": 2,
      "caseSize": 5,
      "deliverySlotId": 55555
    }
  ]
}
Schema — StoreOrderUpdateIdo

Table 4-363 StoreOrderUpdateIdo— Object

Element Name Required Data Type/Example Description

description

NA

string($text2000) example: Need more inventory

A description of the store order or cause of the store order.

requestedDeliveryDate

NA

string($date-time)

The date the store request the delivery arrive by.

contextTypeId

NA

integer($int18) example: 1234

A context identifier associated to the store order.

lineItems

NA

object

A list of line items to update on the store order.

Table 4-364 StoreOrderUpdateItemIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 55001234

The SKU level item identifier.

quantity

Yes

number($decimal(20,4)) example: 2

If the store order originated internally, then this modifies the quantity to be requested from the external system. If the store order originated in an external system, then this defines the approved amount of the original order.

caseSize

NA

number($decimal(10,2)) example: 5

The case size of this line item.

deliverySlotId

NA

integer($int15) example: 55555

The unique identifier of the delivery time.

Responses

This section describes the responses of the Update Store Order API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Approve Store Order

This section describes the Approve Store Order API. This operations will approve a store order. It may be either a new request for inventory or the approval of an already existing transfer or purchase order. Either way, the store is approved and a notification sent to external systems, either a request to create a new transfer/purchase order or notification of an approval of an existing transfer/purchase order.

Method

POST
URL

/storeorders/{storeOrderId}/approve
Request Parameters

Table 4-365 Approve Store Order — Request Parameters

Parameter Required Data Type Description

storeOrderId

yes

integer($int12)

(path)

The unique identifier of the store order.

Responses

This section describes the responses of the Approve Store Order API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Store Order

This section describes the Cancel Store Order API. This operation will cancel the store order.

Method

POST
URL

/storeorders/{storeOrderId}/cancel
Request Parameters

Table 4-366 Cancel Store Order — Request Parameters

Parameter Required Data Type Description

storeOrderId

yes

integer($int12)

(path)

The unique identifier of the store order.

Responses

This section describes the responses of the Cancel Store Order API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Store Order

This operation will import store orders from an external system. These store orders are already transfers or purchase orders that are being planned and require store approval before proceeding.

Method

POST
URL

/storeorders
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the store order.

Example Value

{
  "orderNumber": "7000",
  "storeId": 1234,
  "locationType": 1,
  "locationId": 4500,
  "parentReference": 1111,
  "requestedDeliveryDate": "2025-01-22T11:41:05.395Z",
  "contextTypeId": 1234,
  "deliverySlotId": 4565,
  "currencyCode": "USD",
  "comments": "Automated department replenishment",
  "lineItems": [
    {
      "itemId": "55001234",
      "quantity": 2,
      "caseSize": 5,
      "unitCostAmount": 5.5
    }
  ]
}
Schema — StoreOrderImportIdo

Table 4-367 StoreOrderImportIdo — Object

Element Name Required Data Type/Example Description

orderNumber

Yes

string($text128) example: 7000

The original transfer or purchase order identifier of the store order from an external system.

storeId

Yes

number($int10) example: 1234

The store identifier of the store order.

locationType

Yes

integer($int4) example: 1

1 - Supplier

2 - Warehouse

Enum: [ 1, 2 ]

locationId

Yes

integer($int18) example: 4500

The identifier the location shipping the goods.

parentReference

NA

integer($int12) example: 1111

Reference to a parent transfer or order.

requestedDeliveryDate

NA

string($date-time)

The date the store requests the delivery arrive by.

contextTypeId

NA

integer($int18) example: 1234

A context identifier associated to the store order.

deliverySlotId

NA

integer($int15) example: 4565

The unqiue identifer of a delivery time.

currencyCode

NA

integer($int15) example: USD

The currency code of cost values on the order.

comments

NA

string($text2000) example: Automated department replenishment

Comments associated to the store order.

lineItems

Yes

object

The items to import on the store order.

Table 4-368 StoreOrderImportItemIdo — Object

Element Name Required Data Type/Example Description

itemId

NA

string($text25) example: 55001234

The SKU level item identifier.

quantity

NA

number($decimal20,4) example: 2

The quantity of the suggested item order generated from an external system.

caseSize

NA

number($decimal10,2) example: 5

The case size of this line item.

unitCostAmount

NA

number($decimal(12,4)) example: 5.5

The value of the unit cost in the currency of the order.

Responses

This section describes the responses of the Import Store Order API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "storeOrderId": 11111,
    "storeId": 1234,
    "status": 1
  }
]
Schema — StoreOrderStatusIdo

Table 4-369 StoreOrderStatusIdo — Object

Element Name Required Data Type/Example Description

storeOrderId

NA

integer($int12) example: 11111

The unique identifier of the store order.

storeId

NA

number($int10) example: 1234

The store identifier of the store order.

status

NA

integer($int4) example: 1

1 - New

2 - In Progress

3 - Approved

4 - Canceled

5 - Submitted

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Order Timeslots

This section describes the Find Order Timeslots. This API retrieves all the store order delivery timeslots.

Method

GET
URL

/storeorders/timeslots
Request Parameters

There are no request parameters.

Responses

This section describes the responses of the Find Order Timeslots API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value


  {
    "id": 1,
    "code": "Morn",
    "description": "Morning",
    "sequence": 1,
    "publish": true
  }
]
Schema — StoreOrderTimeslotIdo

Table 4-370 StoreOrderTimeslotIdo — Object

Element Name Required Data Type/Example Description

id

NA

number($int15) example: 1

The unique identifier of the delivery slot.

code

NA

string($text15) example: Morn

The external code of the delivery time slot.

description

NA

string($text240) example: Morning

The description of the time slot.

sequence

NA

number($int8) example: 1

The order the time slot should appear in a list.

publish

NA

boolean example: true

True if the delivery time slot should be published, false otherwise.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Order Context Types

This section describes the Find Order Context Types. This API retrieves all the context type available for a store order

Method

GET
URL

/storeorders/contexts
Request Parameters

There are no request parameters.

Responses

This section describes the responses of the Find Order Context Types API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "id": 11111,
    "code": "CS",
    "description": "Consumables",
    "sequence": 1
  }
]
Schema — StoreOrderContextTypeIdo

Table 4-371 StoreOrderContextTypeIdo — Object

Element Name Required Data Type/Example Description

id

NA

number($int18) example: 11111

The identifier of the context type.

code

NA

string($text6) example: CS

The identification code of the context type.

description

NA

string($text1) example: Consumables

The description of the context type.

sequence

NA

number($int3) example: 1

This number indicates the order the context type should appear in a list.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Order Areas

This section describes the Find Order Areas. This API retrieves all the order areas available for a store order.

Method

GET
URL

/storeorders/areas/{storeId}
Request Parameters

Table 4-372 Find Order Areas— Request Parameters

Parameter Required Data Type Description

storeId

yes

integer($int10)

(path)

The store to retrieve completed product areas for.

Responses

This section describes the responses of the Find Order Areas API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "areaId": 13413513443,
    "itemBasketId": 34134134,
    "description": "11111"
  }
]
Schema — StoreOrderAreaIdo

Table 4-373 StoreOrderAreaIdo — Object

Element Name Required Data Type/Example Description

areaId

NA

integer($int12) example: 13413513443

The unique identifier of the product area.

itemBasketId

NA

integer($int12) example: 34134134

The unique identifier of an item basket associated to the area.

description

NA

string($text255) example: 11111

The description of the store order product area.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Store Sequencing

This service defines operations to manage Store Sequence information.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/sequences

APIs

API

Description

Find Sequence Areas

Finds sequence area header based on search criteria.

Read Sequence Area

Reads the details of a sequence area.

Create Sequence Area

Create a sequence area along with all its details.

Update Sequence Area

Replace the entire sequence area including all its details (a complete sequence area must be sent).

Delete Sequence Area

Delete a sequenced area and all its details.

Create Sequence Item

Create a single sequence item in a sequence area.

Update Sequence Item

Updates a single sequence item from a sequence area.

Delete Sequence Item

Removes a single sequence item from a sequence area.

API: Find Sequence Areas

This API is used to search for sequence area headers. No items or detailed information is returned by this API. At least one criteria is required in order to search.

API Basics

Table 4-374 API Basics

Endpoint URL

{base URL}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

Query Parameters

Output

Collection of Sequence Areas

Max Response Limit

15,000

Query Parameters

Table 4-375 Query Parameters

Attribute

Type

Definition

storeId

Long(12)

Include only records for this store.

areaType

Integer(9)

Area Type (see Index).

departmentId

Long(12)

The unique identifier of a department associated to the area.

classId

Long(12)

The unique identifier of a class within the department associated to the area.

itemId

String(25)

Include only records with this item on them.

Output Data Definition

Table 4-376 Output Data Definition

Attribute

Type

Definition

sequenceAreaId

Long(10)

The unique identifier of the sequence area.

storeId

Long(10)

The unique identifier of the store.

description

String(255)

A description of this store sequence.

areaType

Integer(9)

Area Type (see Index).

departmentId

Long(12)

The unique identifier of a department associated to the area.

classId

Long(12)

The unique identifier of a class within the department associated to the area.

sequenceOrder

Long(20

The order of this store sequence compared to other store sequences at the store.

unsequenced

Boolean

True indicates that this is a default sequence area that contains all the items that have not been sequenced within a different area.

API: Read Sequence Area

This API is used to read an entire sequence area including its details.

API Basics

Table 4-377 API Basics

Endpoint URL

{base URL}/{sequenceAreaId}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

N/A

Output

Sequence Area

Max Response Limit

N/A

Path Parameter Definition

Table 4-378 Path Parameter Definition

Attribute

Type

Definition

sequenceAreaId

Long(10)

The unique identifier of the sequence area.

Output Data Definition

Table 4-379 Output Data Definition

Attribute

Type

Definition

sequenceAreaId

Long(10)

The unique identifier of the sequence area.

storeId

Long(10)

The unique identifier of the store.

description

String(255)

A description of this store sequence.

areaType

Integer(9)

Area Type (see Index).

departmentId

Long(12)

The unique identifier of a department associated to the area.

classId

Long(12)

The unique identifier of a class within the department associated to the area.

sequenceOrder

Long(20

The order of this store sequence compared to other store sequences at the store.

unsequenced

Boolean

True indicates that this is a default sequence area that contains all the items that have not been sequenced within a different area.

Items

Collection

Contains all the items in the area (see Store Sequence Item)

Store Sequence Item

Table 4-380 Store Sequence Item

Payload

Type

Definition

sequenceItemId

Long(12)

The unique area item identifier.

itemId

String(25)

The unique identifier of the item

sequenceOrder

Long(20)

The order of the item within its sequence.

capacity

BigDecimal(11,2)

The amount of the item that can be contained in the area for that item at the unit of measure.

width

Long(12)

The number of items that can fit across the width of the shelf.

uomMode

Integer(2)

The mode of display of the unit of measure of the item.

primaryLocation

Boolean

Y indicates this is the primary sequence for the item.

ticketQuantity

BigDecimal(11,2)

The quantity of tickets that need to be printed for the item inventory area.

ticketFormatId

Long(10)

The unique identifier of the ticket format used to print the tickets.

API: Create Sequence Area

API Basics

Endpoint URL

{base URL}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Sequence Area Create Info

Output

Sequence Area Reference Info

Max Response Limit

1,000 items in the area

Input Data Definition

Attribute

Type

Req

Definition

storeId

Long(10)

X

The unique identifier of the store.

description

String(255)

A description of this store sequence.

areaType

Integer(9)

X

Area Type (see Index).

departmentId

Long(12)

The unique identifier of a department associated to the area.

classId

Long(12)

The unique identifier of a class within the department associated to the area.

sequenceOrder

Long(20)

X

The order of this store sequence compared to other store sequences at the store. The sequence order must be unique for the set of areas within the store.

items

Collections

X

All the items that belong to this sequence area (see Sequence Area Item Create)

Store Sequence Area Item Create

Payload

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the item

sequenceOrder

Long(20)

X

The order of the item within its sequence.

capacity

BigDecimal(11,2)

X

The amount of the item that can be contained in the area for that item at the unit of measure.

width

Long(12)

The number of items that can fit across the width of the shelf.

uomMode

Integer(2)

X

The mode of display of the unit of measure of the item.

primaryLocation

Boolean

Y indicates this is the primary sequence for the item.

ticketQuantity

BigDecimal(11,2)

The quantity of tickets that need to be printed for the item inventory area.

ticketFormatId

Long(10)

The unique identifier of the ticket format used to print the tickets.

Output Data Definition

Attribute

Type

Definition

sequenceAreaId

Long(12)

The newly created adjustment identifier.

storeId

Long(10)

The store identifier.

Example

Create Sequence Area Input Example

API: Update Sequence Area

This API is used to update a sequence area within a store.

This API will replace the entire sequence area with the new data passed to the API. Only the area identifier and store identifier will be preserved from previous data.

API Basics

Table 4-381 API Basics

Endpoint URL

{base URL}

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

Sequence Area Update Info

Output

N/A

Max Response Limit

1,000 items in the area

Path Parameter Definition

Table 4-382 Path Parameter Definition

Attribute

Type

Definition

sequenceItemId

Long(12)

The unique area item identifier

Input Data Definition

Table 4-383 Input Data Definition

Attribute

Type

Req

Definition

description

String(255)

A description of this store sequence.

areaType

Integer(9)

X

Area Type (see Index).

departmentId

Long(12)

The unique identifier of a department associated to the area.

classId

Long(12)

The unique identifier of a class within the department associated to the area.

sequenceOrder

Long(20)

X

The order of this store sequence compared to other store sequences at the store. The sequence order must be unique for the set of areas within the store.

items

Collections

X

All the items that belong to this sequence area (see Sequence Area Item Update)

Store Sequence Area Item Update

Table 4-384 Store Sequence Area Item Update

Payload

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the item

sequenceOrder

Long(20)

X

The order of the item within its sequence.

capacity

BigDecimal(11,2)

X

The amount of the item that can be contained in the area for that item at the unit of measure.

width

Long(12)

The number of items that can fit across the width of the shelf.

uomMode

Integer(2)

X

The mode of display of the unit of measure of the item.

primaryLocation

Boolean

Y indicates this is the primary sequence for the item.

ticketQuantity

BigDecimal(11,2)

The quantity of tickets that need to be printed for the item inventory area.

ticketFormatId

Long(10)

The unique identifier of the ticket format used to print the tickets.

Example

Store Sequence Area Item Update Example

API: Delete Sequence Area

This API is used to delete a sequence area and all its items. This will not delete a sequence area currently being used by a sequenced stock count.

API Basics

Table 4-385 API Basics

Endpoint URL

{base URL}

Method

DELETE

Successful Response

204 No Content

Processing Type

Synchronous

Input

N/A

Output

N/A

Max Response Limit

N/A

API: Create Sequence Item

This API is used to create a new sequence item within a sequence area. 

API Basics

Table 4-386 API Basics

Endpoint URL

{base URL}/{sequenceAreaId}/items

Method

POST

Successful Response

200 No Content

Processing Type

Synchronous

Input

Store Sequence Item Create

Output

Store Sequence Item

Max Response Limit

N/A

Input Data Definition

Table 4-387 Input Data Definition

Payload

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the item

sequenceOrder

Long(20)

X

The order of the item within its sequence.

capacity

BigDecimal(11,2)

X

The amount of the item that can be contained in the area for that item at the unit of measure.

width

Long(12)

The number of items that can fit across the width of the shelf.

uomMode

Integer(2)

X

The mode of display of the unit of measure of the item. (see Index)

primaryLocation

Boolean

Y indicates this is the primary sequence for the item.

ticketQuantity

BigDecimal(11,2)

The quantity of tickets that need to be printed for the item inventory area.

ticketFormatId

Long(10)

The unique identifier of the ticket format used to print the tickets.

Example

Example: Create Sequence Item

API: Update Sequence Item

This API is used to update a sequence item within a sequence area.

API Basics

Table 4-388 API Basics

Endpoint URL

{base URL}/{sequenceAreaId}/items/{itemId}

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

N/A

Output

N/A

Max Response Limit

N/A

Path Parameter Definition

Table 4-389 Path Parameter Definition

Attribute

Type

Definition

sequencerAreaId

Long(12)

The unique sequence area identifier.

itemId

String(25)

The item to be deleted from the sequence.

Input Data Definition

Table 4-390 Input Data Definition

Payload

Type

Req

Definition

sequenceOrder

Long(20)

X

The order of the item within its sequence.

capacity

BigDecimal(11,2)

X

The amount of the item that can be contained in the area for that item at the unit of measure.

width

Long(12)

The number of items that can fit across the width of the shelf.

uomMode

Integer(2)

X

The mode of display of the unit of measure of the item.

primaryLocation

Boolean

Y indicates this is the primary sequence for the item.

ticketQuantity

BigDecimal(11,2)

The quantity of tickets that need to be printed for the item inventory area.

ticketFormatId

Long(10)

The unique identifier of the ticket format used to print the tickets.

Example

Example: Update Sequence Item

API: Delete Sequence Item

This API is used to delete a sequence item from an area.

API Basics

Table 4-391 API Basics

Endpoint URL

{base URL}/{sequenceAreaId}/items/{itemId}

Method

DELETE

Successful Response

204 No Content

Processing Type

Synchronous

Input

N/A

Output

N/A

Max Response Limit

N/A

Path Parameter Definition

Table 4-392 Path Parameter Definition

Attribute

Type

Definition

sequencerAreaId

Long(12)

The unique sequence area identifier.

itemId

String(25)

The item to be deleted from the sequence.

Additional Data Definitions

Sequence Area Type

Table 4-393 Sequence Area Type

ID

Status

1

Shopfloor

2

Backroom

3

None

Sequence UOM Mode

Table 4-394 Sequence UOM Mode

ID

Status

1

Units

2

Cases

REST Service: Supplier

This service integrates supplier and supplier item foundation data.

Asynchronous supplier integration is processed through staged messages and is controlled by the MPS Work Type: DcsSupplier.

Asynchronous supplier item integration is processed through staged messages and is controlled by the MPS Work Type: DcsSupplierItem.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/suppliers

API Definitions

API

Description

Import Suppliers

Imports supplier.

Delete Supplier

Deletes a supplier.

Import Items

Imports items for a supplier.

Delete Items

Deletes items from a supplier.

Import Item UOMs

Imports units of measure for a supplier item.

Delete Item UOMs

Deletes units of measure from a supplier item.

Import Item Countries

Imports countries for a supplier item.

Delete Item Countries

Deletes countries from a supplier item.

Import Item Dimensions

Imports items dimensions for a supplier item country.

Delete Item Dimensions

Deletes dimensions from a supplier item country.

Import Item Manufacturers

Imports manufacturers for a supplier item country.

Delete Item Manufacturers

Deletes manufacturers from a supplier item country.

API: Import Suppliers

Imports a list of suppliers.

If the import contains more than 500 suppliers, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of suppliers to Import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

suppliers

List of details

Yes

A collection of up to 500 suppliers to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

name

String (240)

-

The supplier's name.

status

Integer

Yes

The supplier’s status: See Supplier Status

dunsNumber

String (9)

-

The nine-digit number assigned and maintained by Dun and Bradstreet.

taxId

String (18)

-

The tax identification number of the supplier.

parentId

Long (128)

-

The parent supplier's identifier.

countryCode

String (3)

-

The 2-3 character ISO code of the country.

languageCode

String (3)

-

The 2-3 character ISO code of the language.

currencyCode

String (3)

-

The 2-3 character ISO code of the currency.

returnAllowed

Boolean

-

True is return is allowed to the supplier, N otherwise.

authorizationRequired

Boolean

-

True indicates an authorization number is required when merchandise is return to this supplier.

orderCreateAllowed

Boolean

-

True indicates at a purchase order can be created for the supplier when processing deliveries from that supplier.

vendorCheck

Boolean

-

True indicates that orders from this supplier requires vendor control.

vendorCheckPercent

BigDecimal

-

Indicates the percentage of items per receipt that will be marked for vendor checking.

quantityLevel

Integer

Yes

The Quantity Level: See Quantity Level

deliveryDiscrepancy

Integer

Yes

The delivery discrepancy: See Supplier Delivery Discrepancy Type

organizationUnitIds

List<Long>

Yes

A complete list of organization unit identifiers for the supplier.

Example Input

{

"suppliers": [

{

"supplierId": 5000,

"status": 1,

"quantityLevel": 1,

"deliveryDiscrepancy": 1,

"organizationUnitIds": [ 1 ]

},

{

"supplierId": 5001,

"status": 1,

"returnAllowed": false,

"quantityLevel": 1,

"deliveryDiscrepancy": 1,

"organizationUnitIds": [ 1 ]

}

]

}

Additional Data Definitions

Supplier Delivery Discrepancy Type

Value

Definition

1

Allow Any Discrepancy

2

Allow Overage But Not Short Receipts

3

Discrepancy Not Allowed

Supplier Status

Value

Definition

1

Active

2

Inactive

Quantity Level

Value

Definition

1

Eaches

2

Cases

API: Delete Supplier

Deletes a supplier.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/{supplierId}/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

None

Output

None

Max Response Limit

1000

 

Path Parameter Definitions

Attribute

Definition

supplierId

The internal identifier of the supplier.

API: Import Items

Imports supplier items. Later during asynchronous processing, it validates that both the supplier and item exist before inserting new records.

If the import contains more than 500 supplier items, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/items

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of Supplier Items to import

Output

None

Max Response Limit

500

 

Path Parameter Definitions

Attribute

Definition

supplierId

The internal identifier of the supplier.

Input Data Definition

Attribute

Data Type

Required

Description

items

List of details

Yes

The supplier item information to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

vendorProductNumber

String (256)

-

Vendor product number.

primary

Boolean

-

True indicates this supplier is the primary supplier for the item at all locations.

Example Input

{

"items": [

{

"supplierId": 5000,

"itemId": "163715121",

"vendorProductNumber": "abc"

},

{

"supplierId": 5001,

"itemId": "163715121",

"vendorProductNumber": "def"

}

]

}

API: Delete Items

Deletes supplier items.

If the delete contains more than 500 supplier items, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/items/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

items

List of details

Yes

The supplier item information to delete.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (15)

Yes

The item identifier.

Example Input

{

"items":

[

{

"supplierId":"9002",

"itemId": "100637130"

},

{

"supplierId":"9002",

"itemId": "100637148"

}

]

}

API: Import Item UOMs

Imports supplier item unit of measure information.

If the import contains more than 500 supplier item units of measure, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/uoms

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items UOMs to import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

uoms

List of details

Yes

The UOMs to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

unitOfMeasure

String (4)

Yes

The unit of measure.

Value

BigDecimal

Yes

Equivalent item/supplier shipping carton value in unit of measure

Example Input

{

"uoms": [

{

"supplierId": 5000,

"itemId": "163715121",

"unitOfMeasure": "KG",

"value": "1.0"

},

{

"supplierId": 5001,

"itemId": "163715121",

"unitOfMeasure": "KG",

"value": "1.0"

}

]

}

API: Delete Item UOMs

Deletes supplier item unit of measure information.

If the delete contains more than 500 supplier item units of measure, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/uoms/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items UOMs to delete

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

uoms

List of details

Yes

The UOMs to delete.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

unitOfMeasure

String (4)

Yes

The unit of measure.

Example Input

{

"uoms":

[

{

"supplierId":"9002",

"itemId": "100637130",

"unitOfMeasure":"EA"

},

{

"supplierId":"9002",

"itemId": "100637148",

"unitOfMeasure":"EA"

}

]

API: Import Item Countries

Imports supplier item country information. If the imported supplier item country is for the primary supplier of the item, the item's case size will be updated on the item master to reflect the imported case size.

If the import contains more than 500 supplier item countries, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/countries

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items country to import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

countries

List of details

Yes

The countries to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item.

caseSize

BigDecimal

Yes

Number of items with a case from the supplier.

unitCostCurrency

String (3)

-

The unit cost currency for that item and supplier in that country.

unitCostValue

BigDecimal

-

The unit cost of the item and supplier in that country.

Example Input

{

    "countries": [

        {

            "supplierId": 5100,

            "itemId": "163715121",

            "countryCode": "US",

            "caseSize":7

        },

        {

            "supplierId": 5200,

            "itemId": "163715121",

            "countryCode": "US",

            "caseSize":8

        }

    ]

}

API: Delete Item Countries

Deletes supplier item country information.

If the delete contains more than 500 supplier item countries, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/countries/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items country to remove

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

countries

List of details

Yes

The countries to remove.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item.

Example Input

{

"countries":

[

{

"supplierId":"9002",

"itemId": "100637130",

"countryCode":"US"

}

]

}

API: Import Item Dimensions

Imports supplier item country dimension information.

If the import contains more than 500 supplier item dimensions, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/dimensions

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items dimensions to import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

dimensions

List of details

Yes

The dimensions to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item.

dimensionName

String (6)

Yes

Dimension name

presentationMethod

String (6)

-

Describes the packaging method

Length

BigDecimal

-

The length in dimension unit of measure.

Width

BigDecimal

-

The width in dimension unit of measure.

Height

BigDecimal

-

The height in dimension unit of measure.

dimensionUom

String (4)

-

The unit of measure of the dimensions.

Weight

BigDecimal

-

The weight of the object in weight unit of measure.

netWeight

BigDecimal

-

The net weight of the goods without packaging in weight unit of measure.

weightUom

String (4)

-

The weight unit of measure.

liquidVolume

BigDecimal

-

The liquid value or capacity of the object.

liquidVolumeUom

String (4)

-

The liquid volume unit of measure.

statisticalCube

BigDecimal

-

A statistical value of the object’s dimensions used for shipment loading purposes.

Example Input

{

"dimensions": [

{

"supplierId": 5100,

"itemId": "163715121",

"countryCode": "US",

"dimensionName": "Hello"

},

{

"supplierId": 7100,

"itemId": "163715121",

"countryCode": "US",

"dimensionName": "Bye"

}

]

}

API: Delete Item Dimensions

Deletes supplier item country dimension information.

If the delete contains more than 500 supplier items, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/dimensions/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items dimensions to remove

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

Dimensions

List of details

Yes

The dimensions to remove.

Supplier Items Dimensions Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item

dimensionName

String (6)

Yes

Dimension name

Example Input

{

"dimensions":

[

{

"supplierId":"9002",

"itemId": "100637130",

"countryCode":"US",

"dimensionName":"Dimen1"

},

{

"supplierId":"9002",

"itemId": "100637148",

"countryCode":"US",

"dimensionName":"Dimen2"

}

]

}

API: Import Item Manufacturers

Import supplier item country manufacturer information.

If the import contains more than 500 supplier item manufacturers, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/manufacturers

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items manufacturer to import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

manufacturers

List of details

Yes

The manufacturers to import.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item.

primary

Boolean

-

True indicates it is primary country of manufacture.

Example Input

{

"manufacturers": [

{

"supplierId": 5100,

"itemId": "163715121",

"countryCode": "US",

"primary": true

},

{

"supplierId": 7100,

"itemId": "163715121",

"countryCode": "US",

"primary": true

}

]

}

API: Delete Item Manufacturers

Deletes supplier item country manufacturer information.

If the delete contains more than 500 supplier item manufacturers, an input too large error will be returned.

A "Forbidden" response will occur if application is integrated with MFCS or RMS.

API Basics

Endpoint URL

{base URL}/manufacturers/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of supplier items manufacturers to remove

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

manufacturers

List of details

Yes

The manufacturers to remove.

Detail Data Definition

Attribute

Data Type

Required

Description

supplierId

Long (10)

Yes

The supplier identifier.

itemId

String (25)

Yes

The item identifier.

countryCode

String (3)

Yes

The ISO country code of the supplier that produces the item.

Example Input

{

"manufacturers":

[

{

"supplierId":"9002",

"itemId": "100637130",

"countryCode":"US"

},

{

"supplierId":"9002",

"itemId": "100637148",

"countryCode":"US"

}

]

}

REST Service: Ticket

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/tickets

API Definitions

API

Description

readTicket

This API reads a current actively ticket by its identifier. 

findTickets

API is used to find summarized ticket headers for a set of criteria.

readArchivedTicket

This API reads a previously printed and archived ticket by its identifier.

findArchivedTickets

API is used to find archived ticket summaries.

createTickets

Creates new tickets within the system.

updateTickets

Updates current tickets within the system.

printTickets

Prints the requested tickets.

findTicketFormats

Reads all the available ticket formats.

findTicketPrinters

Finds the printers available to print tickets.

API: readTicket

This API reads a current actively ticket by its identifier. 

API Basics

Endpoint URL

{base URL}/{ticketId}

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

The ticket identifier

Output

The ticket

Output Data Definition

Column

Type

Definition

ticketId

Long(12)

The unique ticket identifier.

itemId

String(25)

The item identifier.

storeId

Long(10)

The store identifier.

originType

Integer(2)

The origin type (See Index)

ticketFormatId

Long(12)

The identifier of the ticket format used for printing.

ticketFormatDescription

String(100)

The description of the ticket format associated to the ticket.

ticketFormatType

Integer(4)

The type of the ticket format associated to the ticket.

ticketFormatReference

String(255)

The format reference used to print the ticket.

ticketFormatZplId

Long(12)

The ZPL format file identifier.

ticketCount

Integer(3)

The number of instances of this ticket to print.

ticketSequence

Integer(3)

The sequence number of a ticket within a ticket grouping.

printQuantity

BigDecimal(12,4)

The quantity to be printed on the ticket.

printDate

Date

The date the ticket should be printed.

groupId

Long(12)

An internal EICS grouping identifier that groups the tickets.

groupIdExternal

String(128)

An external system grouping identifier that groups the tickets.

autoPrint

Boolean

True if the ticket should automatically print, false if the ticket requires manual printing.

autoRefeshQuantity

Boolean

True indicates the ticket count gets refreshed with SOH at the time of printing, false it prints as is.

countryOfManufacture

String(3)

A two letter country code denoting the country of manufacture for the item.

shortDescription

String(255)

The short description of the item.

longDescription

String(400)

The long description of the item.

shortDescriptionLanguage

String(255)

The short description of the item in the language of the store.

longDescriptionLanguage

String(400)

The long description of the item in the language of the store.

differentiatorType1

String(10)

The description of the differentiator type for differentiator 1.

differentiatorType2

String(10)

The description of the differentiator type for differentiator 2.

differentiatorType3

String(10)

The description of the differentiator type for differentiator 3.

differentiatorType4

String(10)

The description of the differentiator type for differentiator 4.

differentiatorDescription1

String(255)

The description of differentiator 1 of the item.

differentiatorDescription2

String(255)

The description of differentiator 2 of the item.

differentiatorDescription3

String(255)

The description of differentiator 3 of the item.

differentiatorDescription4

String(255)

The description of differentiator 4 of the item.

departmentId

Long(12)

The department identifier of the item.

departmentName

String(360)

The department name of the item.

classId

Long(12)

The class identifier of the item.

className

String(360)

The class name of the item.

subclassId

Long(12)

The subclass identifier of the item.

subclassName

String(360)

The subclass name of the item.

primaryUpc

String(25)

The primary Unique Product Code for the item.

priceCurrency

String(3)

The currency code of the ticket price.

priceAmount

BigDecimal(12,4)

The amount of the ticket price.

priceType

Integer(3)

The type of the ticket price. (See Index)

priceUom

String(4)

The unit of measure of the ticket price.

priceActiveDate

Date

The date the ticket price became active.

priceExpireDate

Date

The date the ticket price expires.

mutliUnitPriceCurrency

String(3)

The currency code of the ticket's multi-unit price.

multiUnitPriceAmount

BigDecimal(12,4)

The amount of the ticket's multi-unit price.

multiUnitPriceUom

String(4)

The unit of measure of the ticket's multi-unit price.

multiUnitQuantity

BigDecimal(12,4)

The multi-unit quantity associated to the price.

overridePriceCurrency

String(3)

The override price currency code.

overridePriceAmount

BigDecimal(20,4)

The override price amount.

previousPriceCurrency

String(3)

The currency code of the previous price.

previousPriceAmount

BigDecimal(12,4)

The amount of the previous price.

previousPriceType

Integer(3)

The price type of the previous price.

lowestMonthlyPriceCurrency

String(3)

The currency code of the lowest monthly price.

lowestMonthlyPriceAmount

BigDecimal(12,4)

The amount of the lowest monthly price.

lowestMonthlyPriceType

Integer(3)

The price type of the lowest monthly price.

printedDate

Date

The date that the ticket was printed.

printedUser

String(128)

The user that printed the ticket.

createDate

Date

The date the ticket was created.

createUser

String(128)

The user that created the ticket.

updateDate

Date

The date the ticket was last updated.

updateUser

String(128)

The user that last updated the ticket.

udas

Collection

A group of associated user defined attributes.

     
     

UDA

Column

Type

Definition

name

String

The name of the user defined attribute.

value

String

The value of the user defined attributes.

API: findTickets

API is used to find summarized ticket headers for a set of criteria.

If maximum results are exceeded, additional or more limiting input criteria will be required.

API Basics

Endpoint URL

{base URL}

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query Parameters

Output

List of Ticket Headers

Maximum Results Allowed

5,000

Input Data Definition

Attribute

Type

Definition

itemId

String(25)

Include only records with this item identifier.

storeId

Long(10)

Include only records with this store identifier.

ticketFormatId

Long(12)

Include only records with this ticket format identifier.

groupId

Long(12)

Include only records with this EICS group identifier.

groupIdExternal

String(128)

Include only records with this external system group identifier.

printDateFrom

String

Include only records on or after this scheduled print date and time.

printDateTo

String

Include only records on or before this scheduled print date and time.

updateDateFrom

String

Include only records on or after this scheduled print date and time.

updateDateTo

String

Include only records on or before this scheduled print date and time.

Output Data Definition

Column

Type

Definition

ticketId

Long(12)

The unique ticket identifier.

itemId

String(25)

The item identifier.

storeId

Long(10)

The store identifier.

originType

Integer(2)

The origin type (See Index)

ticketFormatId

Long(12)

The identifier of the ticket format used for printing.

ticketSequence

Integer(3)

The sequence number of a ticket within a ticket grouping.

groupId

Long(12)

An internal EICS grouping identifier that groups the tickets.

groupIdExternal

String(128)

An external system grouping identifier that groups the tickets.

autoPrint

Boolean

True if the ticket should automatically print, false if the ticket requires manual printing.

printDate

Date

The date the ticket should be printed.

printQuantity

BigDecimal(12,4)

The quantity to be printed on the ticket.

updateDate

Date

The date the ticket was last updated.

API: readArchivedTicket

This API reads a previously printed and archived ticket by its identifier.

API Basics

Endpoint URL

{base URL}/archives/{ticketId}

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

The ticket identifier

Output

The ticket details

Output Data Definition

See readTicket() for the output data definition of this API.

API: findArchivedTickets

API is used to find archived ticket summaries.

If the number of tickets found exceeds the limit, additional or more limiting input criteria will be required.

API Basics

Endpoint URL

{base URL}/archives

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query Parameters

Output

List of Ticket Headers

Maximum Results Allowed

5,000

Input Data Definition

Attribute

Type

Definition

itemId

String(25)

Include only records with this item identifier.

storeId

Long(10)

Include only records with this store identifier.

ticketFormatId

Long(12)

Include only records with this ticket format identifier.

groupId

Long(12)

Include only records with this EICS group identifier.

groupIdExternal

String(128)

Include only records with this external system group identifier.

printedDateFrom

String

Include only records that were printed on or after this date and time.

printedDateTo

String

Include only records that were printed on or before this date and time.

Output Data Definition

Column

Type

Definition

ticketId

Long(12)

The unique ticket identifier.

itemId

String(25)

The item identifier.

storeId

Long(10)

The store identifier.

originType

Integer(2)

The origin type (See Index)

ticketFormatId

Long(12)

The identifier of the ticket format used for printing.

ticketSequence

Integer(3)

The sequence number of a ticket within a ticket grouping.

groupId

Long(12)

An internal EICS grouping identifier that groups the tickets.

groupIdExternal

String(128)

An external system grouping identifier that groups the tickets.

printedDate

Date

The date the ticket was printed.

printQuantity

BigDecimal(12,4)

The quantity printed on the ticket.

priceCurrency

String(3)

The currency of the price of the ticket.

priceAmount

BigDecimal(12,4)

The amount of the price of the ticket.

API: createTickets

Creates new tickets within the system.

API Basics

Endpoint URL

{base URL}

Method

POST

Success Response

200 OK

Processing Type

Synchronous

Input

Ticket group

Output

List of ticket identifying information

Maximum Input Allowed

2,000 tickets within the group

Input Data Definition

Payload

Type

Req

Definition

storeId

Long(10)

X

The store identifier.

groupIdExternal

String(128)

 

An external system grouping identifier that groups the tickets.

printDate

Date

X

The date the ticket should be printed.

autoPrint

Boolean

 

True if the ticket should automatically print, false if the ticket requires manual printing. Defaults to false.

autoRefeshQuantity

Boolean

 

True indicates the ticket count gets refreshed with SOH at the time of printing, false it prints as is. Defaults to false.

tickets

Collection

X

The tickets to create.

Ticket

Payload

Type

Req

Definition

itemId

String(25)

X

The item identifier.

originType

Integer(2)

X

The origin type (See Index)

ticketFormatId

Long(12)

X

The identifier of the ticket format used for printing.

ticketCount

Integer(3)

X

The number of instances of this ticket to print.

ticketSequence

Integer(3)

X

The sequence number of a ticket within a ticket grouping.

printQuantity

BigDecimal(12,4)

X

The quantity to be printed on the ticket.

overridePriceCurrency

String(3)

 

The override price currency code. Required if an amount is entered.

overridePriceAmount

BigDecimal(20,4)

 

The override price amount.

countryOfManufacture

String(3)

 

A two letter country code denoting the country of manufacture for the item.

Output Data Definition

Payload

Type

Definition

ticketId

Long(12)

The unique ticket identifier.

storeId

Long(10)

The store identifier.

ticketFormatId

Long(12)

The identifier of the ticket format used for printing.

Example Input

{

    "storeId": 5000,

    "groupIdExternal": "123456",

    "printDate": "2023-01-10T23:59:59-05:00",

    "autoPrint": false,

    "autoRefreshQuantity": false,

    "tickets": [

        {

            "itemId": "100637121",

            "originType": 1,

            "ticketFormatId": 1,

            "ticketCount": 2,

            "ticketSequence": 3

        },

        {

            "itemId": "100637113",

            "originType": 2,

            "ticketFormatId": 2,

            "ticketCount": 4,

            "ticketSequence": 5

        }

    ]

}

API: Update Tickets

Updates current tickets within the system.

If a field that is not required contains an empty or null value, the ticket will be updated to that empty or null value.

API Basics

Endpoint URL

{base URL}/update

Method

POST

Success Response

204 No Content

Processing Type

Synchronous

Processing Type

Synchronous

Input

Tickets

Output

N/A

Maximum Input Allowed

2,000 tickets

Input Data Definition

Payload

Type

Req

Definition

ticketId

Long(12)

X

The unique ticket identifier.

originType

Integer(2)

X

The origin type (See Index)

ticketCount

Integer(3)

X

The number of instances of this ticket to print.

ticketSequence

Integer(3)

X

The sequence number of a ticket within a ticket grouping.

printQuantity

BigDecimal(12,4)

X

The quantity to be printed on the ticket.

printDate

Date

X

The date the ticket should be printed.

autoPrint

Boolean

 

True if the ticket should automatically print, false if the ticket requires manual printing.

autoRefeshQuantity

Boolean

 

True indicates the ticket count gets refreshed with SOH at the time of printing, false it prints as is.

overridePriceCurrency

String(3)

 

The override price currency code. Required if an amount is entered.

overridePriceAmount

BigDecimal(20,4)

 

The override price amount.

countryOfManufacture

String(3)

 

A two letter country code denoting the country of manufacture for the item.

Example Input

{

    "tickets": [

        {

            "ticketId": 8,

            "originType": 2,

            "printDate": "2023-01-10T23:59:59-05:00",

            "ticketCount": 22,

            "ticketSequence": 33

        },

        {

            "ticketId": 9,

            "originType": 1,

            "printDate": "2023-01-10T23:59:59-05:00",

            "ticketCount": 44,

            "ticketSequence": 55

        }

    ]

}

API: printTickets

Prints the requested tickets. This can print both current tickets and previously printed tickets.

It is assumed that the calling system will have verified or retrieved the ticket ids prior. The ticket ids and archived ticket ids will not be validated.

This service operation will simply print any tickets that are found that match identifiers passed in and ignore any identifiers for which tickets are not found.

Depending on printing configuration with the system, the printing may occur synchronous and real-time or the tickets may be staged and sent asynchronously to another system after a short delay.

API Basics

Endpoint URL

{base URL}/print

Method

POST

Success Response

204 No Content

Processing Type

Synchronous/Asynchronous

Input

Ticket identifiers

Output

N/A

Maximum Input Allowed

100 total ticket ids

Input Data Definition

Payload

Type

Req

Definition

printerId

Long

X

The identifier of the printer to print the tickets on.

refreshQuantity

Boolean

 

If true, the quantities of all the tickets will be refreshed prior to printing. If false, they will not. 

ticketIds

List<Long>

 

A list of ticket identifiers of the tickets to print. If this is null or empty, then archived ticket ids must contain a value. Not validated.

archivedTicketIds

List<Long>

 

A list of archived ticket identifiers of tickets to print. If this is null or empty, then ticket ids must contain a value. Not validated.

API: findTicketFormats

Reads all the available ticket formats.

API Basics

Endpoint URL

{base URL}/formats

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query parameters

Output

List of ticket formats

Input Data Definition

Column

Type

Definition

storeId

Long(10)

Include only ticket formats available at this store.

Output Data Definition

Column

Type

Definition

formatId

Long(12)

The unique format identifier.

storeId

Long(10)

The store identifier.

description

String(100)

A description of the ticket (possibly from ticket format).

type

Integer(4)

The type of ticket format. (See Index)

zplTemplateId

Long(12)

The unique identifier to the ZPL template to be used for printing.

formatReference

String(255)

A reference to the format content to use for this format.

defaultFormat

Boolean

True if this is the default form for the type, False otherwise.

defaultPrinterId

Long(6)

Teh default printer identifier for the format.

createDate

Date

The date the format was created.

createUser

String(128)

The user that created the format.

updateDate

Date

The date the format was last updated.

updateUser

String(128)

The user that last updated the format.

API: findTicketPrinters

Finds the printers available to print tickets.

API Basics

Endpoint URL

{base URL}/printers

Method

GET

Success Response

200 OK

Processing Type

Synchronous

Input

Query parameters

Output

List of printers

Query Params

Column

Type

Definition

storeId

Long(10)

Include only ticket printers available at this store.

Output Data Definition

Column

Type

Definition

printerId

Long(6)

The unique identifier of the printer.

storeId

Long(10)

The identifier of the store the printer is assigned to.

printerType

Integer(3)

The print type of the printer (see Index).

printerDescription

String(200)

A description of the printer.

printerUri

String(300)

The URI address of the printer.

printerName

String(128)

The logical name of the printer.

defaultManifest

Boolean

True if the printer is the default printer at the store for manifest printing.

defaultPreshipment

Boolean

True if the printer is the default printer at the store for preshipment printing.

Additional Data Definitions

Ticket Format Type

ID

Description

1

Item Basket

2

Shelf Label

Price Type

ID

Description

1

Permanent

2

Promotional

3

Clearance

4

Clearance Reset

Printer Type

ID

Description

1

Item Ticket

2

Shelf Label

3

Postscript

Ticket Origin Type

ID

Description

1

External

2

Price Change

3

Foundation

4

Manual

5

Promotional Price Change

6

Clearance Price Change

7

Permanent Price Change

8

Reset Price Change

REST Service: Transfer

Transfers define the movement of goods between internal entities or trading partners. Requests from corporate or other stores for shipping inventory out can be auto-approved without human interaction and it is possible to transfer unavailable inventory between entities with a store as a starting or ending point of the transaction. A transfer defines the logical movement of goods and are often created at corporate offices. They define the intent of what needs to be shipped. Some validations and features to consider include transfer zone restrictions may be enforced, shipping network restrictions may be enforced, auto receiving may be active, and non-inventory items may be transferred. A transfer request is a transfer that is initiated by the receiving location and is awaiting approval from the sending location. Once approved, it can be shipped. A transfer can be initiated by the sending location without any request or input from the receiving location. Once approved, it can be shipped. This service defines operations to manage transfer information by integration with an external system.

Server Base URL

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Transfer

This section describes the Find Transfer API. The Find Transfer API finds up to 10,000 summary header records of both transfers and transfer requests that match the search criteria.

Method

GET
URL

/transfers
Request

Table 4-395 Find Transfer — Request Parameters

Name Required Data Type/Example Description

externalTransferId

NA

string($text128) (query)

Include only transfers with this external transfer identifier.

sourceLocationId

NA

integer($int10) (query)

Include only transfers with this source location identifier.

sourceLocationType

NA

integer($int4) (query)

Include only transfers with this source location type. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Available values : 1, 2, 3

destinationLocationId

NA

integer($int10) (query)

Include only transfers with this destination location identifier.

destinationLocationType

NA

integer($int4) (query)

Include only transfers with this desintation location type. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Available values : 1, 2, 3

status

NA

integer($int4) (query)

Include only shipments with this delivery status. Valid values are:

1 - New Request

2 - Requeste

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

99 - Active

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 99

itemId

NA

string($text25) (query)

Include only transfers that contain this item.

updateDateFrom

NA

string($date-time) (query)

Include only transfers with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only transfers with an update date on or before this date.

Responses

This section describes the responses of the Find Transfer API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "transferid": 11111,
    "externalTransferId": "AX57684",
    "sourceLocationType": 1,
    "sourcelocationId": 4000,
    "desintationLocationType": 1,
    "destinationLocationId": 5000,
    "status": 1,
    "originType": 1,
    "notAfterDate": "2024-09-19T09:10:14.140Z",
    "createDate": "2024-09-19T09:10:14.140Z",
    "updateDate": "2024-09-19T09:10:14.140Z",
    "requestDate": "2024-09-19T09:10:14.140Z",
    "approvalDate": "2024-09-19T09:10:14.140Z"
  }
]



Schema — TransferSummaryIdo

Table 4-396 TransferSummaryIdo —Object

Element Name Required Data Type/Example Description

transferid

NA

integer($int15) example: 11111

The unique identifier of the transfer.

externalTransferId

NA

string($text128) example: AX57684

An identifier supplied from an external system.

sourceLocationType

NA

integer($int4) example: 1

The type of the source location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourcelocationId

NA

integer($int10) example: 4000

The identifier of the source location of the transfer.

desintationLocationType

NA

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

NA

integer($int10) example: 5000

The identifier of the destination location of the transfer.

status

NA

integer($int4) example: 1

The current status of the transfer. Valid values are:

1 - New Request

2 - Request

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

originType

NA

integer($int4) example: 1

The origin type of the transfer. Valid values are:

1 - External

2 - Internal

3 - Adhoc

Enum: [ 1, 2, 3 ]

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

createDate

NA

string($date-time)

The date the transfer was created.

updateDate

NA

string($date-time)

The date the transfer was last updated.

requestDate

NA

string($date-time)

The date the transfer was requested.

approvalDate

NA

string($date-time)

The date the transfer was approved.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Transfer

The Create Transfer API creates a new transfer from a source store that does not need involvement or approval from a receiving location. The transfer will be created as in progress and must be approved before shipping can begin.

Method

POST
URL

/transfers
Request

There are no request parameters.

The request body is appliaction/json.

Details about the transfer to create.

Example Value

{
  "sourceStoreId": 5000,
  "destinationLocationType": 1,
  "destinationLocationId": 5000,
  "notAfterDate": "2025-01-10T12:45:31.430Z",
  "authorizationCode": "1111",
  "contextTypeId": 400000,
  "contextValue": "Repair Needed",
  "useUnavailableInventory": false,
  "allowPartialDelivery": true,
  "lineItems": [
    {
      "itemId": "10045600",
      "quantity": 100,
      "caseSize": 3
    }
  ],
  "notes": [
    "Transfer needs to be rushed.",
    "Items are in the back room."
  ]
}
Schema — TransferCreateIdo

Table 4-397 TransferCreateIdo —Object

Element Name Required Data Type/Example Description

sourceStoreId

Yes

integer($int10) example: 5000

The identifier of the store that will be shipping the goods.

destinationLocationType

Yes

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

Yes

integer($int10) example: 5000

The identifier of the destination location of the transfer.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped. 

authorizationCode

NA

string($text12) example: 1111

An authorization code assigned to the transfer.

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

useUnavailableInventory

NA

boolean example: false

True if the transfer is for unavailable inventory, false otherwise.

allowPartialDelivery

NA

boolean example: true

True indicates that a partial delivery is allowed for the transfer, false indicates it is not.

lineItems

Yes

object

A collection of up to 5,000 items to be added to the transfer.

notes

NA

string($text2000) example: List [ "Transfer needs to be rushed.", "Items are in the back room." ]

A collection of notes that will be added to the transfer notes.

Table 4-398 TransferCreateLineItemIdo —Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity that is requested.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

Responses

This section describes the responses of the Create Transfer API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "transferId": 11111,
    "externalTransferId": "AX57684",
    "sourceLocationType": 1,
    "sourceLocationId": 4000,
    "destinationLocationType": 1,
    "destinationLocationId": 5000,
    "status": 1,
    "originType": 1,
    "notAfterDate": "2025-01-08T12:56:00.798Z",
    "createDate": "2025-01-08T12:56:00.798Z",
    "updateDate": "2025-01-08T12:56:00.798Z",
    "requestDate": "2025-01-08T12:56:00.798Z",
    "approvalDate": "2025-01-08T12:56:00.798Z"
  }
]
Schema — TransferSummaryIdo

Table 4-399 TransferSummaryIdo —Object

Element Name Required Data Type/Example Description

transferid

NA

integer($int15) example: 11111

The unique identifier of the transfer.

externalTransferId

NA

string($text128) example: AX57684

An identifier supplied from an external system.

sourceLocationType

NA

integer($int4) example: 1

The type of the source location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourcelocationId

NA

integer($int10) example: 4000

The identifier of the source location of the transfer.

desintationLocationType

NA

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

NA

integer($int10) example: 5000

The identifier of the destination location of the transfer.

status

NA

integer($int4) example: 1

The current status of the transfer. Valid values are:

1 - New Request

2 - Request

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

originType

NA

integer($int4) example: 1

The origin type of the transfer. Valid values are:

1 - External

2 - Internal

3 - Adhoc

Enum: [ 1, 2, 3 ]

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

createDate

NA

string($date-time)

The date the transfer was created.

updateDate

NA

string($date-time)

The date the transfer was last updated.

requestDate

NA

string($date-time)

The date the transfer was requested.

approvalDate

NA

string($date-time)

The date the transfer was approved.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Transfer

The Read Transfer API retrieves all the details about a transfer or transfer request.

Method

GET
URL

/transfers/{transferId}
Request

Table 4-400 Read Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int12) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Read Transfer API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "transferId": 11111,
    "externalTransferId": "AX57684",
    "distroNumber": "440213",
    "sourceLocationType": 1,
    "sourceLocationId": 4000,
    "destinationLocationType": 1,
    "destinationLocationId": 5000,
    "status": 1,
    "originType": 1,
    "contextTypeId": 400000,
    "contextTypeCode": "CNTXA",
    "contextValue": "Repair Needed",
    "customerOrderNumber": "67008700",
    "fulfillmentOrderNumber": "67008711",
    "allowPartialDelivery": true,
    "useAvailable": true,
    "authorizationCode": "1111",
    "notAfterDate": "2025-01-08T13:34:27.151Z",
    "createDate": "2025-01-08T13:34:27.151Z",
    "createUser": "smith123",
    "updateDate": "2025-01-08T13:34:27.151Z",
    "updateUser": "smith123",
    "requestDate": "2025-01-08T13:34:27.151Z",
    "requestUser": "smith123",
    "approvalDate": "2025-01-08T13:34:27.151Z",
    "approvedUser": "smith123",
    "importId": "smith123",
    "lineItems": [
      {
        "lineId": 2222222,
        "itemId": "10045600",
        "caseSize": 3,
        "quantityRequested": 100,
        "quantityApproved": 90,
        "quantityShipping": 50,
        "quantityShipped": 40,
        "quantityReceived": 20,
        "quantityDamaged": 20,
        "preferredUom": "EA"
      }
    ]
  }
]
Schema — TransferIdo

Table 4-401 TransferIdo — Object

Element Name Required Data Type/Example Description

transferid

NA

integer($int15) example: 11111

The unique identifier of the transfer.

externalTransferId

NA

string($text128) example: AX57684

An identifier supplied from an external system.

distroNumber

NA

string($text128) example: 440213

A distribution number( used for integration with other systems). It is another type of external identifier.

sourceLocationType

NA

integer($int4) example: 1

The type of the source location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourcelocationId

NA

integer($int10) example: 4000

The identifier of the source location of the transfer.

desintationLocationType

NA

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

NA

integer($int10) example: 5000

The identifier of the destination location of the transfer.

status

NA

integer($int4) example: 1

The current status of the transfer. Valid values are:

1 - New Request

2 - Requeste

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

originType

NA

integer($int4) example: 1

The origin type of the transfer. Valid values are:

1 - External

2 - Internal

3 - Adhoc

Enum: [ 1, 2, 3 ]

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextTypeCode

NA

integer($int4) example: CNTXA

An external code of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

customerOrderNumber

NA

string($text128) example: 67008700

External system identifier of a customer order.

fulfillmentOrderNumber

NA

string($text128) example: 67008711

External system identifier of a fulfillment order.

allowPartialDelivery

NA

boolean example: true

True indicates that parial delivery is allowed for the transfer, false indicates it is not.

useAvailable

NA

boolean example: true

True indicates the transfer must use available stock, false indicates it uses unavailable stock.

authorizationCode

NA

string($text12) example: 1111

An authorization code assigned to the transfer.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

createDate

NA

string($date-time)

The date the transfer was created.

createUser

NA

string($text128) example: smith123

The user that created this transfer.

updateDate

NA

string($date-time)

The date the transfer was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated this transfer.

requestDate

NA

string($date-time)

The date the transfer was requested.

requestUser

NA

string($text128) example: smith123

The user that requested this transfer.

approvalDate

NA

string($date-time)

The date the transfer was approved.

approvedUser

NA

string($text128) example: smith123

The user that approved this transfer.

importId

NA

string($text128) example: smith123

An identifier from an original data seed import.

lineItems

object

Line items

Table 4-402 TransferLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

integer($int15) example: 2222222

The unique identifier of the line record.

itemId

NA

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantityRequested

NA

number($decimal(20,4)) example: 100

The quantity that was requested.

quantityApproved

NA

number($decimal(20,4)) example: 90

The quantity that was approved.

quantityShipping

NA

number($decimal(20,4)) example: 50

The quantity that is currently in shipping.

quantityShipped

NA

number($decimal(20,4)) example: 40

The quantity that has shipped.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity that was received into stock.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity that was received as damaged.

preferredUom

NA

string($text4) example: EA

The preferred unit of measure of this line item.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Transfer

The Update Transfer API updates a transfer request that has been requested or updates a newly created transfer that is prior to being approved. It allows the approved quantities to be updated until the transfer becomes approved.

Method

POST
URL

/transfers/{transferId}
Request

Table 4-403 Update Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int12) (path)

The unique identifier of the transfer.

The request body is application/json.

Details about the transfer to update.

Example Value

{
  "contextTypeId": 400000,
  "contextValue": "Repair Needed",
  "allowPartialDelivery": true,
  "notAfterDate": "2025-01-10T12:58:44.635Z",
  "lineItems": [
    {
      "itemId": "10045600",
      "quantity": 100,
      "caseSize": 3
    }
  ],
  "notes": [
    "Transfer needs to be rushed.",
    "Items are in the back room."
  ]
}
Schema — TransferRequestUpdateIdo

Table 4-404 TransferRequestUpdateIdo— Object

Element Name Required Data Type/Example Description

sourceStoreId

Yes

integer($int10) example: 4000

The identifier of the source location of the transfer.

destinationStoreId

Yes

integer($int10) example: 5000

The identifier of the destination location of the transfer.

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

allowPartialDelivery

NA

boolean example: true

True indicates that a partial delivery is allowed for the transfer, false indicates it is not.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

lineItems

Yes

object

Up to 5,000 Items to update on the transfer.

Table 4-405 TransferRequestUpdatweLineItemIdo— Object

notes

NA

string($text2000)] example: List [ "Transfer needs to be rushed.", "Items are in the back room." ]

A collection of notes that will be added to the transfer notes.

Responses

This section describes the responses of the Update Transfer API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "transferId": 11111,
    "externalTransferId": "AX57684",
    "distroNumber": "440213",
    "sourceLocationType": 1,
    "sourceLocationId": 4000,
    "destinationLocationType": 1,
    "destinationLocationId": 5000,
    "status": 1,
    "originType": 1,
    "contextTypeId": 400000,
    "contextTypeCode": "CNTXA",
    "contextValue": "Repair Needed",
    "customerOrderNumber": "67008700",
    "fulfillmentOrderNumber": "67008711",
    "allowPartialDelivery": true,
    "useAvailable": true,
    "authorizationCode": "1111",
    "notAfterDate": "2025-01-08T13:54:30.666Z",
    "createDate": "2025-01-08T13:54:30.666Z",
    "createUser": "smith123",
    "updateDate": "2025-01-08T13:54:30.666Z",
    "updateUser": "smith123",
    "requestDate": "2025-01-08T13:54:30.666Z",
    "requestUser": "smith123",
    "approvalDate": "2025-01-08T13:54:30.666Z",
    "approvedUser": "smith123",
    "importId": "smith123",
    "lineItems": [
      {
        "lineId": 2222222,
        "itemId": "10045600",
        "caseSize": 3,
        "quantityRequested": 100,
        "quantityApproved": 90,
        "quantityShipping": 50,
        "quantityShipped": 40,
        "quantityReceived": 20,
        "quantityDamaged": 20,
        "preferredUom": "EA"
      }
    ]
  }
]
Schema — TransferIdo

Table 4-406 TransferIdo — Object

Element Name Required Data Type/Example Description

transferid

NA

integer($int15) example: 11111

The unique identifier of the transfer.

externalTransferId

NA

string($text128) example: AX57684

An identifier supplied from an external system.

distroNumber

NA

string($text128) example: 440213

A distribution number( used for integration with other systems). It is another type of external identifier.

sourceLocationType

NA

integer($int4) example: 1

The type of the source location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourcelocationId

NA

integer($int10) example: 4000

The identifier of the source location of the transfer.

desintationLocationType

NA

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

NA

integer($int10) example: 5000

The identifier of the destination location of the transfer.

status

NA

integer($int4) example: 1

The current status of the transfer. Valid values are:

1 - New Request

2 - Requeste

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

originType

NA

integer($int4) example: 1

The origin type of the transfer. Valid values are:

1 - External

2 - Internal

3 - Adhoc

Enum: [ 1, 2, 3 ]

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextTypeCode

NA

integer($int4) example: CNTXA

An external code of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

customerOrderNumber

NA

string($text128) example: 67008700

External system identifier of a customer order.

fulfillmentOrderNumber

NA

string($text128) example: 67008711

External system identifier of a fulfillment order.

allowPartialDelivery

NA

boolean example: true

True indicates that parial delivery is allowed for the transfer, false indicates it is not.

useAvailable

NA

boolean example: true

True indicates the transfer must use available stock, false indicates it uses unavailable stock.

authorizationCode

NA

string($text12) example: 1111

An authorization code assigned to the transfer.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

createDate

NA

string($date-time)

The date the transfer was created.

createUser

NA

string($text128) example: smith123

The user that created this transfer.

updateDate

NA

string($date-time)

The date the transfer was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated this transfer.

requestDate

NA

string($date-time)

The date the transfer was requested.

requestUser

NA

string($text128) example: smith123

The user that requested this transfer.

approvalDate

NA

string($date-time)

The date the transfer was approved.

approvedUser

NA

string($text128) example: smith123

The user that approved this transfer.

importId

NA

string($text128) example: smith123

An identifier from an original data seed import.

lineItems

object

Line items

Table 4-407 TransferLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

integer($int15) example: 2222222

The unique identifier of the line record.

itemId

NA

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantityRequested

NA

number($decimal(20,4)) example: 100

The quantity that was requested.

quantityApproved

NA

number($decimal(20,4)) example: 90

The quantity that was approved.

quantityShipping

NA

number($decimal(20,4)) example: 50

The quantity that is currently in shipping.

quantityShipped

NA

number($decimal(20,4)) example: 40

The quantity that has shipped.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity that was received into stock.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity that was received as damaged.

preferredUom

NA

string($text4) example: EA

The preferred unit of measure of this line item.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Request

The Create Request API creates a new store-to-store transfer request. The transfer must be released in order to be available to the sending store to later approve or reject. EICS will be the originator of this transfer request, not the external system. To import transfers from an external system, see Import Transfer.

Method

POST
URL

/transfers/requests
Request

There are no request parameters.

The request body is application/json.

Example Value

{
  "sourceStoreId": 4000,
  "destinationStoreId": 5000,
  "contextTypeId": 400000,
  "contextValue": "Repair Needed",
  "allowPartialDelivery": true,
  "notAfterDate": "2025-01-08T14:01:57.301Z",
  "lineItems": [
    {
      "itemId": "10045600",
      "quantity": 100,
      "caseSize": 3
    }
  ],
  "notes": [
    "Transfer needs to be rushed.",
    "Items are in the back room."
  ]
}
Schema — TransferRequestCreateIdo

Table 4-408 TransferRequestCreateIdo— Object

Element Name Required Data Type/Example Description

sourceStoreId

Yes

integer($int10) example: 4000

The identifier of the source location of the transfer.

destinationStoreId

Yes

integer($int10) example: 5000

The identifier of the destination location of the transfer.

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

allowPartialDelivery

NA

boolean example: true

True indicates that a partial delivery is allowed for the transfer, false indicates it is not.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

lineItems

Yes

object

A collection of up to 5,000 items that will be added to the transfer.

notes

NA

string($text2000)] example: List [ "Transfer needs to be rushed.", "Items are in the back room." ]

A collection of notes that will be added to the transfer notes.

Table 4-409 TransferRequestCreateLineItemIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600q

The unique identifier of the SKU item.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity that is requested.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

Responses

This section describes the responses of the Create Request API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "transferId": 11111,
    "externalTransferId": "AX57684",
    "status": 1
  }
]
Schema — TransferStatusIdo

Table 4-410 TransferStatusIdo — Object

Element Name Required Data Type/Example Description

transferId

NA

integer($int15) example: 11111

The unique identifier of the transfer.

externalTransferId

 NA

string($text128) example: AX57684

An identifier supplied from an external system.

status

 NA

integer($int4) example: 1

The current status of the transfer. Valid values are:

1 - New Request

2 - Requeste

3 - Request In Progress

4 - Rejected Request

5 - Canceled Request

6 - Transfer In Progress

7 - Approved

8 - In Shipping

9 - Completed Transfer

10 - Canceled Transfer

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Request

The Update Request API updates requested quantities on a store-to-store request while it is still in new status, prior to being released to the shipping store.

Method

POST
URL

/transfers/requests/{transferId}
Request

Table 4-411 Update Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int12) (path)

The unique identifier of the transfer.

The request body is application/json.

Details about the transfer to update.

Example Value

{
  "sourceStoreId": 4000,
  "destinationStoreId": 5000,
  "contextTypeId": 400000,
  "contextValue": "Repair Needed",
  "allowPartialDelivery": true,
  "notAfterDate": "2025-01-08T14:41:38.414Z",
  "lineItems": [
    {
      "itemId": "10045600",
      "quantity": 100,
      "caseSize": 3
    }
  ],
  "notes": [
    "Transfer needs to be rushed.",
    "Items are in the back room."
  ]
}
Schema — TransferRequestUpdateIdo

Table 4-412 TransferRequestUpdateIdo— Object

Element Name Required Data Type/Example Description

sourceStoreId

Yes

integer($int10) example: 4000

The identifier of the source location of the transfer.

destinationStoreId

Yes

integer($int10) example: 5000

The identifier of the destination location of the transfer.

contextTypeId

NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextValue

NA

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

allowPartialDelivery

NA

boolean example: true

True indicates that a partial delivery is allowed for the transfer, false indicates it is not.

notAfterDate

NA

string($date-time)

A date after which the transfer should not be shipped.

lineItems

Yes

object

Up to 5,000 Items to update on the transfer.

Table 4-413 TransferRequestUpdatweLineItemIdo— Object

notes

NA

string($text2000)] example: List [ "Transfer needs to be rushed.", "Items are in the back room." ]

A collection of notes that will be added to the transfer notes.

Responses

This section describes the responses of the Update Request API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Request

The Cancel Request API cancels a new request before it is released to the sending store for approval. This is done when the receiving location decides the transfer is not needed prior to finishing their request. The status must be new request in order to cancel.

Method

POST
URL

/transfers/requests/{transferId}/cancel
Request

Table 4-414 Cancel Request — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Cancel Request API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Release Request

The Release Request API finalizes the request of the transfer at the receiving location and begins the approval process at the sending location.

Method

POST
URL

/transfers/requests/{transferId}/cancel
Request

Table 4-415 Release Request — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Release Request API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Approve Request

The Approve Request API approves a transfer request created by a receiving store and released to the sending store. The transfer request must be in requested or request in progress status in order to approve.

Method

POST
URL

/transfers/requests/{transferId}/approve
Request

Table 4-416 Approve Request — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Approve Request API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Reject Request

The Reject Request API rejects a transfer request from a receiving store closing out the transfer. This is done when the shipping store decides it will not fulfill it. The status must be requested or request in progress in order for it to be rejected.

Method

POST
URL

/transfers/requests/{transferId}/reject
Request

Table 4-417 Reject Request — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Reject Request API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Approve Transfer

The Approve Transfer API approves a transfer created by the sending store moving it to the shipping stage. The status of the transfer must be transfer in progress in order to approve it.

Method

POST
URL

/transfers/{transferId}/approve
Request

Table 4-418 Approve Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Approve Transfer API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Transfer

The Cancel Transfer API cancels a transfer created by a sending store that has yet to be approved. The status must be transfer in progress in order to cancel the transfer.

Method

POST
URL

/transfers/{transferId}/cancel
Request

Table 4-419 Cancel Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Cancel Transfer API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Close Transfer

The Close Transfer API closes a transfer that has been approved. It can close a request that currently is in requested or request in progress status, but only if the shipping location is a store. It can close a transfer that is in shipping status so long as it does not have shipping quantities (this can happen if a previous partial shipment has already shipped).

Method

POST
URL

/transfers/{transferId}/close
Request

Table 4-420 Close Transfer — Request Parameter

Name Required Data Type/Example Description

transferId

Yes

number($int15) (path)

The unique identifier of the transfer.

Responses

This section describes the responses of the Close Transfer API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find Transfer Contexts

The Find Transfer Contexts API reads all the available contexts for a transfer.

Method

GET
URL

/transfers/contexts
Request

There are no request parameters.

Responses

This section describes the responses of the Find Transfer Contexts API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "contextId": 1234,
    "code": "CNTXIA",
    "description": "Repair",
    "sequence": 2
  }
]
Schema — TransferContextIdo

Table 4-421 TransferContextIdo — Object

Element Name Required Data Type/Example Description

contextId

NA

number($int18) example: 1234

The unqiue identifier of the context record.

code

NA

string($text6) example: CNTXIA

A short code associated to the context.

description

NA

string($text120) example: Repair

A description of the context.

sequence

NA

integer($int6) example: 2

The order it should be sequenced in.

Import Transfer

The Import Transfer API imports a transfer (stock order) that is managed by an external system. This is an asynchronous process where minimal validation is performed on input and the message is staged in MPS for later processing. The message is managed by the MPS work queue (DcsTransfer). If Oracle Merchandising is enabled in the system, this service operation is not allowed.

Method

POST
URL

/transfers/import
Request

There are no request parameters.

The request body is application/json.

Example Value

{
  "externalTransferId": "AX57684",
  "sourceLocationType": 1,
  "sourceLocationId": 4000,
  "destinationLocationType": 1,
  "destinationLocationId": 5000,
  "contextTypeId": 400000,
  "contextValue": "Repair Needed",
  "deliveryDate": "2025-01-10T12:19:54.491Z",
  "notAfterDate": "2025-01-10T12:19:54.491Z",
  "customerOrderNumber": "67008700",
  "fulfillmentOrderNumber": "67008711",
  "allowPartialDelivery": true,
  "useUnavailableInventory": true,
  "lineItems": [
    {
      "itemId": "10045600",
      "quantity": 100,
      "preferredUom": "EA"
    }
  ]
}
Schema — TransferImportIdo

Table 4-422 TransfeImportIdo — Object

Element Name Required Data Type/Example Description

externalTransferId

Yes

string($text128) example: AX57684

An identifier supplied from an external system.

sourceLocationType

Yes

integer($int4) example: 1

The type of the source location of the transfer. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourceLocationId

Yes

integer($int10) example: 4000

The identifier of the source location of the transfer.

destinationLocationType

Yes

integer($int4) example: 1

The type of the destination location of the transfer. Valid values are

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

destinationLocationId

Yes

integer($int10) example: 5000

The identifier of the destination location of the transfer.

contextTypeId

 NA

number($int18) example: 400000

Unique identifier of a context associated to the transfer.

contextValue

NA 

string($text25) example: Repair Needed

A value or some information related to the context associated to the transfer.

deliveryDate

NA 

string($date-time) .

The date in which the transfer delivery should take place 

notAfterDate

NA 

string($date-time) .

A date after which the transfer should not be shipped 

customerOrderNumber

NA 

string($text128) example: 67008700

External system identifier of a customer order.

fulfillmentOrderNumber

NA 

string($text128) example: 67008711

External system identifier of a fulfillment order.

allowPartialDelivery

NA 

boolean example: true

True indicates that a partial delivery is allowed for the transfer, false indicates it is not.

useUnavailableInventory

NA 

boolean example: true

True if the transfer is for unavailable inventory, false otherwise.

lineItems

Yes

object

A collecton of up to 5,000 line items on the transfer.

Table 4-423 TransfeImportLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity that was requested.

preferredUom

NA

string($text4) example: EA

The preferred unit of measure of this line item.

 

Responses

This section describes the responses of the Import Transfer API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Delete Transfer Import

The Delete Transfer Import API deletes a transfer request or trasnfer (stock order) if it has not yet become active.

Method

DELETE
URL

/transfers/import/{externalTransferId}
Request

Table 4-424 Delete Transfer Import — Request Parameter

Name Required Data Type/Example Description

externalTransferId

Yes

number($int15) (path)

The unique identifier of the transfer from the external system.

Responses

This section describes the responses of the Delete Transfer Import API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Transfer Delivery

A transfer delivery is the physical accounting of receiving goods from a store, warehouse, or external finisher. Deliveries consists of containers that hold items. Containers may be received blind, without knowing the expected quantities. The containers can also be for unavailable inventory. Transfer deliveries allow for receiving by Advance Shipment Notice (ASN), container, item level, or the entire delivery. Damages may be recorded during the receiving. This service defines operations to manage transfer delivery information by integration with an external system.

Server Base URL

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Delivery

This section describes the Find Delivery API. This API finds up to 10,000 delivery headers for the input criteria.

Method

GET
URL

/tsfdeliveries
Request

Table 4-425 Find Delivery — Request Parameters

Name Required Data Type/Example Description

storeId

NA

number($int10) (query)

Include only deliveries from this store.

asn

NA

string($text128) (query)

Include only deliveries with this ASN.

status

NA

integer($int4) (query)

Include only deliveries with this status. Valid values are

1 - New

2 - In Progress

3 - Received

Available values : 1, 2, 3

updateDateFrom

NA

string($date-time) (query)

Include only deliveries with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only deliveries with an update date on or before this date.

Responses

This section describes the responses of the Find Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "storeId": 5000,
    "sourceType": 1,
    "sourceId": 5101,
    "asn": "789012",
    "status": 1,
    "receiptNumber": "799003",
    "carrierName": "Speedy, Inc.",
    "expectedDate": "2025-01-10T13:35:33.734Z",
    "receivedDate": "2025-01-10T13:35:33.734Z",
    "createDate": "2025-01-10T13:35:33.734Z",
    "updateDate": "2025-01-10T13:35:33.734Z"
  }
]
Schema — TransferDeliveryHeaderIdo

Table 4-426 TransferDeliveryHeaderIdo —Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int15) example: 11111

The unique identifier of the transfer delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

sourceType

 

integer($int4) example: 1

The type of location that is shipping the goods. Valid values are:

1 - Store

2 - Warehouse

3 - Finisher

Enum: Array [ 3 ]

sourceId

NA

number($int10) example: 5101

The identifier of the location shipping the goods.

asn

NA

string($text128) example: 789012

The advanced shipping notification number.

status

NA

integer($int4) example: 1

The current status of the delivery. Valid values are:

1 - New

2 - In Progress

3 - Received

Enum: [ 1, 2, 3 ]

receiptNumber

NA

string($text128) example: 799003

The receipt number of the delivery.

carrierName

NA

string($text128) example: Speedy, Inc.

The name of the carrier of the delivery.

expectedDate

NA

string($date-time)

The date the delivery is epxected to be received.

receivedDate

NA

string($date-time)

The date the delivery was received.

createDate

NA

string($date-time)

The date the delivery was created.

updateDate

NA

string($date-time)

The date the delivery was last updated.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Delivery

Creates a new transfer delivery as if SIOCS was the originator of the delivery. For integration of ASN deliveries originating from an external system, please see import delivery operation.

Method

POST
URL

/tsfdeliveries
Request

There are no request parameters.

The request body is appliaction/json.

The delivery details of the new delivery.

Example Value

{
  "storeId": 5000,
  "sourceType": 1,
  "sourceId": 5101,
  "asn": "789012",
  "billOfLadingId": "BOL884455",
  "carrierType": 1,
  "carrierName": "Speedy, Inc.",
  "carrierCode": "SPI",
  "sourceAddress": "Solid Supplies",
  "licensePlate": "ABX100",
  "freightId": "666234522",
  "expectedDate": "2025-01-10T14:25:34.133Z",
  "cartons": [
    {
      "externalCartonId": "GH124000",
      "referenceId": "3461353",
      "damagedReason": "Vehicle Accident",
      "serialCode": 3333600,
      "trackingNumber": "346139384726043",
      "damagedRemaining": true,
      "receiveAtShopFloor": false,
      "qualityControl": true,
      "lineItems": [
        {
          "itemId": "11111",
          "documentId": 222222,
          "documentType": 1,
          "documentDate": "2025-01-10T14:25:34.133Z",
          "customerOrderNumber": "1444923",
          "fulfillmentOrderNumber": "11123412",
          "useAvailable": true,
          "caseSize": 1,
          "quantityExpected": 20,
          "quantityReceived": 20,
          "quantityDamaged": 20,
          "uins": [
            {
              "uin": "11123412",
              "shipped": true,
              "received": true,
              "damaged": true
            }
          ]
        }
      ]
    }
  ]
}
Schema — TransferDeliveryCreateIdo

Table 4-427 TransferDeliveryCreateIdo —Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The identifier of the store receiving the inventory.

sourceType

Yes

integer($int4) example: 1

The type of location that is shipping the goods. Valid values are

1 - Store

 

 

 

2 - Warehouse

 

 

 

3 - Finisher

 

 

 

Enum: [ 1, 2, 3 ]

 

 

 

sourceId

Yes

number($int10) example: 5101

The identifier of the location shipping the goods.

asn

Yes

string($text128) example: 789012

The advanced shipping notification number.

billOfLadingId

NA

string($text128) example: BOL884455

A bill of lading identifier from an external system.

carrierType

NA

integer($int4) example: 1

The carrier type of the carrier. Valid values are:

1 - Corporate

2 - Third Party

Enum: [ 1, 2 ]

carrierName

NA

string($text128) example: Speedy, Inc.

The name of the carrier of the delivery.

carrierCode

NA

string($text4) example: SPI

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: Solid Supplies

The address of the source location that shipped the inventory.

licensePlate

NA

string($text128) example: ABX100

A license plate number of the delivery vehicle.

freightId

NA

string($text128) example: 666234522

A freight identifier associated to the delivery.

expectedDate

NA

string($date-time) The date the delivery is epxected to be received.

 

cartons

Yes

object

A collection of up to 500 cartons on the delivery.

Table 4-428 TransferDeliveryCreateCartonIdo —Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: GH124000

A carton identifier from an external system.

referenceId

NA

string($text128) example: 3461353

A reference identifier (another way to identify the carton).

damagedReason

NA

string($text128) example: Vehicle Accident

A reason for the container damage.

serialCode

NA

number($int15) example: 3333600

A serial code associated to the container.

trackingNumber

NA

string($text128) example: 346139384726043

A tracking number associated to the container.

damagedRemaining

NA

boolean example: true

True indicates all remaining unreceived quantities should be marked as damaged on the final receipt.

receiveAtShopFloor

NA

boolean example: false

True indicates the container is to be received on the shopfloor, false indicates it should not.

qualityControl

NA

boolean example: true

True indicates the container requires quality control, false indicates it does not.

lineItems

Yes

object

A collection of up to 2,000 items on the container.

Table 4-429 TransferDeliveryCreateLineItemIdo —Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

documentId

Yes

number($int15) example: 222222

The unique identifier of the transfer or allocation document.

documentType

Yes

integer($int4) example: 1

The type of the document. Valid values are:

1 - Transfer

2 - Allocation

Enum: [ 1, 2 ]

documentDate

Yes

string($date-time)

The date the document was created.

customerOrderNumber

NA

string($text128) example: 1444923

 

The customer order identifier if a customer order is associated to the item.

fulfillmentOrderNumber

NA

string($text128) example: 11123412

The fulfillment order identifier if a customer order is associated to the item.

useAvailable

NA

boolean example: true

True indicates to use available inventory, false indicuates to use unavailable inventory.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantityExpected

NA

number($decimal(20,4)) example: 20

The quantity expected to be received.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity received as good.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity received as damaged.

uins

NA

object

A collection of UINs on the line item.

Table 4-430 TransferDeliveryUinIdo —Object

Element Name Required Data Type/Example Description

uin

Yes

string($text128) example: 11123412

The unique identification number.

shipped

 NA

boolean example: true

True, if the UIN is shipped, false otherwise.

received

NA

boolean example: true

True, if the UIN is received, false otherwise.

damaged

NA

boolean example: true

True if the UIN is received as damaged, false otherwise.

Responses

This section describes the responses of the Create Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "status": 1
  }
]
Schema — TransferDeliveryStatusIdo

Table 4-431 TransferDeliveryStatusIdo —Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int15) example: 11111

The unique identifier of the transfer delivery.

status

NA

integer($int4) example: 1

The current status of the delivery. Valid values are:

1 - New

2 - In Progress

3 - Received

Enum: [ 1, 2, 3 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Delivery

The Read Delivery API retrieves all the details about an transfer delivery.

Method

GET
URL

/tsfdeliveries/{deliveryId}
Request

Table 4-432 Read Delivery — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

Responses

This section describes the responses of the Read Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "storeId": 5000,
    "sourceType": 1,
    "sourceId": 5101,
    "status": 1,
    "asn": "789012",
    "receiptNumber": "799003",
    "carrierName": "Speedy, Inc.",
    "carrierType": 1,
    "carrierCode": "SPI",
    "sourceAddress": "Solid Supplies",
    "licensePlate": "ABX100",
    "freightId": "666234522",
    "fiscalDocumentRequestId": 100234,
    "fiscalDocumentReferenceId": 63452277,
    "fiscalDocumentNumber": "84478274",
    "billOfLadingId": "BOL884455",
    "expectedDate": "2025-01-10T14:36:21.974Z",
    "receivedDate": "2025-01-10T14:36:21.974Z",
    "receivedUser": "smith123",
    "createDate": "2025-01-10T14:36:21.974Z",
    "createUser": "smith123",
    "updateDate": "2025-01-10T14:36:21.974Z",
    "updateUser": "smith123",
    "importId": "3461353",
    "cartons": [
      {
        "cartonId": 11111,
        "externalCartonId": "GH124000",
        "referenceId": "3461353",
        "misdirectedId": 3461353,
        "discrepant": true,
        "receiveAtShopFloor": false,
        "externalCreate": true,
        "adjusted": false,
        "qualityControl": true,
        "copied": true,
        "damagedRemaining": true,
        "damagedReason": "Vehicle Accident",
        "serialCode": 3333600,
        "trackingNumber": "346139384726043",
        "status": 1,
        "customerOrderRelated": 1,
        "createUser": "smith123",
        "updateDate": "2025-01-10T14:36:21.974Z",
        "updateUser": "smith123",
        "receivedDate": "2025-01-10T14:36:21.974Z",
        "receivedUser": "smith123",
        "lineItems": [
          {
            "lineId": 11111,
            "itemId": "11111",
            "documentId": 222222,
            "documentType": 1,
            "documentDate": "2025-01-10T14:36:21.974Z",
            "customerOrderNumber": "1444923",
            "fulfillmentOrderNumber": "11123412",
            "useAvailable": true,
            "caseSize": 1,
            "quantityExpected": 20,
            "quantityReceived": 20,
            "quantityDamaged": 20,
            "quantityPreviousReceived": 20,
            "quantityPreviousDamaged": 20,
            "uins": [
              {
                "uin": "11123412",
                "itemUinId": 8475,
                "shipped": true,
                "received": true,
                "damaged": true
              }
            ]
          }
        ]
      }
    ]
  }
Schema — TransferDeliveryIdo

Table 4-433 TransferDeliveryIdo — Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int15) example: 11111

The unique identifier of the transfer delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

sourceType

NA

 integer($int4) example: 1

The type of location that is shipping the goods. Valid values are

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourceId

NA

number($int10) example: 5101

The identifier of the location shipping the goods.

status

NA

integer($int4) example: 1

The current status of the delivery. Valid values are

1 - New

2 - In Progress

3 - Received

Enum: [ 1, 2, 3 ]

asn

NA

string($text128) example: 789012

The advanced shipping notification number.

receiptNumber

NA

string($text128) example: 799003

The receipt number of the delivery.

carrierName

NA

string($text128) example: Speedy, Inc.

The name of the carrier of the delivery.

carrierType

NA

integer($int4) example: 1

The carrier type of the carrier. Valid values are

1 - Corporate

2 - Third Party

Enum: [ 1, 2, 3 ]

carrierCode

NA

string($text4) example: SPI

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: Solid Supplies

The address of the source location that shipped the inventory.

licensePlate

NA

string($text128) example: ABX100

A license plate number of the delivery vehicle.

freightId

NA

string($text128) example: 666234522

A freight identifier associated to the shipment.

fiscalDocumentRequestId

NA

number($int20) example: 100234

The identifier of the request for a fiscal document.

fiscalDocumentReferenceId

NA

number($int20) example: 63452277

The unique identifier of the fiscal document record.

fiscalDocumentNumber

NA

string($text255) example: 84478274

The fiscal document number.

billOfLadingId

NA

string($text128) example: BOL884455

An external bill of lading identifier.

expectedDate

NA

string($date-time)

  The date the delivery is expected to be received.

receivedDate

NA

string($date-time)

The date the delivery was received.

receivedUser

NA

string($text128) example: smith123

The user that received the delivery.

createDate

NA

string($date-time)

The date the delivery was created.

createUser

NA

string($text128) example: smith123

The user that created the delivery.

updateDate

NA

string($date-time)

The date the delivery was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated the delivery.

importId

NA

string($text128) example: 3461353

An original import identifier if the data was imported through data-seeding.

cartons

NA

object

A collection of cartons on the delivery.

Table 4-434 TransferDeliveryCartonIdo — Object

Element Name Required Data Type/Example Description

cartonId

NA

number($int15) example: 11111

The unique identifier of the transfer delivery carton.

externalCartonId

NA

string($text128) example: GH124000

A carton identifier from an external system.

referenceId

NA

string($text128) example: 3461353

A reference identifier (another way to identify the carton)

misdirectedId

NA

number($int15) example: 3461353

A misdirected container identifier (if this is copy of a another container).

discrepant

NA

boolean example: true

True indicates the container is discrepant, false indicates it is not.

receiveAtShopFloor

NA

boolean example: false

True indicates the container is to be received on the shopfloor, false indicates it should not.

externalCreate

NA

boolean example: true

True indicates the container was externally created, false indicates it was created internally.

adjusted

NA

boolean example: false

True indicates the container has been adjusted, false indicates it has not.

qualityControl

NA

boolean example: true

True indicates the container requires quality control, false indicates it does not.

copied

NA

boolean example: true

True indicates the container has been copied as a misdirected container, false means it has not.

damagedRemaining

NA

boolean example: true

True indicates all remaining unreceived quantities should be marked as damaged on the final receipt.

damagedReason

NA

string($text128) example: Vehicle Accident

A reason for the container damage.

serialCode

NA

number($int15) example: 3333600

A serial code associated to the container.

trackingNumber

NA

string($text128) example: 346139384726043

A tracking number associated to the container.

status

NA

integer($int4) example: 1

The status of the container. Value values are

1 - New

2 - In Progress

3 - Damaged

4 - Received

5 - Missing

Enum: [ 1, 2, 3, 4, 5 ]

customerOrderRelated

NA

nteger($int4) example: 1

Indicates if the carton is related to a customer order. Valid values are

1 - Yes

2 - Mix

3 - No

Enum: [ 1, 2, 3 ]

createUser

NA

string($text128) example: smith123

The user that created the container.

updateDate

NA

string($date-time)

The date the container was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated the container.

receivedDate

NA

string($date-time)

The date the container was received.

receivedUser

NA

string($text128)

example: smith123

The user that created the container.

lineItems

NA

object

A collection of items in the container.

Table 4-435 TransferDeliveryLindeItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

number($int15) example: 11111

The unique identifier of the line item record.

itemId

NA

string($text25) example: 11111

The unique identifier of the item.

documentId

NA

number($int15) example: 222222

The unique identifier of the transfer or allocation document.

documentType

NA

integer($int4) example: 1

The type of the document. Value values are

1 - Transfer

2 - Allocation

Enum: [ 1, 2 ]

documentDate

NA

string($date-time)

The date the document was created.

customerOrderNumber

NA

string($text128) example: 1444923

A customer order identifier if a customer order is associated to the delivery.

fulfillmentOrderNumber

NA

string($text128) example: 11123412

The fulfillment order identifier if a customer order is associated to the delivery.

useAvailable

NA

boolean example: true

True indicates to use available inventory, false indicates to use unavailable inventory.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantityExpected

NA

number($decimal(20,4)) example: 20

The quantity expected to be received.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity received as good.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity received as damaged.

quantityPreviousReceived

NA

number($decimal(20,4)) example: 20

The quantity last received as good.

quantityPreviousDamaged

NA

number($decimal(20,4)) example: 20

The quantity last received as damaged.

uins

NA

object

 A collections of UINs on the line item.

Table 4-436 TransferDeliveryLindeItemUinIdo — Object

Element Name Required Data Type/Example Description

uin

NA

string($text128) example: 11123412

The unique identification number.

itemUinId

NA

number($int14) example: 8475

The unique identifier of the item UIN record.

shipped

NA

boolean example: true

True if the UIN is shipped, false otherwise.

received

NA

boolean example: true

True if the UIN is received, false otherwise.

damaged

NA

boolean example: true

True if the UIN is received as damaged, false otherwise.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Delivery

The Update Delivery API update the header portion of a delivery.

Method

POST
URL

/tsfdeliveries/{deliveryId}
Request

Table 4-437 Update Delivery — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

The request body is application/json.

Delivery header details to update.

Example Value

{
  "billOfLadingId": "BOL884455",
  "carrierType": 1,
  "carrierName": "Speedy, Inc.",
  "carrierCode": "SPI",
  "sourceAddress": "Solid Supplies",
  "licensePlate": "ABX100",
  "freightId": "666234522",
  "expectedDate": "2025-01-10T15:43:51.438Z"
}
Schema — TransferDeliveryUpdateIdo

Table 4-438 TransferDeliveryUpdateIdo— Object

Element Name Required Data Type/Example Description

billOfLadingId

NA

string($text128) example: BOL884455

A bill of lading identifier from an external system.

carrierType

NA

integer($int4) example: 1

The carrier type of the carrier. Valid values are

1 - Corporate

2 - Third Party

Enum: [ 1, 2 ]

carrierName

NA

string($text128) example: Speedy, Inc.

The name of the carrier of the delivery.

carrierCode

NA

string($text4) example: SPI

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: Solid Supplies

The address of the source location that shipped the inventory.

licensePlate

NA

string($text128) example: ABX100

A license plate number of the delivery vehicle.

freightId

NA

string($text128) example: 666234522

A freight identifier associated to the delivery.

expectedDate

NA

string($date-time)

The date the delivery is expected to be received.

Responses

This section describes the responses of the Update Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Receive Delivery

The Receive Delivery API receives the transfer delivery. The quantities will be updated to the expected quantity value (if no quantity has been recorded previously, including recording 0 previously) and the delivery will be set to in progress stats. To finalize the delivery, use the confirm operation.

Method

POST
URL

/tsfdeliveries/{deliveryId}/receive
Request

Table 4-439 Receive Delivery — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

Responses

This section describes the responses of the Receive Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Delivery

The Confirm Delivery API confirms the delivery finalizing the movement of inventory and closing the delivery.

Method

POST
URL

/tsfdeliveries/{deliveryId}/confirm
Request

Table 4-440 Confirm Delivery — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

Responses

This section describes the responses of the Confirm Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Open Delivery

The Open Delivery API opens the delivery for additional receiving but leaves all the cartons in their current state.

Method

POST
URL

/tsfdeliveries/{deliveryId}/open
Request

Table 4-441 Open Delivery — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

Responses

This section describes the responses of the Open Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Carton

The Create Carton Delivery API adds a new container to a new or in progress shipment.

Method

POST
URL

/tsfdeliveries/{deliveryId}/cartons
Request

Table 4-442 Create Carton — Request Parameter

Name Required Data Type/Example Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the delivery.

The request body is application/json.

Details about the carton to add to the shipment.

Example Value

{
  "externalCartonId": "GH124000",
  "referenceId": "3461353",
  "damagedReason": "Vehicle Accident",
  "serialCode": 3333600,
  "trackingNumber": "346139384726043",
  "damagedRemaining": true,
  "receiveAtShopFloor": false,
  "qualityControl": true,
  "lineItems": [
    {
      "itemId": "11111",
      "documentId": 222222,
      "documentType": 1,
      "documentDate": "2025-01-13T12:33:47.167Z",
      "customerOrderNumber": "1444923",
      "fulfillmentOrderNumber": "11123412",
      "useAvailable": true,
      "caseSize": 1,
      "quantityExpected": 20,
      "quantityReceived": 20,
      "quantityDamaged": 20,
      "uins": [
        {
          "uin": "11123412",
          "shipped": true,
          "received": true,
          "damaged": true
        }
      ]
    }
  ]
}
Schema — TransferDeliveryCreateCartonIdo

Table 4-443 TransferDeliveryCreateCartonIdo— Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: GH124000

A carton identifier from an external system.

referenceId

NA

string($text128) example: 3461353

A reference identifier (another way to identify the carton).

damagedReason

NA

string($text128) example: Vehicle Accident

A reason for the container damage.

serialCode

NA

number($int15) example: 3333600

A serial code associated to the container.

trackingNumber

NA

string($text128) example: 346139384726043

A tracking number associated to the container.

damagedRemaining

NA

boolean example: true

True indicates all remaining unreceived quantities should be marked as damaged on the final receipt.

receiveAtShopFloor

NA

boolean example: false

True indicates the container is to be received on the shopfloor, false indicates it should not.

qualityControl

NA

boolean example: true

True indicates the container requires quality control, false indicates it does not.

lineItems

Yes

object

A collection of up to 2,000 items on the container.

Table 4-444 TransferDeliveryCreateLineItemIdo —Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

documentId

Yes

number($int15) example: 222222

The unique identifier of the transfer or allocation document.

documentType

Yes

integer($int4) example: 1

The type of the document. Valid values are:

1 - Transfer

2 - Allocation

Enum: [ 1, 2 ]

documentDate

Yes

string($date-time)

The date the document was created.

customerOrderNumber

NA

string($text128) example: 1444923

 

The customer order identifier if a customer order is associated to the item.

fulfillmentOrderNumber

NA

string($text128) example: 11123412

The fulfillment order identifier if a customer order is associated to the item.

useAvailable

NA

boolean example: true

True indicates to use available inventory, false indicuates to use unavailable inventory.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantityExpected

NA

number($decimal(20,4)) example: 20

The quantity expected to be received.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity received as good.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity received as damaged.

uins

NA

object

A collection of UINs on the line item.

Table 4-445 TransferDeliveryUinIdo —Object

Element Name Required Data Type/Example Description

uin

Yes

string($text128) example: 11123412

The unique identification number.

shipped

 NA

boolean example: true

True, if the UIN is shipped, false otherwise.

received

NA

boolean example: true

True, if the UIN is received, false otherwise.

damaged

NA

boolean example: true

True if the UIN is received as damaged, false otherwise.

Responses

This section describes the responses of the Create Carton API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "cartonId": 24680,
    "externalCartonId": "GH124000",
    "status": 1
  }
]
Schema — TransferDeliveryCartonStatusIdo

Table 4-446 TransferDeliveryICartonStatusdo — Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int15) example: 11111

The unique identifier of the transfer delivery.

cartonId

NA

number($int15) example: 24680

The unique identifier of the transfer delivery carton.

externalCartonId

NA

string($text128) example: GH124000

A carton identifier from an external system.

status

NA

integer($int4) example: 1

The status of the container. Valid values are

1 - New

2 - In Progress

3 - Damaged

4 - Received

5 - Missing

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Carton

The Update Carton API Updates a previously existing carton that is in a new or in progress state, on a delivery that is also new or in progress.

Method

POST
URL

/tsfdeliveries/cartons/{cartonId}
Request

Table 4-447 Update Carton — Request Parameter

Name Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

The request body is application/json.

Details about the carton update.

Example Value

{
  "externalCartonId": "GH124000",
  "referenceId": "3461353",
  "receiveAtShopFloor": false,
  "qualityControl": true,
  "damagedRemaining": true,
  "damagedReason": "Vehicle Accident",
  "serialCode": 3333600,
  "trackingNumber": "346139384726043",
  "lineItems": [
    {
      "itemId": "11111",
      "documentId": 222222,
      "documentType": 1,
      "documentDate": "2025-01-13T13:33:02.273Z",
      "caseSize": 1,
      "quantityReceived": 20,
      "quantityDamaged": 20,
      "uins": [
        {
          "uin": "11123412",
          "shipped": true,
          "received": true,
          "damaged": true
        }
      ]
    }
  ]
}
Schema — TransferDeliveryCartonUpdateIdo

Table 4-448 TransferDeliveryCartonUpdateIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: GH124000

A carton identifier from an external system.

referenceId

NA

string($text128) example: 3461353

A reference identifier (another way to identify the carton).

receiveAtShopFloor

NA

boolean example: false

True indicates the container is to be received on the shopfloor, false indicates it should not.

qualityControl

NA

boolean example: true

True indicates the container requires quality control, false indicates it does not.

damagedRemaining

NA

boolean example: true

True indicates all remaining unreceived quantities should be marked as damaged on the final receipt.

damagedReason

NA

string($text128) example: Vehicle Accident

A reason for the container damage.

serialCode

NA

number($int15) example: 3333600

A serial code associated to the container.

trackingNumber

NA

string($text128) example: 346139384726043

A tracking number associated to the container.

lineItems

NA

object

A collection of up to 2,000 items in the container.

Table 4-449 TransferDeliveryCartonUpdateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

documentId

Yes

number($int15) example: 222222

The unique identifier of the transfer or allocation document.

documentType

Yes

integer($int4) example: 1

The type of the document. Valid values are

1 - Transfer

2 - Allocation

Enum: [1, 2]

documentDate*

Yes

string($date-time)

The date the document was created.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

quantityReceived

NA

number($decimal(20,4)) example: 20

The quantity received as good.

quantityDamaged

NA

number($decimal(20,4)) example: 20

The quantity received as damaged.

uins

NA

object

A collection of UINs on the line item.

Table 4-450 TransferDeliveryUinIdo — Object

Element Name Required Data Type/Example Description

uin

Yes

string($text128) example: 11123412

The unique identification number.

shipped

 NA

boolean example: true

True, if the UIN is shipped, false otherwise.

received

NA

boolean example: true

True, if the UIN is received, false otherwise.

damaged

NA

boolean example: true

True if the UIN is received as damaged, false otherwise.

Responses

This section describes the responses of the Update Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Receive Carton

The Receive Carton API receives the container. The quantities will be updated to the expected quantity value (if no quantity has been previously entered, including 0) and the container will be moved to in progress. Use the confirm operation to finalize the carton.

Method

POST
URL

/tsfdeliveries/cartons/{cartonId}/receive
Request

Table 4-451 Receive Carton — Request Parameter

Name Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the transfer delivery carton.

Responses

This section describes the responses of the Receive Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Carton

The Confirm Carton API confirms the container finalizing its status as received or damaged.

Method

POST
URL

/tsfdeliveries/cartons/{cartonId}/confirm
Request

Table 4-452 Confirm Carton — Request Parameter

Name Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the transfer delivery carton.

Responses

This section describes the responses of the Confirm Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Carton

The Cancel Carton API cancels the container indicating it will not be received as part of the delivery.

Method

POST
URL

/tsfdeliveries/cartons/{cartonId}/cancel
Request

Table 4-453 Cancel Carton — Request Parameter

Name Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the transfer delivery carton.

Responses

This section describes the responses of the Cancel Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Open Carton

The Open Carton API re-opens a confirmed container, placing it back into in progress state in order to adjust and confirm again.

Method

POST
URL

/tsfdeliveries/cartons/{cartonId}/open
Request

Table 4-454 Open Carton — Request Parameter

Name Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the transfer delivery carton.

Responses

This section describes the responses of the Open Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import ASN Delivery

The Import ASN Delivery API imports a transfer delivery (ASN) managed by an external system that is notifying SIOCS of an ASN creation or modification that took place. This request is staged and processed asynchronously, and is controlled by the MPS message type DcsAsn.

Method

POST
URL

/tsfdeliveries/imports
Request

There are no request parameters.

The request body is appliaction/json.

Details about the delivery to import.

Example Value

{
  "asn": "789012",
  "storeId": 5000,
  "sourceType": 1,
  "sourceId": 5101,
  "carrierType": 1,
  "carrierName": "Speedy, Inc.",
  "carrierCode": "SPI",
  "sourceAddress": "Solid Supplies",
  "licensePlate": "ABX100",
  "freightId": "666234522",
  "fiscalDocumentNumber": "84478274",
  "billOfLadingId": "BOL884455",
  "expectedDate": "2025-01-13T14:21:38.692Z",
  "cartons": [
    {
      "externalCartonId": "GH124000",
      "referenceId": "3461353",
      "serialCode": 3333600,
      "trackingNumber": "346139384726043",
      "qualityControl": true,
      "lineItems": [
        {
          "itemId": "11111",
          "documentId": 222222,
          "documentType": 1,
          "documentDate": "2025-01-13T14:21:38.692Z",
          "useAvailable": true,
          "caseSize": 1,
          "quantity": 20
        }
      ]
    }
  ]
}
Schema — TransferDeliveryImportIdo

Table 4-455 TransferDeliveryImportIdo— Object

Element Name Required Data Type/Example Description

asn

Yes

string($text128) example: 789012

The advanced shipping notification number.

storeId

Yes

number($int10) example: 5000

The identifier of the store receiving the inventory.

sourceType

Yes

integer($int4) example: 1

The type of location that is shipping the goods. Valid values are

1 - Store

2 - Warehouse

3 - Finisher

Enum: [ 1, 2, 3 ]

sourceId

Yes

number($int10) example: 5101

The identifier of the location shipping the goods.

carrierType

NA

integer($int4) example: 1

The carrier type of the carrier. Valid values are

1 - Corporate

2 - Third Party

Enum: [ 1, 2 ]

carrierName

NA

string($text128) example: Speedy, Inc.

The name of the carrier of the delivery.

carrierCode

NA

string($text4) example: SPI

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: Solid Supplies

The address of the source location that shipped the inventory.

licensePlate

NA

string($text128) example: ABX100

A license plate number of the delivery vehicle.

freightId

NA

string($text128) example: 666234522

A freight identifier associated to the delivery.

fiscalDocumentNumber

NA

string($text255) example: 84478274

The fiscal document number of an associated fiscal document.

billOfLadingId

NA

string($text128) example: BOL884455

An external bill of lading identifier.

expectedDate

NA

string($date-time) The date the delivery is expected to be received.

 

cartons

Yes

object

A collection of up to 500 cartons on the delivery.

Table 4-456 TransferDeliveryImporCartontIdo— Object

Element Name Required Data Type/Example Description

externalCartonId

Yes

string($text128) example: GH124000

A carton identifier from an external system.

referenceId

NA

string($text128) example: 3461353

A reference identifier (another way to identify the carton).

serialCode

NA

number($int15) example: 3333600

A serial code associated to the container.

trackingNumber

NA

string($text128) example: 346139384726043

A tracking number associated to the container.

qualityControl

NA

Boolean example: true

True indicates the container requires quality control, false indicates it does not.

lineItems

Yes

object

A collection of up to 2,000 items on the container.

Table 4-457 TransferDeliveryImportItemtIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 11111

The unique identifier of the item.

documentId

Yes

number($int15) example: 222222

The unique identifier of the transfer or allocation document.

documentType

Yes

integer($int4) example: 1

The type of the document. Valid values are

1 - Transfer

2 - Allocation

Enum: [ 1, 2 ]

documentDate

Yes

string($date-time)

The date the document was created.

useAvailable

NA

boolean example: true

True indicates to use available inventory, false indicuates to use unavailable inventory.

caseSize

NA

number($decimal(10,2)) example: 1

The case size of the item for this record.

Quantity

Yes

number($decimal(20,4)) example: 20

The quantity expected to be received.

Responses

This section describes the responses of the Import ASN Delivery API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import ASN Delete Delivery

A transfer delivery in new status can be deleted from the system. A transfer delivery that has progressed past the point cannot. This request is staged and processed asynchronously, and is controlled by the MPS message type DcsAsn.

Method

POST
URL

/tsfdeliveries/imports/delete
Request

There are no request parameters.

The request body is appliaction/json.

Details about the delivery to delete.

Example Value

{
  "asn": "789012",
  "storeId": 5000
}
Schema — TransferDeliveryDeleteImportIdo

Table 4-458 TransferDeliveryDeleteImportIdo— Object

Element Name Required Data Type/Example Description

asn

Yes

string($text128) example: 789012

The advanced shipping notification number.

storeId

Yes

number($int10) example: 5000

The identifier of the store receiving the inventory.

Responses

This section describes the responses of the Import ASN Delete Delivery API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Transfer Shipment

This service allows the creation, modification, and cancellation of transfer shipments from an external application.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/tsfshipments

API Definitions

API

Definition

readShipment

Reads the transfer shipment. This does not include containers or items.

findShipments

Finds transfer shipment header information based on a set of criteria.

submitShipment

Submits the transfer shipment.

cancelSubmitShipment

Cancels the submission of a transfer shipment.

dispatchShipment

Dispatches a transfer shipment.

cancelShipment

Cancels a transfer shipment.

confirmCarton

Confirms a container for shipment.

cancelCarton

Cancels a container, removing it from the shipment.

openCarton

Opens a confirmed container so that it can be modified again.

createShipment

Creates a shipment.

updateShipment

Updates shipment header information.

createCarton

Adds a carton to the shipment.

updateCarton

Updates a carton on the shipment.

API: Read Shipment

Read a transfer shipment.

Table 4-459 API Basics

Endpoint URL

/{shipmentId}

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

None

Output

Transfer Shipment

Table 4-460 Path Parameter Definitions

Parameter

Definition

shipmentId

The internal identifier of the transfer shipment header.

Table 4-461 Output Data Definition

Column

Type

Definition

shipmentId

Long(15)

The unique internal identifier of the transfer shipment.

storeId

Long(10)

The unique store identifier that is the source of the shipment.

destinationType

Integer(2)

The location type of the destination. See Additional Data Definitions-Destination Type.

destinationId

Long(10)

The unique identifier of the destination.

asn

String(128)

The advance shipment notification number.

status

Integer(2)

The current status of the shipment. See Additional Data Definitions: Status

authorizationCode

String(12)

An authorization code associated to the shipment.

billOfLadingId

Long(12)

The unique identifier of the bill of lading.

adhocDocumentId

Long(15)

An adhoc transfer document identifier associated to the shipment.

billOfLadingId

Long(15)

The bill of lading number.

alternateAddress

String(2000)

An alternate destination address.

carrierRole

Integer(2)

The type of carrier for the shipment. See Additional Data Definitions

carrierId

Long(10)

A unique identifier of a carrier for the shipment.

carrierServiceId

Long(10)

A unique identifier of a carrier service for the shipment.

alternateCarrierName

String(240)

The name of a third-party shipping company.

alternateCarrierAddress

String(2000)

The address of a third-party shipping company.

motive

String(120)

A motive for the shipment.

taxId

String(18)

The tax identifier of the supplier it is being shipped to.

trackingNumber

String(128)

A tracking number associated to the shipment.

dimensionId

Long(12)

The identifier of a dimension associated to the shipment.

weight

BigDecimal(12,4)

The weight of the shipment.

weightUom

String(4)

The unit of measure of the weight of the shipment.

requestedPickupDate

Date

The requested pickup date.

fiscalDocumentRequestId

Long(20)

The identifier of the request for a fiscal document.

fiscalDocumentReferenceId

Long(20)

The unique identifier of the fiscal document.

fiscalDocumentNumber

String(255)

The fiscal document number.

fiscalDocumentStatus

Integer(4)

The status of the fiscal document.

fiscalDocumentRejectReason

String(255)

A reason the fiscal document was rejected.

fiscalDocumentUrl

String(255)

A URL to the fiscal document.

createUser

String(128)

The user that created the shipment record.

createDate

Date

The date the shipment record was created.

updateUser

String(128)

The user that last updated the shipment.

updateDate

Date

The last date the shipment was updated.

submitUser

String(128)

The user that submitted the shipment record.

submitDate

Date

The date the shipment was submitted within EICS.

dispatchUser

String(128)

The user that dispatched the shipment.

dispatchDate

Date

The date the shipment was dispatched within EICS.

cartons

Collection

A collection of cartons on the shipment.

Table 4-462 Output Data Definition (Cartons)

Column

Type

Definition

cartonId

Long(10)

The unique identifier of the record.

externalCartonId

String(128)

A container identifier from an external system.

status

Integer(4)

The current status of the container.

dimensionId

Long(10)

The shipment container dimension identifier.

weight

BigDecimal(12,4)

The weight of the container.

weightUom

String(4)

The unit of measure of the weight of the container.

trackingNumber

String(128)

A tracking number for the container.

useAvailableInventory

Boolean

True indicates use only available inventory, False indicates use non-available inventory.

restrictionLevel

Integer(4)

A hierarchy restriction level for items in the container.

customerOrderRelated

Integer(4)

The customer order related value (see Additional Data Definitions).

createUser

String(128)

The user that created the container in EICS.

createDate

Date

The date the container was created in EICS.

updateUser

String(128)

The user that last updated the container in EICS.

updateDate

date

The date the container was last updated in EICS.

approvalUser

String(128)

The user that approved the container in EICS.

approvalDate

Date

The date the container was approved in EICS.

lineItems

Collection

The line items in the container.

Table 4-463 Output Data Definition (Line Item)

Column

Type

Definition

lineId

Long(15)

The unique identifier of the record.

itemId

String(25)

The unique identifier of the item.

caseSize

BigDecimal(10,2)

The case size of this line item.

quantity

BigDecimal(20,4)

The quantity being shipped.

transferId

Long(12)

The unique identifier of the associated transfer.

externalTransferId

Long(15)

The external system identifier of the associated transfer.

customerOrderNumber

String(128)

The customer order number if line item is for a customer order.

fulfillmentOrderNumber

String(128)

The fulfillment order number if line item is for a customer order.

preferredUom

String(4)

The preferred unit of measure for the shipment quantity.

shipmentReasonId

Long(15)

A unique identifier of a shipment reason associated to this item.

uins

List<String>

A list of UINs that are shipped. The number of UINs must match the quantity attribute.

Example

Figure 4-15 Example

Example

Figure 4-16 Example, continued

Example, continued

API: Find Transfer Shipment

Search for shipments based on a set of criteria.

If more than 10,000 shipments are found a "Results Too Large" response is returned and search criteria will need to be more restrictive.

Table 4-464 API Basics

Endpoint URL

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

Query Parameters

Output

List of Transfer Shipments Headers

Table 4-465 Query Parameter Definitions

Attribute

Type

Definition

storeId

Long(10)

Include only transfer shipments from this store.

destinationType

Integer(2)

Include only transfer shipments to this destination type.

destinationId

Long(10)

Include only transfer shipments to this destination identifier.

asn

String(128)

Include only transfer shipments with this ASN.

status

Integer(2)

Include only transfer shipments in this status.

updateDateFrom

String

Include only transfer shipments last updated on or after this date.

updateDateTo

String

Include only transfer shipments last updated on or before this date.

Table 4-466 Output Data Definition

Column

Type

Definition

shipmentId

Long(15)

The unique internal identifier of the transfer shipment.

storeId

Long(10)

The unique store identifier that is the source of the shipment.

destinationType

Integer(2)

The location type of the destination. See Additional Data Definitions: Destination Type.

destinationId

Long(10)

The unique identifier of the destination location.

asn

String(128)

The advance shipment notification number.

status

Integer(4)

The current status of the shipment. See Additional Data Definitions: Status

createDate

Date

The date the shipment record was created.

updateDate

Date

The last date the shipment was updated.

submitDate

Date

The date the shipment was submitted within EICS.

dispatchDate

Date

The date the shipment was dispatched within EICS.

API: Submit Shipment

Submits the transfer shipment moving it to a noneditable state while it is waiting to be dispatched.

Table 4-467 API Basics

Endpoint URL

/{shipmentId}/submit

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-468 Path Parameter Definitions

Parameter

Definition

shipmentId

The internal identifier of the transfer shipment header.

API: Cancel Submit Shipment

Cancels the submissions of the transfer shipment return it to an in progress and editable state.

Table 4-469 API Basics

Endpoint URL

/{shipmentId}/cancelsubmit

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-470 Path Parameter Definitions

Parameter

Definition

shipmentId

The internal identifier of the transfer shipment header.

API: Dispatch Shipment

Dispatches the transfer shipment updating all the inventory positions and closing the shipment.

Table 4-471 API Basics

Endpoint URL

/{shipmentId}/dispatch

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-472 Path Parameter Definitions

Parameter

Definition

shipmentId

The internal identifier of the transfer shipment header.

API: Cancel Shipment

Cancels the transfer shipment reversing any reserved inventory currently picked.

Table 4-473 API Basics

Endpoint URL

/{shipmentId}/cancel

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-474 Path Parameter Definitions

Parameter

Definition

shipmentId

The internal identifier of the transfer shipment header.

API: Confirm Carton

Confirms a transfer shipment container, completing the container and making it non-editable and awaiting dispatch.

Table 4-475 API Basics

Endpoint URL

cartons/{cartonId}/confirm

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-476 Path Parameter Definitions

Parameter

Definition

cartonId

The internal identifier of the transfer shipment carton.

API: Cancel Carton

Cancels a transfer shipment container.

Table 4-477 API Basics

Endpoint URL

cartons/{cartonId}/cancel

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-478 Path Parameter Definitions

Parameter

Definition

cartonId

The internal identifier of the transfer shipment carton.

API: Open Carton

Opens a transfer shipment container.

Table 4-479 API Basics

Endpoint URL

cartons/{cartonId}/open

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Input

None

Output

None

Table 4-480 Path Parameter Definitions

Parameter

Definition

cartonId

The internal identifier of the transfer shipment carton.

API: createShipment

This API is used to create a new transfer shipment whose status is "In Progress."

Note:

Container item/reason combination cannot be duplicated within the container.

Table 4-481 API Basics

Endpoint URL

{base URL}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Transfer Shipment

Output

Transfer Shipment Status

Maximum Input Limit

1,000 overall line items on shipment

Table 4-482 Input Data Definition

Attribute

Type

Req

Definition

storeId

Long(10

X

The identifier of the store shipping the goods.

destinationType

Integer(2)

X

The location type of the destination (see Index).

destinationId

Long(10)

X

The location identifier of the destination

asn

String(15)

The advance shipping number from an external system.

authorizationCode

String(12)

A vendor authorization code. It may be required for some suppliers.

displayCartons

Boolean

True if cartons should be displayed, otherwise false.

addressType

Integer

The type of return address. See Index.

carrierRole

Integer(2)

X

The type of carrier for the shipment. See Index

carrierId

Long(10)

A unique identifier of a carrier for the shipment.

carrierServiceId

Long(10)

A unique identifier of a carrier service for the shipment.

alternateAddress

String(2000)

An alternate destination address.

alternateCarrierName

String(240)

The name of a third-party shipping company.

alternateCarrierAddress

String(2000)

The address of a third-party shipping company.

motiveId

Long(18)

The unique identifier of a bill of lading motive.

taxId

taxId

The tax identifier of the supplier it is being shipped to.

trackingNumber

String(128)

A tracking number associated to the shipment.

dimensionId

Long(12)

The identifier of a dimension associated to the shipment.

weight

BigDecimal(12,4)

The weight of the shipment.

weightUom

String(4)

The unit of measure of the weight of the shipment.

requestedPickupDate

Date

The requested pickup date.

cartons

Collection

X

A group of cartons to create along with the shipment.

notes

Collections of Strings

A collection of up to 100 notes.

Table 4-483 Shipment Carton Data Definition

Payload

Type

Req

Definition

externalCartonId

String(128)

A container identifier from an external system.

trackingNumber

String(128)

The tracking number of the container.

restrictionLevel

Integer(4)

A hierarchy restriction level for items in the container.

cartonSizeId

Long(10)

The shipment container dimension identifier.

weight

Long(12,4)

The weight of the container.

weightUom

String(4)

The unit of measure of the weight of the container.

useAvailableInventory

Boolean

True indicates available inventory will be used, false indicates unavailable inventory should be used.

lineItems

Collection

X

A collection of line items to create along with the carton.

Table 4-484 Shipment Lien Item Data Definition

Payload

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the SKU item. 

transferId

Long(12)

X

The unique identifier of a transfer this item is being shipped for.

reasonId

Long(15)

The unique identifier of the shipment reason associated to this line item. It is not allowed for available inventory and required for unavailable inventory.

quantity

BigDecimal(12,4)

X

The quantity to ship.

caseSize

BigDecimal(10,2)

The case size of the item for this particular shipment.

uins

Collecton<String>

A collection of UINs to ship. This number of UINs must match the quantity.

Table 4-485 Output Data Definition

Attribute

Type

Definition

shipmentId

Long(15)

The unique identifier of the shipment.

storeId

Long(10)

The store identifier of the store shipping the goods.

asn

String(15)

The Advancing Shipping Number.

status

Integer(2)

The shipment status. See Index.

Figure 4-17 Example Code

Example Code

API: updateShipment

This API is used to update to the header portion of a shipment as well as its bill of lading information.

The shipment header cannot be updated while containers/cartons are currently confirmed for shipping.

Table 4-486 API Basics

Endpoint URL

{base URL}/{shipmentId}

Method

POST

Successful Response

204 No Content

Processing Type

Synchronous

Path Parameter

The identifier of the transfer shipment

Input

Transfer Shipment

Table 4-487 Input Data Definition

Column

Type

Definition

authorizationCode

String(12)

An authorization code associated to the shipment.

displayCartons

Boolean

True if cartons should be displayed, otherwise false.

addressType

Integer(2)

The type of return address. See Index.

carrierRole

Integer(2)

The type of carrier for the shipment. See Index.

carrierId

Long(10)

A unique identifier of a carrier for the shipment.

carrierServiceId

Long(10)

A unique identifier of a carrier service for the shipment.

alternateAddress

String(2000)

An alternate destination address.

alternateCarrierName

String(240)

The name of a third-party shipping company.

alternateCarrierAddress

String(2000)

The address of a third-party shipping company

motiveId

Long(18)

The unique identifier of a bill of lading motive.

taxId

String(18)

The tax identifier of the supplier it is being shipped to.

trackingNumber

String(128)

A tracking number associated to the shipment.

dimensionId

Long(12)

The identifier of a dimension associated to the shipment.

weight

BigDecimal(12,4)

The weight of the shipment.

weightUom

String(4)

The unit of measure of the weight of the shipment.

requestedPickupDate

Date

The requested pickup date.

notes

Collection(String)

A collection of up to 100 notes to add to the notes associated to the shipment.

Figure 4-18 Code Example

Code Example

API: createCarton

This API is used to add a new carton/container to a "New" or "In Progress" shipment.

Container item/reason combination cannot be duplicated within the container.

Table 4-488 API Basics

Endpoint URL

{base URL}/{shipmentId}/cartons

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The identifier of the transfer shipment

Input

Transfer Shipment Carton

Output

Transfer Shipment Carton Status

Maximum Input Limit

1,000 overall line items on carton

Table 4-489 Input Data Definition

Column

Type

Req

Definition

externalCartonId

String(128)

A carton identifier or barcode label from an external system.

cartonSizeId

Long(10)

The shipment container dimension identifier.

weight

BigDecimal(12,4)

The weight of the container.

weightUom

String(4)

The unit of measure of the weight of the container.

trackingNumber

String(128)

A tracking number for the container.

useAvailableInventory

Boolean

True indicates use only available inventory, False indicates use non-available inventory.

restrictionLevel

Integer(4)

A hierarchy restriction level for items in the container.

lineItems

Collection

X

The line items in the container.

Table 4-490 Shipment Line Item Data Definition

Column

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the item.

caseSize

BigDecimal(10,2)

The case size of this line item.

quantity

BigDecimal(20,4)

X

The quantity to be shipped.

transferId

Long(12)

X

The unique identifier of the associated transfer.

reasonId

Long(15)

A unique identifier of a shipment reason associated to this item. It is not allowed for available inventory and required for unavailable inventory.

uins

List<String>

A list of UINs to be shipped. This must match the quantity.

Table 4-491 Output Data Definition

Attribute

Type

Definition

shipmentId

Long(15)

The unique identifier of the shipment.

cartonId

Long(15)

The unique identifier of the new carton.

externalId

String(128)

The external identifier or barcode label of the container.

status

Integer(2)

The carton status. See Index.

Figure 4-19 Code Example

Code Example

API: updateCarton

This API is used to update an existing carton that is in "New" or "In Progress" shipment.

Table 4-492 API Basics

Endpoint URL

{base URL}/cartons/{cartonId}

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Path Parameter

The identifier of the carton

Input

Transfer Shipment Carton

Output

Transfer Shipment Carton Status

Maximum Input Limit

1,000 overall line items on carton

Table 4-493 Input Data Definition

Payload

Type

Req

Definition

externalCartonId

String(128)

A container identifier from an external system.

trackingNumber

String(128)

The tracking number of the container.

restrictionLevel

Integer(4)

A hierarchy restriction level for items in the container.

cartonSizeId

Long(10)

The shipment container dimension identifier.

weight

Long(12,4)

The weight of the container.

weightUom

String(4)

The unit of measure of the weight of the container.

lineItems

Collection

A collection of up to 1,000 line items to update or add within the carton. See TransferShipmentUpdateCartontemIdo.

Payload

Type

Req

Definition

itemId

String(25)

X

The unique identifier of the SKU item.

transferId

Long(12)

X

The unique identifier of the associated transfer.

reasonId

Long(15)

The unique identifier of the shipment reason associated to this line item. It is not allowed for available inventory and required for unavailable inventory.

quantity

BigDecimal(12,4)

X

The quantity shipped. Reducing this to 0 will remove the line item from the shipment.

caseSize

BigDecimal(10,2)

The case size of the item for this particular shipment.

uins

Collection<String>

The UINs associated to the item quantities. The number of UINS must match the quantity shipped.

Figure 4-20 Code Example

Code Example

Index

Table 4-494 Destination Type

Value

Description

1

Store

2

Warehouse

3

Finisher

Table 4-495 Status

Value

Description

1

New

2

In Progress

3

Submitted

4

Shipped

5

Canceled

Table 4-496 Customer Order Related

Value

Description

1

Yes

2

Mixed

3

No

REST Service: Translations

This page captures the service APIs related to retrieving translations. It allows the translation of such things as labels and item descriptions.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/translations

API Definitions

API

Description

Find Locales

Finds all locales that can be used to translation a series of text keys.

Find Translations

Finds the translations for a series of text keys, translating into text for the locale if it is available.

Find Item Descriptions

Finds the translations for item descriptions, translating it to the text of the locale if it is available.

API: Find Locales

Finds all locales available for use in translation.

API Basics

Endpoint URL

{base URL}/locales

Method

GET

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

List of locales

Max Response Limit

N/A

 

Output Data Definition

Attribute

Data Type

 

Description

localeId

Long

 

The SIOCS internal unique identifier of the record.

language

String

 

A code representing a language (ISO 639 alpha-2 or alpha-3 language code).

country

String

 

A code representing a country of the language (ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code. )

variant

String

 

A code representing a variant of the country of the language (an arbitrary value indication the variant).

description

String

 

A description of the locale.

Example Output

[

{

"localeId": 1,

"language": "en",

"description": "English"

},

{

"localeId": 2,

"language": "de",

"description": "German"

},

{

"localeId": 3,

"language": "fr",

"description": "French"

}

]

API: Find Translations

Searches for translations for text keys and a given locale.

API Basics

Endpoint URL

{base URL}/find

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

A map of translation key and its translation

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

localeId

Long(12)

Yes

Unique identifier of the Locale to translate keys for (see find Locales).

keys

List<String(600)>

Yes

A list of text keys to attempt to translate.

Example Input

{

"localeId": 1,

"keys": [

"invAdjReason.1",

"invAdjReason.2"

]

}

Output Data Definition

Attribute

Data Type

 

Description

values

Map<String, String>

 

A map where the key is the translation key and the value is the translation value.

Example Output

{

"invAdjReason.2": "Shrinkage",

"invAdjReason.1": "Wastage"

}

API: Find Items Descriptions

Finds the translations for item descriptions, translating it to the text of the locale if it is available.

API Basics

Endpoint URL

{base URL}/items

Method

POST

Successful Response

200 OK

Processing Type

Synchronous

Input

Criteria

Output

A list of translation items

Max Response Limit

N/A

 

Input Data Definition

Attribute

Data Type

Required

Description

LocaleId

Long (12)

Yes

Unique identifier of the Locale to translate descriptions for (see findLocales).

itemIds

List<String(25)>

Yes

A list of items to get descriptions for within the locale.

Example Input

{

"localeId": 1,

"itemIds": [

"100637121",

"100637113"

]

}

Output Data Definition

Attribute

Data Type

Required

Description

itemId

String

 

The item identifier.

shortDescription

String

 

The short description in the locale's text if available.

longDescription

String

 

The long description in the locale's text if available.

Example Output

[

{

"itemId": "100637121",

"shortDescription": "translation value for 100637121",

"longDescription": "translation value for 100637121"

},

{

"itemId": "100637113",

"shortDescription": "translation value for 100637113",

"longDescription": "translation value for 100637113"

}

]

REST Service: Vendor Delivery

A direct store delivery (or vendor delivery) is a delivery in which the supplier drops off merchandise directly as the store. These deliveries can be against a planned delivery, an existing purchase order (PO) raised by corporate or by the store, or a purchase order created on the fly. The delivery supports containers coming in directly with Advanced Shipment Notice (ASN) or the system will create a container when the ASN is loaded into the system. Even for receipts without ASN, the system will allow the creation of containers. The four main types of deliveries are a delivery against a purchase order with an advance shipment notice, a delivery against a purchase order without an advance shipment notice, a delivery without a purchase order, and a DEX/NEX or Direct Exchange delivery. This service defines operations to manage vendor delivery information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Delivery

This section describes the Find Delivery API. This API finds up to 10,000 delivery headers for the input criteria.

Method

GET
URL

/dsds
Request Parameters

Table 4-497 Find Delivery — Request Parameters

Parameter Required Data Type Description

storeId

NA

number($int10) (query)

Include only records where the delivery is to this store.

asn

NA

string($text128) (query)

Include only records for this advanced shipping notification.

originType

NA

integer($int4) (query)

Include only records with this delivery origin type. Valid values are:

1 - Advanced Shipping Notification

2 - Purchase Order

3 - DEX-NEX

4 - Manual/On The Fly

Available values : 1, 2, 3, 4

status

NA

integer($int4) (query)

Include only records with this delivery status. Valid values are:

1 - New

2 - In Progress

3 - Received

4 - Canceled

5 - Rejected

99 - Active

Available values: 1, 2, 3, 4, 5, 99

customerOrderNumber

NA

string($text128) (query)

Include only deliveries for this customer order number.

fulfillmentOrderNumber

NA

string($text128) (query)

Include only deliveries for this fulfillment order number.

invoiceNumber

NA

string($text128) (query)

Include only deliveries for this invoice number.

supplierId

NA

integer($int10) (query)

Include only deliveries for this supplier.

purchaseOrderNumber

NA

string($text12) (query)

Include only deliveries for this purchase order number.

updateDateFrom

NA

string($date-time) (query)

Include only deliveries with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only deliveries with an update date on or before this date.

Responses

This section describes the responses of the Find Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1,
    "originType": 1,
    "purchaseOrderId": 789012,
    "receiptNumber": 90000,
    "asn": "784562",
    "invoiceId": "10056",
    "customerOrderId": "45000",
    "fulfillmentOrderId": "45001",
    "createDate": "2025-01-22T14:55:02.719Z",
    "updateDate": "2025-01-22T14:55:02.719Z",
    "expectedDate": "2025-01-22T14:55:02.719Z",
    "invoiceDate": "2025-01-22T14:55:02.719Z",
    "receivedDate": "2025-01-22T14:55:02.719Z"
  }
]
Schema — VendorDeliveryHeaderIdo

Table 4-498 VendorDeliveryHeaderIdo— Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int12) example: 11111

The unique identifier of the vendor delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier shipping the inventory.

status

NA

integer($int4) example: 1

The current status of the vendor delivery. Valid values are:

1 - New

2 - In Progress

3 - Received

4 - Canceled

5 - Rejected

Enum: [ 1, 2, 3, 4, 5

originType

NA

integer($int4) example: 1

The origin type of the vendor delivery. Valid values are:

1 - Advanced Shipping Notification

2 - Purchase Order

3 - DEX-NEX

4 - Manual/On The Fly

Enum: [ 1, 2, 3, 4 ]

purchaseOrderId

NA

number($int12) example: 789012

The purchase order that the delivery is associated to (at header level).

receiptNumber

NA

integer($int12) example: 90000

The global receipt number of the delivery, used to identify the receipt across applications through integration.

asn

NA

string($text128) example: 784562

The advanced shipping notification.

invoiceId

NA

string($text128) example: 10056

The unique identifier of the invoice.

customerOrderId

NA

string($text128) example: 45000

The identifier of a customer order associated to the delivery.

fulfillmentOrderId

NA

string($text128) example: 45001

The identifier of a fulfillment order associated to the delivery.

createDate

MA

string($date-time)

The date the delivery was created.

updateDate

NA

string($date-time)

The date the delivery was last updated.

expectedDate

NA

string($date-time)

The expected delivery date of the delivery.

invoiceDate

NA

string($date-time)

The date of the delivery invoice.

receivedDate

NA

string($date-time)

The date the delivery was actually received.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Delivery

This API creates a new vendor delivery as if SIOCS was the originator of the delivery. To create a ASN-based delivery where an external system manages the delivery as the originator, see the import delivery operation.

Method

POST
URL

/dsds
Request Parameters

There are no request parameters.

The request body is application/json.

The delivery details of the new delivery.

Example Value

{
  "storeId": 5000,
  "supplierId": 5101,
  "purchaseOrderId": 789012,
  "originType": 1,
  "billOfLadingId": "55601",
  "carrierName": "Speedy Delivery",
  "carrierType": 1,
  "carrierCode": "SPDE",
  "sourceAddress": "200 Apple Street, Coolsville, WI, 55555",
  "licensePlate": "ABC-123",
  "freightId": "882211",
  "countryCode": "US",
  "currencyCode": "USD",
  "invoiceNumber": "10056",
  "invoiceDate": "2025-03-27T12:01:04.024Z",
  "invoiceAmount": 999.99,
  "cartons": [
    {
      "externalCartonId": "444200301",
      "referenceId": "200440012",
      "damageReason": "Dropped",
      "serialCode": 337654,
      "trackingNumber": "AZB12743D",
      "damageRemaining": false,
      "receiveAtShopFloor": false,
      "qualityControl": false,
      "lineItems": [
        {
          "itemId": "10045600",
          "caseSize": 10,
          "quantityReceived": 3,
          "quantityDamaged": 2,
          "unitCostOverrideAmount": 17.5,
          "purchaseOrderId": 500678,
          "uins": [
            {
              "uin": "14532B12",
              "received": true,
              "damaged": false
            }
          ]
        }
      ]
    }
  ]
}
Schema — VendorDeliveryCreateIdo

Table 4-499 VendorDeliveryCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

Yes

number($int10) example: 5101

The identifier of the supplier shipping the inventory.

purchaseOrderId

NA

number($int12) example: 789012

The purchase order that the delivery is being shipped for (if the shipment is for a single purchase order).

originType

Yes

integer($int4) example: 1

The origin type of the vendor delivery. Valid values are:

2 - Purchase Order

3 - DEX-NEX

4 - Manual/On The Fly

Enum: [ 2, 3, 4 ]

billOfLadingId

NA

string($text128) example: 55601

An external identifier of a bill of lading record.

carrierName

NA

string($text128) example: Speedy Delivery

The name of the carrier.

carrierType

NA

integer($int4) example: 1

The carrier type of the vendor delivery. Valid values are:

1 - Corporate

2 - Third Party

Enum: [ 1, 2]

carrierCode

NA

string($text4) example: SPDE

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: 200 Apple Street, Coolsville, WI, 55555

The address of the source shipping location sending the delivery.

licensePlate

NA

string($text128) example: ABC-123

The license plate of the delivery vehicle.

freightId

NA

string($text128) example: 882211

A freight identifier associated to the delivery.

countryCode

NA

string($text3) example: US

A country code of the country of the bill of lading.

currencyCode

NA

string($text3) example: USD

The currency code of the invoice cost.

invoiceNumber

NA

string($text128) example: 10056

The unique identifier of the invoice associated to the delivery.

invoiceDate

NA

string($date-time)

The date of the delivery invoice.

invoiceAmount

NA

number($decimal(12,4)) example: 999.99

The value of the invoice cost.

cartons

Yes

object

The cartons present on the delivery.

Table 4-500 VendorDeliveryCreateCartonIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 444200301

The external identifier of the carton.

referenceId

NA

string($text128) example: 200440012

A reference identifier to the carton.

damageReason

NA

string($text128) example: Dropped

A reason for the carton damage that took place.

serialCode

NA

number($int18) example: 337654

A serial code for the carton.

trackingNumber

NA

string($text128) example: AZB12743D

A tracking number for the carton.

damageRemaining

NA

boolean example: false

True indicates all remaining unaddressed quantities should be marked damaged on final receipt.

receiveAtShopFloor

NA

boolean example: false

True if it should receive inventory to the shop floor, false otherwise.

qualityControl

NA

boolean example: false

True indicates the carton requires detailed receiving.

lineItems

Yes

object

The items contained within the carton.

Table 4-501 VendorDeliveryCreateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decima(10,2)) example: 10

The case size of the item.

quantityReceived

NA

number($decimal(20,4)) example: 3

The amount received on the delivery.

quantityDamaged

NA

number($decimal(20,4)) example: 2

The amount received as damaged on the delivery.

unitCostOverrideAmount

NA

number($decimal(20,4)) example: 17.5

The override unit cost value of this delivery.

purchaseOrderId

NA

integer($int12) example: 500678

The unique identifier of the purchase order for this item.

uins

NA

object

The UINs associated to this item.

Table 4-502 VendorDeliveryUinIdo — Object

Element Name Required Data Type/Example Description

uin

NA

string($text128) example: 14532B12

The Universal Identification Number.

received

NA

boolean example: true

True if the UIN is received as part of the delivery, false otherwise.

damaged

NA

boolean example: false

True if the UIN is received as damaged as part of the delivery, false otherwise.

Responses

This section describes the responses of the Create Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1
  }
]
Schema — VendorDeliveryStatusIdo

Table 4-503 VendorDeliveryStatusIdo — Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int12) example: 11111

The unique identifier of the vendor delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier shipping the inventory.

status

NA

integer($int4) example: 1

The current status of the vendor delivery. Valid values are:

1 - New

2 - In Progress

3 - Received

4 - Canceled

5 - Rejected

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Delivery

This section describes the Read Delivery API. This API retrieves all the details about a vendor delivery.

Method

GET
URL

/dsds/{deliveryId}
Request Parameters

Table 4-504 Read Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the vendor delivery.

Responses

This section describes the responses of the Read Delivery API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1,
    "originType": 1,
    "purchaseOrderId": 789012,
    "receiptNumber": 90000,
    "asn": "784562",
    "invoiceNumber": "10056",
    "invoiceCurrency": "USD",
    "invoiceAmount": 999.99,
    "customerOrderId": "45000",
    "fulfillmentOrderId": "45001",
    "displayCartonInfo": true,
    "billOfLadingId": "55601",
    "carrierName": "Speedy Delivery",
    "carrierCode": "SPDE",
    "countryCode": "US",
    "sourceAddress": "200 Apple Street, Coolsville, WI, 55555",
    "licensePlate": "ABC-123",
    "freightId": "882211",
    "fiscalDocumentRequestId": 22233344455566,
    "fiscalDocumentReferenceId": 77788899100,
    "fiscalDocumentNumber": "128745",
    "createDate": "2025-03-27T12:03:25.084Z",
    "updateDate": "2025-03-27T12:03:25.084Z",
    "expectedDate": "2025-03-27T12:03:25.084Z",
    "invoiceDate": "2025-03-27T12:03:25.084Z",
    "receivedDate": "2025-03-27T12:03:25.084Z",
    "createUser": "smith123",
    "updateUser": "smith123",
    "receivedUser": "smith123",
    "cartons": [
      {
        "cartonId": 100200300,
        "externalCartonId": "444200301",
        "referenceId": "200440012",
        "status": 1,
        "damageReason": "Dropped",
        "serialCode": 337654,
        "trackingNumber": "AZB12743D",
        "damageRemaining": false,
        "uinRequired": false,
        "receiveAtShopFloor": false,
        "qualityControl": false,
        "externalCreate": false,
        "adjusted": false,
        "customerOrderRelated": 1,
        "createDate": "2025-03-27T12:03:25.084Z",
        "updateDate": "2025-03-27T12:03:25.084Z",
        "receivedDate": "2025-03-27T12:03:25.084Z",
        "createUser": "smith123",
        "updateUser": "smith123",
        "receivedUser": "smith123",
        "lineItems": [
          {
            "lineId": 2222222,
            "itemId": "10045600",
            "caseSize": 10,
            "quantityExpected": 5,
            "quantityReceived": 3,
            "quantityDamaged": 2,
            "quantityReceivedOverage": 3,
            "quantityDamagedOverage": 2,
            "quantityPreviouslyReceived": 3,
            "quantityPreviouslyDamaged": 2,
            "unitCostCurrency": "USD",
            "unitCostAmount": 14.5,
            "unitCostOverrideCurrency": "USD",
            "unitCostOverrideAmount": 17.5,
            "purchaseOrderId": 500678,
            "purchaseOrderNumber": "DX4600",
            "customerOrderNumber": "CO100000",
            "fulfillmentOrderNumber": "FO12",
            "vendorProductNumber": "147800",
            "uins": [
              {
                "uin": "14532B12",
                "shipped": true,
                "received": true,
                "damaged": false
              }
            ]
          }
        ]
      }
    ]
  }
]
Schema — VendorDeliveryIdo

Table 4-505 VendorDeliveryIdo— Object

Element Name Required Data Type/Example Description

deliveryId

NA

number($int12) example: 11111

The unique identifier of the vendor delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier shipping the inventory.

status

NA

integer($int4) example: 1

The current status of the vendor delivery. Valid values are:

1 - New

2 - In Progress

3 - Received

4 - Canceled

5 - Rejected

Enum: [ 1, 2, 3, 4, 5 ]

originType

NA

integer($int4) example: 1

The origin type of the vendor delivery. Valid values are:

1 - Advanced Shipping Notification

2 - Purchase Order

3 - DEX-NEX

4 - Manual/On The Fly

Enum: [ 1, 2, 3, 4 ]

purchaseOrderId

NA

number($int12) example: 789012

The purchase order that the delivery is associated to (at header level).

receiptNumber

NA

integer($int12) example: 90000

The global receipt number of the delivery, used to identify the receipt across applications through integration.

asn

NA

string($text128) example: 784562

The advanced shipping notification.

invoiceNumber

NA

string($text128) example: 10056

The unique identifier of the invoice associated to the delivery.

invoiceCurrency

NA

string($text3) example: USD

The currency code of the invoice cost.

invoiceAmount

NA

number($decimal(12,4)) example: 999.99

The value of the invoice cost.

customerOrderId

NA

string($text128) example: 45000

The identifier of a customer order associated to the delivery.

fulfillmentOrderId

NA

string($text128) example: 45001

The identifier of a fulfillment order associated to the delivery.

displayCartonInfo

NA

boolean example: true

True if carton information should be displayed in the UI, false otherwise.

billOfLadingId

NA

string($text128) example: 55601

An external identifier of a bill of lading record.

carrierName

NA

string($text128) example: Speedy Delivery

The name of the carrier.

carrierCode

NA

string($text4) example: SPDE

A unique code that identifies the carrier.

countryCode

NA

string($text3) example: US

A country code of the country of the bill of lading.

sourceAddress

NA

string($text1000) example: 200 Apple Street, Coolsville, WI, 55555

The address of the source shipping location sending the delivery.

licensePlate

NA

string($text128) example: ABC-123

The license plate of the delivery vehicle.

freightId

NA

string($text128) example: 882211

A freight identifier associated to the delivery.

fiscalDocumentRequestId

NA

number($int20) example: 22233344455566

The identifier of the request for a fiscal document.

fiscalDocumentReferenceId

NA

number($int20) example: 77788899100

The unique identifier of the fiscal document record.

fiscalDocumentNumber

NA

string($text255) example: 128745

The fiscal document number.

createDate

NA

string($date-time)

The date the delivery was created.

updateDate

NA

string($date-time)

The date the delivery was last updated.

expectedDate

NA

string($date-time)

The expected delivery date of the delivery.

invoiceDate

NA

string($date-time)

The date of the delivery invoice.

receivedDate

NA

string($date-time)

The date the delivery was received.

createUser

NA

string($text128) example: smith123

The user that created the delivery record.

updateUser

NA

string($text128) example: smith123

The user that last updated the delivery record.

receivedUser

NA

string($text128) example: smith123

The user that received the delivery record.

cartons

NA

object

The containers belonging to this delivery.

Table 4-506 VendorDeliveryCartonIdo— Object

Element Name Required Data Type/Example Description

cartonId

NA

integer($int12) example: 100200300

The unique identifier of the carton record.

externalCartonId

NA

string($text128) example: 444200301

The external identifier of the carton.

referenceId

NA

string($text128) example: 200440012

A reference identifier for the carton.

status

NA

integer($int4) example: 1

The current status of the carton. Valid values are:

1 - New

2 - In Progress

3 - Submitted

4 - Received

5- Damaged

6 - Missing

7 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

damageReason

NA

string($text128) example: Dropped

A reason for the carton damage that took place.

serialCode

NA

number($int18) example: 337654

A serial code for the carton.

trackingNumber

NA

string($text128) example: AZB12743D

A tracking number for the carton.

damageRemaining

NA

boolean example: false

True indicates all remaining quantities should be marked damaged on final receipt.

uinRequired

NA

boolean example: false

True if a UIN item exists within the carton, false otherwise.

receiveAtShopFloor

NA

boolean example: false

True if delivery should receive inventory to the shop floor, false otherwise.

qualityControl

NA

boolean example: false

True indicates the carton requires detailed receiving.

externalCreate

NA

boolean example: false

True indicates the carton was externally created, false indicates it was created by EICS.

adjusted

NA

boolean example: false

True indicates the carton has been adjusted.

customerOrderRelated

NA

integer($int4) example: 1

Defines whether or not the items within the carton are related to customer orders. Valid values are:

1 - Yes

2 - Mix

3 - No

Enum: [ 1, 2, 3 ]

createDate

NA

string($date-time)

The date the carton was created.

updateDate

NA

string($date-time)

The date the carton was last updated.

receivedDate

NA

string($date-time)

The date the carton was received.

createUser

NA

string($text128) example: smith123

The user that created the carton record.

updateUser

NA

string($text128) example: smith123

The user that last updated the carton record.

receivedUser

NA

string($text128) example: smith123

The user that received the carton record.

lineItems

NA

object

The items belonging to the carton.

Table 4-507 VendorDeliveryLineItemIdo— Object

Element Name Required Data Type/Example Description

lineId

NA

integer($int12) example: 2222222

The unique identier of the line item record.

itemId

NA

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decimal(10,2)) example: 10

A case size of the item in this container.

quantityExpected

NA

number($decimal(20,4)) example: 5

The total amount expected on the delivery.

quantityReceived

NA

number($decimal(20,4)) example: 3

The total amount received on the delivery.

quantityDamaged

NA

number($decimal(20,4)) example: 2

The total amount received as damaged on the delivery.

quantityReceivedOverage

NA

number($decimal(20,4)) example: 3

Amount of received inventory over expected quantities.

quantityDamagedOverage

NA

number($decimal(20,4)) example: 2

Amount of received as damaged inventory over expected quantities.

quantityPreviouslyReceived

NA

number($decimal(20,4)) example: 3

Units previously received (captured at time container is re-opened after receipt).

quantityPreviouslyDamaged

NA

number($decimal(20,4)) example: 2

Units previously received as damaged (captured at time container is re-opened after receipt).

unitCostCurrency

NA

string($text3) example: USD

The currency of the unit cost of this delivery.

unitCostAmount

NA

number($decimal(20,4)) example: 14.5

The unit cost value of this delivery.

unitCostOverrideCurrency

NA

string($text3) example: USD

The currency of the override unit cost of this delivery.

unitCostOverrideAmount

NA

number($decimal(20,4)) example: 17.5

The override unit cost value of this delivery.

purchaseOrderId

NA

integer($int12) example: 500678

The unique identifier of the purchase order for this item.

purchaseOrderNumber

NA

string($text128) example: DX4600

The external purchase order number for this item.

customerOrderNumber

NA

string($text128) example: CO100000

The unique external customer order identifier this item is fulfilling.

fulfillmentOrderNumber

NA

string($text3) example: FO12

The unique external fulfillment order identifier this item is fulfilling.

vendorProductNumber

NA

string($text256) example: 147800

The vendor product number of the item.

uins

NA

object

The UINs being received as part of this item.

Table 4-508 VendorDeliveryLineItemUinIdo— Object

uin

NA

string($text128) example: 14532B12

The Universal Identification Number.

shipped

NA

Boolean example: true

True if the UIN was shipped from the supplier as part of the delivery, false otherwise.

received

NA

boolean example: true

True if the UIN is received as part of the delivery, false otherwise.

damaged

NA

boolean example: false

True if the UIN is received as damaged as part of the delivery, false otherwise.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Delivery

This section describes the Update Delivery API. This API update the header portion of a delivery.

Method

POST
URL

/dsds/{deliveryId}
Request Parameters

Table 4-509 Update Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

The request body is application/json.

Delivery header details to update.

Example Value


  "billOfLadingId": "55601",
  "carrierName": "Speedy Delivery",
  "carrierType": 1,
  "carrierCode": "SPDE",
  "sourceAddress": "200 Apple Street, Coolsville, WI, 55555",
  "licensePlate": "ABC-123",
  "freightId": "882211",
  "countryCode": "US",
  "currencyCode": "USD",
  "invoiceNumber": "10056",
  "invoiceDate": "2025-01-28T13:22:31.457Z",
  "invoiceAmount": 999.99,
  "expectedDate": "2025-01-28T13:22:31.457Z"
} 
Schema — VendorDeliveryUpdateIdo

Table 4-510 VendorDeliveryUpdateIdo — Object

Element Name Required Data Type/Example Description

billOfLadingId

NA

string($text128) example: 55601

An external identifier of a bill of lading record.

carrierName

NA

string($text128) example: Speedy Delivery

The name of the carrier.

carrierType

NA

integer($int4) example: 1

The carrier type of the vendor delivery. Valid values are:

1 - Corporate

2 - Third Party

Enum: [ 1, 2 ]

carrierCode

NA

string($text4) example: SPDE

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: 200 Apple Street, Coolsville, WI, 55555

The address of the source shipping location sending the delivery.

licensePlate

NA

string($text128) example: ABC-123

The license plate of the delivery vehicle.

freightId

NA

string($text128) example: 882211

A freight identifier associated to the delivery.

countryCode

NA

string($text3) example: US

A country code of the country of the bill of lading.

currencyCode

NA

string($text3) example: USD

The currency code of the invoice cost.

invoiceNumber

NA

string($text128) example: 10056

The number or identifier of the invoice associated to the delivery.

invoiceDate

NA

string($date-time)

The date of the delivery invoice.

invoiceAmount

NA

number($decimal(12,4)) example: 999.99

The value of the invoice cost.

expectedDate

NA

string($date-time)

The expected delivery date of the delivery.

Responses

This section describes the responses of the Update Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Receive Delivery

This section describes the Receive Delivery API. This API updates the received quantities to the quantities that were expected so that it is ready to be confirmed. This will place the delivery into the "In Progress" state if that is not already its current state.

Method

POST
URL

/dsds/{deliveryId}/receive
Request Parameters

Table 4-511 Receive Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the transfer delivery.

Responses

This section describes the responses of the Receive Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Delivery

This section describes the Confirm Delivery API. This API confirms the vendor delivery and receives the goods into inventory.

Method

POST
URL

/dsds/{deliveryId}/confirm
Request Parameters

Table 4-512 Confirm Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the vendor delivery.

Responses

This section describes the responses of the Confirm Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Reject Delivery

This section describes the Reject Delivery API. This API cancels the vendor delivery without receiving goods and places it in rejected status.

Method

POST
URL

/dsds/{deliveryId}/reject
Request Parameters

Table 4-513 Reject Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the vendor delivery.

Responses

This section describes the responses of the Reject Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Delivery

This section describes the Cancel Delivery API. This API cancels the vendor delivery without receiving goods and places it in canceled status.

Method

POST
URL

/dsds/{deliveryId}/cancel
Request Parameters

Table 4-514 Cancel Delivery — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the vendor delivery.

Responses

This section describes the responses of the Cancel Delivery API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Carton

This section describes the Crate Carton API. This API adds a new container to a new or in progress shipment.

Method

POST
URL

/dsds/cartons/{cartonId}
Request Parameters

Table 4-515 Create Carton — Request Parameters

Parameter Required Data Type Description

deliveryId

Yes

number($int12) (path)

The unique identifier of the delivery.

The request body is application/json.

Details about the carton to create.

Example Value

{
  "externalCartonId": "444200301",
  "referenceId": "200440012",
  "damageReason": "Dropped",
  "serialCode": 337654,
  "trackingNumber": "AZB12743D",
  "damageRemaining": false,
  "receiveAtShopFloor": false,
  "qualityControl": false,
  "lineItems": [
    {
      "itemId": "10045600",
      "caseSize": 10,
      "quantityReceived": 3,
      "quantityDamaged": 2,
      "unitCostOverrideAmount": 17.5,
      "purchaseOrderId": 500678,
      "uins": [
        {
          "uin": "14532B12",
          "received": true,
          "damaged": false
        }
      ]
    }
  ]
}
Schema — VendorDeliveryCartonCreateIdo

Table 4-516 VendorDeliveryCartonCreateIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 444200301

The external identifier of the carton.

referenceId

NA

string($text128) example: 200440012

A reference identifier to the carton.

damageReason

NA

string($text128) example: Dropped

A reason for the carton damage that took place.

serialCode

NA

number($int18) example: 337654

A serial code for the carton.

trackingNumber

NA

string($text128) example: AZB12743D

A tracking number for the carton.

damageRemaining

NA

boolean example: false

True indicates all remaining quantities should be marked damaged on final receipt.

receiveAtShopFloor

NA

boolean example: false

True if will receive inventory to the shop floor, false otherwise.

qualityControl

NA

boolean example: false

True indicates the carton requires detailed receiving.

lineItems

Yes

object

The items to create within the carton.

Table 4-517 VendorDeliveryCartonCreateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decimal(10,2)) example: 10

The case size of the item in this carton.

quantityReceived

NA

number($decimal(20,4)) example: 3

The amount of the item received on the delivery.

quantityDamaged

NA

number($decimal(20,4)) example: 2

The amount of the item received as damaged on the delivery.

unitCostOverrideAmount

NA

number($decimal(20,4)) example: 17.5

The override unit cost value of this delivery.

purchaseOrderId

NA

integer($int12) example: 500678

The unique identifier of the purchase order for this item delivery.

uins

NA

object

The UINs associated to this item.

Table 4-518 VendorDeliveryUinIdo — Object

Element Name Required Data Type/Example Description

uin

NA

string($text128) example: 14532B12

The Universal Identification Number.

received

NA

boolean example: true

True if the UIN is received as part of the delivery, false otherwise.

damaged

NA

boolean example: false

True if the UIN is received as damaged as part of the delivery, false otherwise.

Responses

This section describes the responses of the Create Carton API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "deliveryId": 11111,
    "cartonId": 100200300,
    "externalCartonId": "444200301",
    "status": 1
  }
]
Schema — VendorDeliveryCartonStatusIdo

Table 4-519 VendorDeliveryCartonStatusIdo— Object

Element Name Required Data Type/Example Description

eliveryId

NA

number($int12) example: 11111

The unique identifier of the delivery record.

cartonId

NA

integer($int12) example: 100200300

The unique identifier of the carton record.

externalCartonId

NA

string($text128) example: 444200301

The external identifier of the carton.

status

NA

integer($int4) example: 1

The current status of the carton. Valid values are:

1 - New

2 - In Progress

3 - Submitted

4 - Received

5 - Damaged

6 - Missing

7 - Canceled

Enum: [ 1, 2, 3, 4, 5, 6, 7 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Carton

This section describes the Update Carton API. This API updates a previously existing carton that is in a new or in progress state, on a delivery that is also new or in progress.

Method

POST
URL

/dsds/cartons/{cartonId}
Request Parameters

Table 4-520 Update Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

The request body is application/json.

Details about the carton to update.

Example Value

{
  "externalCartonId": "444200301",
  "referenceId": "200440012",
  "damageReason": "Dropped",
  "serialCode": 337654,
  "trackingNumber": "AZB12743D",
  "damageRemaining": false,
  "receiveAtShopFloor": false,
  "qualityControl": false,
  "lineItems": [
    {
      "itemId": "10045600",
      "caseSize": 10,
      "quantityReceived": 3,
      "quantityDamaged": 2,
      "unitCostOverrideAmount": 17.5,
      "purchaseOrderId": 500678,
      "uins": [
        {
          "uin": "14532B12",
          "received": true,
          "damaged": false
        }
      ]
    }
  ]
}
Schema — VendorDeliveryCartonUpdateIdo

Table 4-521 VendorDeliveryCartonUpdateIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 444200301

The external identifier of the carton.

referenceId

NA

string($text128) example: 200440012

A reference identifier to the carton.

damageReason

NA

string($text128) example: Dropped

A reason for the carton damage that took place.

serialCode

NA

number($int18) example: 337654

A serial code for the carton.

trackingNumber

NA

string($text128) example: AZB12743D

A tracking number for the carton.

damageRemaining

NA

boolean example: false

True indicates all remaining quantities should be marked damaged on final receipt.

receiveAtShopFloor

NA

boolean example: false

True if the item should receive inventory to the shop floor, false otherwise.

qualityControl

NA

boolean example: false

True indicates the carton requires detailed receiving.

lineItems

NA

object

The items to update within the carton.

Table 4-522 VendorDeliveryCartonUpdateItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

caseSize

NA

number($decimal(10,2)) example: 10

A case size of the item within this carton.

quantityReceived

NA

number($decimal(20,4)) example: 3

The amount received for this item.

quantityDamaged

NA

number($decimal(20,4)) example: 2

The amounted received as damaged for this item.

unitCostOverrideAmount

NA

number($decimal(20,4)) example: 17.5

The override unit cost value of this item.

purchaseOrderId

Na

integer($int12) example: 500678

The unique identifer of the purchase order for this item.

uins

NA

object

The UINs associated to this item.

Table 4-523 VendorDeliveryUinIdo — Object

Element Name Required Data Type/Example Description

uin

NA

string($text128) example: 14532B12

The Universal Identification Number.

received

NA

boolean example: true

True if the UIN is received as part of the delivery, false otherwise.

damaged

NA

boolean example: false

True if the UIN is received as damaged as part of the delivery, false otherwise.

Responses

This section describes the responses of the Update Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Submit Carton

This section describes the Submit Carton API. This API moves the status of the carton to submitted and prevents further updates. The carton may still be confirmed. No inventory positions are updated via this operation.

Method

POST
URL

/dsds/cartons/{cartonId}/submit
Request Parameters

Table 4-524 Submit Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

Responses

This section describes the responses of the Submit Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Submitted Carton

This section describes the Cancel Submitted Carton API. This API opens a submitted carton for further updates, moving the status to in progress.

Method

POST
URL

/dsds/cartons/{cartonId}/cancelsubmit
Request Parameters

Table 4-525 Cancel Submitted Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

Responses

This section describes the responses of the Cancel Submitted Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Carton

This section describes the Confirm Carton API. This API confirms the final receipt of a vendor delivery carton.

Method

POST
URL

/dsds/cartons/{cartonId}/cancelsubmit
Request Parameters

Table 4-526 Confirm Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

Responses

This section describes the responses of the Confirm Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Carton

This section describes the Cancel Carton API. This API cancels a vendor delivery carton.

Method

POST
URL

/dsds/cartons/{cartonId}/cancel
Request Parameters

Table 4-527 Cancel Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

Responses

This section describes the responses of the Cancel Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Open Carton

This section describes the Open Carton API. This API re--opens a completed carton after reciept allowing it to be received again.

Method

POST
URL

/dsds/cartons/{cartonId}/open
Request Parameters

Table 4-528 Open Carton — Request Parameters

Parameter Required Data Type Description

cartonId

Yes

number($int12) (path)

The unique identifier of the delivery carton.

Responses

This section describes the responses of the Open Carton API.

Response Code: 204

No content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import ASN Delivery

This section describes the Import ASN Delivery API. This API imports an ASN vendor delivery that is managed by an external system. When importing, the contents must contain the entire delivery. This asynchronous call places a record in the MPS message table for later processing, controlled by the DcsAsn work type.

Method

POST
URL

/dsds/imports
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the delivery to import.

Example Value

{
  "asn": "789012",
  "storeId": 5000,
  "supplierId": 5101,
  "invoiceNumber": "10056",
  "invoiceDate": "2025-02-06T11:48:31.239Z",
  "invoiceAmount": 999.99,
  "currencyCode": "USD",
  "fiscalDocumentNumber": "USD",
  "expectedDate": "USD",
  "displayCartonInfo": true,
  "billOfLadingId": "55601",
  "carrierName": "Speedy Delivery",
  "carrierType": 1,
  "carrierCode": "SPDE",
  "sourceAddress": "200 Apple Street, Coolsville, WI, 55555",
  "licensePlate": "ABC-123",
  "freightId": "882211",
  "countryCode": "US",
  "cartons": [
    {
      "cartonNumber": "444200301",
      "trackingNumber": "AZB12743D",
      "qualityControl": false,
      "lineItems": [
        {
          "itemId": "10045600",
          "quantity": 3,
          "purchaseOrderNumber": "500678",
          "uins": [
            333000341341,
            444001343243
          ]
        }
      ]
    }
  ],
  "looseItems": [
    {
      "itemId": "10045600",
      "quantity": 3,
      "purchaseOrderNumber": "500678",
      "uins": [
        333000341341,
        444001343243
      ]
    }
  ],
  "notes": [
    "This is note number one.",
    "This is note number two."
  ]
}
Schema — VendorDeliveryImportIdo

Table 4-529 VendorDeliveryImportIdo — Object

Element Name Required Data Type/Example Description

asn

Yes

string($text128) example: 789012

The the asn.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

supplierId

Yes

number($int10) example: 5101

The identifier of the supplier shipping the inventory.

invoiceNumber

NA

string($text128) example: 10056

The number or identifier of the invoice associated to the delivery.

invoiceDate

NA

string($date-time)

The date of the delivery invoice.

invoiceAmount

NA

number($decimal(12,4)) example: 999.99

The value of the invoice cost.

currencyCode

NA

string($text3) example: USD

The currency code of the invoice cost.

fiscalDocumentNumber

NA

string($text3) example: USD

The fiscal document number. This is an imported external fiscal document number and is simply stored. The document may not exist in the system as a fiscal document.

expectedDate

NA

string($date-time) example: USD

The date the delivery is expected to arrive.

displayCartonInfo

NA

boolean example: true

If true, carton information will be displayed on the UI, otherwise only item information will be displayed.

billOfLadingId

NA

string($text128) example: 55601

An external identifier of a bill of lading record.

carrierName

NA

string($text128) example: Speedy Delivery

The name of the carrier.

carrierType

NA

integer($int4) example: 1

The carrier type of the vendor delivery. Valid values are:

1 - Corporate

2 - Third Party

Enum: Array [ 2

carrierCode

NA

string($text4) example: SPDE

A unique code that identifies the carrier.

sourceAddress

NA

string($text1000) example: 200 Apple Street, Coolsville, WI, 55555

The address of the source shipping location sending the delivery

licensePlate

NA

string($text128) example: ABC-123

The license plate of the delivery vehicle.

freightId

NA

string($text128) example: 882211

A freight identifier associated to the delivery.

countryCode

NA

string($text3) example: US

A country code of the country of the bill of lading.

cartons*

Yes

object

A collection of cartons on the delivery.

looseItems

NA

object

A collection of loose items not on the delivery. These will be gathered and placed in a generated carton.

notes

NA

string($text2000)] example: List [ "This is note number one.", "This is note number two." ]

A collection of notes on the delivery.

Table 4-530 VendorDeliveryImportCartonIdo — Object

Element Name Required Data Type/Example Description

cartonNumber

NA

string($text128) example: 444200301

The external identifier of the carton. A carton will be added or updated based on whether or not it already exists on the delivery.

trackingNumber

NA

string($text128) example: AZB12743D

A tracking number for the carton.

qualityControl

NA

boolean example: false

True indicates the carton requires detailed receiving.

lineItems

Yes

object

A collection of items in the container. If all items within the container are set to a zero quantity, the carton will be cancelled.

Table 4-531 VendorDeliveryImportItemdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

quantity

Yes

number($decimal(20,4)) example: 3

The total amount of the item expected on the delivery.

purchaseOrderNumber

Yes

string($text128) example: 500678

The external system purchase order number.

uins

NA

string($text128)] example: List [ 333000341341, 444001343243 ]

A list of UINs that shipped as part of the delivery.

Responses

This section describes the responses of the Import ASN Delivery API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import ASN Cancel Delivery

This section describes the Import ASN Cancel Delivery API. This API imports a cancellation of the vendor delivery. The vendor delivery must be in new status in order to be canceled. It cannot be cancelled if receiving has begun against it as well. This asynchronous call places a record in the MPS message table for later processing, controlled by the DcsAsn work type.

Method

POST
URL

/dsds/imports/cancel
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the delivery to import.

Example Value

{
  "asn": "5101",
  "storeId": 5000
}
Schema — VendorDeliveryImportCancelIdo

Table 4-532 VendorDeliveryImportCanelIdo — Object

Element Name Required Data Type/Example Description

asn

NA

string($text128) example: 5101

The advanced shipping notification of the delivery.

storeId

NA

number($int10) example: 5000

The identifier of the store receiving the inventory.

Responses

This section describes the responses of the Import ASN Delivery API.

Response Code: 202

Accepted

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import ASN Adjustments

This section describes the Import ASN Adjustments API. This API is used to import external adjustments made to a vendor delivery. It does not adjust the delivery itself but does track adjustments made after the delivery is closed. It updates the inventory stock positions and the received amount of the purchase order. This asynchronous call places a record in the MPS message table for later processing, controlled by the DcsAsn work type.

Method

POST
URL

/dsds/adjustments
Request Parameters

There are no request parameters.

The request body is application/json.

Details about the delivery to import.

Example Value

{
  "asn": "93471341",
  "storeId": 5000,
  "items": [
    {
      "itemId": "100637121",
      "cartonNumber": "9834834",
      "purchaseOrderNumber": "34AA04134",
      "quantity": 55.23
    }
  ]
}
Schema — VendorDeliveryAdjustmentImportIdo

Table 4-533 VendorDeliveryAdjustmentImportIdo — Object

Element Name Required Data Type/Example Description

asn

Yes

string($text128) example: 93471341

The advanced shipping notification of the delivery.

storeId

Yes

number($int10) example: 5000

The unique identifier of the store receiving the inventory.

items

Yes

object

itmes

Table 4-534 VendorDeliveryAdjustmentImportItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 100637121

The item that is being adjusted.

cartonNumber

Yes

string($text128) example: 9834834

The carton number of the carton containing the item.

purchaseOrderNumber

Yes

string($text128) example: 34AA04134

The purchase order number associated to the adjustment.

quantity

Yes

number($decimal(20,4)) example: 55.23

The new amount of the item received to be adjusted to.

Responses

This section describes the responses of the Import ASN Adjustments API.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Find ASN Adjustments

This section describes the Find ASN Adjustments API. This API retrieves the adjustments made for a delivery after the delivery was received.

Method

GET
URL

/dsds/adjustments
Request Parameters

Table 4-535 Find ASN Adjustments — Request Parameters

Parameter Required Data Type Description

deliveryId

NA

number($int10) (query)

Include only records for this delivery.

asn

NA

string($text128) (query)

Include only records for this advanced shipping notification.

Responses

This section describes the responses of the Find ASN Adjustments API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "adjustmentId": 55601,
    "deliveryId": 513434,
    "storeId": 5000,
    "purchaseOrderNumber": "34AA04134",
    "itemId": "100637121",
    "adjustmentDate": "2025-02-06T13:25:54.461Z",
    "quantity": 55.23
  }
]
Schema — VendorDeliveryAdjustmentIdo

Table 4-536 VendorDeliveryAdjustmentIdo— Object

Element Name Required Data Type/Example Description

adjustmentId

NA

number($int15) example: 55601

The identifier of the delivery adjustment record.

deliveryId

NA

number($int12) example: 513434

The identifier of the delivery.

storeId

NA

number($int10) example: 5000

The unique identifier of the store receiving the inventory.

purchaseOrderNumber

NA

string($text128) example: 34AA04134

The purchase order number associated to the adjustment.

itemId

NA

string($text25) example: 100637121

The item that was adjusted.

adjustmentDate

NA

string($date-time)

The date of the adjustment.

quantity

NA

number($decimal(20,4)) example: 55.23

The new amount of the item to be adjusted to.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Vendor Return

A return request is a return to vendor that comes into the store from an external system. A return request is a made for items to be returned to the supplier from the store. The items and quantities requested to be returned and reasons (for RTV) will be listed. Updating the return allows the approved quantity to be assigned. Once the request has been approved, the items are shipped to the supplier. This service allows for the integration of return requests with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Return

This section describes the Find Return API. This API Finds up to 10,000 return headers for the input criteria.

Method

GET
URL

/vendorreturns
Request Parameters

Table 4-537 Find Return — Request Parameters

Parameter Required Data Type Description

storeId

NA

number($int10) (query)

Include only returns from this store.

supplierId

NA

number($int10) (query)

Include only returns to this supplier.

externalReturnId

NA

string($text128) (query)

Include only returns for this vendor return external identifier.

status

NA

integer($int4) (query)

Include only returns with this status. Valid values are:

1 - Requested

2 - Request In Progress

3 - RTV In Progress

4 - Approved

5 - In Shipping

6 - Completed

7 - Rejected

8 - Canceled Request

9 - Canceled RTV

99 - Active

Available values : 1, 2, 3, 4, 5, 6, 7, 8, 9, 99

itemId

NA

string($text25) (query)

Include only returns that contain this item.

shipmentReasonId

NA

number($int15) (query)

Include only returns that contain this shipment reason.

updateDateFrom

NA

string($date-time) (query)

Include only returns with an update date on or after this date.

updateDateTo

NA

string($date-time) (query)

Include only returns with an update date on or before this date.

Responses

This section describes the responses of the Find Return API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "returnId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "externalReturnId": "90000",
    "status": 1,
    "notAfterDate": "2025-01-17T16:44:28.715Z",
    "approvedDate": "2025-01-17T16:44:28.715Z",
    "closedDate": "2025-01-17T16:44:28.715Z",
    "createDate": "2025-01-17T16:44:28.715Z",
    "updateDate": "2025-01-17T16:44:28.715Z"
  }
]
Schema — VendorReturnHeaderIdo

Table 4-538 VendorReturnHeaderIdo— Object

Element Name Required Data Type/Example Description

returnId

NA

number($int12) example: 11111

The unique identifier of the vendor return.

storeId

NA

number($int10) example: 5000

The identifier of the store returning the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

externalReturnId

NA

string($text128) example: 90000

A unique identifier of the vendor return from an external system.

status

NA

integer($int4) example: 1

1 - Requested

2 - Request In Progress

3 - RTV In Progress

4 - Approved

5 - In Shipping

6 - Completed

7 - Rejected

8 - Canceled Request

9 - Canceled RTV

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

notAfterDate

NA

string($date-time)

A date after which the return should not be shipped.

approvedDate

NA

string($date-time)

The date the return was approved.

closedDate

NA

string($date-time)

The date the return was closed.

createDate

NA

string($date-time)

The date the return was created in SIOCS.

updateDate

NA

string($date-time)

The date the return was last updated in SIOCS.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Return

This section describes the Create Return API. This service creates a new vendor return document.

Method

POST
URL

/vendorreturns
Request Parameters

The are no request parameters.

The request body is application/json.

Example Value

{
  "storeId": 5000,
  "supplierId": 5101,
  "notAfterDate": "2025-01-20T14:04:51.208Z",
  "authorizationCode": "JID112",
  "addressLine1": "460 Summer Street",
  "addressLine2": "Apartment 2",
  "addressLine3": "c/o John Smith",
  "aAddressCity": "Coolsville",
  "addressState": "NY",
  "addressCountry": "US",
  "addressPostalCode": "55555-1111",
  "lineItems": [
    {
      "itemId": "10045600",
      "reasonId": "82236",
      "quantity": 100,
      "caseSize": 1
    }
  ]
}
Schema — VendorReturnCreateIdo

Table 4-539 VendorReturnCreateIdo— Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The identifier of the store returning the inventory. This value is ignored if the return already exists.

supplierId

Yes

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to. This value is ignored if the return already exists.

notAfterDate

NA

string($date-time)

A date after which the return should not be shipped. If not included, this value will be defaulted through system configuration.

authorizationCode

NA

string($text12) example: JID112

An authorization number that may be required for the return.

addressLine1

NA

string($text240) example: 460 Summer Street

The first line of the destination address.

addressLine2

NA

string($text240) example: Apartment 2

The second line of the destination address.

addressLine3

NA

string($text240) example: c/o John Smith

The third line of the destination address.

aAddressCity

NA

string($text120) example: Coolsville

The city of the destination address.

addressState

Na

string($text3) example: NY

The state of the destination address.

addressCountry

NA

string($text3) example: US

The country code of the destination address.

addressPostalCode

NA

string($text30) example: 55555-1111

The postal code of the destination address.

lineItems*

Yes

object

The items to be returned.

Table 4-540 VendorReturnCreateLineItemIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

reasonId

NA

string($text6) example: 82236

The unique identifier of a return reason code for this item return.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity to return.

caseSize

 

number($decimal(20,4)) example: 1

The case size of this item return.

Responses

This section describes the responses of the Create Return API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "returnId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "status": 1
  }
]
Schema — VendorReturnStatusIdo

Table 4-541 VendorReturnStatusIdo— Object

Element Name Required Data Type/Example Description

returnId

NA

number($int12) example: 11111

The unique identifier of the vendor return.

storeId

NA

number($int10) example: 5000

The identifier of the store returning the inventory.

supplierId

Na

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

status

NA

integer($int4) example: 1

1 - Requested

2 - Request In Progress

3 - RTV In Progress

4 - Approved

5 - In Shipping

6 - Completed

7 - Rejected

8 - Canceled Request

9 - Canceled RTV

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Return

This section describes the Read Return API. This service retrieves all the details about a vendor return.

Method

GET
URL

/vendorreturns/{returnId}
Request Parameters

Table 4-542 Read Return — Request Parameters

Parameter Required Data Type Description

returnId

Yes

number($int12) (path)

The unique identifier of the vendor return.

Responses

This section describes the responses of the Read Return API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "returnId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "externalReturnId": "90000",
    "externalLocked": true,
    "originType": 1,
    "status": 1,
    "notAfterDate": "2025-01-17T16:59:15.721Z",
    "authorizationCode": "JID112",
    "addressLine1": "460 Summer Street",
    "addressLine2": "Apartment 2",
    "addressLine3": "c/o John Smith",
    "aAddressCity": "Coolsville",
    "addressState": "NY",
    "addressCountry": "US",
    "addressPostalCode": "55555-1111",
    "approvedUser": "smith123",
    "approvedDate": "2025-01-17T16:59:15.721Z",
    "closedUser": "smith123",
    "closedDate": "2025-01-17T16:59:15.721Z",
    "createUser": "smith123",
    "createDate": "2025-01-17T16:59:15.721Z",
    "updateUser": "smith123",
    "updateDate": "2025-01-17T16:59:15.721Z",
    "lineItems": [
      {
        "lineId": 2222222,
        "externalLineId": 456,
        "itemId": "10045600",
        "shipmentReasonId": 82236,
        "caseSize": 3,
        "quantityRequested": 100,
        "quantityApproved": 100,
        "quantityShipping": 100,
        "quantityShipped": 100
      }
    ]
  }
]
Schema — VendorReturnIdo

Table 4-543 VendorReturnIdo— Object

Element Name Required Data Type/Example Description

returnId

NA

number($int12) example: 11111

The unique identifier of the vendor return.

storeId

NA

number($int10) example: 5000

The identifier of the store returning the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

externalReturnId

NA

string($text128) example: 90000

A unique identifer of the vendor return from an external system.

externalLocked

NA

boolean example: true

True if the system no longer accepts changes to the vendor return from an external source.

originType

NA

integer($int4) example: 1

The origin type of the return. Valid values are:

1 - External

2 - Internal <br/ 3 - Shipment

Enum: [ 1, 2, 3 ]

status

NA

integer($int4) example: 1

1 - Requested

2 - Request In Progress

3 - RTV In Progress

4 - Approved

5 - In Shipping

6 - Completed

7 - Rejected

8 - Canceled Request

9 - Canceled RTV

Enum: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

notAfterDate

NA

string($date-time)

A date after which the return should not be shipped.

authorizationCode

NA

string($text12) example: JID112

An authorization number that may be required for the return.

addressLine1

NA

string($text240) example: 460 Summer Street

The first line of the destination address.

addressLine2

NA

string($text240) example: Apartment 2

The second line of the destination address.

addressLine3

NA

string($text240) example: c/o John Smith

The third line of the destination address.

aAddressCity

NA

string($text120) example: Coolsville

The city of the destination address.

addressState

NA

string($text3) example: NY

The state of the destination address.

addressCountry

NA

string($text3) example: US

The country code of the destination address.

addressPostalCode

NA

string($text30) example: 55555-1111

The postal code of the destination address.

approvedUser

NA

string($text128) example: smith123

The user that approved the return.

approvedDate

NA

string($date-time)

The date the return was approved.

closedUser

NA

string($text128) example: smith123

The user that closed the return.

closedDate

NA

string($date-time)

The date the return was closed.

createUser

NA

string($text128) example: smith123

The user that created the return.

createDate

NA

string($date-time)

The date the return was created.

updateUser

NA

string($text128) example: smith123

The user that last updated the return.

updateDate

NA

string($date-time)

The date the return was last updated.

lineItems

NA

object

A collection of items to be returned.

Table 4-544 VendorReturnLineItemIdo— Object

Element Name Required Data Type/Example Description

lineId

NA

integer($int15) example: 2222222

The unique identifier of the line record.

externalLineId

NA

integer($int15) example: 456

An external identifier to this particular line item on the return.

itemId

NA

string($text25) example: 10045600

The unique identifier of the SKU item.

shipmentReasonId

NA

integer($int15) example: 82236

The unique identifier of the shipment reason.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantityRequested

NA

number($decimal(20,4)) example: 100

The quantity requested to return.

quantityApproved

NA

number($decimal(20,4)) example: 100

The quantity approved to return.

quantityShipping

NA

number($decimal(20,4)) example: 100

The quantity prepared to ship on the return.

quantityShipped

NA

number($decimal(20,4)) example: 100

The quantity that has shipped on the return.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Return

This section describes the Update Return API. This service updates vendor return approved quantities prior to approving the vendor return.

Method

POST
URL

/vendorreturns/{returnId}
Request Parameters

Table 4-545 Update Return — Request Parameters

Parameter Required Data Type Description

returnId

Yes

number($int12) (path)

The unique identifier of the vendor return.

The request body is application/json.

Vendor return details to update.

Example Value

{
  "authorizationCode": "JID112",
  "lineItems": [
    {
      "itemId": "10045600",
      "shipmentReasonId": 82236,
      "quantity": 100
    }
  ]
}
Schema — VendorReturnUpdateIdo

Table 4-546 VendorReturnUpdateIdo— Object

Element Name Required Data Type/Example Description

authorizationCode

NA

string($text12) example: JID112

An authorization number that may be required for the return.

lineItems

NA

object

A list of up to 1,000 items with approved quantities to be included on the return. The collection can remain empty if only updating the authorization code.

Table 4-547 VendorReturnUpdateLineItemIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

shipmentReasonId

Yes

integer($int15) example: 82236

The unique identier of the shipment reason. If the shipment reason is unavailable, the quantity must not exceed the item's unavailable stock. Unavailable sub-buckets are not considered in vendor return and are only used when creating the vendor shipment.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity approved to return.

Responses

This section describes the responses of the Update Return API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Approve Return

This section describes the Approve Return API. This service approves a vendor return for shipment. Use the Update Return operation to assign and persist desired quantities before approval.

Method

POST
URL

/vendorreturns/{returnId}/approve
Request Parameters

Table 4-548 Approve Return — Request Parameters

Parameter Required Data Type Description

returnId

Yes

number($int12) (path)

The unique identifier of the vendor return.

Responses

This section describes the responses of the Approve Return API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Close Return

This section describes the Close Return API. This service closes out the vendor return.

Method

POST
URL

/vendorreturns/{returnId}/close
Request Parameters

Table 4-549 Close Return — Request Parameters

Parameter Required Data Type Description

returnId

Yes

number($int12) (path)

The unique identifier of the vendor return.

Responses

This section describes the responses of the Close Return API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Return

This section describes the Import Return API. This service imports a vendor return request managed by an external system. Processing assumes that any notification to other systems about the creation of this information will be managed by the external system. The imported return is processed asynchronous through our MPS sub-system and is controlled by the DcsRtv work type. If more than 1,000 items are included in the return, a "input too large" error will be returned. This operation will return a forbidden error code if the system is integrated with Oracle merchandising.

Method

POST
URL

/vendorreturns/imports
Request Parameters

There are no request parameters.

Vendor return details to import.

Example Value

{
  "externalReturnId": "90000",
  "storeId": 5000,
  "supplierId": 5101,
  "notAfterDate": "2025-01-20T15:17:16.265Z",
  "authorizationCode": "JID112",
  "addressLine1": "460 Summer Street",
  "addressLine2": "Apartment 2",
  "addressLine3": "c/o John Smith",
  "aAddressCity": "Coolsville",
  "addressState": "NY",
  "addressCountry": "US",
  "addressPostalCode": "55555-1111",
  "comment": "Originally overshipped goods.",
  "createDate": "2025-01-20T15:17:16.265Z",
  "lineItems": [
    {
      "itemId": "10045600",
      "reasonCode": "82236",
      "quantity": 100,
      "sequence": 1
    }
  ]
}
Schema — VendorReturnImportIdo

Table 4-550 VendorReturnImportIdo— Object

Element Name Required Data Type/Example Description

externalReturnId

Yes

string($text128) example: 90000

A unique identifer of the vendor return from an external system. This identifier is used to determine if the import will be created or updated.

storeId

Yes

number($int10) example: 5000

The identifier of the store returning the inventory. This value is ignored if the return already exists.

supplierId

Yes

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to. This value is ignored if the return already exists.

notAfterDate

NA

string($date-time)

A date after which the return should not be shipped. If not included, this value will be defaulted through system configuration.

authorizationCode

NA

string($text12) example: JID112

An authorization number that may be required for the return.

addressLine1

NA

string($text240) example: 460 Summer Street

The first line of the destination address.

addressLine2

NA

string($text240) example: Apartment 2

The second line of the destination address.

addressLine3

NA

string($text240) example: c/o John Smith

The third line of the destination address.

aAddressCity

NA

string($text120) example: Coolsville

The city of the destination address.

addressState

NA

string($text3) example: NY

The state of the destination address.

addressCountry

NA

string($text3) example: US

The country code of the destination address.

addressPostalCode

NA

string($text30) example: 55555-1111

The postal code of the destination address.

comment

NA

string($text2000) example: Originally overshipped goods.

A comment to associate to the vendor return request.

createDate

Yes

string($date-time)

The date the return was created.

lineItems

Yes

object

The items to be returned.

Table 4-551 VendorReturnImportLineItemIdo— Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

reasonCode

Yes

string($text6) example: 82236

A reason code associate to the item return.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity requested to return.

sequence

NA

number($int15) example: 1

An external sequence number for the item on the return.

Responses

This section describes the responses of the Import Return API.

Response Code: 204

No content.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Import Return Delete

This section describes the Import Return Delete API. This service will place a delete notification in the system (in the MPS work queue with DcsRtv work type) for asynchronous processing. When processed, it will cancel the vendor return if it qualifies for cancellation (it is not already in progress). This operation will return a forbidden error code if the system is integrated with Oracle merchandising.

Method

DELETE
URL

/vendorreturns/imports/{externalReturnId}
Request Parameters

Table 4-552 Import Return Delete — Request Parameters

Parameter Required Data Type Description

externalReturnId

Yes

string($text128) (path)

The unique identifier of the vendor return from the external system.

Responses

This section describes the responses of the Import Return Delete API.

Response Code: 202

Accepted.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Vendor Shipment

Vendor shipment is the process of shipping inventory out of the store back to a supplier for redistribution or disposal. If the store plans to return items to the vendor, it can be done by creating a vendor shipment (RTV shipment). The items, quantities to be returned, and reasons for the return, can be added to the shipment. When the shipment is dispatched, the goods are removed from inventory.

To create a shipment, a supplier must be identified for this return. The supplier must allow for returns and must be a DSD supplier, and if the system is configured to use multiple sets of books, then the supplier is limited to the same operating unit as that of the store.

Items along with reasons can be added to the return. For Return to Vendors, the system allows a mix of available and unavailable inventory status items on the return; therefore, all reasons for the Return to Vendor type will be listed. All items on the return must be sourced by the supplier designated on the RTV. Authorization Number, which is required for certain suppliers, would need to be entered before dispatching.

The service defines operations to manage vendor shipment information by integration with an external system.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api

Find Shipments

This section describes the Find Shipments API. This API finds up to 10,000 shipments headers for the input criteria.

Method

GET
URL

/rtvshipments
Request

This section describes the request parameters.

Table 4-553 Find Shipments— Request Parameters

Parameter Required Data Type Description

storeId

NA

number ($int10) (query)

Include only records where the shipment is from this store.

supplierId

NA

number ($int10) (query)

Include only shipments where the shipment is to this supplier.

vendorReturnId

NA

number ($int15) (query)

Include only shipments for this vendor return (by internal identifier).

vendorReturnExternalId

NA

string ($text128) (query)

Include only shipments for this vendor return (by external identifier).

status

NA

integer ($int4) (query)

Include only shipments with this delivery status. Valid values are

1 – New

2 - In Progress

3 – Submitted

4 – Shipped

5 – Canceled

99 – Active

Available values: 1, 2, 3, 4, 5, 99

itemId

NA

string ($text128) (query)

Include only shipments that contain this item.

updateDateFrom

NA

string ($date-time)(query)

Include only shipments with an update date on or after this date.

updateDateTo

NA

string ($date-time) (query)

Include only shipments with an update date on or before this date.

Responses

This section describes the responses of the Find Shipments API.

Response Code: 200

The request has been successful.

The media type is application/json.

Example Value

[
  {
    "shipmentId": 11111,
    "storeId": 5000,
    "supplierId": 5101,
    "vendorReturnId": 789012,
    "vendorReturnExternalId": "90000",
    "status": 1,
    "notAfterDate": "2024-08-30T07:40:22.421Z",
    "submitDate": "2024-08-30T07:40:22.421Z",
    "dispatchDate": "2024-08-30T07:40:22.422Z",
    "updateDate": "2024-08-30T07:40:22.422Z"
  }
]
Schema — VendorShipmentHeaderIdo

This section describes the VendorShipmentHeaderIdo schema.

Table 4-554 VendorShipmentHeaderIdo — Object

Element Name Required Data Type Description

shipmentId

NA

number($int12) example: 11111

The unique identifier of the vendor shipment.

storeId

NA

number($int10) example: 5000

The identifier of the store shipping the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

vendorReturnId

NA

number($int15) example: 789012

The unique identifier of the vendor return this shipment is for.

vendorReturnExternalId

NA

string($text128) example: 90000

A unique identifier of the vendor return from an external system.

status

NA

integer($int4) example: 1

The current status of the vendor shipment. Valid values are:

1 – New

2 - In Progress

3 – Submitted

4 – Shipped

5 – Canceled

Enum: [ 1, 2, 3, 4, 5 ]

notAfterDate

NA

string($date-time)

A date after which the shipment should not be shipped.

submitDate

NA

string($date-time)

The date the shipment was submitted.

dispatchDate

NA

string($date-time)

The date the shipment was dispatched.

updateDate

NA

string($date-time)

The date the delivery was last updated.

Response Code: 400

Bad Request

The media type is application/json.

Create Shipment

This section describes the Create Shipment API. It creates a new vendor shipment whose status is in progress. When creating the vendor shipment, it only allows up to 1,000 items in the overall shipment.

Method

POST
URL

/rtvshipments
Request

There are no request parameters.

The request body is application/json.

The shipment details of the new shipment.

Example Value

{
  "storeId": 5000,
  "supplierId": 5101,
  "supplierCountryCode": "USA",
  "vendorReturnId": 789012,
  "authorizationCode": "H112",
  "notAfterDate": "2024-08-30T07:55:27.191Z",
  "contextId": 90000,
  "contextValue": "Spring Return",
  "addressType": 1,
  "carrierRole": 1,
  "carrierId": 123,
  "carrierServiceId": 456,
  "alternateAddress": "Another Street, Different City, NY, 44444",
  "alternateCarrierName": "Speedy Delivery",
  "alternateCarrierAddress": "Carrier Street, Carrier City, NY, 44444",
  "motiveId": 123,
  "taxId": "11-33500",
  "trackingNumber": "44000567002",
  "dimensionId": 100,
  "weight": 12.8,
  "weightUom": "KG",
  "requestedPickupDate": "2024-08-30T07:55:27.191Z",
  "cartons": [
    {
      "externalCartonId": "4500300",
      "trackingNumber": "876300456",
      "restrictionLevel": 1,
      "cartonSizeId": 1000,
      "weight": 4.5,
      "weightUom": "LBS",
      "lineItems": [
        {
          "itemId": "10045600",
          "reasonId": 2222222,
          "caseSize": 3,
          "quantity": 100,
          "uins": [
            111345000,
            222220000
          ]
        }
      ]
    }
  ],
  "notes": [
    "The first note",
    "The second note"
  ]
}
Schema — VendorShipmentCreateIdo

This section describes the VendorShipmentCreateIdo schema.

Table 4-555 VendorShipmentCreateIdo — Object

Element Name Required Data Type/Example Description

storeId

Yes

number($int10) example: 5000

The identifier of the store shipping the inventory.

supplierId

Yes

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

supplierCountryCode

NA

string($text3) example: USA

The country code of the supplier for this shipment. All items must be available with this country code. If left blank, a country code will be selected from the available supplier items giving preference to a country code that matches the store.

vendorReturnId

NA

number($int15) example: 789012

The unique identifier of the vendor return this shipment is for.

authorizationCode

NA

string($text12) example: H112

A vendor authorization code

notAfterDate

NA

string($date-time)

A date after which the shipment should not be shipped.

contextId

NA

number($int18) example: 90000

A unique identifier of a context for the shipment (see shipping service).

contextValue

NA

string($text25) example: Spring Return

An additional value associated to the context for the shipment.

addressType

NA

integer($int4) example: 1

The hierarchy restriction level for items in the container. Valid values are:

1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4

carrierRole

Yes

integer($int2) example: 1

The type of carrier for the shipment. Valid values are:

1 - Sender

2 - Receiver

3 - Third Party

Enum: [ 1, 2, 3 ]

carrierId

NA

integer($int10) example: 123

A unique identifier of a carrier for the shipment.

carrierServiceId

NA

integer($int10) example: 456

A unique identifier of a carrier service for the shipment.

alternateAddress

NA

string($text2000) example: Another Street, Different City, NY, 44444

An alternate destination address.

alternateCarrierName

NA

string($text240) example: Speedy Delivery

The name of a third-party shipping company.

alternateCarrierAddress

NA

string($text240) example: Carrier Street, Carrier City, NY, 44444

The address of a third-party shipping company.

motiveId

NA

number($int18) example: 123

The identifier ofa motive for the bill of lading.

taxId

NA

string($text18) example: 11-33500

The tax identifier of the supplier it is being shipped to.

trackingNumber

NA

string($text128) example: 44000567002

A tracking number associated to the shipment.

dimensionId

NA

integer($int12) example: 100

The identifier of a dimension object associated to the shipment.

weight

NA

number($decimal(12,4)) example: 12.8

The weight of the shipment.

weightUom

NA

string($text4) example: KG

The unit of measure of the weight of the shipment.

requestedPickupDate

NA

string($date-time)

The requested pickup date.

cartons Yes object cartons
notes NA string ($text2000) example: List [ "The first note", "The second note" ] A collection of up to 100 notes to be created.

Table 4-556 VendorShipmentCreateCartonIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 4500300

A container identifier from an external system.

trackingNumber

NA

string($text128) example: 876300456

The tracking number of the container.

restrictionLevel

NA

integer($int4)

example: 1 The hierarchy restriction level for items in the container. Valid values are:

1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4 ]

cartonSizeId

NA

integer($int10) example: 1000

The unique identifier of the container dimension object.

weight

NA

number($decimal(12,4)) example: 4.5

The weight of the container.

weightUom

NA

string($text4) example: LBS

The unit of measure of the weight of the container.

lineItems

Yes

object

line items

Table 4-557 VendorShipmentCreateLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

reasonId

Yes

integer($int15) example: 2222222

The unique identier of the shipment reason.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity that was shipped.

uins

NA

string($text128)] example: List [ 111345000, 222220000 ]

The UINs that were shipped. They total number must match the quantity shipped.

Responses

This section describes the responses of the Create Shipment API.

Response Code: 200

Successful response.

The media type is application/json.

Example Value

[
  {
    "shipmentId": <shipmentId>,
    "returnId": <returnId>,
    "status": 1
  }
]
Schema — VendorShipmentStatusIdo

This section describes the VendorShipmentStatusIdo schema.

Table 4-558 VenderoShipmentStatusIdo

Element Name Required Data Type/Example Description

shipmentId

NA

number($int15) example: 11111

The unique identifier of the vendor shipment.

returnId

NA

number($int15) example: 5000

The identifier of the associated vendor return.

status

NA

integer($int4) example: 1

The current status of the vendor shipment. Valid values:

1 - New

2 - In Progress

3 - Submitted

4 - Shipped

5 - Canceled

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Read Shipment

This section describes the Read Shipment API. This API retrieves all the details about an vendor shipment.

Method

GET
URL

/rtvshipments/{shipmentId}
Request

This section describes the request parameters.

Table 4-559 Read Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

Responses

This section describes the responses of the Read Shipment API.

Response Code: 200

Successful response

This media type is application/json.

Example Value

[
  {
    "shipmentId": <shipmentId>,
    "storeId": 5000,
    "supplierId": 5101,
    "vendorReturnId": 789012,
    "vendorReturnExternalId": "90000",
    "status": 1,
    "notAfterDate": "2024-08-28T09:29:33.327Z",
    "authorizationCode": "H112",
    "contextId": 90000,
    "contextValue": "Spring Return",
    "destinationAddress1": "460 Summer Street",
    "destinationAddress2": "Apartment 2",
    "destinationAddress3": "c/o John Smith",
    "destinationAddressCity": "Coolsville",
    "destinationAddressState": "NY",
    "destinationAddressCountry": "US",
    "destinationAddressPostalCode": "55555-1111",
    "billOfLadingId": 55601,
    "alternateAddress": "Another Street, Different City, NY, 44444",
    "carrierRole": 1,
    "carrierId": 123,
    "carrierServiceId": 456,
    "alternateCarrierName": "Speedy Delivery",
    "alternateCarrierAddress": "Carrier Street, Carrier City, NY, 44444",
    "motive": "Overstock",
    "taxId": "11-33500",
    "trackingNumber": "44000567002",
    "dimensionId": 100,
    "weight": 12.8,
    "weightUom": "KG",
    "requestedPickupDate": "2024-08-28T09:29:33.327Z",
    "fiscalDocumentRequestId": 22233344455566,
    "fiscalDocumentReferenceId": 77788899100,
    "fiscalDocumentNumber": "128745",
    "fiscalDocumentStatus": 1,
    "fiscalDocumentRejectReason": "Missing Requirements",
    "fiscalDocumentUrl": "http://fiscaldoc/doc123",
    "createUser": "smith123",
    "createDate": "2024-08-28T09:29:33.327Z",
    "submitUser": "smith123",
    "submitDate": "2024-08-28T09:29:33.327Z",
    "dispatchUser": "smith123",
    "dispatchDate": "2024-08-28T09:29:33.327Z",
    "updateUser": "smith123",
    "updateDate": "2024-08-28T09:29:33.327Z",
    "cartons": [
      {
        "cartonId": 100200300,
        "externalCartonId": "4500300",
        "status": 1,
        "cartonDimensionId": 1000,
        "weight": 4.5,
        "weightUom": "LBS",
        "trackingNumber": "876300456",
        "restrictionLevel": 1,
        "createDate": "2024-08-28T09:29:33.328Z",
        "createUser": "smith123",
        "updateDate": "2024-08-28T09:29:33.328Z",
        "updateUser": "smith123",
        "approvalDate": "2024-08-28T09:29:33.328Z",
        "approvalUser": "smith123",
        "lineItems": [
          {
            "lineId": 2222222,
            "itemId": "10045600",
            "shipmentReasonId": 2222222,
            "caseSize": 3,
            "quantity": 100,
            "uins": [
              111345000,
              222220000
            ]
          }
        ]
      }
    ]
  }
]
Schema — VendorShipmentIdo

This section describes the VendorShipmentIdo schema.

Table 4-560 VendorShipmentIdo — Object

Element Name Required Data Type/Example Description

shipmentId

NA

number($int12) example: 11111

The unique identifier of the vendor shipment.

storeId

NA

number($int10) example: 5000

The identifier of the store shipping the inventory.

supplierId

NA

number($int10) example: 5101

The identifier of the supplier the goods are being shipped to.

vendorReturnId

NA

number($int15) example: 789012

The unique identifier of the vendor return this shipment is for.

vendorReturnExternalId

NA

string($text128) example: 90000

A unique identifier of the vendor return from an external system.

status

NA

integer($int4) example: 1

The current status of the vendor shipment. Valid values are

1 - New

2 - In Progress

3 - Submitted

4 - Shipped

5 - Canceled

Enum: [ 1, 2, 3, 4, 5 ]

notAfterDate

NA

string($date-time)

A date after which the shipment should not be shipped.

authorizationCode

NA

string($text12) example: H112

A vendor authorization code

contextId

NA

number($int18) example: 90000

A unique identifer of a context for the shipment (see shipping service).

contextValue

NA

string($text25) example: Spring Return

An additional value associated to the context for the shipment.

destinationAddress1

NA

string($text240) example: 460 Summer Street

The first line of the destination address.

destinationAddress2

NA

string($text240) example: Apartment 2

The second line of the destination address.

destinationAddress3

NA

string($text240) example: c/o John Smith

The third line of the destination address.

destinationAddressCity

NA

string($text120) example: Coolsville

The city of the destination address.

destinationAddressState

NA

string($text3) example: NY

The state of the destination address.

destinationAddressCountry

NA

string($text3) example: US

The country code of the destination address.

destinationAddressPostalCode

NA

string($text30) example: 55555-1111

The postal code of the destination address.

billOfLadingId

NA

number($int15) example: 55601

A bill of lading identifier.

alternateAddress

NA

string($text2000) example: Another Street, Different City, NY, 44444

An alternate destination address.

carrierRole

NA

integer($int2) example: 1

The type of carrier for the shipment. Valid values are

1 - Sender

2 - Receiver

3 - Third Party

Enum: [ 1, 2, 3 ]

carrierId

NA

integer($int10) example: 123

A unique identifier of a carrier for the shipment.

carrierServiceId

NA

integer($int10) example: 456

A unique identifier of a carrier service for the shipment.

alternateCarrierName

NA

string($text240) example: Speedy Delivery

The name of a third-party shipping company.

alternateCarrierAddress

NA

string($text240) example: Carrier Street, Carrier City, NY, 44444

The address of a third-party shipping company.

motive

NA

string($text120) example: Overstock

A motive for the shipment.

taxId

NA

string($text18) example: 11-33500

The tax identifier of the supplier it is being shipped to.

trackingNumber

NA

string($text128) example: 44000567002

A tracking number associated to the shipment.

dimensionId

NA

integer($int12) example: 100

The identifier of a dimension object associated to the shipment.

weight

NA

number($decimal(12,4)) example: 12.8

The weight of the shipment.

weightUom

NA

string($text4) example: KG

The unit of measure of the weight of the shipment.

requestedPickupDate

NA

string($date-time)

The requested pickup date.

fiscalDocumentRequestId

NA

number($int20) example: 22233344455566

The identifier of the request for a fiscal document.

fiscalDocumentReferenceId

NA

number($int20) example: 77788899100

The unique identifier of the fiscal document

fiscalDocumentNumber

NA

string($text255) example: 128745

The fiscal document number.

fiscalDocumentStatus

NA

integer($int4) example: 1

The status of the fiscal document. Valid values are

1 - Approved

2 - Submitted

3 - Rejected

4 - Canceled

Enum: [ 1, 2, 3, 4 ]

fiscalDocumentRejectReason

NA

string($text255) example: Missing Requirements

A reason the fiscal document was rejected.

fiscalDocumentUrl

NA

string($text255) example:

A URL to the fiscal document.

createUser

NA

string($text128) example: smith123

The user that created the shipment.

createDate

NA

string($date-time)

The date the shipment was created.

submitUser

NA

string($text128) example: smith123

The user that submitted the shipment.

submitDate

NA

string($date-time)

The date the shipment was submitted.

dispatchUser

NA

string($text128) example: smith123

The user that dispatched the shipment.

dispatchDate

NA

string($date-time)

The date the shipment was dispatched.

updateUser

NA

string($text128) example: smith123

The user that last updated the shipment.

updateDate

NA

string($date-time)

The date the delivery was last updated.

cartons NA object cartons

Table 4-561 VendorShipmentCartonIdo — Object

Element Name Required Data Type/Example Description

cartonId

NA

integer($int15) example: 100200300

The unique identifier of the carton record.

externalCartonId

NA

string($text128) example: 4500300

A container identifier from an external system.

status

NA

integer($int4) example: 1

The current status of the carton. Valid values are

1 - New

2 - In Progress

3 - Completed

4 - Shipped

5 - Canceled

Enum: [ 1, 2, 3, 4, 5 ]

cartonDimensionId

NA

integer($int10) example: 1000

The unique identifier of the container dimension object.

weight

NA

number($decimal(12,4)) example: 4.5

The weight of the container.

weightUom

NA

string($text4) example: LBS

The unit of measure of the weight of the container.

trackingNumber

NA

string($text128) example: 876300456

The tracking number of the container.

restrictionLevel

NA

integer($int4) example: 1

The hierarchy restriction level for items in the container. Valid values are1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4 ]

createDate

NA

string($date-time)

The date the carton was created.

createUser

NA

string($text128) example: smith123

The user that created the carton.

updateDate

NA

string($date-time)

The date the carton was last updated.

updateUser

NA

string($text128) example: smith123

The user that last updated the carton.

approvalDate

NA

string($date-time)

The date the carton was approved.

approvalUser

NA

string($text128) example: smith123

The user that approved the carton.

lineItems NA object line items

Table 4-562 VendorShipmentLineItemIdo — Object

Element Name Required Data Type/Example Description

lineId

NA

integer($int15) example: 2222222

The unique identier of the line record.

itemId

NA

string($text25) example: 10045600

The unique identifier of the SKU item.

shipmentReasonId

NA

integer($int15) example: 2222222

The unique identier of the shipment reason.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantity

NA

number($decimal(20,4)) example: 100

The quantity that was shipped.

uins

Na

string($text128) example: List [ 111345000, 222220000 ]

The UINs that were shipped. They total number must match the quantity shipped.

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Shipment

This section describes the Update Shipment API. This API updates the header portion of a shipment as well as its bill of lading information. See carton related operations for creating or updating cartons on the shipment.

Method

POST
URL

/rtvshipments/{shipmentId}
Request

This section describes the request parameters.

Table 4-563 Update Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

The request body is application/json.

Shipment header details to update

Example Value

{
  "notAfterDate": "2024-08-28T12:54:48.823Z",
  "authorizationCode": "H112",
  "contextId": 90000,
  "contextValue": "Spring Return",
  "addressType": 1,
  "carrierRole": 1,
  "carrierId": 123,
  "carrierServiceId": 456,
  "alternateAddress": "Another Street, Different City, NY, 44444",
  "alternateCarrierName": "Speedy Delivery",
  "alternateCarrierAddress": "Carrier Street, Carrier City, NY, 44444",
  "motiveId": 123,
  "taxId": "11-33500",
  "trackingNumber": "44000567002",
  "dimensionId": 100,
  "weight": 20.4,
  "weightUom": "KG",
  "requestedPickupDate": "2024-08-28T12:54:48.823Z",
  "notes": [
    "The first note",
    "The second note"
  ]
}
Schema — VendorShipmentUpdateIdo

This section describes the VendorShipmentUpdateIdo schema.

Table 4-564 VendorShipmentUpdateIdo — Object

Element Name Required Data Type/Example Description

notAfterDate

NA

string($date-time)

A date after which the shipment should not be shipped.

authorizationCode

NA

string($text12) example: H112

A vendor authorization code

contextId

NA

number($int18) example: 90000

A unique identifier of a context for the shipment (see shipping service).

contextValue

NA

string($text25) example: Spring Return

An additional value associated to the context for the shipment.

addressType

NA

integer($int4) example: 1

The hierarchy restriction level for items in the container. Valid values are

1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4 ]

carrierRole

Yes

integer($int2) example: 1

The type of carrier for the shipment. Valid values are

1 - Sender

2 - Receiver

3 - Third Party

Enum: [ 1, 2, 3 ]

carrierId

NA

integer($int10) example: 123

A unique identifier of a carrier for the shipment.

carrierServiceId

NA

integer($int10) example: 456

A unique identifier of a carrier service for the shipment.

alternateAddress

NA

string($text2000) example: Another Street, Different City, NY, 44444

An alternate destination address.

alternateCarrierName

NA

string($text240) example: Speedy Delivery

The name of a third-party shipping company.

alternateCarrierAddress

NA

string($text240) example: Carrier Street, Carrier City, NY, 44444

The address of a third-party shipping company.

motiveId

NA

number($int18) example: 123

The unique identifier of a mtoive for the bill of lading.

taxId

NA

string($text18) example: 11-33500

The tax identifier of the supplier it is being shipped to.

trackingNumber

NA

string($text128) example: 44000567002

A tracking number associated to the shipment.

dimensionId

NA

integer($int12) example: 100

The idnetifier of a dimension object associated to the shipment.

weight

NA

number($decimal(12,4)) example: 20.4

The weight of the shipment.

weightUom

NA

string($text4) example: KG

The unit of measure of the weight of the shipment.

requestedPickupDate

NA

string($date-time)

The requested pickup date.

notes

NA

string($text2000) example: List [ "The first note", "The second note" ]

A collection of up to 100 notes to be added to the list of notes.

Responses

This section describes the responses of the Update Shipment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Submit Shipment

This section describes the Submit Shipment API. This API submits a vendor shipment placing it into submitted status awaiting review and eventual dispatch. Fiscal document data capture can occur as part of this process.

Method

POST
URL

/rtvshipments/{shipmentId}/submit
Request

This section describes the request paramters.

Table 4-565 Submit Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

The request body is application/json.

Fiscal document information to include as part of the submission.

Example Value

{
  "vehicleNumber": "ABC-222",
  "vehicleStateOrCountry": "New York",
  "driverName": "John Smith",
  "driverLicenseNumber": "HBAC-123456"
}
Schema — VendorShipmentFiscalSubmitIdo

This section describes the VendorShipmentFiscalSubmitIdo schema.

Table 4-566 VendorShipmentFiscalSubmitIdo — Object

Element Name Required Data Type/Example Description

vehicleNumber

NA

string($text25) example: ABC-222

The vehicle license plate or identifying number.

vehicleStateOrCountry

NA

string($text25) example: New York

The vehicle's state or country.

driverName

NA

string($text30) example: John Smith

The name of the driver.

driverLicenseNumber

NA

string($text30) example: HBAC-123456

The driver's liscence number.

Responses

This section describes the responses of the Submit Shipment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Submit Shipment

This section describes the Cancel Submit Shipment API. Cancels the submission of a shipment moving it back to in progress state.

Method

POST
URL

/rtvshipments/{shipmentId}/cancelSubmit
Request

This section describes the request parameters.

Table 4-567 Cancel Submit Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

Responses

This section describes the responses of the Cancel Submit Shipment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Dispatch Shipment

This section describes the Dispatch Shipment API. This API dispatches the shipment to the destination, closing the shipment, and updating inventory.

Method

POST
URL

/rtvshipments/{shipmentId}/dispatch
Request

This section describes the request parameters.

Table 4-568 Dispatch Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

Responses

This section describes the responses of the Dispatch Shipment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Shipment

This section describes the Cancel Shipment API. This API cancels the shipment. This will close the associated vendor return.

Method

POST
URL

/rtvshipments/{shipmentId}/cancel
Request

This section describes the request parameters.

Table 4-569 Cancel Shipment — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the vendor shipment.

Responses

This section describes the responses of the Cancel Shipment API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Create Carton

This section describes the Create Carton API. This API adds a new container to a new or in progress shipment.

Method

POST
URL

/rtvshipments/{shipmentId}/cartons
Request

This section describes the request parameters.

Table 4-570 Create Carton — Request Parameters

Parameters Required Data Type Description

shipmentId

Yes

number($int12) (path)

The unique identifier of the shipment.

The request body is applicaton/json.

Details for the carton to create.

Example Value

{
  "externalCartonId": "4500300",
  "trackingNumber": "876300456",
  "restrictionLevel": 1,
  "cartonSizeId": 1000,
  "weight": 4.5,
  "weightUom": "LBS",
  "lineItems": [
    {
      "itemId": "10045600",
      "reasonId": 2222222,
      "caseSize": 3,
      "quantity": 100,
      "uins": [
        111345000,
        222220000
      ]
    }
  ]
}
Schema — VendorShipmentCartonCreateIdo

This section describes the VendorShipmentCartonCreateIdo schema.

Table 4-571 VendorShipmentCartonCreateIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 4500300

A container identifier from an external system.

trackingNumber

NA

string($text128) example: 876300456

The tracking number of the container.

restrictionLevel

NA

integer($int4) example: 1

The hierarchy restriction level for items in the container. Valid values are

1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4 ]

cartonSizeId

NA

integer($int10) example: 1000

The unique identifier of the container dimension object.

weight

NA

number($decimal(12,4)) example: 4.5

The weight of the container.

weightUom

NA

string($text4) example: LBS

The unit of measure of the weight of the container.

lineItems

Yes

object

line items

Table 4-572 VendorShipmentCartonCreateLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

reasonId

Yes

integer($int15) example: 2222222

The unique identifier of the shipment reason.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantity

Yes

number($decimal(20,4)) example: 100

The quantity that was shipped.

uins

NA

string($text128 example: List [ 111345000, 222220000 ]

The UINs that were shipped. The total number must match the quantity shipped.

Responses

This section describes the responses of the Create Carton API.

Reason Code: 200

Successful response

The media type is application/json.

Example Value

[
  {
    "shipmentId": 11111,
    "cartonId": 5000,
    "status": 1
  }
]
Schema — VendorShipmentCartonStatusIdo

This section describes the VendorShipmentCartonStatusIdo schema.

Table 4-573 VendorShipmentCartonStatusIdo — Object

Element Name Required Data Type/Example Description

shipmentId

NA

number($int15) example: 11111

The unique identifier of the vendor shipment.

cartonId

NA

number($int15) example: 5000

The identifier of the new carton.

status

NA

integer($int4) example: 1

The current status of the vendor shipment. Valid values are

1 - New

2 - In Progress

3 - Completed

4 - Shipped

5 - Canceled

Enum: [ 1, 2, 3, 4, 5 ]

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Update Carton

This section describes the Update Carton API. Updates a previously existing carton that is in a new or in progress state, on a shipment that is also new or in progress.

Method

POST
URL

/rtvshipments/cartons/{cartonId}
Request

This section describes the request parameters.

Table 4-574 Update Create — Request Parameters

Parameters Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the shipment carton.

The request body is application/json.

Details for the carton to update.

Example Value

{
  "externalCartonId": "4500300",
  "trackingNumber": "876300456",
  "restrictionLevel": 1,
  "cartonSizeId": 1000,
  "weight": 4.5,
  "weightUom": "LBS",
  "lineItems": [
    {
      "itemId": "10045600",
      "reasonId": 2222222,
      "caseSize": 3,
      "quantity": 100,
      "uins": [
        111345000,
        222220000
      ]
    }
  ]
}
Schema — VendorShipmentCartonUpdateIdo

This section describes the VendorShipmentCartonUpdateIdo schema.

Table 4-575 VendorShipmentCartonUpdateIdo — Object

Element Name Required Data Type/Example Description

externalCartonId

NA

string($text128) example: 4500300

A container identifier from an external system.

trackingNumber

NA

string($text128) example: 876300456

The tracking number of the container.

restrictionLevel

NA

integer($int4) example: 1

The hierarchy restriction level for items in the container. Valid values are

1 - Department

2 - Class

3 - Subclass

4 - None

Enum: [ 1, 2, 3, 4 ]

cartonSizeId

NA

integer($int10) example: 1000

The unique identifier of the container dimension object.

weight

NA

number($decimal(12,4)) example: 4.5

The weight of the container.

weightUom

NA

string($text4) example: LBS

The unit of measure of the weight of the container.

lineItems

Yes

object

Line items

Table 4-576 VendorShipmentCreateLineItemIdo — Object

Element Name Required Data Type/Example Description

itemId

Yes

string($text25) example: 10045600

The unique identifier of the SKU item.

reasonId

Yes

integer($int15) example: 2222222

The unique identier of the shipment reason.

caseSize

NA

number($decimal(10,2)) example: 3

The case size of this record.

quantity*

Yes

number($decimal(20,4)) example: 100

The quantity that was shipped.

uins

NA

string($text128) example: List [ 111345000, 222220000 ]

The UINs that were shipped. They total number must match the quantity shipped.

Responses

This section describes the responses of the Update Carton API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Confirm Carton

This section describes the Confirm Carton API. This API confirms a carton indicating the carton is ready for dispatch. This sets the carton so it can no longer be modified.

Method

POST
URL

/rtvshipments/cartons/{cartonId}/confirm
Request

This section describes the request parameters.

Table 4-577 Confirm Carton — Request Parameters

Parameters Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the shipment carton.

Responses

This section describes the responses of the Confirm Carton API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Cancel Carton

This section describes the Cancel Carton API. This API cancels a carton effectively removing its contents from the shipment.

Method

POST
URL

/rtvshipments/cartons/{cartonId}/cancel
Request

This section describes the request parameters.

Table 4-578 Cancel Carton — Request Parameters

Parameters Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the shipment carton.

Responses

This section describes the responses of the Cancel Carton API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

Open Carton

This section describes the Open Carton API. This API opens a previously confirmed carton so that it can be modified again.

Method

POST
URL

/rtvshipments/cartons/{cartonId}/open
Request

This section describes the request parameters.

Table 4-579 Open Carton — Request Parameters

Parameters Required Data Type/Example Description

cartonId

Yes

number($int12) (path)

The unique identifier of the shipment carton.

Responses

This section describes the responses of the Open Carton API.

Response Code: 204

No Content

Response Code: 400

Bad request

The media type is application/json.

See the JSON Error Element and Error Codes section.

REST Service: Warehouse

This service integrates warehouse and warehouse item foundation data as well as warehouse item inventory adjustments.

Asynchronous warehouse integration is processed through staged messages and is controlled by the MPS Work Type: DcsWarehouse.

Service Base URL

The Cloud service base URL follows the format:

https://<external_load_balancer>/<cust_env>/siocs-int-services/api/warehouses

API Definitions

API

Description

Import Warehouses

Imports a collection of warehouses into the system.

Delete Warehouse

Deletes a warehouse from the system.

Import Items

Imports a collection of warehouse items.

Delete Items

Deletes warehouse items from the system.

Import Adjustments

Imports a collection of warehouse items adjustments that took place.

Import Inventory

Imports a collection of warehouse item inventory to update the inventory positions.

API: Import Warehouses

This will import warehouses through foundation warehouse processing.

If more than 500 warehouses are sent in a single call, an input too large error will be returned.

API Basics

Endpoint URL

{base URL}/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of warehouses to import

Output

None

Max Response Limit

500

 

Input Data Definition

Attribute

Data Type

Required

Description

warehouses

List of details

Yes

A list of warehouses to import.

Detail Data Definition

Attribute

Data Type

Required

Size

Description

warehouseId

Long (10)

Yes

 

The warehouse identifier.

name

String (150)

Yes

150

The name of the warehouse.

organizationUnit

String (15)

 

15

The organization the warehouse belongs to.

countryCode

String (3)

 

3

The ISO country code of the warehouse.

currencyCode

String (40)

 

3

The ISO currency code of the warehouse.

Example Output

{

"warehouses": [

{

"warehouseId": 64,

"name": "DownTownWarehouse-1",

"organizationUnit": "70001",

"countryCode": "IN",

"currencyCode": "INR"

},

{

"warehouseId": 65,

"name": "CitynWarehouse-1",

"organizationUnit": "70001",

"countryCode": "IN",

"currencyCode": "INR"

}

]

}

]

API: Delete Warehouse

Deletes a warehouse. The warehouse will not be deleted if any items remain ranged to the warehouse.

API Basics

Endpoint URL

{base URL}{warehouseId}/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Synchronous

Input

None

Output

None

Max Response Limit

N/A

 

Path Parameter Definitions

Attribute

Definition

warehouseId

The internal identifier of the warehouse.

API: Import Items

API Basics

Imports a collection of warehouse items.

If more than 5000 items are sent in a single call, an input too large error will be returned.

Endpoint URL

{base URL}/{warehouseId}/items/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous (High Volume)

Input

A list of warehouse items to import

Output

None

Max Response Limit

5000

 

Path Parameter Definitions

Attribute

Definition

warehouseId

The internal identifier of the warehouse.

Input Data Definition

Attribute

Data Type

Required

Description

items

List of details

Yes

A list of warehouse items to import.

Detail Import Data Definition

Attribute

Data Type

Required

Description

itemId

String (25)

Yes

The item identifier.

standardUom

String (4)

Yes

The standard unit of measure of the item.

status

Integer

Yes

The status (See Index: Warehouse Item Import Status)

clearInventory

Boolean

Yes

True indicates that the inventory positions should all be set to zero.

Example Input

{

"items": [

{

"itemId": "100000147",

"standardUom": "EA",

"status": 1,

"clearInventory": true

},

{

"itemId": "100000148",

"standardUom": "KG",

"status": 2,

"clearInventory": false

}

]

}

Additional Data Definitions

Warehouse Import Item Status

Value

Definition

1

ACTIVE

2

DISCONTINUED

3

INACTIVE

API: Delete Items

Marks warehouse items for later deletion.

If more than 5000 items are sent in a single call, an input too large error will be returned.

API Basics

Endpoint URL

{base URL}{warehouseId}/delete

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous

Input

List of item ids to delete

Output

None

Max Response Limit

5000

 

Path Parameter Definitions

Attribute

Definition

warehouseId

The internal identifier of the warehouse.

Input Data Definition

Attribute

Data Type

Required

Description

items

List<String(25)>

Yes

A collection of up to 5000 items to remove.

Example Input

{

"itemIds": [ "100000301", "100000147" ]

}

API: Import Adjustments

API: Import Adjustments

A list of warehouse adjustments is processed, inventory is updated for the warehouse items, and then the adjustments are discarded.

They are not persisted anywhere and this process does not produce a transaction history record.

If more than 5000 items are sent in a single call, an input too large error will be returned.

API Basics

Endpoint URL

{base URL} {warehouseId}/adjustments/import

Method

POST

Successful Response

202 Accepted

Processing Type

Asynchronous (High Volume)

Input

A list of warehouse adjustments to import

Output

None

Max Response Limit

5000

 

Path Parameter Definitions

Attribute

Definition

warehouseId

The internal identifier of the warehouse.

Input Data Definition

Attribute

Data Type

Required

Description

adjustments

List of details

Yes

A list of adjustments that occurred for that warehouse.

Detail Import Data Definition

Attribute

Data Type

Required

Description

itemId

String (25)

Yes

The unique item identifier.

quantity

BigDecimal

Yes

The quantity to be adjusted.

reasonCode

Integer

Yes

The unique reason code of an inventory adjustment reason code.

Example Input

{

"adjustments": [

{

"itemId": "100000147",

"quantity": 100,

"reasonCode": 182

},

{

"itemId": "100000024",

"quantity": 50,

"reasonCode": 183

}

]

}

API: Import Inventory

This operation updates the inventory positions of a warehouse.

API Basics

Endpoint URL

{base URL}/{warehouseId}/inventory/import

Method

POST

Successful Response

200 Accepted

Processing Type

Asynchronous

Input

List of items with their inventory

Max Input

10,000 items

Output

N/A

Max Response Limit

N/A

Input Data Definition

Attribute

Type

Definition

Items

List of Warehouse Inventory

A list of items to overwrite inventory for at the warehouse.

Warehouse Inventory Ido

Attribute

Type

Definition

itemId

String(25)

The unique item identifier.

quantityTotal

BigDecimal(12,4)

The total quantity of the item in inventory.

quantityReserved

BigDecimal(12,4)

he quantity reserved for outgoing shipping.

quantityUnavailable

BigDecimal(12,4)

The quantity unavailable for usage.

quantityInTransit

BigDecimal(12,4)

The quantity in transit to the warehouse.

Example Input

{

"items

{

"itemId": "100000147",

"quantityTotal”: 100,

"quantityReserved”: 8

},

{

"itemId": "100000024",

"quantityTotal”: 50,

"quantityInTransit”: 183

}

]

}